ModSecurity mit Nagios check_http kombinieren

Nagios checked ja ob mein WebServer läuft. Modsecurity verhindert durch definierbare Regeln das "unerwünschte" Anfragen auf den WebServer durchkommen. Beide Programme kennen sich nicht. Eine der Regeln die man bei ModSecurity standardmässig meistens verwendet ist "Die Anfrage muss sagen welche Dateitypen sie als Antwort erwartet". Das Nagios Plugin check_http macht das aber standardmässig nicht ;-(

Deswegen sagt Modsecurity: "Das darfst du nicht" und Nagios wirft eine Warnung.

201005-nagios-modsec-warning.gif

Bisher bin ich diesem Problem recht brutal aus dem Weg gegangen in dem ich dem User-Agent check_http relativ freie Rechte gegeben haben. Nach einem Nagios Update musste ich mir das aber wieder ansehen, da sich der User-Agent geändert hatte. (Hintergründe zu User-Agents und Broswer  findest du hier)Jetzt wollte ich das Problem "richtig" lösen. Am Ende bin ich hier auf die richtige Spur gekommen. Ich richte das Nagios Plugin einfach so ein das es diesen Anfrage einfach mitschickt. Der Parameter lautet

-k "Accept: text/html"

und in die Nagios Definition von check_http eingebaut

define command{
        command_name    check_http
        command_line    /usr/lib/nagios/plugins/check_http -H $HOSTADDRESS$ -k "Accept: text/html"
        }

Dann ist auch wieder Ruhe und die Warnung verschwindet.

201005-nagios-modsec-ok.png