blacklistd(8)の保持しているルールはblacklistclt(8)コマンドで次のように確認できます。システムを再起動した段階では次のようになんのルールも入っているはずです。
図 まだ何も検出していない状態のblacklistd(8)
# blacklistctl dump -a address/ma:port id nfail last access #blacklistd(8)の設定は/etc/blacklistd.confです。このファイルはデフォルトでは次のようになっています。この場合、sshにおける認証が3回失敗すると以後24時間はアクセスできない状態になります。
リスト blacklistd(8)の設定ファイルである/etc/blacklistd.conf
# $FreeBSD: releng/11.1/etc/blacklistd.conf 301226 2016-06-02 19:06:04Z lidl $ # # Blacklist rule # adr/mask:porttype 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 * = = =
デフォルト 3回失敗→disable無効期間 60(s)
「ポート」はポート番号ないしはポート名。ポート名は /etc/services をもってポート番号を解釈する。
blacklistd 始めました - Qiita 2020
sshのポートを22222に変更した場合
22222 stream * * * 3 24h
を追加すると。3回失敗で24h無効
sudo ipfw table port22 list
Create the sentinal file detected by the blacklistd-helper daemon to enable ipfw packet filtering commands. Use a non-default offset value, as the default rules for the "workstation" configuration end above rule 2000.
echo "ifpw_offset=4000" > /etc/ipfw-blacklist.rc
see /usr/libexec/blacklistd-helper
デフォルトのipfw_offset=2000の場合ssh 22だと2000+22で2022
# Allow TCP through if setup succeeded ipfw -q add pass tcp from any to any established のルールを入れる場合は2022以降になるようにする ipfw -q add 10000 pass tcp from any to any established
ブロックリストに登録されたIPを接続可にする
確認 sudo blacklistctl dump -a blacklistd.confのホワイトリストに追加 sudo vi etc/blacklistd.conf # adr/mask:port type proto owner name nfail disable [remote] xxx.xxx.xxx.xxx * * * = * * sudo /etc/rc.d/blacklistd restart sudo ipfw table port22 delete xxx.xxx.xxx.xxx/32
ただ単にホワイトリストをつくって /etc/blacklistd.conf に入れておけば終わりです。
FreeBSD/blacklistd 運用について - Qiita
Q.やっべ、自分の接続元IPアドレスがブロックリストに登録されてしまった!
A.大丈夫だ。問題無い。現在 blocklistctl に解除する機能が無いので ipfw table port22 delete XXX.XXX.XXX.XXX/32 とコマンドを打って消そう!
なお拒否期限が残ってる間は blacklistd を再起動する度に登録されるのでよろしく!