Iptables Filter: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 17: | Zeile 17: | ||
||POLICY||POLICY||POLICY | ||POLICY||POLICY||POLICY | ||
|} | |} | ||
| + | |||
| + | =Die filter Tabelle= | ||
| + | ==Die Ketten der filter Kette== | ||
| + | *'''FORWARD''': für Pakte die über eine Schnittstelle hereinkommen, den Rechner auch wieder verlassen. | ||
| + | *'''INPUT''': für Pakete die über eine Schnittstelle hereinkommen und einen Dienst auf dem Rechner ansprechen | ||
| + | *'''OUTPUT''': für die über eine Schnittstelle herausgehenden Pakete, die von einem lokalen Dienst | ||
| + | |||
| + | [[Datei:iptables-filter.png|500px]] | ||
| + | |||
| + | ==Die Filter Regeln der filter Tabelle== | ||
| + | Regeln werden mit '''iptables''' erstellt und an Ziele geschickt. | ||
| + | ==Ziele der filter Tabelle== | ||
| + | *'''ACCEPT''': das Paket kann passieren | ||
| + | *'''REJECT''': das Paket wird zurückgewiesen und ein Fehlerpaket wird gesendet | ||
| + | *'''LOG''': schreibt einen Eintrag in die syslog | ||
| + | *'''DROP''': das Paket wird ignoriert und keine Antwort gesendet | ||
| + | |||
| + | =Syntax Allgemein= | ||
| + | Die Momentan in der '''filter''' Tabelle gesetzten Ketten und Regeln sieht man mit | ||
| + | *iptables -nvL -t filter | ||
| + | -L # Listing | ||
| + | -t filter # anzeigen der filter Kette | ||
| + | -n # numerical | ||
| + | -v # verbose | ||
| + | Da -t filter Default ist, kann man es auch weglassen, | ||
| + | *iptables -nvL -t filter | ||
| + | =Firewallscript= | ||
| + | ==Der Rumpf== | ||
| + | Zuerst wird in dem firewall-Skript ein case start - stop Block angelegt: | ||
| + | *cd /usr/local/sbin/ | ||
| + | *vi firewall | ||
| + | '''#!/bin/bash''' | ||
| + | '''case $1 in''' | ||
| + | '''start)''' | ||
| + | '''echo "starte firewall"''' | ||
| + | ''';;''' | ||
| + | '''stop)''' | ||
| + | '''echo "stoppe firewall"''' | ||
| + | ''';;''' | ||
| + | '''*)''' | ||
| + | '''echo "usage: $0 start|stop"''' | ||
| + | ''';;''' | ||
| + | '''esac''' | ||
| + | |||
| + | ==Script ausführbar machen== | ||
| + | *chmod +x firewall | ||
| + | |||
| + | ==Testen des Scripts== | ||
Version vom 31. August 2022, 13:25 Uhr
Funktionsweise
- Die Regeln werden nacheinander abgearbeitet wenn eine Regel greift hört der Verarbeitungsprozess auf.
- Wenn keine greift wird die Default Policy angewandt.
| filter table | |||||
|---|---|---|---|---|---|
| INPUT | OUTPUT | FORWARD | |||
| rule 1 | rule 1 | rule 1 | |||
| rule 2 | rule 2 | rule 2 | |||
| rule 3 | rule 3 | rule 3 | |||
| rule 4 | rule 4 | rule 4 | |||
| POLICY | POLICY | POLICY | |||
Die filter Tabelle
Die Ketten der filter Kette
- FORWARD: für Pakte die über eine Schnittstelle hereinkommen, den Rechner auch wieder verlassen.
- INPUT: für Pakete die über eine Schnittstelle hereinkommen und einen Dienst auf dem Rechner ansprechen
- OUTPUT: für die über eine Schnittstelle herausgehenden Pakete, die von einem lokalen Dienst
Die Filter Regeln der filter Tabelle
Regeln werden mit iptables erstellt und an Ziele geschickt.
Ziele der filter Tabelle
- ACCEPT: das Paket kann passieren
- REJECT: das Paket wird zurückgewiesen und ein Fehlerpaket wird gesendet
- LOG: schreibt einen Eintrag in die syslog
- DROP: das Paket wird ignoriert und keine Antwort gesendet
Syntax Allgemein
Die Momentan in der filter Tabelle gesetzten Ketten und Regeln sieht man mit
- iptables -nvL -t filter
-L # Listing -t filter # anzeigen der filter Kette -n # numerical -v # verbose
Da -t filter Default ist, kann man es auch weglassen,
- iptables -nvL -t filter
Firewallscript
Der Rumpf
Zuerst wird in dem firewall-Skript ein case start - stop Block angelegt:
- cd /usr/local/sbin/
- vi firewall
#!/bin/bash case $1 in start) echo "starte firewall" ;; stop) echo "stoppe firewall" ;; *) echo "usage: $0 start|stop" ;; esac
Script ausführbar machen
- chmod +x firewall