
nginxログを見ると、不快なことをするIPアドレスがあることがわかります。
コマンドを使用してどのようにブロックし、pf
次にを使用して永久にブロックできますか/etc/pf.log
?このIPをどのようにブロックできますかx.x.x.x/24
?例: 1.2.3.4
更新:いいえ、OpenBSDには/ etcに許可/拒否ファイルがないようです。私が知る限り、IPアドレスの誤用を防ぐための最善のアドバイスはpfを使用することです。
# cd /etc
# ls -la|egrep -i 'deny|allow'
# uname -a
OpenBSD foo.com 5.4 GENERIC.MP#0 amd64
#
答え1
これを行う最善の方法は、テーブルを定義し、次のようにホストをブロックするルールを作成することですpf.conf
。
table <badhosts> persist
block on fxp0 from <badhosts> to any
次に、IPアドレスを動的に追加/削除します。
$ pfctl -t badhosts -T add 1.2.3.4
$ pfctl -t badhosts -T delete 1.2.3.4
他の「テーブル」コマンドにはflush
(すべて削除)replace
と詳細show
が含まれますman pfctl
。
より永続的なリストが必要な場合は、ファイルとして保存できます。存在するpf.conf
:
table <badhosts> persist file "/etc/badguys1" file "/etc/badguys2"
block on fxp0 from <badhosts> to any
IPアドレスの代わりにホスト名を追加することもできます。man pf.conf
との「テーブル」セクションを参照してくださいman pfctl
。
ノート:上記の例では、インターネット接続インターフェイスを想定していますfxp0
。設定に従って変更してください。また、の規則はpf.conf
順次評価され、block
orpass
規則の場合は最後の一致規則が適用されます。このルールセットを使用すると、
table <badhosts> persist
block on fxp0 from <badhosts> to any
pass inet tcp from 192.168.0.0/24 to any port 80
badhosts
テーブルに1.2.3.4と192.168.0.10を追加した後
$ pfctl -t badhosts -T add 1.2.3.4
$ pfctl -t badhosts -T add 192.168.0.10
1.2.3.4および192.168.0.10のすべてのトラフィックは、2番目のホストを除いてブロックされます。〜するpass
そのルールはそのルールと一致して上書きされるため、他のシステムのポート80に接続できますblock
。
答え2
ブロックする悪意のあるホストの物理テーブルを作成する必要があることは、他の答えでは明確ではありません。
これは pf.conf ファイルにあります。たとえば、2 つの badguys ファイルがあります。 1&2 badguys1は来て行く人々のためのものであり、badguys2は永久ブラックリストのためのものです。
したがって、時間が経つにつれて迷惑な人のIPを追加する必要がある場合は、badguys1に追加してください。
これで、pf.confファイルにこれがあります。私の例では、WiFiインターフェースen1を使用しています。ネットワークの着信インターフェイスに応じて設定します。
table <badhosts> persist file "/etc/badguys1" file "/etc/badguys2"
block on en1 from <badhosts> to any
これで、badguys1に一時アドレスを追加できるようになりました。 (悪いホストではなくテーブル名です)
sudo pfctl -t badguys1 -T add 185.130.5.160
1 table created.
1/1 addresses added.
1つのテーブルが作成されたことがわかりますが、実際には新しいテーブルを作成するのではなく、IPを追加します。今、badguys1を見ると、新しいIPが表示されます。
sudo pfctl -t badhosts -T show
答え3
この情報はウェブサイトから得られた情報OpenBSD
なので、理解が不足していることをご了承ください。確認してみてくださいURL。これによると、IP をブロックするには、次のことが必要です。
echo '123.123.123.123' >> /etc/pf.blocked.ip.conf
その後、ファイアウォールを再起動します。
pfctl -d
pfctl -e -f /etc/pf.conf
または、ファイアウォールを再起動せずに追加してください。
pfctl -t blockedips -T add 111.222.333.444
今追加されていることを確認してください。
pfctl -t blockedips -T show
アップデート:おそらくこれは役に立ちます。
viで次のファイルを開きます。
vi /etc/pf.conf
次のコード行を追加します。
table <blockedips> persist file "/etc/pf.blocked.ip.conf" ext_if="bge0" # interface connected to internet
次にファイアウォールを再起動し、次のように入力してIPがブロックされていることを確認します。
pfctl -d pfctl -e -f /etc/pf.conf pfctl -t blockedips -T show