Iptables bzw. Netfilter stellt eine Firewallkomponente innerhalb des Linux-Kernels dar. Mit Hilfe von Iptables ist der Administrator in der Lage Netzwerkpakete abzufangen und zu manipulieren.
Iptables leitet bzw. bearbeitet Netzwerkpakete innerhalb von Ketten.
Folgende Verarbeitungsketten können in Iptables konfiguriert werden:
- INPUT - eingehende Pakete
- OUTPUT - ausgehende Pakete
- FORWARD - alle Pakete die vom Rechner geroutet werden
Kommandaufbau:
iptables -{Aktion} {Chainbezeichner} -p {Protokolltyp} -d {Destination} --dport {Port} -j {Verarbeitungstyp}
- Regelaktion: A für Add und D für Delete
- Chainbezeichner: INPUT/OUTPUT/FORWARD
- Protokolltyp: tcp, udp, ...
- Port: Bsp: 80
- Verarbeitungstyp: ACCEPT,REJECT,DROP
Beispiel: Skript zur Sperrung aller ausgehenden TCP/HTTP Verbindungen (hostbasiert) bis auf google.de. Das heißt nur der Zugriff auf google.de soll gestattet werden.
#/bin/bash if [ "$1" = "start" ] ; then #google erlauben iptables -A OUTPUT -p tcp -d google.de --dport 80 -j ACCEPT #sonstige verbieten iptables -A OUTPUT -p tcp --dport 80 -j DROP fi if [ "$1" = "stop" ] ; then iptables -D OUTPUT -p tcp -d google.de --dport 80 -j ACCEPT iptables -D OUTPUT -p tcp --dport 80 -j DROP fi
