Web Security 2/2: 7 Script Linux per Monitorare lo stato di salute del proprio Server

[Voti: 24    Media Voto: 4.7/5]

Dopo aver discusso di come identificare e rimuovere script PHP malevoli dal proprio server, vediamo nel presente articolo come sia possibile rendere il proprio server a prova di attacco.

Sostanzialmente l’idea consiste nell’installare 7 script bash che siano in grado di garantire:

  1. Log Analysis: la capacità di analizzare i log prodotti dal web server e dai vari demoni. La realtà attuale è che tutti i demoni Linux scrivono file di log, ma nessuno li va mai ad analizzare. Serve pertanto un sistema che tenga monitorati tali log e che notifichi gli amministratori in caso di attività sospette.

  2. File Integrity Checking: l’idea è che se dei file sul server cambiano o ne compaiono di nuovi e non sono stati gli amministratori a introdurre queste modifiche allora probabilmente è stato qualcuno non autorizzato.

  3. Policy Monitoring: verifica del normale funzionamento del server, secondo le politiche stabilite.

  4. Rootkit Detection: identificazione di shell e backdoor.

  5. Realtime Alerting: notifica via email di eventi e attività sospette.

Tutti gli script presentati di seguito, sono stati sviluppati da Garda Informatica.

1. Monitoring dello stato di occupazione delle partizioni sul disco

Questo script ciclicamente verifica lo stato di occupazione delle partizioni su disco e se una di queste supera una soglia prestabilita (es. 80%) vengono notificati gli amministratori tramite email.

La realizzazione di tale script è stata trattata nell’articolo Linux: come ricevere una mail quando il disco è quasi pieno

2. Monitoring dello stato dei backup

All’interno delle politiche di disaster recovery, questo script svolge il ruolo di accertarsi che i backup siano stati eseguiti e che abbiano una dimensione congrua. Se un file di backup non è presente oppure è presente, ma con dimensione inferiore all’atteso, verrà inviata una mail di notifica agli amministratori.

3. Monitoring del filesystem

Nell’ottica della File Integrity Checking, questo script notifica via email gli amministratori con l’elenco di tutti i file modificati dall’ultima esecuzione dello script.

E’ comparso un nuovo file? E’ cambiato un file già presente? Questo script ce lo farà sapere.

Molto utile nel caso in cui l’attaccante sia riuscito a superare le nostre barriere e sia riuscito a installare shell, backdoor, malware, ecc.

4. Monitoring della posta in uscita dal server

Questo script serve per contrastare lo SPAM veicolato attraverso il proprio server, contando il numero di email che vengono inviate in uscita nell’unità di tempo. Se tale valore supera una certa soglia (es. tot email al minuto), gli amministratori verranno avvertiti attraverso una notifica via email.

Chiaramente tutte queste soglie vanno impostate in base al normale traffico del server. Se il proprio server, in condizioni normali, invia 10 email al minuto, 100 email al minuto potrebbe essere una soglia ragionevole per identificare attività sospette.

5. Monitoring degli accessi ai file

Questo script tiene controllato il numero di accessi a file PHP nell’unità di tempo. Se questo valore supera una data soglia gli amministratori verranno notificati via email con l’informazione del file PHP, il numero di accessi.

Questo script è molto utile per potersi accorgere di attacchi di tipo DDos e/o Brute Force.

Tipicamente i file oggetto delle notifiche saranno quelli deputati alla login.

6. Monitoring degli IP

Questo script conteggia il numero di richieste pervenute da uno stesso IP nell’unità di tempo. Anche qui c’è una soglia che se superata scatena una notifica via email agli amministratori riportante l’IP e il numero di richieste effettuate.

Questo script, un po’ come quello precedente, è molto utile per potersi accorgere di attacchi di tipo Dos e/o Brute Force.

In questo caso però si può prendere il provvedimento di bannare l’IP responsabile di tutte le request.

7. Monitoring dei protocolli SSH, SMTP, POP3, IMAP e FTP

Questo script, utilizzando fail2ban, è in grado di bannare gli IP che effettuano un certo numero di tentativi di accesso falliti nell’unità di tempo.

Qualcuno sta lanciando un attacco Brute Force per tentare di accedere alla shell SSH? Questo script lo impedirà.

Conclusione

Acquistare un cloud hosting aggiornato e con le ultime versioni dei pacchetti software installati, non è sufficiente per garantire la sicurezza dello stesso. Come abbiamo visto in questo articolo si rendono necessari dei campanelli d’allarme che aiutino l’amministratore a tracciare e tenere sotto controllo attività sospette che potrebbero precedere un attacco.

Hai qualche domanda a cui non abbiamo dato risposta? Contattaci senza impegno!

Garda Informatica

Garda Informatica

Garda Informatica sviluppa software su misura nella forma di Web Application, App Ibride per iOS/Android/Windows Phone, Crawler Web, Gestionali Web o semplici Connettori per l'integrazione tra software di terze parti.
Garda Informatica