Nagios Logo

Einführung


Sicherheit

Dies ist als eine Einführung für die Implementierung stärkerer Authentifizierung und Server-Sicherheit bezogen auf das CGI-Web-Interface gedacht.

Es gibt viele Wege, die Sicherheit Ihres Überwachungs-Servers und des Nagios-Umfeldes zu verbessern. Dies sollte nicht als das Ende aller Bemühungen angesehen werden. Nehmen Sie es statt dessen als eine Einführung für einige der Techniken, die Sie nutzen können, um die Sicherheit Ihres System zu verstärken. Wie immer sollten Sie forschen und die besten Techniken nutzen, die verfügbar sind. Behandeln Sie Ihren Überwachungs-Server, als wäre es der wichtigste Server in Ihrem Netzwerk und Sie werden belohnt werden.

Zusätzliche Techniken


Implementieren der Digest Authentication


Die Implementierung der Digest Authentication ist einfach. Dazu müssen Sie den neuen Typ der Passwort-Datei mit dem 'htdigest'-Tool anlegen, dann die Apache-Konfiguration für Nagios anpassen (typischerweise /etc/httpd/conf.d/nagios.conf).

Legen Sie eine neue Passwort-Datei mit dem 'htdigest'-Tool an. Den Unterschied, den Sie feststellen werden, wenn Sie mit dem 'htpasswd'-Tool vertraut sind, ist die Anforderung, ein 'Realm'-Parameter anzugeben. In diesem Fall bezieht sich 'realm' auf den Wert der 'AuthName'-Direktive in der Apache-Konfiguration.

htdigest -c /usr/local/nagios/etc/.digest_pw "Nagios Access" nagiosadmin

Als nächstes editieren Sie die Apache-Konfigurationsdatei für Nagios (typischerweise /etc/httpd/conf.d/nagios.conf) mit Hilfe des folgenden Beispiels:

## BEGIN APACHE CONFIG SNIPPET - NAGIOS.CONF
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
   Options ExecCGI
   AllowOverride None
   Order allow,deny
   Allow from all
   AuthType Digest
   AuthName "Nagios Access"
   AuthUserFile /usr/local/nagios/etc/.digest_pw
   Require valid-user
</Directory>
Alias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/nagios/share">
   Options None
   AllowOverride None
   Order allow,deny
   Allow from all
   AuthType Digest
   AuthName "Nagios Access"
   AuthUserFile /usr/local/nagios/etc/.digest_pw
   Require valid-user
</Directory>
## END APACHE CONFIG SNIPPETS

Danach starten Sie den Apache-Service, damit die neuen Einstellungen aktiv werden können.

/etc/init.d/httpd restart

Implementieren erzwungener TLS/SSL-Kommunikation


Stellen Sie sicher, dass Sie Apache und OpenSSL installiert haben. Normalerweise sollten Sie mod_ssl-Unterstützung haben. Falls Sie trotzdem Schwierigkeiten haben, finden Sie ggf. Hilfe durch das Lesen von Apaches TLS/SSL Encryption Documentation.

Als nächstes prüfen Sie durch den Aufruf des Nagios-Web-Interfaces über HTTPS (https://your.domain/nagios), dass die TLS/SSL-Unterstützung funktioniert. Wenn es funktioniert, können Sie mit den nächsten Schritten fortfahren, die die Nutzung von HTTPS erzwingen und alle HTTP-Anfragen an das Nagios-Web-Interface blockiert. Wenn Sie Schwierigkeiten haben, lesen Sie bitte Apaches TLS/SSL Encryption Documentation und nutzen Sie Google für die Suche nach Lösungen zu Ihrer Apache-Installation.

Danach editieren Sie die Apache-Konfigurationsdatei für Nagios (typischerweise /etc/httpd/conf.d/nagios.conf) und fügen Sie den 'sbin'- und 'share'-Verzeichnissen die 'SSLRequireSSL'-Direktive hinzu.

## BEGIN APACHE CONFIG SNIPPET - NAGIOS.CONF
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
   ...
   SSLRequireSSL
   ...
</Directory>
Alias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/nagios/share">
   ...
   SSLRequireSSL
   ...
</Directory>
## END APACHE CONFIG SNIPPETS

Danach starten Sie den Apache-Service, damit die neuen Einstellungen aktiv werden können.

/etc/init.d/httpd restart

Implementieren von IP-Subnetz-Beschränkung


Das folgende Beispiel zeigt, wie Sie den Zugang auf die Nagios-CGIs auf eine bestimmte IP-Adresse, einen IP-Adressbereich oder ein IP-Subnetz mit Hilfe von Apaches Access Controls beschränken.

Danach editieren Sie die Apache-Konfigurationsdatei für Nagios (typischerweise /etc/httpd/conf.d/nagios.conf) und fügen Sie die 'Allow'-, 'Deny'- und 'Order'-Direktiven hinzu. Dazu folgendes Beispiel:

## BEGIN APACHE CONFIG SNIPPET - NAGIOS.CONF
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
   ...
   AllowOverride None
   Order deny,allow
   Deny from all
   Allow from 127.0.0.1 10.0.0.25		# Allow single IP addresses
   Allow from 10.0.0.0/255.255.255.0		# Allow network/netmask pair
   Allow from 10.0.0.0/24			# Allow network/nnn CIDR spec
   ...
</Directory>
Alias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/nagios/share">
   ...
   AllowOverride None
   Order deny,allow
   Deny from all
   Allow from 127.0.0.1 10.0.0.25		# Allow single IP addresses
   Allow from 10.0.0.0/255.255.255.0		# Allow network/netmask pair
   Allow from 10.0.0.0/24			# Allow network/nnn CIDR spec
   ...
</Directory>
## END APACHE CONFIG SNIPPET

Wichtige Anmerkungen


Siehe auch Siehe auch: Sicherheitsüberlegungen, Konfigurationsüberblick

English Deutsch 日本語

Inhaltsverzeichnis