#author("2023-10-27T15:43:42+09:00","default:kuji","kuji") #author("2024-02-17T08:34:56+09:00","default:kuji","kuji") CONTENTS #contents ---- Lastmodified &lastmod; ---- *blacklistd(8) [#ad033be4] 【参考URL】https://gihyo.jp/admin/serial/01/bsd-yomoyama/0113 https://fnf.seesaa.net/article/476415931.html https://fnf.seesaa.net/article/476435243.html /etc/rc.confに追加する設定 # sshd sshd_enable="YES" sshd_flags="-o UseBlacklist=yes" # blacklistd blacklistd_enable="YES" #システムを再起動したらブロックをクリア blacklistd_flags="-f" #システムを再起動したら再度ルールを適用してブロックを開始 blacklistd_flags="-r" # firewall firewall_enable="YES" firewall_type="OPEN" 纏めると ################################################### sshd_enable="YES" sshd_flags="-o UseBlacklist=yes" # blacklistd blacklistd_enable="YES" #システムを再起動したらブロックをクリア #blacklistd_flags="-f" #システムを再起動したら再度ルールを適用してブロックを開始 blacklistd_flags="-r" # firewall firewall_enable="YES" firewall_type="OPEN" # touch /etc/ipfw-blacklist.rc ################################################### -sshdはデフォルトの設定ではblacklistd(8)に対応していませんので、「sshd_flags="-o UseBlacklist=yes"」のようにフラグを追加して機能を有効にします。 -blacklistd(8)を起動するために「blacklistd_enable="YES"」を追加し、さらにファイアウォール機能ipfwを有効にするために -「firewall_enable="YES"」と「firewall_type="OPEN"」を追加します。 -すでにipfw(8)を使っている場合には「firewall_type="OPEN"」は特に必要ない ipfw(8)が使われるようにファイルを作成する # touch /etc/ipfw-blacklist.rc **ftpd の監視 [#ec7436de] /etc/inetd.conf に、以下のように-Bオプションを追加する。 ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l -B **blacklistd(8)の設定ファイル /etc/blacklistd.conf [#v1c4a882] # $FreeBSD$ # # Blacklist rule # adr/mask:port type proto owner name nfail disable [local] ssh stream * * * 3 24h ftp stream * * * 3 24h smtp stream * * * 3 24h submission stream * * * 3 24h #6161 stream tcp6 christos * 2 10m * * * * * 3 60 # adr/mask:port type proto owner name nfail disable [remote] #129.168.0.0/16 * * * = * * #6161 = = = =/24 = = #* stream tcp * = = = の ssh ftp を ssh stream * * * 3 60s ftp stream * * * 3 10m などと編集するもよし・・・ **動作確認 [#te03b82b] # blacklistctl dump -ar address/ma:port id nfail remaining time 192.168.185.1/32:22 OK 3/3 23h58m22s **blocklistctl の登録解除 [#reacca16] ipfw table port22 delete XXX.XXX.XXX.XXX/32 とコマンドを打って消す なお拒否期限が残ってる間は blacklistd を再起動する度に登録されるのでよろしく! https://qiita.com/nanorkyo/items/cb900135cb736a033c31 **blocklistctl の登録解除 ホワイトリスト編」 [#sf4adc44] [[ホワイトリストをつくって /etc/blacklistd.conf に入れ:https://qiita.com/strnh/items/21e47ed0e6065be59adb]] ておけば終わり /etc/blacklistd.conf # Block ssh, after 3 attempts for 6 hours on the bnx0 interface [local] # location type proto owner name nfail duration bnx0:ssh * * * * 3 6h [remote] # Never block 1.2.3.4 1.2.3.4:ssh * * * * * * ← これ # For addresses coming from 8.8.0.0/16 block class C networks instead # individual hosts, but keep the rest of the blocking parameters the same. 8.8.0.0/16:ssh * * * /24 = = ---- Total access &counter(total);:本日 &counter(today);:昨日 &counter(yesterday); #counter([total|today|yesterday]);