IPTABLES Un Firewall Linux Telematica A.A Claudio Bizzarri – Franco Pirri.

Slides:



Advertisements
Presentazioni simili
Il firewall di Linux: IPTables 19 Settembre 2005.
Advertisements

PPPoE significa "Point-to-Point Protocol over Ethernet" ovvero "protocollo punto a punto operante su Ethernet", una nuova alternativa per le connessioni.
Intrusion Detection System
AICA Corso IT Administrator: modulo 5 AICA © EUCIP IT Administrator Modulo 5 - Sicurezza Informatica Esercitazione Alberto Bosio.
EUCIP IT Administrator Modulo 5 - Sicurezza Informatica 7 - Sicurezza di rete AICA © 2005.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 4 -Gestione degli indirizzi Ernesto Damiani Lezione 5 – Configurazione.
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
Firewalling. A che serve un firewall? Rende accessibili all’esterno solo i servizi che veramente vogliamo pubblicare Impedire agli utenti della rete.
 Network Address Traslation: tecnica che permette di trasformare gli indirizzi IP privati in indirizzi IP pubblici  Gli indirizzi devono essere univoci.
II PROVA Svolgimento tramite protocollo ISO/OSI. I LIVELLO : LIVELLO FISICO Scelta del mezzo fisico; tenere conto degli standard IEEE Procedura di codifica.
Linux Day 2006 – Giornata nazionale dedicata al Software Libero e GNU/ Linux – Come proteggere Windows tm con GNU/Linux Roberto Lacava.
Corso di Alta formazione in TL&OS Modulo 1.3 Reti e Servizi - lezione 1 Modulo 1.3 Reti e servizi 1. Introduzione al Networking Connettere il PC in rete;
1 14 marzo 2006 sommaruga andrea Fondazione Ordine Ingegneri di Milano VPN: Reti Private Virtuali VPN: RETI PRIVATE VIRTUALI LE POSSIBILITA' DI ACCESSO.
Fabrizio Felici Linux e Windows a confronto, perché passare a Linux 27 ottobre 2007.
Fondazione dell' Ordine degli Ingegneri della Provincia di Milano Fernando Fernandez - 14 Marzo 2006 VPN: Reti Private Virtuali VPN RETI PRIVATE VIRTUALI:
POLITECNICO DI MILANO FACOLTA’ DI INGEGNERIA SEDE DI CREMONA TESI DI DIPLOMA IN INGEGNERIA INFORMATICA RELATOREAUTORI Prof. Vittorio TrecordiDemicheli.
CORSO elementare su DATABASE Applicativo utilizzato OpenOffice 3.0.
A dvanced N etwork T echnologies Lab oratory Infrastrutture e Protocolli per Internet Laboratorio 5 Politecnico di Milano Stefano NapoliAlberto Pollastro.
Università degli Studi - “ G. d'Annunzio ” Chieti - Pescara FACOLTÀ DI ECONOMIA Corso di laurea in Economia Informatica/s Seminario di: Giovanni Placentino.
ACL..una soluzione per limitare il traffico indesiderato e aumentare la sicurezza informatica sui nodi che offrono servizi, poi sui nodi degli utenti..
Gestione delle configurazioni Configuration management (CM) E` un processo che controlla le modifiche fatte a un sistema e gestisce le diverse versioni.
1 Telematica A.A. 2005/2006 Il datagramma IP (STD 5, RFC 791)
1 Reti e Firewall Università degli Studi Firenze Facoltà di Ingegneria A.A Franco Pirri & Claudio Bizzarri dal seminario (e dal libro) di Maurizio.
PGDay 2009 FSGateway Ing. Torello Querci Resp. Architetture SW - Negens S.r.l. 4 Dicembre 2009, Pisa.
WONDERFOOD and WINE Piccole istruzioni d’uso
Configurazione Router IR794- IG601
Ing. Christian Barberio
Corso per Webmaster base
NAT, Firewall, Proxy Processi applicativi.
Vulnerability Assessment
TCP/IP.
Servizio Accreditamento, Sistemi informativi e Qualità della Didattica
DNS Domain Name Server.
GLI IPERMEDIA LA COMUNICAZIONE è una forma di relazione sociale che coinvolge aspetti ed elementi diversi. E’ composta da: MITTENTE= chi manda.
dCache Test effettuati al CNAF
La comunicazione scritta
Corso «Nozioni di Informatica» – riepilogo di alcuni concetti visti
<Nome del gruppo di lavoro>
NegoziCS packing list fidelitycard ordini merceinsaldo www ® software
Commissione Calcolo e Reti
Applicazione web basata su web service e web socket
TCP/IP. Sommario  Introduzione al TCP/IP  Indirizzi IP  Subnet Mask  Frame IP  Meccanismi di comunicazione tra reti diverse  Classi di indirizzi.
CRITTOGRAFIA Per crittografia si intende la protezione delle informazioni mediante l'utilizzo di codici e cifre. La crittografia è un componente fondamentale.
GridFlex: gestione di software
Giordano Scuderi Unico SRL Catania
verifica di abilitazione all’attività di responsabile tecnico
* Il Sistema Operativo GNU/Linux * Sistema Operativo e Applicazioni
Cosa sono il Software Libero e GNU/Linux? Scopriamolo insieme!
analizzatore di protocollo
Recupero polizze assicurative
Ardis e il sistema qualità
Titolo presentazione 18/09/2018
Processi e Thread Meccanismi di IPC (1).
Predisposizione e presentazione della domanda di nullaosta
Come personalizzare il sito Web online di Microsoft SharePoint
Impresa Formativa Simulata
STAT-RI WEB OPERATIVI.
Concetti introduttivi
HOTEL DESENZANO Viale Cavour 40/42 Desenzano del Garda (Brescia)
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
Firewalling.
REGOLAMENTO PER L’ACCESSO E L’UTILIZZO DEL SERVIZIO DI POSTA ELETTRONICA DI ATENEO DELL’UNIVERSITA’ DI BARI Centro Servizi Informatici Università degli.
Corso base per Operatori di Protezione Civile
Il Livello di Trasporto
Predisposizione e presentazione della domanda di nullaosta
OLIMPYAWIN software utilizzato per gestire le gare sportive scolastiche in piena autonomia per varie discipline. modulo di iscrizioni on-line che permette.
Portale Acquisti Alperia
Software : i diritti “patrimoniali ” d’autore
il povero manuale di sistema per sperimentare reti di computer
CLOUD.
Transcript della presentazione:

IPTABLES Un Firewall Linux Telematica A.A Claudio Bizzarri – Franco Pirri

LAN I collegamenti sono nell'ordine di 100m Velocità max possibile superiore alle altre reti I messaggi broadcast raggiungono tutti i terminali UTP+Ethernet 2

Intranet Rete interna (ad uso privato) di una struttura Può essere una semplice LAN o una connessione di LAN E' generalmente presente un server R R 3

Internet L'unione di tutte le reti locali utilizzando TCP/IP LAN 4

Extranet Una intranet realizzata tramite la rete pubblica anziché connessioni dedicate LAN 5

NAT e PAT NAT: Network Address Translation PAT: Port Address Translation Linux: port forwarding e masquerading Per il Bizzarri: – NAT = Port Forwarding – PAT = Masquerading 6

PAT Sadd: 10 SP: 4521 Dadd: DP: 80 Sadd: 11 SP: 5623 Dadd: DP: 80 Sadd: 12 SP: 2121 Dadd: DP: 80 Tabella Sadd 10SP 4521SP 9000 Sadd 11SP 5623SP 9001 Sadd 12SP 2121SP 9002 Timeout: 120s Internet /

NAT add: 10 add: 11 add: 12 Tabella Dport 80Dadd 10Dport2 80 Dport 110Dadd 11Dport2 110 Dport 8080Dadd 12Dport2 80 Tabella dinamica Sadd Dport 80Res 10:80 Sadd Dport 110Res 11:110 Sadd Dport 8080Res 12:80 Timeout: 120s Internet /

Configurazioni di rete 1 indirizzo IP pubblico ADSL Router Server Router/modem ADSL con funzionalità di NAT/PAT 9

Configurazioni di rete 1-2 (1-4) indirizzi IP pubblici ADSL / HDSL M/R Server 1 Server 2 Questo può essere un modem ADSL PPPoE con un solo indirizzo pubblico NAT e PAT sono fatti da un server Linux Può realizzare proxy trasparente 10

Configurazioni di rete 3 o più indirizzi IP pubblici (8 o più) ADSL / HDSL CDN RouterFW Server 2 Server 1 Le comunicazioni fra S1 e S2 sono gestite dal firewall 11

12 Cenno su NETFILTER netfilter è un framework per il manipolamento dei pacchetti, esterno alla normale interfaccia socket Berkeley. Vediamo le sue caratteristiche principali: 1. ogni protocollo definisce degli "hook" (IPv4 ne definisce 5), ovvero punti ben definiti durante il viaggio dei pacchetti nella pila protocollare. In ciascuno di questi punti, il protocollo richiamerà il framework netfilter fornendo il pacchetto e il numero dell'hook. 2. porzioni del kernel possono registrarsi per "ascoltare", per ogni protocollo, differenti hook. Perciò quando un pacchetto è passato al framework netfilter, esso controlla se qualcuno si è registrato per quel determinato protocollo e hook; se sì, a ciascuno di essi è data, in ordine, una chance per esaminare (ed eventualmente alterare) il pacchetto, per scartarlo, per lasciarlo proseguire, o per chiedere a netfilter di accodarlo per lo userspace (spazio utente).

13 Cenno su NETFILTER 3. i pacchetti che sono stati accodati sono sistemati per essere inviati allo userspace; questi pacchetti sono gestiti in modo asincrono. 4. La parte finale consiste di splendidi commenti sul codice e di una ottima documentazione Pacchetto che attraversa il sistema netfilter Netfilter Iptables / NAT

14 Cenno su NETFILTER – In aggiunta a questo framework grezzo sono stati realizzati vari moduli che forniscono funzionalità simili ai kernel precedenti (pre-netfilter), in particolare un sistema NAT e uno di filtraggio dei pacchetti (iptables) entrambi estendibili.

15 IPTABLES Iptables e’ l’interfaccia utente per l’impostazione di filtri eseguiti da netfilter a livello di Kernel (disponibile in tutte le versioni di Linux) E’ l’evoluzione di ipchains, entrambi sviluppati da Rusty Russell Attualmente la versione disponibile e’ la da implementare sulla versione Kernel >= 2.4.x In grado di effettuare filtering su protocolli IPv4, IPv6, Decnet, etc.

16 Tipologie di filtri Controlla e verifica 5 tipi diversi di flussi attraverso la definizione di altrettante tabelle o chains: – Input – Output – Forward – Prerouting – Postrouting Oltre alle tabelle citate se ne possono creare altre personalizzate per scopi specifici E’ in grado di effettuare i LOG

17 Flusso pacchetti in IPTABLES

18 Tipologie di filtri All’ interno di ciascuna tabella effettua il controllo su: – Input e Output Interface – Source MAC Address – Source e destination IP Address – Invalid Packets (CRC error, frammenti, etc) – Protocol (IP, TCP, UDP, ICMP, etc.) – Source e destination port (TCP e UDP) – Flag TCP (SYN, FIN, ACK, RST, URG, PSH, ALL, NONE) – Rate limit – Etc.

19 Politiche applicabili Per ogni pacchetto analizzato iptables e’ in grado di applicare le seguenti politiche: – ACCEPT (accetta il pacchetto) – DROP e REJECT (scarta il pacchetto) – QUEUE (passa il pacchetto allo userspace) – RETURN (esce dalla access list della attuale tabella e passa il controllo alla successiva tabella) La sintassi e’ di tipo command line per la costruzione di ACL sequenziali (per ciascun pacchetto l’esecuzione termina al primo match).

20 Esempi applicativi Dipartimento di Elettronica e Telecomunicazioni di Firenze Acme S.p.A.

DET LAN /24 FW ROUTERROUTER 21

22 DET (0) #!/bin/bash # # Variabili generali # BLACK_LIST=$(cat /etc/sysconfig/fw_tabelle/fw_black_list) SERVER_GOOD=$(cat /etc/sysconfig/fw_tabelle/fw_good_server) SERVER_BAD=$(cat /etc/sysconfig/fw_tabelle/fw_bad_server) CLIENT_GOOD=$(cat /etc/sysconfig/fw_tabelle/fw_good_client) CLIENT_BAD=$(cat /etc/sysconfig/fw_tabelle/fw_bad_client) ADMIN=$(cat /etc/sysconfig/fw_tabelle/fw_admin) I_ETH=eth0 O_ETH=eth1 #Pulizia delle regole service iptables stop #Attivazione modulo per servizio FTP attivo /sbin/modprobe ip_conntrack_ftp #Regole generali delle 3 catene per la tabella "filter" iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT #Regole per interfaccia Loopback: iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT

23 DET (1) # # SEZIONE GENERALE # # # Regole per Protezione Syn-flood iptables -A FORWARD -i eth+ -p tcp -s 0/0 --syn -m limit --limit 1/s -j ACCEPT # Regole per Protezione Scanner iptables -A FORWARD -i eth+ -p tcp -s 0/0 --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT # Regole per Protezione Ping Death iptables -A FORWARD -i eth+ -p icmp -s 0/0 --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

24 DET (2-input) # # SEZIONE INPUT # # # *********** Regole per ICMP ********* # for admin in ${ADMIN}; do iptables -A INPUT -p ICMP -i $I_ETH -s ${admin} -j ACCEPT done # # Regole per SSH # for admin in ${ADMIN}; do iptables -A INPUT -i $I_ETH -p TCP -s ${admin} --dport 22 -j ACCEPT done # # Regole per i DNS # iptables -A INPUT -i $O_ETH -p udp -s m udp --sport 53 -j ACCEPT iptables -A INPUT -i $O_ETH -p udp -s m udp --sport 53 -j ACCEPT # # Devo fare mysql con nadir # iptables -A INPUT -i $I_ETH -p tcp -s m state --state ESTABLISHED -j ACCEPT # # le connessioni con diefi, lci e ingfi1.ing.unifi.it sono ammesse # iptables -A INPUT -i $I_ETH -p tcp -s m state --state ESTABLISHED -j ACCEPT iptables -A INPUT -i $I_ETH -p tcp -s m state --state ESTABLISHED -j ACCEPT iptables -A INPUT -i $O_ETH -p tcp -s m state --state ESTABLISHED -j ACCEPT # # apro STP con i time server per rimettere l'ora # iptables -A INPUT -m udp -p udp -s time.ien.it --sport dport 1025: j ACCEPT iptables -A INPUT -m udp -p udp -s ntp0.fau.de --sport dport 1025: j ACCEPT iptables -A INPUT -m udp -p udp -s ntp1.sp.se --sport dport 1025: j ACCEPT # # Connessioni FTP in ingresso da Radar iptables -A INPUT -i $I_ETH -p tcp -s m state --state ESTABLISHED -j ACCEPT

25 DET (3-forward) # # SEZIONE FORWARD # # # Regole per bloccare macchine esterne pericolose (non registrate....) # for black_list in ${BLACK_LIST}; do iptables -A FORWARD -i $O_ETH -s ${black_list} -j DROP done # # Regole per bloccare la porta 135 (connessioni in->out e out->in) # # La porta 135 è RPCM (Microsoft RPC) e serve principalmente ai virus e ai worm # L'abbiamo chiusa a causa dei due client 134 e 156 che, da soli, riuscivano a # saturare la tabella di tracciamento delle connessioni (28/10/2003) # iptables -A FORWARD -i $I_ETH -p tcp --dport 135 -j DROP iptables -A FORWARD -i $O_ETH -p tcp --sport 135 -j DROP # # *********** Regole per ICMP *************** # # Il protocollo ICMP puo' uscire verso tutte le direzioni; Possono # entrare solo i reply. # for server_good in ${SERVER_GOOD}; do iptables -A FORWARD -p ICMP -i $I_ETH -o $O_ETH -s ${server_good} -j ACCEPT iptables -A FORWARD -p ICMP -i $O_ETH -o $I_ETH -d ${server_good} -j ACCEPT done # for client_good in ${CLIENT_GOOD}; do iptables -A FORWARD -p ICMP -i $I_ETH -o $O_ETH -s ${client_good} --icmp-type echo-request -j ACCEPT iptables -A FORWARD -p ICMP -i $O_ETH -o $I_ETH -d ${client_good} --icmp-type echo-reply -j ACCEPT done

26 DET (4-forward) # # ************* Regole per DNS ****************** # iptables -A FORWARD -i $I_ETH -o $O_ETH -p udp -s m udp --sport 53 -d j ACCEPT iptables -A FORWARD -i $O_ETH -o $I_ETH -p udp -s m udp --sport 53 -j ACCEPT iptables -A FORWARD -i $O_ETH -o $I_ETH -p udp -s m udp --sport 53 -j ACCEPT iptables -A FORWARD -i $O_ETH -o $I_ETH -p udp -s d m udp --dport 53 -j ACCEPT # # **************** Regole per TCP ***************** # # Regole per SAMBA # Il protocollo SMB non esce e non entra dal Firewall, solo su telemat funziona... :) # iptables -A FORWARD -i $I_ETH -o $O_ETH -p tcp -s m tcp --dport 137:139 -j ACCEPT iptables -A FORWARD -i $O_ETH -o $I_ETH -p tcp -d m tcp --sport 137:139 -j ACCEPT iptables -A FORWARD -p tcp -s 0/0 -m tcp --dport 137:139 -j DROP

27 DET (5) # # # SEZIONE GOOD SERVER # # # I server sono accessibili dai servizi esterni, sia tcp che udp # for server_good in ${SERVER_GOOD}; do iptables -A FORWARD -p TCP -i $I_ETH -o $O_ETH -s ${server_good} -j ACCEPT iptables -A FORWARD -p TCP -i $O_ETH -o $I_ETH -d ${server_good} -j ACCEPT iptables -A FORWARD -p UDP -i $I_ETH -o $O_ETH -s ${server_good} -j ACCEPT iptables -A FORWARD -p UDP -i $O_ETH -o $I_ETH -d ${server_good} -j ACCEPT done

28 DET (6) # # # SEZIONE GOOD CLIENT # # # **************** Regole per TCP ***************** # I client possono richiedere connessioni all'esterno, ma non possono # accettarne di nuove # *************** Regole per UDP ******************** # Sono ammesse le porte >1023 e la porta 123 (Network Time Protocol) # #Regole per l'attivazione del servizio FTP attivo # for client_good in ${CLIENT_GOOD}; do iptables -A FORWARD -i $I_ETH -o $O_ETH -p tcp -s ${client_good} --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A FORWARD -i $O_ETH -o $I_ETH -p tcp -d ${client_good} --sport 21 -m state --state ESTABLISHED -j ACCEPT iptables -A FORWARD -i $I_ETH -o $O_ETH -p tcp -s ${client_good} --dport 20 -m state --state ESTABLISHED -j ACCEPT iptables -A FORWARD -i $O_ETH -o $I_ETH -p tcp -d ${client_good} --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT done # for client_good in ${CLIENT_GOOD}; do iptables -A FORWARD -p TCP -i $I_ETH -o $O_ETH -s ${client_good} -j ACCEPT iptables -A FORWARD -p TCP -i $O_ETH -o $I_ETH -d ${client_good} -m state --state ESTABLISHED -j ACCEPT iptables -A FORWARD -p UDP -i $I_ETH -o $O_ETH -s ${client_good} -j ACCEPT iptables -A FORWARD -p UDP -i $O_ETH -o $I_ETH -d ${client_good} -m udp --dport 123 -j ACCEPT iptables -A FORWARD -p UDP -i $O_ETH -o $I_ETH -d ${client_good} -m udp --dport 1024: j ACCEPT done T

29 DET (errore!) # # SEZIONE GENERALE (abolita perché dannosa - 28/10/03) # In effetti messe sulla catena di FORWARD come prima regola permettono il # passaggio di qualunque pacchetto alla massima velocità 1/s da qualunque # indirizzo interno. Ecco il motivo della ip_conntrack con la porta 135 # # # Regole per Protezione Syn-flood # iptables -A FORWARD -i eth+ -p tcp -s 0/0 --syn -m limit --limit 1/s -j ACCEPT # Regole per Protezione Scanner # iptables -A FORWARD -i eth+ -p tcp -s 0/0 --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT # Regole per Protezione Ping Death # iptables -A FORWARD -i eth+ -p icmp -s 0/0 --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

ACME S.p.A. LAN /24 SERVER WEB FW R LAN /24 FW R I IPSEC 30

31 ACME S.p.A. #!/bin/bash # service iptables stop # # Variabili generali # CLIENT_GOOD=$(cat /etc/sysconfig/fw_tabelle/fw_good_client) CLIENT_STD=$(cat /etc/sysconfig/fw_tabelle/fw_std_client) CLIENT_MAIL=$(cat /etc/sysconfig/fw_tabelle/fw_mail_client) I_ETH=eth1 O_ETH=eth0 NS1=" " NS2=" " NS3=" " LAN=" /24" REMOTELAN=" /24" #Regole generali delle 3 catene per la tabella "filter" iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT #Regole per interfaccia Loopback: iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT

32 ACME S.p.A. (2) # # Masquerade # iptables -t nat -A POSTROUTING -s / o $O_ETH -j MASQUERADE # # Abilito il port forwarding per Gabriele # iptables -A FORWARD -i $O_ETH -o $I_ETH -p tcp --dport m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A PREROUTING -t nat -p tcp -d dport j DNAT --to :4662 iptables -A FORWARD -i $O_ETH -o $I_ETH -p udp --dport j ACCEPT iptables -A PREROUTING -t nat -p udp -d dport j DNAT --to :4672 iptables -A FORWARD -i $O_ETH -o $I_ETH -p tcp --dport m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A PREROUTING -t nat -p tcp -d dport j DNAT --to :4771 # # Abilito il port forwarding per poter montare su webserver almeno un volume samba di mexal # iptables -A FORWARD -i $O_ETH -o $I_ETH -s p tcp --dport 139 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A PREROUTING -t nat -p tcp -d dport 139 -j DNAT --to :139

33 ACME S.p.A. (3) # # SEZIONE INPUT # # # allow IPsec # iptables -I INPUT -p udp --sport dport 500 -j ACCEPT iptables -I INPUT -p 50 -j ACCEPT iptables -I INPUT -p 51 -j ACCEPT # # Devo aprire un po' di porte: # # 22 SSH (solo da # 53 (udp) DNS SERVER # iptables -A INPUT -p tcp -s dport 22 -j ACCEPT iptables -A INPUT -p UDP -s $NS1 -j ACCEPT iptables -A INPUT -p UDP -s $NS2 -j ACCEPT iptables -A INPUT -p UDP -s $NS3 -j ACCEPT # # Devo fare mysql con # e posta con telemat # iptables -A INPUT -i $O_ETH -p tcp -s m state --state ESTABLISHED -j ACCEPT iptables -A INPUT -i $O_ETH -p tcp -s m state --state ESTABLISHED -j ACCEPT # # Verso le macchine interne posso fare tutte le connessioni che voglio # iptables -A INPUT -i $I_ETH -p tcp -s /24 -m state --state ESTABLISHED -j ACCEPT iptables -A INPUT -i $I_ETH -p udp -s /24 -j ACCEPT # # Accetto le connessioni dhcp # iptables -A INPUT -i $I_ETH -p udp --dport 67 -j ACCEPT iptables -A INPUT -i $I_ETH -p tcp --dport 67 -j ACCEPT #

34 ACME S.p.A. (4) # # SEZIONE FORWARD # # # Creo una catena per l'accounting di tutta la LAN # iptables -N iptables -A FORWARD -i $O_ETH -d /24 -j iptables -A FORWARD -o $O_ETH -s /24 -j iptables -A i $O_ETH -d /24 iptables -A o $O_ETH -s /24 # # creo le catene di forward per l'accounting di ogni IP address # NET=" " START=1 STOP=253 COUNT=$START; while [ $COUNT -le $STOP ]; do iptables -N $NET.$COUNT iptables -A FORWARD -i $O_ETH -d $NET.$COUNT -j $NET.$COUNT iptables -A FORWARD -o $O_ETH -s $NET.$COUNT -j $NET.$COUNT iptables -A $NET.$COUNT -i $O_ETH -d $NET.$COUNT iptables -A $NET.$COUNT -o $O_ETH -s $NET.$COUNT let COUNT=$COUNT+1; done;

35 ACME S.p.A. (6) # # I client possono richiedere connessioni all'esterno, ma non possono # accettarne di nuove # for client in ${CLIENT_GOOD}; do iptables -A FORWARD -p TCP -i $I_ETH -o $O_ETH -s ${client} -j ACCEPT iptables -A FORWARD -p TCP -i $O_ETH -o $I_ETH -d ${client} -m state --state ESTABLISHED -j ACCEPT iptables -A FORWARD -p UDP -i $I_ETH -o $O_ETH -s ${client} -j ACCEPT iptables -A FORWARD -p UDP -i $O_ETH -o $I_ETH -d ${client} -m udp --dport 1024: j ACCEPT iptables -A FORWARD -p udp -i $I_ETH -o $O_ETH -s ${client} -d $NS1 -j ACCEPT iptables -A FORWARD -p UDP -i $O_ETH -o $I_ETH -d ${client} -m udp -s $NS1 -j ACCEPT iptables -A FORWARD -p udp -i $I_ETH -o $O_ETH -s ${client} -d $NS2 -j ACCEPT iptables -A FORWARD -p UDP -i $O_ETH -o $I_ETH -d ${client} -m udp -s $NS2 -j ACCEPT done

36 ACME S.p.A. (6) # # Client BAD: Abilitati solo sulle porte 25, 80, 110, 443 e relative risposte # Traffico UDP Bloccato # for client in ${CLIENT_STD}; do iptables -A FORWARD -p TCP -i $I_ETH -o $O_ETH -s ${client} -m tcp --dport 25 -j ACCEPT iptables -A FORWARD -p TCP -i $I_ETH -o $O_ETH -s ${client} -m tcp --dport 80 -j ACCEPT iptables -A FORWARD -p TCP -i $I_ETH -o $O_ETH -s ${client} -m tcp --dport 110 -j ACCEPT iptables -A FORWARD -p TCP -i $I_ETH -o $O_ETH -s ${client} -m tcp --dport 443 -j ACCEPT iptables -A FORWARD -p TCP -i $O_ETH -o $I_ETH -d ${client} -m state --state ESTABLISHED -j ACCEPT iptables -A FORWARD -p udp -i $I_ETH -o $O_ETH -s ${client} -d $NS1 -j ACCEPT iptables -A FORWARD -p UDP -i $O_ETH -o $I_ETH -d ${client} -m udp -s $NS1 -j ACCEPT iptables -A FORWARD -p udp -i $I_ETH -o $O_ETH -s ${client} -d $NS2 -j ACCEPT iptables -A FORWARD -p UDP -i $O_ETH -o $I_ETH -d ${client} -m udp -s $NS2 -j ACCEPT done ## # Client MAIL: Abilitati solo sulle porte 25, 110, (posta) e relative risposte # Traffico UDP Bloccato # for client in ${CLIENT_MAIL}; do iptables -A FORWARD -p TCP -i $I_ETH -o $O_ETH -s ${client} -m tcp --dport 25 -j ACCEPT iptables -A FORWARD -p TCP -i $I_ETH -o $O_ETH -s ${client} -m tcp --dport 110 -j ACCEPT iptables -A FORWARD -p TCP -i $O_ETH -o $I_ETH -d ${client} -m state --state ESTABLISHED -j ACCEPT iptables -A FORWARD -p udp -i $I_ETH -o $O_ETH -s ${client} -d $NS1 -j ACCEPT iptables -A FORWARD -p UDP -i $O_ETH -o $I_ETH -d ${client} -m udp -s $NS1 -j ACCEPT iptables -A FORWARD -p udp -i $I_ETH -o $O_ETH -s ${client} -d $NS2 -j ACCEPT iptables -A FORWARD -p UDP -i $O_ETH -o $I_ETH -d ${client} -m udp -s $NS2 -j ACCEPT done #

37 Domande ? Riferimenti: – – tutorial.frozentux.net/chunkyhtml/index.htm l

LICENZA SOFTWARE DELL'UNIVERSITA' DI FIRENZE Versione 2.1, Aprile Copyright (C) Universita' di Firenze - Via S. Marta 3, Firenze - ITALIA Tutti i diritti sono riservati. Questo documento puo' essere liberamente copiato e distribuito da chiunque, ma a nessuno e' permesso di cambiarlo in alcun modo. Preambolo Il copyright imposto sui documenti pubblicati sul sito MMEDIA5.DET.UNIFI.IT ha lo scopo di consentire la libera circolazione del lavoro a scopo educativo, mantenendo pero' il doveroso riconoscimento agli autori delle varie parti. Si vuole, inoltre, consentire l'ulteriore distribuzione del lavoro sotto qualunque forma, anche con modifiche, mettendo pero' il successivo ricevente in grado di conoscere da chi il materiale sia stato originariamente scritto e da chi rivisto o modificato. Per questo, si impone il Copyright su tutto il materiale, ma si concede gratuitamente licenza per l'uso e l'ulteriore distribuzione, con la possibilita' di modificare il materiale, purche' vengano seguite le regole scritte piu' avanti. Il diritto di cui sopra e' concesso con la restrizione che il materiale modificato e redistribuito sia soggetto alle stesse restrizioni del materiale originario, e che la distribuzione avvenga a titolo gratuito o con la sola copertura delle spese vive con un piccolo margine per le spese generali di distribuzione. Inoltre, la re- distribuzione del materiale o la distribuzione di materiale modificato dovranno essere fatte in modo da garantire che ulteriori distribuzioni vengano fatte mantenendo le condizioni originarie. Ogni utente di MMEDIA5 potra' proporre all'Universita' di Firenze la pubblicazione di documenti in MMEDIA5. Scrivere a: Tali documenti saranno soggetti ai termini qui specificati. Le condizioni per la licenza di pubblicazione e modifica sono riportate di seguito. LICENZA PER IL MATERIALE "MMEDIA5" OVVERO PER IL CONTENUTO NEI SITI WEB "MMEDIA5.DET.UNIFI.IT", "MEDIALAB.DET.UNIFI.IT", “TELEMAT.DET.UNIFI.IT”, “LTT.DET.UNIFI.IT” -- CONDIZIONI PER L'USO, LA MODIFICA E LA DISTRIBUZIONE 1.- Questa licenza e' applicabile al materiale contenuto nei siti WEB del Laboratorio di Tecnologia della Telematica, Dipartimento di Elettronica e Telecomunicazioni dell'Universita' di Firenze, via di S. Marta 3, Firenze - Italia (attualmente con indirizzo internet: ) che riporta al suo interno un avviso o legame con un file contenente la presente licenza. In questa licenza, con MMEDIA5 si intende un qualunque documento originariamente presente in uno dei siti. Per "documento derivato" si intende ogni documento che contenga porzioni oppure un intero documento MMEDIA5, con o senza modifiche, con o senza traduzioni in altra lingua, con o senza variazioni di supporto di memorizzazione o stampa; in questa licenza ogni documento di questo tipo e' indicato come "documento derivato". Per licenziatario si intende qualunque persona o organizzazione che copia, consulta, legge, memorizza su un qualunque supporto, produce o distribuisce a terzi un MMEDIA5 o un documento derivato. Per UNIVERSITA' si intende l'Universita' di Firenze Un licenziatario puo' copiare, consultare, leggere, memorizzare su un qualunque supporto, produrre e distribuire a terzi un MMEDIA5, purche' su ogni copia, produzione, esibizione o distribuzione sia evidenziato il copyright originario, il ricevente sia adeguatamente informato della provenienza del materiale e dell'esistenza di questa licenza e questa licenza sia inserita indivisibilmente e senza modifica alcuna assieme all'MMEDIA5. L'eventuale cessione o distribuzione devono essere a titolo gratuito. E' comunque ammessa l'imposizione di un rimborso delle spese legate al supporto fisico di memorizzazione dello MMEDIA5, con un piccolo margine per il recupero delle spese generali legate alla riproduzione fisica.

3.- Il licenziatario puo' produrre documenti derivati, ai sensi dell'articolo 1, e distribuirli a terzi purche' siano rispettate tutte le seguenti condizioni: 3.1- ogni documento derivato deve riportare chiaramente la data e l'autore delle modifiche effettuate; 3.2- il licenziatario deve assicurare che ogni documento derivato sia sottoposto alla stessa licenza del documento originario, cosi' che la terza parte ricevente sia impegnata a sua volta negli stessi termini di questa licenza; 3.3- ogni documento derivato deve riportare, all'inizio e in buona evidenza questa licenza o un legame ad un file che la contiene, e il file deve essere distribuito indivisibilmente dal documento derivato; 4.- Al licenziatario e' espressamente vietato copiare, consultare, leggere, memorizzare su un qualunque supporto, produrre e distribuire a terzi un MMEDIA5, se non nelle forme e nei modi previsti in questa licenza. Ogni forma di inosservanza di questa norma comporta l'immediata revoca di ogni diritto concesso con questa licenza. 5.- L'uso di materiale soggetto a Copyright senza un esplicito assenso del proprietario del Copyright e' proibito dalla legge. L'UNIVERSITA' pone come prerequisito per ogni uso di MMEDIA5 l'accettazione di questa licenza. Quindi,e' fatto espresso divieto, a chiunque non intenda accettare i termini di questa licenza, di usare MMEDIA5 in alcun modo. Peraltro, non e' richiesta alcuna forma di accettazione esplicita della licenza, l'uso di MMEDIA5 costituisce implicita accettazione e conferisce al licenzatario tutti i diritti qui espressi. 6.- Ogni volta che MMEDIA5 od un documento derivato vengono distribuiti, al ricevente e' automaticamente estesa questa licenza. Al licenziatario non e' permesso imporre altri obblighi sul ricevente oltre la presente licenza. In ogni caso il licenziatario non e' considerato responsabile dell'uso che il ricevente fa di MMEDIA Se per qualunque motivo, compresi regolamenti o leggi dello Stato, non e' possibile per il licenziatario imporre questa licenza, o parti di essa, al ricevente, allora il licenziatario non puo' distribuire MMEDIA5, ne' parti di esso, ne' documenti derivati, in alcun modo. 8.- L'UNIVERSITA' potra' pubblicare revisioni di questa licenza. Le nuove versioni avranno intendimenti similari, ma potranno differire nei dettagli per far fronte a nuove situazioni. Ogni nuova versione avra' un proprio numero distintivo e sara' applicata ai documenti MMEDIA5 da allora pubblicati. 9.- Usi di MMEDIA5 diversi da quanto sopra specificato potranno essere autorizzati dall'UNIVERSITA'. Queste autorizzazioni non comporteranno variazioni per i licenziatari preesistenti Essendo la licenza gratuita, l'UNIVERSITA' fornisce MMEDIA5 cosi' come si trova, e non assume alcuna garanzia di esattezza dei contenuti, o di adeguatezza a qualsiasi scopo. Inoltre, le singole parti di MMEDIA5 sono espressione dei vari autori o revisori menzionati e non espressione dell'UNIVERSITA', non comportano ne' implicano accettazione del contenuto da parte dell'UNIVERSITA'.