
sshに対するブルートフォース攻撃を防ぐために、いくつか追加しましたiptablesルール(下記) 質問は、ブロックされた IP アドレスを一覧表示するにはどうすればいいかということです。
(1)
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j DROP
答え1
1 つのオプションは、次のようなルールを使用して、ドロップされたパケットをログに記録することです。
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl -j LOG --log-prefix "FW_DROPPED: "
これをルールの直前に挿入しますDROP
。次に、syslog ファイルで「FW_DROPPED」を含むものを検索すると、IP のリストが表示されます。ログ ファイルのエントリは次のようになります。
Jun 3 08:05:57 some-machine kernel: [15852451.420557] FW_DROPPED: IN=eth0 OUT= MAC=00:50:ba:4a:d9:e3:00:12:17:3a:e3:64:08:00 SRC=228.23.45.189 DST=192.168.1.1 LEN=48 TOS=0x00 PREC=0x00 TTL=106 ID=10941 PROTO=TCP SPT=58212 DPT=22 WINDOW=65535 RES=0x00 SYN URGP=0
したがって、「SRC=」に続く部分を切り取ると、ドロップされた IP が表示されます。それを並べ替えて重複を排除すると、リストが作成されます。
私は見つけたIptables チュートリアルiptables/netfilter に関する最も有用なドキュメントになります。
答え2
詳細は /proc/net/ipt_recent/SSH で確認できます。
この記事詳細情報があります。
答え3
見る
/proc/net/ipt_recent/YOURNAME
ここで、YOURNAME は、iptables ルールの --name オプションで使用した名前です。
答え4
たとえば、入力アドレスのスプーフィングの場合、チェーンを定義しますSPOOF_REJECT
。
iptables -N SPOOF_REJECT
iptables -A SPOOF_REJECT -j LOG --log-prefix "Input spoof detected: "
iptables -A SPOOF_REJECT -j REJECT
偽装されている場合は、パケットをこのチェーンに送信します。
iptables -A INPUT -i $EXT_DEV1 -s $INT_NET -j SPOOF_REJECT
iptables -A INPUT -i $EXT_DEV2 -s $INT_NET -j SPOOF_REJECT
ドロップまたは拒否するパケットの各カテゴリに対して、次のような操作を実行して syslog 内の検索対象の行を取得し、定期的に grep、カット、ソートを実行して、これらのログ行から IP アドレスだけを取得できます。
カテゴリごとに個別のチェーンを使用する利点は、構成がよりわかりやすくなり、iptables
構成が読みやすくなることです。ルールを追加していくにつれて、特定の異なるアクションに個別のチェーンを使用したことのありがたみがわかるでしょう。