Consulenze tecnologiche e informatiche
Bloccare gli attacchi con MDaemon e Datto RMM
Bloccare gli attacchi con MDaemon e Datto RMM

Quando si possiede una casella di posta si è sottoposti ad un costante rumore di fondo, costituito da sistemi automatizzati che tentano di individuare le caselle di posta del server, la loro password e spedire contenuti virali verso altre destinazioni.

Quando poi gestisci un server di posta come ALT-N MDaemon questo rumore di fondo lo puoi vedere e puoi agire con le opportune protezioni per mitigare gli attacchi, tuttavia mitigare non basta e ci sono condizioni che portano il server a bloccare la casella di posta per eccesso di errori di accesso, una situazione che sicuramente non è piacevole per il cliente.

In realtà abbiamo a disposizione gli strumenti per sopprimere questi sistemi automatici isolando i loro indirizzi di origine, lo possiamo fare prendendo un pizzico di programmazione; gli strumenti di MDaemon; le funzionalità di Datto RMM e impastando il tutto fino ad ottenere degli ottimi biscottini.

Vediamo cosa ho sfornato in questo giro.

Le contro misure tattiche di MDaemon

Il server di posta ci mette a disposizione diversi (molti) strumenti per mitigare i tentativi di penetrazione, anche se taluni hanno degli effetti collaterali.

Possiamo usare la graylist, che vede le sue origini nel lontano passato, in pratica risponde ad ogni mail in ingresso che il server non è al momento disponibile e di riprovare più tardi, il tempo può essere impostato da pochi minuti a intervalli più lunghi. I server di posta dei buoni in caso di fallimento riprovano a spedire secondo degli algoritmi temporali, i server dei cattivi (o meglio sistemi compromessi) in caso di errore passano oltre. Questo è ora vero per sistemi di scansione/attacco di basso livello, ma quelli più sofisticati non si arrendono e ci riprovano comunque, al secondo tentativo l’indirizzo viene posto in una whitelist temporanea, che a questo punto consente l’accesso al server dei cattivi.

Possiamo (dobbiamo) usare SPF, DKIM e DMARC, che con il loro principio di “autenticazione” della fonte e del messaggio permettono di escludere le mail che hanno dati non coerenti con quelli indicati nei DNS, purtroppo sono strumenti usati da pochi, anche se pretesi da molti, pena il rifiuto dei messaggi ricevuti. Dire tuttavia ad un cliente che usiamo questi protocolli e le mail che non li hanno saranno cestinate non va bene, infatti oltre la metà dei loro clienti non lo useranno. Quindi li abbiamo, ma usati parzialmente per i controlli in entrata e pianamente per la reputation dei nostri messaggi.

Possiamo (dobbiamo) usare gli screen, attivando il controllo dinamico sugli IP di origine, dove l’indirizzo che martella per entrare e lo fa in poco tempo viene automaticamente bloccato per un tempo variabile. Possiamo anche inserire manualmente gli indirizzi da bloccare, un lavoraccio, ed è qui che entra in gioco la mia strategia di affiancamento.

Possiamo e dobbiamo poi attivare tutta un’altra serie di controlli, la conseguenza è comunque quella che dopo un certo numeri di tentativi di intrusioni il server mette in protezione la casella di posta, e lo fa bloccandola, in questo modo taglia fuori anche l’utente, arriva il messaggio di allarme ad Emilio, che controlla e riattiva la casella a breve giro, tutto sommato fastidioso.

Prepariamo la ricetta per i biscotti

MDaemon - impostazioni blocco IP
MDaemon – impostazioni blocco IP

Considerando che non possiamo, per ragioni etiche e penali, inviare una reazione all’attacco, con lo scopo di distruggere il sistema attaccante, dobbiamo come sempre lavorare in difesa, quindi in posizione di svantaggio. Come sempre gli altri possono stressarti la vita, ma tu non li puoi ripagare con la stessa moneta.

Quello che sappiamo è che ogni tentativo di intrusione è presente nei file di log di MDaemon, che sono file di testo con una loro struttura precisa. Essendo tutto tracciato possiamo estrarre gli indirizzi IP e metterli nel ip-screen.

Quindi cosa facciamo? Passiamo al setaccio i log ogni giorno e trascriviamo gli indirizzi.

Prendi carta e penna e gli occhiali e inizia a scrivere gli indirizzi che sono stati respinti per password e utente sbagliato, ma solo quelli che tentano la login mi raccomando.

Ti piace la soluzione? Ovvio che no.

Dopo la ricetta prepariamo i biscotti

Considerato che il lavoro sporco lo deve fare Datto RMM, gli devo dare gli strumenti per farlo, ecco tornare la simpatica Powershell.

I file che ci interessano sono due, quelli relativi agli accessi IMAP e quelli relativi agli accessi entranti SMTP, a livello di flusso mail, sono ubicati nella cartella logs del percorso di MDaemon e sono:

  • MDaemon-< data >-IMAP.log
  • MDaemon-< data >-SMTP-(in).log

I file sono multipli e il loro numero dipende dai giorni di conservazione dei log che sono stati impostati nella configurazione.

Non possiamo cercali per nome, il nome cambia ad ogni rotazione con l’aggiunta della data di creazione, allora dobbiamo cercarli con qualche trick.

Lo script PowerShell cerca i file che contengono la stringa “IMAP.log” e “SMTP-(in).log”, li ordina per data ad acquisisce solo il più recente.

Ottenuti file cerca al loro interno la stringa contenente il messaggio di errore di connessione e manipola solo quelle per cui la data è quella del giorno corrente, lo scopo è avere un’estrazione giornaliera.

Dalle stringhe risultanti estrae il solo indirizzo IP che ha generato la richiesta e lo salva in un file di testo con la data come nome.

Il tutto finisce in un componente Datto RMM che entra in azione pochi minuti prima della mezzanotte.

E cosa faccio con i biscotti?

Ovviamente li mangio.

Ogni file generato contiene diversi indirizzi IP, molti ripetuti più volte, in particolare se parliamo degli accessi SMTP.

Questi file li posso scaricare e usando excel valutare la ripetitività degli attacchi dal medesimo indirizzo, la loro origine reale e poi depurarli eliminando i duplicati.

Gli indirizzi salvati in un file di testo possono essere a questo punto importati in MDaemon, che rifiuterà qualsiasi comunicazione da loro generata senza impegnare tutti i livelli di elaborazione del server di posta.

In aggiunta possiamo incrociare gli indirizzi ottenuti dai diversi server e importare sui diversi MDaemon la medesima lista, prevenendo le azioni successivi di indirizzi IP che ancora non hanno colpito il sistema (Paranoid Mode).

Ovviamente non è possibile alimentare all’infinito la lista di blocco, il risultato sarebbe un rallentamento del server, pertanto ad ogni aggregazione è bene procedere con una pulizia. Molti degli indirizzi che attaccano si estinguono in pochi giorni, gli hacker sono soliti cambiare molto velocemente.

Ipoteticamente ogni settimana è possibile rimuovere tutti gli indirizzi del filtro e caricare solo quelli più recenti, tenendo in linea solo l’ultimo mese.

I biscotti sono buoni?

Ottenuti i dati e caricati nel sistema i blocchi delle caselle calano drasticamente, fino a quasi scomparire, tendono ad aumentare con l’aumento dell’intervallo di tempo tra gli aggiornamenti dei filtri.

Pertanto i biscotti sono buoni e la soluzione funziona, gli indirizzi vecchi rimossi, se non sono estinti, verranno ricaricati al passaggio successivo e potranno essere eliminati a monte attraverso i firewall.

Qualcuno potrebbe anche suggerire di usare il geo-blocking, che è molto utile se si riceve posta elettronica da poche nazioni o da una sola, ma quando il cliente opera con tutto il mondo allora le cose cambiano e non è attivabile nemmeno con le whitelist.

Tutto questo mi richiede ovviamente tempo, ma ovviamente non lo faccio gratis.

 

Tu come vivi la posta elettronica?

Se sei interessato ad approfondire questi contenuti o ad avere nella tua aziende questi strumenti o i prodotti menzionati, contattaci attraverso la pagina di contatto di questo sito, o se preferisci cercami attraverso la pagina FaceBook o il mio profilo Linkedin.

Categorie
Archivi
Count per Day
  • 140Questo articolo:
  • 244793Totale letture:
  • 95Letture odierne:
  • 176Letture di ieri:
  • 21 Novembre 2016Dal: