Problematiche di Sicurezza in Ambiente Linux



Documenti analoghi
Iptables. Mauro Piccolo

Firewall e NAT A.A. 2005/2006. Walter Cerroni. Protezione di host: personal firewall


Tecnologie di Sviluppo per il Web

Sicurezza nelle reti

Tre catene (chains) di base, si possono definire altre catene (convenzionalmente in minuscolo)

Netfilter: utilizzo di iptables per

Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio (Paolo Marinelli)

TCP/IP: summary. Lorenzo Cavallaro, Andrea Lanzi

Packet Filter in LINUX (iptables)

Esercitazione 5 Firewall

Raw socket. L intercettazione di un pacchetto IP

Corso avanzato di Reti e sicurezza informatica

Filtraggio del traffico IP in linux

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Laboratorio di. Reti Informatiche. Corso di Laurea Triennale in Ingegneria Informatica A.A. 2016/2017. Ing. Niccolò Iardella


Transmission Control Protocol

Sicurezza delle reti. Monga. Tunnel. Sicurezza delle reti. Monga

PACKET FILTERING IPTABLES

IP forwarding Firewall e NAT

4 - Il livello di trasporto

Livello rete. Piano di controllo. Introduzione: Piano dei dati e piano di controllo Architettura di un router IP: Internet Protocol

TCP e UDP, firewall e NAT

Tecnologie di Sviluppo per il Web. Introduzione alle Reti di Calcolatori

Il protocollo IP (Internet Protocol)

Appunti configurazione firewall con distribuzione Zeroshell (lan + dmz + internet)

Transparent Firewall

Tappe evolutive della rete Internet

Router(config)# access-list access-list number {permit deny} {test-conditions}

IP Internet Protocol

FIREWALL. Firewall - modello OSI e TCP/IP. Gianluigi Me. me@disp.uniroma2.it Anno Accademico 2005/06. Modello OSI. Modello TCP/IP. Application Gateway

Lezione Lab 1: Packet Filtering: Netfilter & IPTABLES

Livello Trasporto Protocolli TCP e UDP

Crittografia e sicurezza delle reti. Firewall

Il modello TCP/IP. Sommario

Firewall: concetti di base

Un sistema di Network Intrusion Detection basato su tcpdump

Corso GNU/Linux Avanzato Uso e configurazione di un firewall usando iptables

TCP/IP: una breve introduzione

Esercitazione 5 Firewall

TCP/IP: una breve introduzione

Sicurezza delle reti 1

Firewall con IpTables

Besnate, 24 Ottobre Oltre il Firewall.

Il livello Network del TCP/IP. Il protocollo IP (versione 4)

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

Dal protocollo IP ai livelli superiori

StarShell. IPSec. StarShell

Università degli Studi di Bergamo

Protocolli di Comunicazione

Reti di Calcolatori I

Laboratorio di Networking Operating Systems. Lezione 2 Principali strumenti di diagnostica

Internet Protocol Cenni introduttivi

PROBLEMATICHE DI SICUREZZA IN AMBIENTE LINUX

IPTABLES. Un Introduzione

Livello Trasporto. Liv. Applic. Liv. Transport. Transport Entity. Liv. Network. Trasporto

Politecnico di Bari. Facoltà di Ingegneria Elettronica. Corso di Reti di Telecomunicazioni

Sicurezza dei sistemi e delle reti 1

SCUOLA DI INGEGNERIA DELL INFORMAZIONE. Corso di Piattaforme Software per la rete MODULO 2 Anno Accademico Prof. William FORNACIARI

IP (Internet Protocol) sta al livello 2 della scala Tcp/Ip o al livello 3 della scala ISO/OSI. Un indirizzo IP identifica in modo logico (non fisico

Sicurezza applicata in rete

Il protocollo IP A.A. 2006/2007. Alessandro Botticelli

Il protocollo IP A.A. 2005/2006. Walter Cerroni. Internet Protocol (IP) - RFC 791

Problemi legati alla sicurezza e soluzioni

Proteggere la rete: tecnologie

ICMP. Internet Control Message Protocol. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it

Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio

Wikipedia, testo disponibile nel rispetto dei termini della GNU Free Documentation License. Università di Verona, Facoltà di Scienze MM.FF.NN.

WAN / 24. L obiettivo è quello di mappare due server web interni (porta 80) associandoli agli indirizzi IP Pubblici forniti dall ISP.

Corso reti 2k7. linuxludus

RETI TELEMATICHE Lucidi delle Lezioni Capitolo II

Sicurezza delle reti 1

I/O su Socket TCP: read()

ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport.

Scritto da Administrator Lunedì 01 Settembre :29 - Ultimo aggiornamento Sabato 19 Giugno :28

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00

Appunti del corso di PROF. G. BONGIOVANNI

Riassunto della rete virtuale

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls

Il FIREWALL LINUX Basare la sicurezza della rete su un sistema operativo gratuito

Il firewall Packet filtering statico in architetture avanzate

I.I.S. G.B. PENTASUGLIA MATERA ISTITUTO TECNICO SETTORE TECNOLOGICO LICEO SCIENTIFICO SCIENZE APPLICATE. Classe: 5Ci

Uso di sniffer ed intercettazione del traffico IP

TCP/IP. Principali caratteristiche

INTERNET PROTOCOL RFC 791

È possibile filtrare i pacchetti in base alla porta Ad esempio specificando la porta 80 ascolto il traffico web di un host

Corso di. Reti di Telecomunicazioni a.a

Internet e protocollo TCP/IP

Il firewall ipfw. Introduzione ai firewall. Problema: sicurezza di una rete. Definizione di firewall. Introduzione ai firewall

Esercitazione 05. Prima di iniziare. Packet Filtering [ ICMP ] Sommario. Angelo Di Iorio (Paolo Marinelli)

FIREWALL iptables V1.1 del 18/03/2013

Lo strato di trasporto Firewall e NAT

Concetto di regola. Sommario. Che cos è un Firewall? Descrizione di un Firewall. Funzione del Firewall

Reti di Telecomunicazione Lezione 8

No. Time Source Destination Protocol Info DHCP DHCP Discover - Transaction ID 0xec763e04

Internet Protocol Versione 4: aspetti generali

esercizi su sicurezza delle reti maurizio pizzonia sicurezza dei sistemi informatici e delle reti

Transcript:

ALESSIA CIRAUDO Problematiche di Sicurezza in Ambiente Linux Progetto Bari-Catania: Buone Prassi Integrative tra Università e Impresa FlashC om Durata: 2 mesi Tutor aziendale: Vincenzo Mosca Collaboratore aziendale: Marco Ortisi Tutor universitario: Giampaolo Bella

Scopo dello Stage 1. Studiare problematiche di sicurezza in Internet e gestione di NETFILTER 2. Realizzare uno script C che implementi le regole di una politica di gestione della tabella IP Nel frattempo: approfondire Linux e C. Passi seguiti 1. Introduzione alla comunicazione in Internet 2. Studio di particolari chiamate di sistema e funzioni di libreria C 3. Studio del tool di sistema iptables 4. Realizzazione dello script C finale

Comunicazione in Internet switch INTRANET firewall router INTERNET Coppia Socket Indirizzo IP: intero a 4 byte 151.97.1.6 (unict.it) Port: intero a 16 bit range da 1 a 65535 IP_server + port_server IP_client + port_client

Routing 1 1 2 route PRINT route n (windows) (linux) Modello ISO-OSI (semplificato) m u l t i p l e x i n g Applicazione Trasporto Rete Datalink fisico Applicazione Trasporto Rete Datalink fisico d e m u l t i p l e x i n g

Header IP 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Version IHL Time to Live Identification Type of Service Protocol Destination Address Options Flag Source Address Total Length Fragment Offset Header Checksum Padding Header TCP 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Data Offset Source Port Reserved Checksum Sequence Number Acknowledgment Number U A P R S F R C S S Y I G K H T N N Options Data Destination Port Window Urgent Pointer Padding

Header UDP 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Source Port Destination Port Length Checksum Data Iptables FILTER NAT : : INPUT OUTPUT FORWARD PREROUTING OUTPUT POSTROUTING MANGLE : PREROUTING OUTPUT iptables tabella comando parametri opzioni estensioni

Uso di regole per iptables 192.168.0.65 192.168.1.1 192.168.0.67 192.168.1.2 iptables A INPUT s 192.168.1.0/24 j ACCEPT iptables t nat A POSTROUTING s 192.168.1.0/24 j MASQUERADE iptables t nat A PREROUTING s 192.168.1.0/24 d! 192.168.0.67 j DROP Script C finale Obiettivo: permettere all utente di realizzare regole per iptables, specificando pochi semplici comandi Idea: utilizzare delle parole chiave, che individuino le principali operazioni

Possibili operazioni - parole chiavi Bloccare il traffico in ingresso e in uscita BLOCKIN - BLOCKOUT Acconsentire il traffico in ingresso e in uscita Masquerade Ridirigere il traffico esterno Bloccare il traffico dei client locali Acconsentire il traffico dei client locali Cancellare tutte le regole di FILTER Cancellare tutte le regole di NAT PASSIN - PASSOUT MASK PASSPAT BLOCKNAT PASSNAT DELFILTER DELNAT Comando generale e flag #./ipreg [-m] c keyword [-i/i ipaddr[/mask]] [-n ipaddr[/mask]] [-r/r ipaddr[/mask]] [-p protocol] [-l/l ports] [-d destport] m c i - I n r - R p l - L d massima priorità parola chiave (comando) indirizzo IP Indirizzo IP di destinazione (PASSPAT) Indirizzo IP remoto (BLOCKNAT - PASSNAT) protocollo porta porta di destinazione (PASSPAT)

Variabili globali char *opzreg[20]; char key; char *ipaddr="0/0"; char *remote="0/0"; char *ipdest = "0/0"; char *port = ""; char *destport = ""; char multi = 0; char *prot = "all"; char *priority = "-A"; Acquisizione argomenti 1. Controllo sul numero di argomenti 2. Acquisizione degli argomenti, con controllo di validità if (argc<2) funerr(argv[0]); while ((opt = getopt(argc, argv, "mc:i:i:r:r:n:p:l:l:d:"))!= EOF) { switch(opt) { case... default: funerr(argv[0]); break; } if (rtn==1) funerr(argv[0]); }

Validità indirizzo IP (1) 1. Lunghezza della stringa > 31? if (strlen(addr)>31) { printf( ERROR: invalid IP address\n ); return 1; } Validità indirizzo IP (2) 2. Individuazione dell indirizzo IP e della maschera strncpy(ip,addr,31); strtok(ip, / ); if (!strcmp(ip, addr)) mask= 0 ; else mask = IP + strlen(ip)+1;

Validità indirizzo IP (3) 3. Controllo validità indirizzo IP if (inet_aton(ip,&str)!=0) valid= 1 ; else { printf(error: invalid IP address\n ); return 1; } Validità indirizzo IP (4) 4. Controllo validità maschera I. è espressa come un indirizzo IP? II. è un numero compreso tra 0 e 32?

Costruzione regola Costruzione di un array (opzreg), che verrà usato dalla system call execv. Il primo elemento sarà il nome del comando; il secondo l azione da effettuare. opzreg[0] = "iptables"; opzreg[1] = priority; Costruzione regola Keyword key Tabella Catena Indirizzo IP Target BLOCKIN 0 Filter Input Sorgente DROP BLOCKOUT 1 Filter Output Destinazione DROP PASSIN 2 Filter Input Sorgente ACCEPT PASSOUT 3 Filter Output Destinazione ACCEPT MASK 4 Nat Postrouting Sorgente MASQUERADE PASSPAT 5 Nat Prerouting Sorg. - Dest. DNAT BLOCKNAT 6 Nat Prerouting Sorg. - Dest. DROP PASSNAT 7 Nat Prerouting Sorg. - Dest. ACCEPT DELFILTER 8 Filter - - - DELNAT 9 Nat - - -

Costruzione regola Indicazione del protocollo e dell eventuale porta Infine, uso della system call execv execv("/sbin/iptables", opzreg); Funzionamento dello script 192.168.0.65 192.168.1.1 192.168.0.67 192.168.1.2 #./ipreg c PASSIN i 192.168.1.0/24 #./ipreg c MASK i 192.168.1.0/24 iptables A INPUT s 192.168.1.0/24 j ACCEPT p all iptables A POSTROUTING t nat s 192.168.1.0/24 j MASQUERADE p all

Funzionamento dello script 192.168.0.65 192.168.1.1 192.168.0.67 192.168.1.2 #./ipreg c BLOCKNAT i 192.168.1.0/24 R 192.168.0.67 iptables A PREROUTING t nat s 192.168.1.0/24 d! 192.168.0.67 j DROP p all Per concludere Acquisizione dei concetti teorici/pratici sulla comunicazione in Internet Incrementata familiarità con la programmazione in C Approccio col mondo del lavoro (prima esperienza lavorativa)