iptables und "recent", bekomme ssh nicht geblockt

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

iptables und "recent", bekomme ssh nicht geblockt

Beitrag von mistersixt » 21.08.2009 11:05:00

Moin moin,

vorab die iptables-Zeilen (auf das Notwendige reduziert):

Code: Alles auswählen

IPTABLES=/sbin/iptables
EXTIF=ppp0
INTIF=eth0
...
$IPTABLES -A INPUT -i $EXTIF -p tcp --dport 22 -m state --state NEW \
   -m recent --set --name sshattack
$IPTABLES -A INPUT -i $EXTIF -p tcp --dport 22 -m state --state ESTABLISHED \
   -m recent --name sshattack --update --seconds 60 --hitcount 2 \
   -j REJECT --reject-with tcp-reset
$IPTABLES -A INPUT -i $EXTIF -p tcp --dport 22 -j ACCEPT
...
Ich will also maximal eine Verbindung pro Minute zulassen. Wenn ich das nun ausprobiere und via "ppp0" von "aussen" eine SSH-Verbindung aufbaue, sehe ich auch die Zeitstempel und die Source-IP in /proc/net erscheinen, sprich, die Zeilen werden schon mal "durchlaufen" :

Code: Alles auswählen

sojourner:~# cat /proc/net/ipt_recent/sshattack
src=85.10.XXX.XXX ttl: 58 last_seen: 93446267 oldest_pkt: 6 93405201, 93406545, 93407131, 93408374, 93409659, 93446267
sojourner:~#
Aber ich kann innerhalb einer Minute trotzdem mehr als eine Verbindung aufbauen, der REJECT scheint überhaupt nicht zu greifen, egal wie schnell und oft ich einen Connect auf Port 22 mache.

Jemand eine Idee?

Gruss, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: iptables und "recent", bekomme ssh nicht geblockt

Beitrag von Duff » 21.08.2009 11:21:20

Müsste die Regel nicht so aussehen:

Code: Alles auswählen

$IPTABLES -A INPUT -i $EXTIF -p tcp --dport 22 -m state --state NEW -m recent --set --name sshattack
$IPTABLES -A INPUT -i $EXTIF -p tcp --dport 22 -m state --state NEW m recent --name sshattack --update --seconds 60 --hitcount 2 -j DROP
So dürfen für neu eröffnete SSH-Verbindungen in der Liste sshattack innerhalb der letzten 60 Sekunden nur 2 Verbindungsanfragen erstellt werden.

Ich persönlich verwende bei mir den hashlimit-Test.
Oh, yeah!

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Re: iptables und "recent", bekomme ssh nicht geblockt

Beitrag von mistersixt » 21.08.2009 11:35:12

Jap, mit NEW tut es nun, danke! "hashlimit" kannte ich noch gar nicht, schaue ich mir auch mal an.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Re: iptables und "recent", bekomme ssh nicht geblockt

Beitrag von mistersixt » 21.08.2009 11:52:44

@Duff: so richtig klappt das mit dem hashlimit aber auch nicht, wenn ich das hier ...

Code: Alles auswählen

iptables -A INPUT -i ppp0 -m hashlimit -m tcp -p tcp --dport 22 --hashlimit 1/min --hashlimit-mode srcip --hashlimit-name ssh -m state --state NEW -j ACCEPT
...eintrage, dauert es ca. 10 Connects (abgesetzt innerhalb von wenigen Sekunden), bis geblockt wird. Bei 1/min hätte ich halt einen erlaubten Connect pro Minute erwartet ;) .

Gruss, mistersixt.


[edit]Ok, man sollte dann wohl auch den Burst-Default-Wert von 5 adjustieren, dann klappt es...[/edit]
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: iptables und "recent", bekomme ssh nicht geblockt

Beitrag von Duff » 21.08.2009 12:14:44

[edit]Ok, man sollte dann wohl auch den Burst-Default-Wert von 5 adjustieren, dann klappt es...[/edit][/quote]

Wo wird das nochmal festgelegt und muss auf 1 reduziert werden?
Oh, yeah!

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Re: iptables und "recent", bekomme ssh nicht geblockt

Beitrag von mistersixt » 21.08.2009 12:24:34

Ich habe jetzt:

Code: Alles auswählen

$IPTABLES -A INPUT -i $EXTIF -m hashlimit -m tcp -p tcp --dport 22 \
  --hashlimit-upto 1/min --hashlimit-burst 1 --hashlimit-mode srcip \
  --hashlimit-name ssh -m state --state NEW -j ACCEPT
.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: iptables und "recent", bekomme ssh nicht geblockt

Beitrag von Duff » 21.08.2009 13:12:30

Muss man den Parameter --hashlimit-burst 1 immer mit angeben, damit dieser vom default-Wert 5 auf 1 gesetzt wird?
Oh, yeah!

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: iptables und "recent", bekomme ssh nicht geblockt

Beitrag von Duff » 17.11.2009 19:40:12

Was habt ihr hier als "sinnvolle" Werte eingetragen?
mistersixt hat geschrieben:Ich habe jetzt:

Code: Alles auswählen

$IPTABLES -A INPUT -i $EXTIF -m hashlimit -m tcp -p tcp --dport 22 \
  --hashlimit-upto 1/min --hashlimit-burst 1 --hashlimit-mode srcip \
  --hashlimit-name ssh -m state --state NEW -j ACCEPT
.

Gruss, mistersixt.
Wieviele Verbindungen in welchem Zeitinterval würdet oder erlaubt ihr?
Default steht der Wert von --hashlimit-upto auf 3/hour.
Oh, yeah!

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Re: iptables und "recent", bekomme ssh nicht geblockt

Beitrag von mistersixt » 18.11.2009 08:50:55

Duff hat geschrieben:Was habt ihr hier als "sinnvolle" Werte eingetragen?
Wieviele Verbindungen in welchem Zeitinterval würdet oder erlaubt ihr?
Default steht der Wert von --hashlimit-upto auf 3/hour.
Mmmh, das solltest Du vielleicht einfach selbst ausprobieren, bei mir kommt halt nur hin und wieder Jemand per ssh rein, insofern kann ich die Limite ganz runter setzen. Wenn Du viele User hast, die sich relativ oft anmelden wollen, dann sollte man natürlich grösseren Spielraum einstellen. Also einfach ausprobieren und vielleicht mal mitloggen, wie oft dann ein Connect-Versuch geblockt wird, und dann evtl. nachadjustieren.

Oder habe ich Deine Frage falsch verstanden?

Gruss, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: iptables und "recent", bekomme ssh nicht geblockt

Beitrag von Duff » 18.11.2009 09:26:58

Danke. Nein, du hast die Frage nicht falsch verstanden.

Es handelt sich hier um einen eigenen Home-Server, auf dem ich mich nur einloggen kann (hoffe ich zumindestens ;-)).
Oh, yeah!

Antworten