長らくsshguardを利用しているが、iptables -Lで確認する情報が多くnftablesでの効果確認情報が少ない。そのため、メモ。
まずは、sshguardでいずれのファイアウォールを使っているか確認する。
# cat /etc/sshguard/sshguard.conf |more #### REQUIRED CONFIGURATION #### # Full path to backend executable (required, no default) BACKEND="/usr/lib/x86_64-linux-gnu/sshg-fw-nft-sets" ~以下略~
nft(nftables)を使っていることを確認。続いて、nftのルールを見てみる。
# nft list ruleset ip table ip sshguard { set attackers { type ipv4_addr flags interval elements = { 104.131.170.236, 192.241.233.93 } } chain blacklist { type filter hook input priority -10; policy accept; ip saddr @attackers drop } } ~以下略~
/var/log/auth.log(RH系では、/var/log/secure)に記録されて、すぐにnft list ruleset ip を見るとリアルタイムに反映されていればOK。
# tail /var/log/auth.log Nov 27 09:05:59 ***** sshguard[2193]: Attack from "219.92.6.185" on service 100 with danger 10. Nov 27 09:05:59 ***** sshguard[2193]: Blocking "219.92.6.185/32" for 120 secs (1 attacks in 0 secs, after 1 abuses over 0 secs.) Nov 27 09:07:11 ***** CRON[6253]: pam_unix(cron:session): session closed for user munin Nov 27 09:07:36 ***** sshd[6834]: Connection closed by 192.241.233.93 port 38096 [preauth] Nov 27 09:07:36 ***** sshguard[2193]: Attack from "192.241.233.93" on service 100 with danger 2. Nov 27 09:07:36 ***** sshguard[2193]: Attack from "192.241.233.93" on service 100 with danger 2. Nov 27 09:07:36 ***** sshguard[2193]: Attack from "192.241.233.93" on service 110 with danger 10. Nov 27 09:07:36 ***** sshguard[2193]: Blocking "192.241.233.93/32" for 120 secs (3 attacks in 0 secs, after 1 abuses over 0 secs.)
以上、最低3点を確認すれば効果が分かる。
環境:Debian 10、Ubuntu 20.04、RHEL8以降 など