Minacce in uscita e DNS
Come InfraFence vede ciò che esce dal server: connessioni a indirizzi in lista, query DNS legate al programma che le ha fatte, tunnel DNS, DGA e resolver sospetti.
Ultimo aggiornamento:
La maggior parte degli strumenti guarda ciò che entra. Un server compromesso si rivela in ciò che esce: una connessione a un controller di botnet, dati che escono attraverso il DNS, un malware che cerca il suo prossimo dominio.
Liste di threat intelligence
Ogni server scarica una volta al giorno delle liste pubbliche, direttamente dai loro editori:
- le liste Spamhaus DROP (IPv4 e IPv6), reti dirottate o gestite da criminali;
- la lista Emerging Threats degli host compromessi.
La dashboard può aggiungere altre voci. Tutte vengono usate per riconoscere le destinazioni malevole; bloccarle è una scelta separata (vedi sotto).
Connessioni in uscita
Ogni 60 secondi l'agente esamina le connessioni TCP IPv4 stabilite dal server verso indirizzi pubblici. Una connessione a un indirizzo in lista viene segnalata come evento critico egress_threat_match, con l'indirizzo, le porte e la lista in cui compare. Lo stesso indirizzo viene segnalato di nuovo dopo almeno 30 minuti.
Questi eventi dicono con quale indirizzo ha parlato il server, non quale programma: l'attribuzione al processo è disponibile solo per le query DNS.
Ispezione DNS
Con Ispeziona il traffico DNS attivo (l'impostazione predefinita), l'agente legge a livello di pacchetto le query e le risposte DNS del server stesso: solo porta UDP 53, in sola lettura, con un filtro che gira nel kernel, fino a 3.000 pacchetti al secondo. Le query a cui un server DNS sull'host risponde per altre macchine vengono ignorate.
Ogni evento DNS indica il programma che ha fatto la richiesta: l'applicazione che ha interrogato il resolver locale (come systemd-resolved) per quel nome, oppure il proprietario del socket che ha inviato la query.
| Evento | Gravità | Quando |
|---|---|---|
dns_threat_resolver |
critical | Una query va a un server DNS presente in una lista di minacce. |
dns_threat_answer |
warning | Un dominio si risolve in un indirizzo in lista. |
dns_tunneling |
warning | 60 o più sottodomini lunghi e distinti di uno stesso dominio entro 5 minuti, oppure schemi di query TXT e NULL tipici dei tunnel. |
dns_dga |
warning | 20 o più domini dall'aspetto casuale e inesistenti entro 5 minuti, il segno di un malware che genera domini (DGA). |
dns_unlisted_resolver |
info | Un programma usa un server DNS diverso da quelli configurati. |
I resolver configurati vengono da /etc/resolv.conf, systemd-resolved e NetworkManager. Lo stesso rilevamento viene segnalato al massimo una volta ogni 30 minuti.
Cosa non viene segnalato
- Il servizio DNS del server stesso (systemd-resolved, dnsmasq, unbound, BIND, PowerDNS Recursor, CoreDNS, Pi-hole, AdGuard Home, il resolver di Docker e simili), quando gira da un percorso di sistema.
- Le ricerche di hash degli antivirus e le ricerche anti-spam o di reputazione (Sophos, McAfee, Trend Micro, ESET, Kaspersky, Spamhaus, SURBL, URIBL, SpamCop e altri), e le grandi CDN e cloud, che sembrano tunnel ma non lo sono.
Blocco
- In entrata: Blocca il traffico dalle liste di threat intelligence (disattivato per impostazione predefinita) scarta il traffico dalle reti in lista, tramite l'ipset
infrafence-threat. Richiedeipset, non si applica mai in modalità monitor e salta le voci più ampie di un /8 o che coprono la tua whitelist, indirizzi privati o la dashboard. - In uscita: una destinazione può essere bloccata dalla dashboard o da AutoMode: vedi Porte e blocco in uscita.
