Iptables establish connection
Hallo Leute,
vertiefe meine Kenntnisse im Bereich Linux iptables und hätte im Bezug auf hergestellte Verbindung (establish) paar Verständnis fragen.
Ist jede eigehende Anfrage (Request) zum Server immer eine hergestellte Verbindung, bzw. ab wann ist eine Verbindung hergestellt ?
Bis zu wieviel hergestellte Verbindung kann ein Client zum Host haben, maximal Eins ?
Es geht hierbei um zwei folgende Regel.
Die erste Regel:
Bei dieser Regel Limitiere ich am Host, dass die Anzahl der hergestellten Verbindungen (establish) auf maximal 80 setze. Das heißt doch jetzt es können nur insgesamt 80 Klienten sich am Server verbinden. Ein Client kann nur eine hergestelle Verbindung (establish) haben, also der Client kann nicht mehr als eine Verbindung herstellen ?
die zweite Regel:
Bei dieser Regel limitiere ich dass per Source IP (Client) nicht mehr als 60 Verbindung pro Sekunde benutzen darf. Das wiederum bestätigt dass der Client per als eine hergestellte Verbindung besitzen darf.
Vielen Dank
hakan
vertiefe meine Kenntnisse im Bereich Linux iptables und hätte im Bezug auf hergestellte Verbindung (establish) paar Verständnis fragen.
Ist jede eigehende Anfrage (Request) zum Server immer eine hergestellte Verbindung, bzw. ab wann ist eine Verbindung hergestellt ?
Bis zu wieviel hergestellte Verbindung kann ein Client zum Host haben, maximal Eins ?
Es geht hierbei um zwei folgende Regel.
Die erste Regel:
iptables -A INPUT -p tcp -m connlimit --connlimit-above 80 -j REJECT --reject-with tcp-reset
Bei dieser Regel Limitiere ich am Host, dass die Anzahl der hergestellten Verbindungen (establish) auf maximal 80 setze. Das heißt doch jetzt es können nur insgesamt 80 Klienten sich am Server verbinden. Ein Client kann nur eine hergestelle Verbindung (establish) haben, also der Client kann nicht mehr als eine Verbindung herstellen ?
die zweite Regel:
iptables -A INPUT -p tcp -m conntrack --ctstate NEW -m limit --limit 60/s --limit-burst 20 -j ACCEPT
iptables -A INPUT -p tcp -m conntrack --ctstate NEW -j DROP.
Vielen Dank
hakan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 655065
Url: https://administrator.de/contentid/655065
Ausgedruckt am: 24.11.2024 um 15:11 Uhr
3 Kommentare
Neuester Kommentar
Moin.
https://www.elektronik-kompendium.de/sites/net/2009211.htm
Bild-Quelle: https://www.elektronik-kompendium.de/sites/net/2009211.htm
Dann lese man auch https://linux.die.net/man/8/iptables
Beachte das Wörtchen in "beide" Richtungen.
Gruß SK
Zitat von @decehakan:
Ist jede eigehende Anfrage (Request) zum Server immer eine hergestellte Verbindung, bzw. ab wann ist eine Verbindung hergestellt ?
Lesestoff zu TCP Verbindungen, dann erklärt sich das eigentlich von selbstIst jede eigehende Anfrage (Request) zum Server immer eine hergestellte Verbindung, bzw. ab wann ist eine Verbindung hergestellt ?
https://www.elektronik-kompendium.de/sites/net/2009211.htm
Bild-Quelle: https://www.elektronik-kompendium.de/sites/net/2009211.htm
Dann lese man auch https://linux.die.net/man/8/iptables
Beachte das Wörtchen in "beide" Richtungen.
NEW -- meaning that the packet has started a new connection, or otherwise associated with a connection which has not seen packets in both directions, and
ESTABLISHED -- meaning that the packet is associated with a connection which has seen packets in both directions,
RELATED -- meaning that the packet is starting a new connection, but is associated with an existing connection, such as an FTP data transfer, or an ICMP error.
Bis zu wieviel hergestellte Verbindung kann ein Client zum Host haben, maximal Eins ?
Soviel der Client noch freie abgehende Ports hat. Ein State definiert immer Quell- und Ziel-IP und Quell- und Zielport. Ändert sich eins davon ist das eine andere Verbindung. Schau dir einfach mal die States Table an (netstat) bzw. beobachte sie etwas dann erkennst du was ich meine. Ein State hat immer auch einen bestimmten Timeout bis der State automatisch wieder gelöscht wird sollten keine Daten innerhalb eines bestimmten Zeitraums fließen oder einer der Clients die Verbindung reguläre beendet.Bei dieser Regel Limitiere ich am Host, dass die Anzahl der hergestellten Verbindungen (establish) auf maximal 80 setze. Das heißt doch jetzt es können nur insgesamt 80 Klienten sich am Server verbinden. Ein Client kann nur eine hergestelle Verbindung (establish) haben, also der Client kann nicht mehr als eine Verbindung herstellen ?
Doch kann er. Wenn dieser eine weitere Verbindung öffnet mit anderem Quellport(Source-Port) ist das für den Server eine neue Verbindung.Gruß SK
Zitat von @decehakan:
Danke, also wenn ich über ssh das login Menü zum Server sehe beispielsweise über putty, dann habe ich bereits eine hergestellte Verbindung
Ja, der Server kommuniziert ja bereits mit dir.Danke, also wenn ich über ssh das login Menü zum Server sehe beispielsweise über putty, dann habe ich bereits eine hergestellte Verbindung
, oder habe ich die Verbindung erst hergestellt nach dem ich mich eingeloggt habe ?
Nein das wäre ein Login-Status auf Anwendungsebene, die TCP-Verbindung auf Layer3 steht aber bereits und nur die ist für iptables relevant, was hinterher in der Anwendung übertragen wird ist iptables wurscht das findet auf einem anderen höheren Layer statt.Stichwort Grundlagen (OSI Modell)
https://de.wikipedia.org/wiki/OSI-Modell
Das was du offensichtlich suchst machst du unter Linux stattdessen einfach mit fail2ban.
Das überwacht deine Logfiles und sperrt/entsperrt anhand von Regex-Regeln IP-Adressen automatisch wenn von dir definierte Schwellwerte überschritten werden.