Certificado SSL para nagios con OpenSSL

Un certificado SSL es un certificado digital utilizado para securizar el tráfico de información. En este caso para la comunicaciones entre la web de nagios y el usuario.

OpenSSL

Normalmente este certificado es proporcionado por una entidad autorizada (Verisign, Comodo …), aunque con la particularidad de que es de pago. También nosotros mismos podemos generar certificados igualmente seguros, con la salvedad de que los navegadores lo consideran no confiable. Si el nagios en este caso es de uso interno no existe problema alguno.

Instalamos OpenSSL

apt-get install openssl

Creación de llave privada

openssl genrsa -out server.key 1024

Crear un CSR (Certificate Signing Request)

openssl req -new -key server.key -out server.csr

Generar el certificado SSL

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Instalar el certificado

cp server.crt /etc/ssl/certs/ssl.crt
cp server.key /etc/ssl/certs/ssl.key

Modificar el fichero de configuración de apache2 para nagios. Este es un ejemplo y cada configuración tendrá el oportuno.

<VirtualHost tuiip:80>
ServerName tusitio.com
ServerAlias tusitio.com
Redirect permanent / https://tusitio.com/
</VirtualHost>

<VirtualHost tuip:443>

SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl.crt
SSLCertificateKeyFile /etc/ssl/certs/ssl.key

DocumentRoot "/usr/local/nagios/share"

ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
ScriptAlias /usr/lib/cgi-bin "/usr/local/nagios/sbin"

<Directory "/usr/local/nagios/sbin">
# SSLRequireSSL
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
Allow from 127.0.0.1
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
</Directory>

Alias /nagios "/usr/local/nagios/share"

<Directory "/usr/local/nagios/share">
SSLRequireSSL
Options None
AllowOverride None
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
</Directory>

CustomLog /var/log/apache2/nagios.log combined
ErrorLog /var/log/apache2/nagios.error.log

</VirtualHost>