È ragionevole utilizzare Nagios per verificare che un servizio NON sia disponibile?


9

Supponiamo di avere un server con un'interfaccia privata e un'interfaccia pubblica. Il pubblico potrebbe avere cose come i server HTTP (S), il privato potrebbe avere MySQL e SSH.

Ovviamente Nagios è utile per verificare che i servizi siano in esecuzione sulle rispettive interfacce. Ma è una buona idea costruire controlli che testino esplicitamente che le porte MySQL e SSH non sono aperte sull'interfaccia pubblica? L'idea è di catturare configurazioni errate involontarie che hanno aperto servizi che dovrebbero essere privati ​​e avvisare in modo appropriato.

Parte di me ha l'idea che questo non si ridimensionerebbe terribilmente - immagina che ci sia una regola DROP iptables, per esempio, il controllo dovrebbe aspettare fino al superamento del timeout del controllo prima che possa essere completato e andare avanti. Ma quel timeout dovrebbe essere sufficientemente elevato da poter differenziare un servizio bloccato da uno aperto che è davvero impantanato.

È un'idea pratica? Nagios è lo strumento giusto? Non ho nemmeno esaminato la fattibilità di negare il risultato dai plugin di controllo TCP, ma sono sicuro che sia fattibile ...


2
Sono stato a lungo convinto che DROPnon sia l'obiettivo giusto per tale scopo, l'utilizzo -j REJECT --reject-with tcp-resetrisolverebbe quel particolare problema. Per me la tua domanda sembra solo un altro motivo per usare REJECTpiuttosto che DROP.
Kasperd,

4
check_nmap FTW.
dmourati,

Risposte:


11

Sì, naturalmente. Il compito di un sistema di monitoraggio è garantire che i requisiti aziendali siano attualmente soddisfatti dall'infrastruttura IT, qualunque essi siano.

La mia sensazione è che non ci sia un limite facile (beh, 65535) al numero di porte che stai monitorando per garantire che non si aprano improvvisamente e che il modo migliore per ottenere questo controllo sia il controllo stretto della sorgente più forte, monitoraggio aggressivo del file system (ad es. tripwire) sul server.

Ma se ci sono alcune porte che sono assolutamente critiche per il business, non vengono mai esposte, quindi sì, invocare un controllo specifico per questo. Potresti voler esaminare il negateplug- in NAGIOS , fornito con la maggior parte delle principali distribuzioni, ed è usato per fare esattamente quello che suggerisci.


3

È possibile combinare qualsiasi controllo con il negateplugin per invertire la logica di controllo. È possibile ridefinire CRIT, WARN, UNKNOWN e OK in altri stati, ad esempio. Vedi l'output --help per maggiori informazioni .

Se sei preoccupato per le politiche DROP che aumentano il tempo di controllo, puoi semplicemente abbreviare il timeout. Per un controllo come questo, probabilmente non è necessario controllare neanche ogni 5 minuti. Abbiamo alcuni controlli simili eseguiti ogni ora.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.