Packet Filter in LINUX (iptables)

Transcript

Packet Filter in LINUX (iptables)
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

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...

Dettagli

iptables - WebProg.Net

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...

Dettagli

Iptables - Giacomo Strangolino

Iptables - Giacomo Strangolino Modulo time: consente di attivare delle regole in base all'orario ed ai giorni della settimana:

Dettagli

Iptables per tutti

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...

Dettagli

Guida Pratica a iptables - NOTA: Sito in riallestimento

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...

Dettagli