iptables | Tipi di ICMP: quali sono (potenzialmente) dannosi?


8

Ho letto che alcuni tipi¹ di pacchetti ICMP possono essere dannosi. Domande:

  • Quali e perché?
  • Come devo layout un set di regole iptables per gestire ogni tipo di pacchetto ICMP?
  • Devo limitare i tassi di questi tipi di pacchetti ICMP? E come?

[¹] I tipi di cui ho letto: Redirect (5), Timestamp (13) e Address Mask Request (17). Per favore, non considerare solo questi sulla tua risposta.

Maggiori informazioni
È un server Web su un VPS con Ubuntu Server.

L'obiettivo
che sto cercando di rendere il sistema più sicuro, mitigare il rischio di alcuni attacchi D / DoS e abusi generali.

Correlato
Il mio firewall Linux è sicuro?
Perché non bloccare ICMP?

Risposte:


10

Sembra che tu stia cadendo vittima del mantra "ICMP IS EVIL".
L'ICMP NON è malvagio, semplicemente frainteso. La triste realtà è che molti amministratori temono ciò che non capiscono, e quindi scacciano ICMP dal loro universo di rete, evitandolo al limite del firewall e impedendogli di prendere il suo posto giusto e appropriato a beneficio della loro rete.

Detto questo, lasciami rispondere alle tue domande:


Quali tipi di messaggi ICMP possono essere dannosi e perché?
Praticamente tutti.

  • Echoi pacchetti possono essere usati per interrompere i servizi (specialmente per i sistemi con stack IP mal implementati); Utilizzati legittimamente possono fornire informazioni sulla tua rete.

  • Destination Unreachablepuò essere iniettato maliziosamente; Utilizzati legittimamente, possono fornire informazioni sul * firewall / struttura di routing o su un computer specifico sulla rete.

  • Source Quench può essere inviato maliziosamente per rendere efficacemente il tuo server seduto in un angolo e succhiarne il pollice.

  • redirect può essere usato come suggerisce il nome.

  • router advertisemente le router solicitationrichieste possono essere utilizzate per creare topologie di traffico "interessanti" (e facilitare gli attacchi MITM) se i vostri host vi prestano effettivamente attenzione.

  • tracerouteè progettato per fornire informazioni sulla topologia di rete.

…eccetera...

I nomi dei vari messaggi ICMP descrivono in gran parte ciò che sono in grado di fare. Esercita la tua innata paranoia nel sognare scenari da incubo :-)


Come devo layout un set di regole iptables per gestire ogni tipo di pacchetto ICMP?
In assenza di una buona ragione per pasticciare con il traffico ICMP, lascia stare da solo!
Scherzare con il traffico ICMP impedisce l'uso appropriato dei messaggi ICMP (gestione del traffico e risoluzione dei problemi): sarà più frustrante che utile.


Devo limitare i tassi di questi tipi di pacchetti ICMP? E come?
Questa potrebbe essere l'unica eccezione legittima alla filosofia "lascia stare l'inferno da solo": i messaggi ICMP che limitano la velocità o la larghezza di banda possono essere utili per aiutarti a eludere gli usi illegittimi dei messaggi ICMP. FreeBSD viene fornito con ICMP Larghezza di banda / Limitazione della velocità per impostazione predefinita e presumo che Linux abbia funzionalità simili.

La limitazione della velocità / larghezza di banda è di gran lunga preferibile a una regola firewall generale che elimina il traffico ICMP: consente ancora a ICMP di servire il suo scopo sulla rete e mitiga anche parzialmente i tentativi di abuso del server.


Quanto sopra rappresenta le opinioni di un amministratore di sistema, che da parte sua è FREAKIN 'STATO DI AVERE A RETI DI RISOLUZIONE DEI PROBLEMI DOVE TUTTO IL TRAFFICO DI ICMP È ELIMINATO - È fastidioso, frustrante e richiede più tempo per trovare e risolvere i problemi. :-)


Ma .. ma .. il Ping of Death è da temere, a livelli irrazionali! (è male che potrei dire chi ha scritto questa risposta dopo il primo paragrafo?)
Shane Madden,

In effetti, l'ICMP è utile. Se fossi vittima di "ICMP is evil", preferirei bloccare tutto e non aprire questa domanda :) Tutto ciò che voglio è un aiuto per prendere una decisione informata. Puoi essere sicuro che non li bloccherò tutti :)
ML--

@Shane Madden: lascerà --state INVALIDcadere Ping of Death?
ML--

7
@ ML-- Per favore, non preoccuparti del rumore della morte. Nessun SO di questo millennio è vulnerabile.
Shane Madden,

2
@ ML-- L'unico vettore di cui mi preoccuperei è Source Quench, e puoi bloccarlo con relativa impunità (TCP alla fine lo capirà da solo). Ping e Traceroute sono sicuramente perdite di informazioni, ma in pratica non credo che aggiunga troppa sicurezza reale al tuo ambiente. Il chilometraggio (e il livello richiesto di paranoia) può variare (a seconda della sensibilità dei dati / ambiente).
voretaq7,

4

Non si tratta tanto di tipi quanto di possibili vettori di attacco. C'è stato un vettore di attacco DoS piuttosto efficace che utilizza il pacchetto di quench di origine ICMP in molti stack TCP / IP dell'host Internet comune per anni - eppure ciò non significa che i messaggi ICMP di quench di origine debbano essere filtrati in generale. Come per tutto ciò che riguarda la sicurezza della rete, sopporta i vantaggi di un determinato protocollo o servizio rispetto alla possibile superficie di attacco in base alle tue priorità personali . Se nelle tue reti sono presenti host suscettibili a un vettore di attacco tramite ICMP, non puoi correggerli e non hai bisogno di funzionalità specifiche, dovresti certamente considerare di filtrarlo.

Per le mie reti v4 amministrate ho trovato sicuro e conveniente consentire i tipi ICMP 0, 8 (richiesta / risposta echo), 11 (TTL scaduto), 3 (destinazione non raggiungibile) e 12 (errore dell'intestazione IP) e eliminare tutto il riposo.

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.