iptables は SSH 接続をブロックします。

iptables は SSH 接続をブロックします。

最近、Raspberry PiをRaspbian 8(Jessie)から9(Stretch)にアップグレードしました。 PiはIPv4とIPv6を介して自分のLANからアクセスできます。 SSH経由で複数回認証できないホストをブロックするために、いくつかのiptablesルール(IPv4のみ)を適用しました。現在、IPv6のiptablesルールはありません。

ただし、複数回接続しようとすると、iptables(IPv4)は私のワークステーションからPiへのSSH接続をブロックします。具体的には、IPv4を介して最初のSSHセッションを正常に開くことができますが、同時に別のセッションを開こうとするとロックされます。その後、IPv6を介してのみ接続できるか、ブロック時間(10分)が終了するまで待つ必要があります。

これまで、この問題の原因が見つかりませんでした。 iptables は、「iptables return」というキーワードを使用して、syslog に失敗したすべての接続試行を記録することによって設定されます。次のように、SSHポートで接続が失敗したことがわかります。

$ tail -f syslog | grep "iptables denied" | grep "DPT=22"
Mar 29 15:39:45 raspberry kernel: [  179.988501] iptables denied: IN=wlan0 OUT= MAC=b8:27:eb:16:b3:1d:e4:b3:18:e3:47:f7:08:00 SRC=192.168.133.51 DST=192.168.133.50 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=32145 DF PROTO=TCP SPT=58723 DPT=22 WINDOW=64240 RES=0x00 SYN URGP=0

iptablesのルールセットは次のとおりです。

$ cat rules.v4
# Generated by iptables-save v1.6.0 on Mon Mar 26 22:54:58 2018
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:LOG_AND_DROP - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 ! -i lo -j REJECT --reject-with icmp-port-unreachable
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --mask 255.255.255.255 --rsource
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 600 --hitcount 4 --name DEFAULT --mask 255.255.255.255 --rsource -j LOG_AND_DROP
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -s 192.168.133.0/24 -p igmp -m addrtype --dst-type MULTICAST -j ACCEPT
-A INPUT -s 192.168.133.1/32 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 192.168.133.0/24 -p udp -m udp --dport 137:138 -m addrtype --dst-type BROADCAST -j ACCEPT
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
-A INPUT -j DROP
-A FORWARD -j DROP
-A OUTPUT -j ACCEPT
-A LOG_AND_DROP -j LOG --log-prefix "iptables denied: " --log-level 7
-A LOG_AND_DROP -j DROP
COMMIT
# Completed on Mon Mar 26 22:54:58 2018

必要に応じて、成功したSSHセッション(最大デバッグ詳細度「-vvv」)の完全なログとデバッグに役立つ場合は、失敗した接続試行を提供できます。

ベストアンサー1

ipv4 iptablesの規則に応じて、10分あたり4つの接続を許可する必要があります。

あなたは1つの接続、あなたが直接試した接続だけを期待します。ただし、他の接続試行はポート22(ポートスキャンの非常に一般的な宛先)を攻撃する可能性があります。 Raspberry Piのインターフェイスwlan0に公開ipv4アドレスが公開されていますか?

おすすめ記事