Linux firewalls Massimo Ianigro - CNR Area di Ricerca - Bari Massimo.Ianigro@area.ba.cnr.it
Introduzione ai firewalls Esistono diverse tipologie di firewalls: Filtering firewalls: livello ‘network/transport’ Proxy servers: livello ‘application’ Application gateway (es. SQUID) Socks proxy Bologna, 24 novembre 2000 - M. Ianigro
I meccanismi di packet filtering Application layer (server applicativi) Firewall TCP/UDP source/destination ports TCP connection state flags IP ICMP control codes Transport layer (TCP/UDP) Network layer (IP, ICMP) Data link layer (frame Ethernet,..) Physical layer Bologna, 24 novembre 2000 - M. Ianigro
Architetture tipiche Rete privata DMZ Bologna, 24 novembre 2000 - M. Ianigro
Utilizzare Linux Pro: Contro: free, sorgenti disponibili Bologna, 24 novembre 2000 - M. Ianigro
Packet filtering in linux IPFWADM: kernel v. 2.1.101 e antecedenti IPCHAINS: kernel v. 2.1.102 e successive NetFilter: kernel v. 2.3x e seguenti ... Bologna, 24 novembre 2000 - M. Ianigro
IPchains Meccanismo di filtering basato sul concetto di ‘chains’: Input, Forward, Output Pacchetto IP 10001011…. Input Forward ?????????…. Output Esempio: ipchains -A input -p tcp -s 0/0 -d 194.119.200.100/32 www -j ACCEPT -l Bologna, 24 novembre 2000 - M. Ianigro
Ipchains (2) Forward Input Output Supporta la funzionalità di ‘masquerading’ (per alcuni protocolli richiede moduli specifici nel kernel: irc, real-audio,…) Indirizzo IP del firewall: 194.119.200.2 LAN interna Rete esterna Pacchetto IP 192.168.1.x…. Input Forward Output 194.119.200.2 …. ipchains -A forward -s 192.168.1.0/24 -d 0/0 -j MASQ Bologna, 24 novembre 2000 - M. Ianigro
Ipchains (3) E’ opportuno adottare oltre alle regole di filtering anche altri accorgimenti. Esempio: abilitare l’IP forwarding & defragment echo “1” > /proc/sys/net/ipv4/ip_forward echo “1” > /proc/sys/net/ipv4/ip_always_defrag Bologna, 24 novembre 2000 - M. Ianigro
Ipchains (4) Esistono strumenti per semplificare la definizione delle regole: gfcc firewall-config fbuilder (lite) FWctl Bologna, 24 novembre 2000 - M. Ianigro
Proxy servers Applicazioni separate per ogni servizio per il quale si offre il servizio di proxy. Esempio: SQUID (WWW) BNC (IRC) … Agiscono a livello ‘application’ Bologna, 24 novembre 2000 - M. Ianigro
Altri accorgimenti Rimuovere i vari servizi da /etc/(x)inetd.conf Abilitare l’accesso via SSH Prevedere eventualmente servizi dedicati solo per le macchine delle reti interne (es. DNS) Logging remoto … Bologna, 24 novembre 2000 - M. Ianigro
Link utili HOW-Tos: www.linuxdoc.org Linux IPCHAINS-HOWTO Linux IP Masquerade HOWTO Firewall and Proxy Server HOWTO Tools per la configurazione di ipchains: www.linux.org (security/admin/firewalls) Bologna, 24 novembre 2000 - M. Ianigro