È una cattiva idea che un firewall blocchi ICMP?

93

Questa domanda è stata ispirata da questa risposta che dichiara in parte:

The generic firewall manifest file finishes off by dropping everything I didn't otherwise allow (besides ICMP. Don't turn off ICMP).

Ma è veramente una buona pratica per un firewall consentire ICMP? Quali sono le implicazioni per la sicurezza e ci sono casi in cui ICMP deve essere disattivato?

    
posta Justin Ethier 17.10.2012 - 03:57
fonte

4 risposte

109

Rispetto ad altri protocolli IP ICMP è piuttosto piccolo, ma serve un gran numero di funzioni disparate. Al suo centro ICMP è stato progettato come meccanismo di debug, risoluzione dei problemi e segnalazione degli errori per IP. Questo la rende incredibilmente preziosa, quindi è necessario pensare molto a chiuderla. Sarebbe un po 'come aggiungere >/dev/null 2>&1 alla fine di tutte le tue voci di cron.

La maggior parte delle volte in cui parlo con persone sul blocco dell'ICMP, stanno parlando di ping e traceroute. Questo si traduce in 3 tipi

  • 0 - Risposta eco (risposta ping)
  • 8 - Echo Request (richiesta ping)
  • 11 - Tempo superato

Ecco 3 tipi su 16. Diamo un'occhiata ad un altro tipo di ICMP disponibile.

  • 4 - Source Quench (inviato da un router per chiedere a un host di rallentare le sue trasmissioni)
  • 3 - Destinazione irraggiungibile (composto da 16 diversi tipi di messaggi che vanno dalla segnalazione di un problema di frammentazione fino a un firewall che segnala che una porta è chiusa)

Entrambi possono essere preziosi per mantenere gli host non maliziosi che funzionano correttamente su una rete. In effetti ce ne sono due (probabilmente più, ma questi sono i più ovvi per me) casi molto buoni in cui non vuoi limitare ICMP.

  • Path MTU Discovery - Noi usiamo una combinazione della bandiera Do not Fragment e tipo 3 codice 4 (destinazione non raggiungibile - frammentazione necessaria e DF flag set) per determinare il più piccolo MTU sul percorso tra i padroni di casa. In questo modo evitiamo la frammentazione durante la trasmissione.
  • Active Directory richiede ai client di eseguire il ping dei controller di dominio per eliminare gli oggetti Criteri di gruppo. Usano il ping per determinare il controller "più vicino" e se nessuno risponde, allora si presume che nessuno sia abbastanza vicino. Pertanto, l'aggiornamento della norma non si verifica.

Questo non vuol dire che dovremmo necessariamente lasciare tutto aperto a tutto il mondo. La ricognizione è possibile con ICMP e questo è generalmente il motivo del blocco. Si può utilizzare ping per determinare se un host è in realtà, o Tempo Exceededs (come parte di un traceroute) per tracciare le architetture di rete, o di Rory proibire un redirect (tipo 5 codice 0) per modificare il percorso di default di un host.

Dato tutto ciò, il mio consiglio è, come sempre, prendere un approccio misurato e ponderato alle tue protezioni. Blocco ICMP nella sua interezza non è probabilmente la migliore idea, ma la scelta e la scelta di cosa si bloccano e da / per , dove , probabilmente si ottiene ciò che si vuole.

    
risposta data 17.10.2012 - 05:08
fonte
29

ICMP esiste per un motivo, e non tutto il motivo è ping . È il protocollo "meta" che viene utilizzato per comunicare i messaggi di controllo sulla rete stessa. Dai un'occhiata a ICMP su Wikipedia per avere una migliore idea di cosa sia e per cosa sia.

Altri messaggi ICMP includono anche l'host di destinazione irraggiungibile, la frammentazione richiesta, il controllo della congestione, il superamento del TTL, gli errori del protocollo IP e un numero di altri.

La rete funzionerà senza ICMP - la resilienza di fronte alle perdite di pacchetti è uno dei punti di forza dell'IP - ma funzionerà più lentamente, in modo meno efficiente e senza il vantaggio di questi segnali per aiutarti a diagnosticare e risolvere i problemi .

I problemi di sicurezza con ICMP tendono a essere i più nebulosi problemi di "divulgazione delle informazioni". Per esempio. Se il router invia un messaggio ICMP a qualcuno, allora qualcuno sa che hai un router. Forse l'attaccante sapendo che hai un router è qualcosa di cui sei preoccupato, o più probabilmente non lo è. Ma la ricerca sulla sicurezza tende ad errare dalla parte del silenzio solo per essere al sicuro, per ogni evenienza.

A volte esiste una vulnerabilità di stile "ping of death" correlata all'ICMP in un sistema operativo. Attualmente nessuno esiste in nessun sistema operativo mainstream. Ma ancora una volta, i difensori della sicurezza sbagliano dalla parte della cautela, per ogni evenienza.

    
risposta data 17.10.2012 - 04:52
fonte
4

Per essere onesti, è intelligente filtrare alcuni ICMP in uscita sia a livello di router che a livello di firewall software come ulteriore livello di sicurezza.

Non è pertinente bloccare un DoS o un DDoS, ma le persone malintenzionate usano ancora ICMP per cercare di recuperare quante più informazioni possibili su una rete prima di tentare di violarle.

Non sto dicendo che usano ESCLUSIVAMENTE ICMP ma questo è uno dei pochi tipi di pacchetti che usano e, a seconda che tu abbia le tue porte aperte, possono ottenere un gran numero di informazioni in pochissimo tempo.

Dedica un po 'di tempo a google e cerca informazioni su come NMAP e alcuni altri programmi utilizzano ICMP come una delle risorse per raccogliere informazioni e quindi basare i tuoi filtri su ciò che ritieni necessario per proteggere te stesso e la tua rete.

Se possibile impostare una rete di test interna (ho acquistato personalmente un router wifi secondario a buon mercato e ho un pc secondario come firewall per testare tutte le mie impostazioni di router / ipchains / firewall software prima di utilizzarle attraverso il mio rete principale per la mia famiglia e qualsiasi cliente che mi ingaggia per proteggere le loro reti.

Incoraggio strongmente le persone a provare a fare delle ricerche sulla scansione delle porte e su come violare i firewall sulla propria rete in modo che possano proteggere meglio se stesse e qualsiasi famiglia che stanno aiutando.

Qui ci sono un paio di risorse che ho usato e ho fatto riferimento agli amici in precedenza. Sans Information Security Come utilizzare ICMP per la ricognizione

E anche

Attacchi ICMP di InfoSec Institute

Alcuni attacchi non sono più fattibili, ma esistono nuove forme di Smurf che funzionano ancora a causa del modo in cui il programmatore è riuscito a codificare l'attacco originale e cambiare il modo in cui funziona e utilizza le risorse.

Scava e google è tuo amico insieme a Stack Exchange e anche il motore di ricerca di duckduckgo è meraviglioso per le risorse che google potrebbe filtrare solo essere cauto e usare il tuo ingegno!

Sono stato un tecnico informatico per 22 anni e uno specialista della sicurezza della rete per 10 anni Attualmente sono in chool per il mio ECH e il mio CPTS e guardo ai corsi Offensive Security quando li finisco.

Spero che questo aiuti e gli altri trovino queste informazioni utili mentre ripristino i backup che ho fatto su questo sistema e trovo i miei altri link e risorse su questo argomento aggiornerò questa risposta.

    
risposta data 17.07.2016 - 07:05
fonte
1

Il blocco ICMP non è solo inutile, ma la maggior parte dei casi è anche dannoso. Vi sono diversi motivi per cui non dovresti bloccare ICMP se non sei assolutamente sicuro di quello che stai facendo e specialmente perché lo stai facendo. Sì icmp ping può aiutare gli altri a "profilare" la tua rete. Ma siamo onesti, se hai qualche servizio di Tcp aperto, sarai visto. Se lasci cadere i pacchetti, sarai visto. Se rispondi in modo sbagliato sarai visto. Quindi, se ritieni che la teoria debba nascondere i nostri server importanti in rete perché li rende più sicuri, allora quando blocchi il tuo icmp è più probabile che il tuo host sia un bersaglio ancora più luminoso. Ci sono solo un sacco di modi per sbagliare in modo da interrompere la scoperta del percorso di mtu, il controllo della congestione ecc. E persino rendere il server in grado di distinguersi dalla massa. Quindi, nella cella di noci, non bloccare il tuo icmp se non hai una buona ragione per farlo, quindi fallo con cura e leggi le specifiche del protocollo icmp in modo da capire cosa e perché stai facendo quello che sei. Sì, può essere una buona idea bloccare il reindirizzamento di icmp sul bordo della tua rete se non sei sicuro di avere vecchi kernel. Ma un'altra mano è semplicemente meglio aggiornare i server e gli altri host (risolvere problemi reali) piuttosto che nasconderli sotto il tappeto dove qualcuno troverà comunque i propri bug.

    
risposta data 16.08.2016 - 23:44
fonte

Leggi altre domande sui tag