Beispiel: SSH-Verbindungen pro IP/Host begrenzen

Beispiel: SSH-Verbindungen pro IP/Host begrenzen

Ich habe einen offenen Port, 40002, und möchte einschränken, dass der Port gleichzeitig nur von einer IP-Adresse (keine bestimmte Adresse) verbunden werden kann. Wenn bereits eine IP-Adresse mit diesem Port verbunden ist, kann keine Verbindung mit anderen IPs hergestellt werden.

ist es möglich, es mit Iptables oder Skripten zu konfigurieren? Mein System ist Ubuntu 14.04, danke.

Antwort1

Sie können dies tun, indem Sie iptables konfigurieren.

/sbin/iptables -A INPUT -p tcp --syn --dport $port -m connlimit --connlimit-above N -j REJECT --reject-with tcp-reset
# save the changes see iptables-save man page, the following is redhat and friends specific command
service iptables save

Beispiel: SSH-Verbindungen pro IP/Host begrenzen

/sbin/iptables  -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j REJECT
# save the changes see iptables-save man page, the following is redhat and friends specific command
service iptables save

TESTEN :

#!/bin/bash
ip="202.1.2.3"
port="80"
for i in {1..100}
 do
 # do nothing just connect and exit
echo "exit" | nc ${ip} ${port};
done

OK: Um die Anzahl der Verbindungen auf maximal n zu begrenzen, hier ein Beispiel mit dem IP-Limit-Modul:

iptables -A INPUT -p tcp --syn -dport 40002 -m iplimit --iplimit-above 3 -J REJECT

Dadurch werden Verbindungen ABGELEHNT, wenn 3 IPs verbunden sind. Entschuldigen Sie, wenn ich Ihre Frage falsch verstanden habe ;)

verwandte Informationen