Packet Filter in LINUX (iptables)
Transcript
Packet Filter in LINUX (iptables) Laboratorio di Reti Ing. Telematica - Università Kore Enna A.A. 2008/2009 Ing. A. Leonardi Firewall • Può essere un software che protegge il pc da attacchi esterni Host Applicazioni Firewall Internet • Può essere un host che filtra tutto il traffico da e per una rete locale Internet Firewall Ing. A. Leonardi - Laboratorio di Reti A. A. 2008/2009 Configurazione • Politica per i servizi di rete – default deny: tutti i servizi non esplicitamente permessi sono negati – default allow: tutti i servizi non esplicitamente negati sono permessi Ing. A. Leonardi - Laboratorio di Reti A. A. 2008/2009 Implementazione • Packet filter – è un filtro che agisce sui pacchetti IP – i pacchetti possono essere scartati sulla base di: • indirizzo IP sorgente/destinazione • indirizzo MAC sorgente/destinazione • porta TCP • interfaccia Ing. A. Leonardi - Laboratorio di Reti A. A. 2008/2009 IPTABLES • è un applicativo per il packet filter (fa parte di Netfilter) • presente nelle distribuzioni Linux con kernel 2.4 e 2.6 • ha il controllo dei pacchetti IP in transito sulle interfacce di rete • i pacchetti IP verranno processati tramite delle tabelle (table) e seguendo delle regole (chain) • tipi di tabelle – filter (filtraggio pacchetti) – nat (sostituzione indirizzi IP) – mangle (manipolazione dei campi dei pacchetti) Ing. A. Leonardi - Laboratorio di Reti A. A. 2008/2009 IPTABLES: filter • Filtra i pacchetti in base all’interfaccia di provenienza e ai campi IP e TCP • tre chain: – INPUT: regole di filtraggio sui pacchetti in arrivo all’host – OUTPUT: regole di filtraggio sui pacchetti in uscita dall’host – FORWARD: regole di filtraggio sui pacchetti in transito (arrivano e partono da interfacce diverse) Ing. A. Leonardi - Laboratorio di Reti A. A. 2008/2009 Applicazioni FILTER Output OUT Input Forward Ing. A. Leonardi - Laboratorio di Reti A. A. 2008/2009 IN IPTABLES: filter • Regole possibili della chain: – ACCEPT (accetta il pacchetto), DROP (scarta il pacchetto), REJECT (rifiuta il pacchetto), QUEUE (passa il pacchetto allo user-space), RETURN (esce dalla tabella attuale) • Il pacchetto è soggetto alle regole della chain secondo l’ordine di inserimento • La decisione avviene in base a: – interfaccia di rete – indirizzo IP sorgente/destinazione – tipo di protocollo (UDP, TCP, ICMP, etc.) – porta TCP/UDP di origine/destinazione • altrimenti regola di default della chain (policy) Ing. A. Leonardi - Laboratorio di Reti A. A. 2008/2009 IPTABLES: filter – Conf. • visualizzare le regole in uso per ogni chain – iptables –t filter –L • visualizzare le regole in uso per una particolare chain: – iptables –t filter –L <chain> • impostare la policy di default – iptables –t filter –P <chain> <policy> • aggiungere una regola in coda ad una chain – iptables –t filter –A <chain> <options> -j <policy> • <chain> = INPUT, FORWARD, OUTPUT • <policy> = ACCEPT, DROP, REJECT Ing. A. Leonardi - Laboratorio di Reti A. A. 2008/2009 IPTABLES: filter – Conf. • aggiungere una regola in posizione <N> di una chain – iptables –t filter –I <chain> <N> <options> -j <policy> • per sostituire una regola in posizione <N> – iptables –t filter –R <chain> <N> <options> -j <policy> • per eliminare una regola in posizione <N> – iptables –t filter –D <chain> <N> • per eliminare tutte le regole da una specifica chain o da tutte le chain – iptables –t filter –F <chain> – iptables –t filter –F Ing. A. Leonardi - Laboratorio di Reti A. A. 2008/2009 IPTABLES: filter – Conf. • <options> – interfaccia di ingresso • -i <interface> – interfaccia di uscita • -o <interface> – IP di origine e destinazione • -s <address>/<netmask> • -d <address>/<netmask> – protocollo • -p tcp, udp, icmp, all – porta di origine/destinazione • -sport <port> • -dport <port> Ing. A. Leonardi - Laboratorio di Reti A. A. 2008/2009 IPTABLES: filter - Esempi • Esempi: – Bloccare tutto il traffico tcp iptables –t filter -A INPUT -i eth0 -p tcp -j REJECT – Accettare tutto il traffico nella porta 7001 iptables –t filter -A INPUT -i eth0 -p udp -destination-port 7001 -j ACCEPT – Bloccare tutti i pacchetti udp iptables –t filter -A INPUT -i eth0 -p udp -j REJECT – Bloccare i pacchetti icmp iptables –t filter –A INPUT –i eth0 –p icmp –j DROP - Bloccare i pacchetti provenienti da un indirizzo MAC Iptables –t filter –A INPUT –m mac --mac-source <MAC_ADDRESS> -j DROP Ing. A. Leonardi - Laboratorio di Reti A. A. 2008/2009
Documenti analoghi
iptables passo-passo - Portale Memolinux
Per condividere un unico collegamento Internet (ip pubblico) con tutti i PC di una LAN.
Il NAT utilizza iptables con due interfacce.
NAT dell'indirizzo sorgente (SNAT), POSTROUTING ==> dei pacchett...
iptables - WebProg.Net
# ACCEPT di tutte le nuove connessioni TCP ed invio alla tabella SYN per il filtraggio #
iptables -A INPUT -i eth0 -p tcp --syn -j SYN
# Caratteristiche della tabella SYN::
# ACCEPT di tutte le nuo...
Iptables - Giacomo Strangolino
Modulo time: consente di attivare delle regole in base
all'orario ed ai giorni della settimana:
Iptables per tutti
$iptables -A FORWARD -p tcp --syn -m limit 1/sec -j ACCEPT
--port = questa opzione è valida solo con -m multiport e -p tcp, -p udp, e viene applicata quando sia
la porta sorgente che quella di dest...
Guida Pratica a iptables - NOTA: Sito in riallestimento
che è netfilter, affascinato dalla sua essenzialità e dalla enorme
versatilità che offre. Oltretutto sono un grande estimatore della riga
di comando, poiché offre maggiore controllo rispetto ai cli...