Connection Tracking: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→List) |
|||
| Zeile 39: | Zeile 39: | ||
</pre> | </pre> | ||
=Erläutertung= | =Erläutertung= | ||
| + | =UDP= | ||
| + | *UDP wird auch als verbindungsloses (zustandsloses) Protokoll bezeichnet, da im Header keine Sequenznummern oder Ähnliches zu finden sind. | ||
| + | *Das bedeutet aber nicht, dass man UDP-Verbindungen nicht aufspüren und verfolgen kann. | ||
| + | *Es gibt immer noch andere nützliche Informationen, welche das genau sind, zeigt der folgende Eintrag in der Statustabelle: | ||
17 22 src=10.82.227.12 dst=10.81.0.2 sport=44995 dport=53 src=10.81.0.2 dst=10.82.227.12 sport=53 dport=44995 mark=0 use=1 | 17 22 src=10.82.227.12 dst=10.81.0.2 sport=44995 dport=53 src=10.81.0.2 dst=10.82.227.12 sport=53 dport=44995 mark=0 use=1 | ||
| + | |||
| + | :Protocol = udp (IP Protokollnummer ist 17) | ||
| + | :Der Eintrag läuft nach 21 Sekunden ab, und ist danach nicht mehr gültig. | ||
| + | :Quell und Zieladressen mit entsprechenden Ports der Anfrage | ||
| + | :Quell und Zieladressen mit entsprechenden Ports der erwarteten Antwort | ||
| + | :Die Verbindung ist als UNREPLIED markiert, es wurde also noch nichts empfangen | ||
| + | :Die folgenden Regel erlaubt UDP-Verbindungen vom eigenen Rechner (bei einer restriktiven Politik) | ||
Version vom 1. September 2022, 13:25 Uhr
Grundlegendes zur Verbindungsverfolgung
- Unter connection tracking versteht man das Speichern von Statusinformationen einer Verbindung
- Dies sind z.B. Quell- und Zieladresse, Portnummern, Protokolltyp, Timeouts,...
- Bei iptables ist dafür die state-Option zuständig
- Die Verbindungsverfolgung erfolgt entweder in der PREROUTING- oder in der OUTPUT- Kette.
- Die Statustabellen für UDP- und TCP Verbindungen werden in /proc/net/ip_conntrack gehalten.
- Die Anzahl der Verbindungen kann man folgendermassen sehen sysctl net.netfilter.nf_conntrack_count
- Die maximale Anzahl der Verbindungen kann man folgendermassen sehen sysctl net.netfilter.nf_conntrack_max
Aktuelle Liste
Man kann die Liste im Proc Dateisystem sich anzeigen lassen
- cat /proc/net/nf_conntrack
ipv4 2 tcp 6 425957 ESTABLISHED src=10.81.111.174 dst=10.82.227.12 sport=34466 dport=22 src=10.82.227.12 dst=10.81.111.174 sport=22 dport=34466 [ASSURED] mark=0 zone=0 use=2 ipv4 2 udp 17 26 src=10.82.243.11 dst=8.8.8.8 sport=34761 dport=53 src=8.8.8.8 dst=10.82.242.11 sport=53 dport=34761 mark=0 zone=0 use=2 ipv4 2 tcp 6 430026 ESTABLISHED src=10.81.1.1 dst=10.82.227.12 sport=42750 dport=22 src=10.82.227.12 dst=10.81.1.1 sport=22 dport=42750 [ASSURED] mark=0 zone=0 use=2 ipv4 2 tcp 6 300 ESTABLISHED src=10.81.1.1 dst=10.82.227.12 sport=48722 dport=22 src=10.82.227.12 dst=10.81.1.1 sport=22 dport=48722 [ASSURED] mark=0 zone=0 use=2 ipv4 2 tcp 6 430703 ESTABLISHED src=10.81.1.1 dst=10.82.227.12 sport=35336 dport=9922 src=10.82.243.11 dst=10.81.1.1 sport=22 dport=35336 [ASSURED] mark=0 zone=0 use=2 ipv4 2 icmp 1 26 src=10.82.243.11 dst=193.99.144.85 type=8 code=0 id=4788 src=193.99.144.85 dst=10.82.242.11 type=0 code=0 id=4788 mark=0 zone=0 use=2 ipv4 2 tcp 6 431784 ESTABLISHED src=10.82.243.11 dst=44.242.3.166 sport=59466 dport=443 src=44.242.3.166 dst=10.82.242.11 sport=443 dport=59466 [ASSURED] mark=0 zone=0 use=2 ipv4 2 udp 17 26 src=10.82.243.11 dst=8.8.8.8 sport=38512 dport=53 src=8.8.8.8 dst=10.82.242.11 sport=53 dport=38512 mark=0 zone=0 use=2 ipv4 2 tcp 6 431997 ESTABLISHED src=10.81.1.1 dst=10.82.227.12 sport=37724 dport=9922 src=10.82.243.11 dst=10.81.1.1 sport=22 dport=37724 [ASSURED] mark=0 zone=0 use=2
Eleganter geht es mit dem Tool conntrack
Installation
- apt install conntrack
List
- conntrack -L
tcp 6 425737 ESTABLISHED src=10.81.111.174 dst=10.82.227.12 sport=34466 dport=22 src=10.82.227.12 dst=10.81.111.174 sport=22 dport=34466 [ASSURED] mark=0 use=1 udp 17 22 src=10.82.227.12 dst=10.81.0.2 sport=44995 dport=53 src=10.81.0.2 dst=10.82.227.12 sport=53 dport=44995 mark=0 use=1 udp 17 23 src=10.82.227.12 dst=10.81.0.2 sport=53435 dport=53 src=10.81.0.2 dst=10.82.227.12 sport=53 dport=53435 mark=0 use=1 tcp 6 113 TIME_WAIT src=10.82.227.12 dst=199.232.150.132 sport=33410 dport=80 src=199.232.150.132 dst=10.82.227.12 sport=80 dport=33410 [ASSURED] mark=0 use=1 tcp 6 429806 ESTABLISHED src=10.81.1.1 dst=10.82.227.12 sport=42750 dport=22 src=10.82.227.12 dst=10.81.1.1 sport=22 dport=42750 [ASSURED] mark=0 use=1 tcp 6 431999 ESTABLISHED src=10.81.1.1 dst=10.82.227.12 sport=48722 dport=22 src=10.82.227.12 dst=10.81.1.1 sport=22 dport=48722 [ASSURED] mark=0 use=1 tcp 6 430483 ESTABLISHED src=10.81.1.1 dst=10.82.227.12 sport=35336 dport=9922 src=10.82.243.11 dst=10.81.1.1 sport=22 dport=35336 [ASSURED] mark=0 use=1 tcp 6 431864 ESTABLISHED src=10.82.243.11 dst=44.242.3.166 sport=59466 dport=443 src=44.242.3.166 dst=10.82.242.11 sport=443 dport=59466 [ASSURED] mark=0 use=1 tcp 6 431777 ESTABLISHED src=10.81.1.1 dst=10.82.227.12 sport=37724 dport=9922 src=10.82.243.11 dst=10.81.1.1 sport=22 dport=37724 [ASSURED] mark=0 use=1 conntrack v1.4.6 (conntrack-tools): 9 flow entries have been shown.
Erläutertung
UDP
- UDP wird auch als verbindungsloses (zustandsloses) Protokoll bezeichnet, da im Header keine Sequenznummern oder Ähnliches zu finden sind.
- Das bedeutet aber nicht, dass man UDP-Verbindungen nicht aufspüren und verfolgen kann.
- Es gibt immer noch andere nützliche Informationen, welche das genau sind, zeigt der folgende Eintrag in der Statustabelle:
17 22 src=10.82.227.12 dst=10.81.0.2 sport=44995 dport=53 src=10.81.0.2 dst=10.82.227.12 sport=53 dport=44995 mark=0 use=1
- Protocol = udp (IP Protokollnummer ist 17)
- Der Eintrag läuft nach 21 Sekunden ab, und ist danach nicht mehr gültig.
- Quell und Zieladressen mit entsprechenden Ports der Anfrage
- Quell und Zieladressen mit entsprechenden Ports der erwarteten Antwort
- Die Verbindung ist als UNREPLIED markiert, es wurde also noch nichts empfangen
- Die folgenden Regel erlaubt UDP-Verbindungen vom eigenen Rechner (bei einer restriktiven Politik)