ファイアウォールの SSH が閉じたポートでも、失敗したログイン試行が記録される

ファイアウォールの SSH が閉じたポートでも、失敗したログイン試行が記録される

almalinux を使用して新しい VPS をセットアップします。

私はfirewalldを以下のように設定しました

  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: dhcpv6-client http https
  ports: 80/tcp 443/tcp 7822/tcp
  protocols:
  forward: no
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

接続先のポートが閉じられているのに、失敗したログイン試行が /var/log/secure に記録されているのはなぜですか?

Apr 15 14:11:57 server sshd[46737]: Failed password for root from 148.113.133.177 port 43582 ssh2
Apr 15 14:11:57 server sshd[46737]: Received disconnect from 148.113.133.177 port 43582:11: Bye Bye [preauth]

Apr 15 14:12:15 server sshd[46743]: Invalid user chenyoumin from 27.254.149.199 port 60384
Apr 15 14:12:15 server sshd[46743]: pam_unix(sshd:auth): check pass; user unknown
Apr 15 14:12:15 server sshd[46743]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=27.254.149.199 

ランダムなポートでサーバーに SSH 接続しようとすると: ssh -p 50645 [email protected]

返される結果: ssh: connect to host server.com port 50645: No route to host

また、/var/log/secure には何も記録されません。


アップデート

ファイアウォールを無効にし、nftablesを有効にしました。次のルールセットをロードしました

table inet firewall {
        chain inbound_ipv4 {
        }

        chain inbound_ipv6 {
                icmpv6 type { nd-router-advert, nd-neighbor-solicit, nd-neighbor-advert } accept
        }

        chain inbound {
                type filter hook input priority filter; policy drop;
                ct state vmap { invalid : drop, established : accept, related : accept }
                iifname "lo" accept
                meta protocol vmap { ip : jump inbound_ipv4, ip6 : jump inbound_ipv6 }
                tcp dport { 80, 443, 7822 } accept
        }

        chain forward {
                type filter hook forward priority filter; policy drop;
        }
}
table inet f2b-table {
        set addr-set-sshd {
                type ipv4_addr
                elements = { 45.89.110.110 }
        }

        chain f2b-chain {
                type filter hook input priority filter - 1; policy accept;
                meta l4proto { tcp } ip saddr @addr-set-sshd reject
        }
}

これで、正常に動作するようになりました。7822 以外のポートに ssh しようとすると、ハングアップし、ログにエントリが記録されません。

しかし、ログにはボットによるブルート フォース攻撃の試みがまだ残っています。ボットはどのようにしてこれを実行しているのでしょうか。また、これを阻止するにはどうすればよいでしょうか。ルールが適用される前に、何らかの方法でこれらの接続を開いたままにしているのでしょうか。VPS を再起動せずにこれらの接続を切断するにはどうすればよいでしょうか。

Apr 16 14:30:39 server sshd[61577]: pam_unix(sshd:auth): check pass; user unknown
Apr 16 14:30:39 server sshd[61577]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.39.133.250
Apr 16 14:30:41 server sshd[61577]: Failed password for invalid user user from 103.39.133.250 port 48096 ssh2
Apr 16 14:30:46 server sshd[61580]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=43.156.239.10  user=root
Apr 16 14:30:49 server sshd[61580]: Failed password for root from 43.156.239.10 port 40702 ssh2
Apr 16 14:30:58 server sshd[61583]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=165.22.96.129  user=root
Apr 16 14:31:00 server sshd[61583]: Failed password for root from 165.22.96.129 port 49100 ssh2
Apr 16 14:31:14 server sshd[61586]: Invalid user user from 43.156.82.82 port 36394
Apr 16 14:31:14 server sshd[61586]: pam_unix(sshd:auth): check pass; user unknown
Apr 16 14:31:14 server sshd[61586]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=43.156.82.82
Apr 16 14:31:16 server sshd[61586]: Failed password for invalid user user from 43.156.82.82 port 36394 ssh2
Apr 16 14:31:18 server sshd[61589]: Invalid user ubuntu from 213.190.4.134 port 36238
Apr 16 14:31:18 server sshd[61589]: pam_unix(sshd:auth): check pass; user unknown
Apr 16 14:31:18 server sshd[61589]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=213.190.4.134
Apr 16 14:31:20 server sshd[61589]: Failed password for invalid user ubuntu from 213.190.4.134 port 36238 ssh2

答え1

iptables-save 出力には、firewalld ポリシーが適用されていないようです。

INPUT の変更には、受け入れるというデフォルトのポリシーがあります。そして、それは fail2ban によって管理されていると思われる f2b-SSH チェーンにのみジャンプし、多くのソース ホスト (sshd サーバーにぶつかっていると思われる) を禁止します。

アドレスが fail2ban によって禁止されていない場合は、最終的に受け入れられ、ログにメッセージが表示されます。

ファイアウォールを起動しましたか?正常に起動しましたか?

ところで、それはどの AlmaLinux ですか? 8 はまだ iptables 上にあり、9 は nftables 上にあります。これが AlmaLinux 9 である場合は、nft list ruleset出力を提供してください。

関連情報