Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Sintesi firewall reti, Schemi e mappe concettuali di Reti Di Calcolatori

Sintesi firewall per reti di calcolatori

Tipologia: Schemi e mappe concettuali

2022/2023

Caricato il 08/05/2024

giacomo-gherardini-2
giacomo-gherardini-2 🇮🇹

2 documenti

1 / 6

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Firewall
#reti
Due Politiche:
Netfilter
mette a disposizione 5 valori di ritorno
NF_ACCEPT: accetta il pacchetto
NF_DROP: nega l'accesso al pacchetto
NF_STOLEN: preleva il pacchetto dal Kernel per manipolazioni in kernel space
NF_QUEUE: accoda il pacchetto che viene reso disponibile per una gestione in ambito user
space
NF_REPEAT: provoca un nuovo transito del pacchetto nel medesimo hook
Tabelle
Presenta tre tabelle alle quali si possono associare un numero arbitrario di catene
Filter: per operazioni di filtraggio. Agganci agli hook
NFIP_LOCAL_IN
NF_IP_LOCAL_OUT
NF_IP_FORWARD
**_Nat: per le funzioni di Masquerading (SNAT), Port Forwarding e Transparent Proxy
(DNAT). Si aggancia agli hook
NF_IP_PREROUTING
NF_IP_POSTROUTING
NF_IP_LOCAL_OUT
Mangle**: per le funzionalità di marking dei pacchetti e per effettuare modifiche ai campi TOS e
TTL. Prevede agganci a tutti gli hook
Impostazioni politiche
per ogni catena occorre impostare una politica (accesso o negazione implicita)
comando:
iptables [-t table] -P catena {ACCEPT | DROP}
1. Negazione implicita:
“Non passa niente tranne ciò che è stato espressamente autorizzato”
2. Accesso implicito:
“Passa tutto ciò che non è stato espressamente vietato”
pf3
pf4
pf5

Anteprima parziale del testo

Scarica Sintesi firewall reti e più Schemi e mappe concettuali in PDF di Reti Di Calcolatori solo su Docsity!

Firewall

#reti Due Politiche :

Netfilter

mette a disposizione 5 valori di ritorno ● NF_ACCEPT : accetta il pacchetto ● NF_DROP : nega l'accesso al pacchetto ● NF_STOLEN : preleva il pacchetto dal Kernel per manipolazioni in kernel space ● NF_QUEUE : accoda il pacchetto che viene reso disponibile per una gestione in ambito user space ● NF_REPEAT : provoca un nuovo transito del pacchetto nel medesimo hook

Tabelle

Presenta tre tabelle alle quali si possono associare un numero arbitrario di catene Filter : per operazioni di filtraggio. Agganci agli hook NF _IP_LOCAL_IN NF_IP_LOCAL_OUT NF_IP_FORWARD **Nat : per le funzioni di Masquerading (SNAT), Port Forwarding e Transparent Proxy (DNAT). Si aggancia agli hook NF_IP_PREROUTING NF_IP_POSTROUTING NF_IP_LOCAL_OUT Mangle **: per le funzionalità di marking dei pacchetti e per effettuare modifiche ai campi TOS e TTL. Prevede agganci a tutti gli hook

Impostazioni politiche

per ogni catena occorre impostare una politica (accesso o negazione implicita) comando: iptables [-t table] -P catena {ACCEPT | DROP}

  1. Negazione implicita: “Non passa niente tranne ciò che è stato espressamente autorizzato”
  2. Accesso implicito: “Passa tutto ciò che non è stato espressamente vietato”

esempio: iptables –t filter –P INPUT DROP iptables –t filter –P FORWARD ACCEPT

A ciascuna catena possono essere aggiunte regole con l’opzione –A. Ogni regola ha un obiettivo, introdotto con l'opzione -j esempio: iptables [-t tabella] -A catena espressione -j obiettivo [opzioni]

tabelle:

Filter - packetFilter

la tabella Filter prevede

Catena

Per le operazioni di packet filtering si usa la tabella Filter , che contiene tre catene : INPUT : regole per un processo locale OUTPU : regole per pacchetti diretti verso l'esterno FORWARD : Regole per pacchetti in transito

Possibili obiettivi

DROP : scarta il pacchetto (silenziosamente) ● REJECT : scarta il pacchetto inviando un messaggio ICMP o un TCP RST al mittente ● ACCEPT : autorizza il pacchetto ad attraversare l'hook ● QUEUE : rende il pacchetto disponibile per elaborazioni in user space ● LOG : effettua registrazione delle informazioni relative a pacchetti conformi alle regole specificate ● Il nome di un'altra catena di regole creata dall'utente: utile per organizzare logicamente le regole

esempi di regole statiche:

iptables –t filter –A INPUT –s 192.168.1.0/24 –j DROP

iptables –t filter –A FORWARD –p tcp –i eth+ –d 192.168.1.0/24 --dport 80 –j ACCEPT

iptables –t filter –A INPUT –p icmp –s !192.168.1.0/16 --icmp-type echo-request –j DROP

Accetta una media di 4 pacchetti ICMP al minuto. Se la policy di default è DROP, i pacchetti ICMP in eccesso sono eliminati

Nat

la tabella nat prevede:

Catene

Obiettivi

Utilizzato per: -Per condividere un solo indirizzo IP (assegnato al firewall) con tutti gli host della rete locale

  • Per consentire l'accesso da Internet ad un servizio presente su un host della rete locale con indirizzo privato Per nascondere la struttura della rete, facendo in modo che tutti i pacchetti sembrino generati dal firewall
  • Per realizzare un Transparent Proxy

Esempi:

per condividere l'unico indirizzo IP pubblico con tutte le macchine della rete locale è possibile utilizzare la seguente regola di IPtables: iptables –t nat –A POSTROUTING –o eth0 –j SNAT --to-source 155.185.54. Questa regola non può essere usata se l'ip è impostato dinamicamente

PREROUTING : manipolazioni sull’indirizzo di destinazione (DNAT) dei pacchetti provenienti dall’esterno OUTPUT : manipolazioni sull'indirizzo di destinazione (DNAT) dei pacchetti generati localmente POSTROUTING : consente manipolazioni sugli indirizzi sorgente (SNAT) di tutti i pacchetti in uscita

SNAT : modifica l’indirizzo IP e la porta sorgente di un pacchetto MASQUERADE : sostituisce l’indirizzo IP sorgente di un pacchetto con quello dell’interfaccia di rete a cui è destinato (caso particolare di SNAT) DNAT : modifica l’indirizzo IP e la porta di destinazione di un pacchetto REDIRECT : sostituisce l’indirizzo IP destinazione di un pacchetto con quello dell’host che si occupa del NAT (caso particolare di DNAT)

In questo caso si usa MASQUERADE iptables –t nat –A POSTROUTING –o ppp0 –j MASQUERADE

Per rendere visibile un indirizzo privato ad internet (server web ad esempio) posso utilizzare il comando: iptables –t nat –A PREROUTING –p tcp –d 155.185.54.185 --dport 80 -j DNAT --to- destination 192.168.1.

Mediante le regole della tabella nat è possibile implementare un Transparent Proxy, cioè un proxy contattato dai client in modo trasparente, senza la necessità di impostazioni particolari iptables –t nat –A PREROUTING –p tcp –i eth1 --dport 80 –j DNAT --to-destination 192.168.1.1: se il proxy si trova sullo stesso host che implementa i meccaniscmi nat allora posso usare l'obiettivo REDIRECT iptables –t nat –A PREROUTING –p tcp –i eth1 --dport 80 –j REDIRECT --to-port 8080

Mangle

tabella che funziona da marcatore di pacchetti: Si intende la tecnica di manipolazione degli header dei pacchetti per utilizzare avanzate metodologie di routing, modificare i valori dei campi TOS, TTL, ecc.

Catene

PREROUTING : per manipolare pacchetti prima della logica di routing ● OUTPUT : per manipolare pacchetti generati da processi locali prima della logica di routing ● INPUT : per manipolare pacchetti diretti ad un processo locale (dal Kernel 2.4.18 in poi) ● FORWARD : per manipolare pacchetti instradati da una interfaccia all’altra ● POSTROUTING : per manipolare pacchetti già sottoposti alla logica di routing

Obiettivi

MARK : utilizzato per impostare il valore dei marcatori di Netfilter ● TOS : usato per impostare il valore del campo TOS ● DSCP : sfruttato per alterare il valore del campo DSCP (sei bit all’interno del campo TOS) ● ECN : permette di settare a 0 tutti i bit del campo ECN dei pacchetti TCP ● TCPMSS : consente di modificare il valore del MSS dei pacchetti TCP SYN

Esempi: