Network security eserved@d = @let@token Exercise 9 How to build a ...

Reviews
Linux Netfilter References Network security Exercise 9 How to build a wall of fire – Linux Netfilter Tobias Limmer Computer Networks and Communication Systems Dept. of Computer Sciences, University of Erlangen-Nuremberg, Germany 14. – 18.01.2008 Tobias Limmer: Network security Exercise 9 How to build a wall of fire – Linux Netfilter 1 / 12 Linux Netfilter References Introduction to netfilter used for packet filtering in Linux (→ firewalls!) provides hooks in Linux kernel to intercept and manipulate network packets MANY extensions available some history: started 1998 by Russel, chairman is now Harald Welte several different command-line interfaces: ipfwadm (2.0) → ipchains (2.2) → iptables (≥2.4) got injunction against Sitecom Germany by Munich District Court in 2004 Tobias Limmer: Network security Exercise 9 How to build a wall of fire – Linux Netfilter 2 / 12 Linux Netfilter References iptables command-line tool to insert and delete rules from packet filter table several chains available (simple version): _____ Incoming / \ -->[Routing ]--->|FORWARD|-------> Outgoing [Decision] \_____/ ^ | | v ____ ___ / \ / \ |OUTPUT| |INPUT| \____/ \___/ ^ | | ----> Local Process ---- attention: rules are volatile and will be lost upon reboot Tobias Limmer: Network security Exercise 9 How to build a wall of fire – Linux Netfilter 3 / 12 Linux Netfilter References iptables - rule management so, how do we insert rules into those tables? Example: iptables -A INPUT -s 192.168.74.0/24 -j DROP general command structure: iptables [] [] [-j ] commands: append rule (“-A”), insert rule (“-I”), delete rule (“-D”), replace rule (“-R”), list rules (“-L”), flush rules (“-F”) chains: INPUT, OUTPUT, FORWARD filter rules: source/destination ip (“-s/d ”), protocol (“-p ”), interface (“-i/-o ”), . . . actions: ACCEPT, DROP, RETURN, jump to user-defined chain, . . . Tobias Limmer: Network security Exercise 9 How to build a wall of fire – Linux Netfilter 4 / 12 Linux Netfilter References iptables - chain management default chains: INPUT, OUTPUT, FORWARD user-defined chains can be added/removed! Example: iptables -N wwwserver iptables -A wwwserver -p tcp --dport 80 -j ACCEPT iptables -A wwwserver -j DROP iptables -A FORWARD -d 192.168.74.23 -j wwwserver available commands: add chain (“-N ”), remove chain (“-X ”), set default policy for chain (“-P ”, only valid for standard chains), flush rules in chain (“-F ”) Tobias Limmer: Network security Exercise 9 How to build a wall of fire – Linux Netfilter 5 / 12 Linux Netfilter References iptables - connection tracking stores information about state of connections in memory also application layer inspection for FTP, TFTP, IRC, PPTP, . . . valid states: NEW, ESTABLISHED, RELATED, INVALID example: iptables -P INPUT DROP iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -p tcp --dport 21 -m state --state NEW -j ACCEPT iptables -A INPUT -j REJECT very fast implementation in kernel, is almost always used in firewall scripts Tobias Limmer: Network security Exercise 9 How to build a wall of fire – Linux Netfilter 6 / 12 Linux Netfilter References iptables - NAT our routing graph was not complicated enough: +------------+ +---------+ +-------------+ Packet -| PREROUTING |-- routing----| FORWARD |-----+-----| POSTROUTING |- Packets input +------------+ decision +---------+ | +-------------+ out | | +-------+ +--------+ | INPUT |-Local process -| OUTPUT | +-------+ +--------+ we also introduce different tables: INPUT, FORWARD and OUTPUT chains are in table “filter” PREROUTING, OUTPUT and POSTROUTING chains are in table “nat” for performing network address translation table “mangle” is for advanced routing functions (e.g. packet marking) Tobias Limmer: Network security Exercise 9 How to build a wall of fire – Linux Netfilter 7 / 12 Linux Netfilter References iptables - NAT 2 +------------+ +---------+ +-------------+ Packet -| PREROUTING |-- routing----| FORWARD |-----+-----| POSTROUTING |- Packets input +------------+ decision +---------+ | +-------------+ out | | +-------+ +--------+ | INPUT |-Local process -| OUTPUT | +-------+ +--------+ POSTROUTING chain enables source NAT: iptables -t nat -A POSTROUTING -s 172.17.0.0/16 -o eth0 -j SNAT --to-source 131.188.37.1 PREROUTING chain enables destination NAT: iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 172.17.0.22:80 Tobias Limmer: Network security Exercise 9 How to build a wall of fire – Linux Netfilter 8 / 12 Linux Netfilter References iptables - NAT 3 +------------+ +---------+ +-------------+ Packet -| PREROUTING |-- routing----| FORWARD |-----+-----| POSTROUTING |- Packets input +------------+ decision +---------+ | +-------------+ out | | +-------+ +--------+ | INPUT |-Local process -| OUTPUT | +-------+ +--------+ what does the following line? iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 80 simple masquerading (same as source NAT) iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE --to-ports 31000-60000 Tobias Limmer: Network security Exercise 9 How to build a wall of fire – Linux Netfilter 9 / 12 Linux Netfilter References iptables - advanced routing not complicated enough? iptables offers MUCH more features in form of extensions see the Kernel Packet Traveling Diagram: http://www.docum.org/docum.org/kptd/ matching extensions: owner, recent, limit, hashlimit, mark, ... action (usually called target/jump) extensions: classify, masquerade, queue, ulog, . . . advanced rate limiting and shaping using the intermediate queue device (IMQ) Tobias Limmer: Network security Exercise 9 How to build a wall of fire – Linux Netfilter 10 / 12 Linux Netfilter References Netzstruktur Uni-Netz ssh user@faui7t1.informatik.uni-erlangen.de faui7t1 ssh root@pcX-X pc1-1 pc1-2 pc4-2 pc4-3 Rechner 1 Rechner 2 192.168.11.1 192.168.11.2 . . . Rechner 11 Rechner 12 192.168.11.11 192.168.11.12 available computers: pcX -1, pcX -2, pcX -3 Tobias Limmer: Network security Exercise 9 How to build a wall of fire – Linux Netfilter X ∈ [1; 4] 11 / 12 Linux Netfilter References Some references (also used for graphs) Linux 2.4 Packet Filtering HOWTO from Rusty Russell (http://netfilter.org/documentation/HOWTO/ /packet-filtering-HOWTO.html) Linux Advanced Routing and Traffic Control HOWTO (http://lartc.org/lartc.html) Iptables Tutorial 1.2.2 (http://iptables-tutorial. frozentux.net/iptables-tutorial.html) Kernel Packet Traveling Diagram (http://www.docum.org/docum.org/kptd/) Tobias Limmer: Network security Exercise 9 How to build a wall of fire – Linux Netfilter 12 / 12

Related docs
Network security
Views: 9  |  Downloads: 1
An Integrated Network Security Approach
Views: 7  |  Downloads: 2
How to produce a network security policy
Views: 4  |  Downloads: 0
network_security
Views: 62  |  Downloads: 5
Exercise 9
Views: 1  |  Downloads: 0
How to Build
Views: 122  |  Downloads: 15
network security
Views: 9  |  Downloads: 2
How To Build A Computer
Views: 36  |  Downloads: 3
premium docs
Other docs by hermanos
CorpDocs-Board Resolution Declaring Dividends
Views: 974  |  Downloads: 1
CorpDocs-Board First Meeting Minutes California
Views: 335  |  Downloads: 23
brown-all
Views: 354  |  Downloads: 1
Eternal Youth - A Poem
Views: 916  |  Downloads: 1
Form 8582 Passive Activity Loss Limitations
Views: 465  |  Downloads: 1
Information release authorization
Views: 337  |  Downloads: 7
Criminal Psychology
Views: 596  |  Downloads: 59
Personal reference check letter
Views: 564  |  Downloads: 9
Authorization (Proxy) To Vote Shares
Views: 383  |  Downloads: 7