Solaris: IP Spoofing su porte Ethernet

5

Dato un computer Solaris con due interfacce di rete corrispondenti alle porte Ethernet separate sul retro.

  • 0: 192.168.0.5 / 255.255.255.0
  • 1: 192.168.1.5 / 255.255.255.0

con /etc/defaultrouter impostato su 192.168.0.1

Se una connessione (TCP o UDP) arriva sulla porta 0, ma è da 192.168.1.6 (ovviamente spoofed), significa che qualsiasi risposta (il pacchetto SYN-ACK nel caso di un server TCP, o la risposta DNS in caso di un server DNS) verrà inviata sulla porta 1 (a causa dell'indirizzo IP).

O verranno rilasciati o, peggio, saranno rimandati sulla porta 0?

Sto tentando di valutare il rischio di spoofing IP attraverso le interfacce fisiche. Se un server è in ascolto su tutte le interfacce, ma autorizza solo le connessioni da 192.168.1.* , voglio sapere quanto è probabile che accetti le connessioni dalla porta sbagliata.

Ambiente di minacce ipotetico: la porta 1 è connessa a una rete affidabile e non Internet. La subnet di Port 0 potrebbe avere un computer compromesso.

    
posta George Bailey 25.07.2011 - 17:53
fonte

3 risposte

5

In Solaris, il parametro ip_strict_dst_multihoming eseguirà la funzione anti-IP spoofing che stai cercando. Per citare, "impostando il parametro ip_strict_dst_multihoming su 0 il sistema elimina tutti i pacchetti che sembrano originarsi da una rete collegata a un'altra interfaccia " Solaris Kernel Tuning for Security ". Per rispondere alla tua domanda: il rischio può essere risolto configurando correttamente la casella di non inoltrare pacchetti contraffatti.

Nota che questo affronta il caso semplice che hai delineato. Non penso che sarà di aiuto nel caso di routing di più reti tramite interfacce multiple. In altre parole, se avessi una route statica in modo che il traffico per 192.168.2.0/24 fosse anche instradato sull'interfaccia 1, allora non sono sicuro che Solaris lascerebbe cadere un pacchetto da 192.168.2.5 che è venuto nell'interfaccia 0. Penso che solo le reti definite dall'indirizzo associato dell'interfaccia 1 verranno eliminate.

Se stai cercando di trasformare una scatola Solaris in un router, dovresti leggere attentamente le guide come il link sopra. Solaris non è, a mio modesto parere, un ottimo sistema di router. Solaris 11 ha tuttavia aggiunto il firewall ipfw, che si avvicina alla pari con la normale scatola BSD / Linux. Se devi instradare tra reti con livelli di sicurezza diversi, dovresti farlo correttamente e NAT e / o applicare le regole del firewall.

    
risposta data 25.07.2011 - 21:37
fonte
3

Anche se ci possono essere modi per affrontare questo problema tramite il kernel di sistema, è anche molto facile da mitigare con altri mezzi.

Alcuni strumenti includono IPS e firewall.

Un semplice esempio di questo sarebbe tramite IPTables. Se stai lavorando su un sistema che esegue iptables, la seguente linea dovrebbe fare il trucco ...

iptables -A INPUT -i eth0 -s 192.168.0.0/24 -j DROP

Dipende anche dal tuo ambiente di rete, è plausibile che il modo in cui la rete è configurata semplicemente non permetta che ciò accada (routing / NAT / firewall).

** pubblicato a causa della richiesta **

    
risposta data 26.07.2011 - 21:16
fonte
2

Come dice il post precedente, il parametro ip_strict_dst_multihoming è ciò che si desidera impedire al pacchetto INCOMING. Questo parametro è disattivato per impostazione predefinita, quindi devi impostarlo su "1" perché funzioni.

Supponendo che sia spento, il pacchetto in uscita verrà inviato all'interfaccia n. 1. Lo stack non ricorda su quale porta è arrivato il pacchetto. Tutto ciò che sa è che ha un pacchetto destinato a un indirizzo 192.168.1.x. Non sa perché ha il pacchetto, da dove viene, o persino il contenuto. Tutto ciò che conosce è l'indirizzo di destinazione, che significa porta # 1.

    
risposta data 27.07.2011 - 18:19
fonte

Leggi altre domande sui tag