Ist mit einem Timeout der SSH-Verbindung zu rechnen, wenn iptables auf REJECT eingestellt ist?

Ist mit einem Timeout der SSH-Verbindung zu rechnen, wenn iptables auf REJECT eingestellt ist?

Wir richten für einen Computer eine Firewall ein, die Folgendes ermöglichen soll:

  • eingehende SSH-Verbindungen von bestimmten IP-Adressen;
  • ICMP, außer zur Umleitung.

Wir haben uns dafür entschieden, REJECT statt DROP zu verwenden, zumindest bis wir unsere aktuellen Tests abgeschlossen haben.

*filter

# Allow all loopback (lo0) traffic and reject traffic to localhost that does not originate from lo0.
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -s 127.0.0.0/8 -j REJECT

# Reject ICMP redirect.
-A INPUT -p icmp --icmp-type 5 -j REJECT

# Allow ICMP (the types which are not rejected).
-A INPUT -p icmp -j ACCEPT

# Allow SSH connections from specific address
-A INPUT -p tcp --dport 22 -s x.x.x.x -j ACCEPT

# Allow inbound traffic from established connections, including ICMP error returns.
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Log what was incoming but denied (optional but useful).
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables_INPUT_denied: " --log-level 7

# Reject all other inbound.
-A INPUT -j REJECT

# Log any traffic which was sent to you for forwarding (optional but useful).
-A FORWARD -m limit --limit 5/min -j LOG --log-prefix "iptables_FORWARD_denied: " --log-level 7

# Reject all traffic forwarding.
-A FORWARD -j REJECT

COMMIT

Die Maschine befindet sich hinter einem NAT-Router und Port 22 wird an sie weitergeleitet.

Beim Verbindungsversuch von einer nicht autorisierten IP-Adresse wird die Verbindung zum Host nach etwa einer Minute unterbrochen.

ssh: connect to host x.x.x.x port 22: Connection timed out

Ist das zu erwarten? Ich dachte, dass REJECT zu einem ziemlich sofortigen Verbindungsabbruch führen würde. Könnte es daran liegen, dass das REJECT-ICMP-Paket nicht zum Verbindungscomputer zurückkommt?

verwandte Informationen