| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- ********************
- NRPE SECURITY README
- ********************
- TCP WRAPPER SUPPORT
- ===================
- NRPE 2.1 includes native support for TCP wrappers. The older
- host access list directive was removed from the config file.
- Make sure your system supports TCP wrappers before running NRPE.
- Once you compile NRPE you can check to see if it has wrapper
- support built in by running the daemon from the command line
- without any arguments like this:
- ./nrpe --help
- COMMAND ARGUMENTS
- =================
- NRPE 2.0 includes the ability for clients to supply arguments to
- commands which should be run. Please note that this feature
- should be considered a security risk, and you should only use
- it if you know what you're doing!
- ENABLING ARGUMENTS
- ------------------
- To enable support for command argument in the daemon, you must
- do two things:
- 1. Run the configure script with the --enable-command-args
- option
- 2. Set the 'dont_blame_nrpe' directive in the NRPE config
- file to 1.
- ILLEGAL METACHARS
- -----------------
- To help prevent some nasty things from being done by evil
- clients, the following twelve metacharacters are not allowed
- in client command arguments:
- | ` & > < ' " \ [ ] { }
- Any client request which contains the abovementioned metachars
- is discarded. Also, the bang character (!) is not allowed, as
- it is used internally as a delimiter between command arguments.
- USER/GROUP RESTRICTIONS
- -----------------------
- The NRPE daemon cannot be run with (effective) root user/group
- privileges. You must run the daemon with an account that does
- not have superuser rights. Use the nrpe_user and nrpe_group
- directives in the config file to specify which user/group the
- daemon should run as.
- ENCRYPTION
- ----------
- If you do enable support for command arguments in the NRPE daemon,
- make sure that you encrypt communications either by using:
- 1. Stunnel (see http://www.stunnel.org for more info)
- 2. Native SSL support
- Do NOT assume that just because the daemon is behind a firewall
- that you are safe! Always encrypt NRPE traffic!
- USING ARGUMENTS
- ---------------
- How do you use command arguments? Well, lets say you define a
- command in the NRPE config file that looks like this:
- command[check_users]=/usr/local/nagios/libexec/check_users -w $ARG1$ -c $ARG2$
- You could then call the check_nrpe plugin like this:
- ./check_nrpe -H <host> -c check_users -a 5 10
- The arguments '5' and '10' get substituted into the appropriate
- $ARGx$ macros in the command ($ARG1$ and $ARG2$, respectively).
- The command that would be executed by the NRPE daemon would look
- like this:
- /usr/local/nagios/libexec/check_users -w 5 -c 10
- You can supply up to 16 arguments to be passed to the command
- for substitution in $ARG$ macros ($ARG1$ - $ARG16$).
- -- Ethan Galstad (nagios@nagios.org)
|