putting limits on check_by_ssh
Tom Throckmorton
throck at duke.edu
Fri Nov 16 19:51:37 CET 2007
On 11/16/2007 01:06 PM, Dave wrote:
> I've been RTFMing SSH. For background authentication like nagios uses,
> the book I'm reading recommends using the user's ssh config file to
> limit using passwordless keys to just do one task each. So if you want
> nagios to be able to do 3 kinds of checks without a password, you put
> 3 keys in nagios .ssh/authorized_keys file with command="" stuff for
> each. Then no matter what nagios thinks it is asking for (parameter of
> check_by_ssh) it gets whatever is configured for that key.
>
> I'm just wondering if anyone has taken this approach. It seems a bit
> complicated, spreading some of the nagios config info around to each
> monitored system, but it sort of appeals to me. Then you know that
> even if someone manages to get your key, all they can do is check_disk
> or something else boring.
I do something similar, though also add a 'from' restriction, in the
event the private key is compromised - here are a few examples:
For remote nagios instance monitoring:
> from="host-01.full.domain",command="/usr/lib/nagios/plugins/check_nagios -F /dev/shm/status.log -e 5 -C nagios" ssh-dss AAAA...
> from="host-02.full.domain",command="/usr/lib/nagios/plugins/check_nagios -F /dev/shm/status.log -e 5 -C nagios" ssh-dss AAAA...
*dons protective aluminum foil headgear*
In the the keys on _some_ systems, I also add:
> no-port-forwarding
> no-X11-forwarding
> no-agent-forwarding
I usually only allow a single command per host - on hosts which I want
to execute multiple commands, rather than having a keypair-per-command,
I make the command a script which sanitizes the input and checks the
command against a list of predetermined allowed commands. Probably not
as safe as keypairs-per-command because it's not as explicit, but more
flexible/manageable in certain situations.
> Am I missing something? In addition to limiting key authentication to
> doing specific tasks, I also put an '*' in the nagios user's password
> field in /etc/passwd, which prevents them from logging in by password.
For the nagios user (and other system-ish accounts), setting the shell
to /sbin/nologin should do the trick.
-tt
--
Tom Throckmorton
OIT - CSI
Duke University
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Nagios-users mailing list
Nagios-users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-users
::: Please include Nagios version, plugin version (-v) and OS when reporting any issue.
::: Messages without supporting info will risk being sent to /dev/null
More information about the Users
mailing list