FreeBSD 11.1にBlacklistdをインストールする方法

前書き

インターネットに接続されているすべてのサービスは、ブルートフォース攻撃または不当なアクセスの潜在的なターゲットです。fail2bansshguardなどのツールがありますが、ログファイルを解析するだけなので機能的に制限されています。ブラックリストは別のアプローチをとり、SSHなどのデーモンはブラックリストに直接接続して新しいファイアウォールルールを追加できます。

ステップ1:PF(ファイアウォール)

ファイアウォールは、セキュリティを強化するための重要な要素です。最小限のルールセットを作成するには、次のように/etc/pf.confを編集します。

set skip on lo0
scrub in on vtnet0 all fragment reassemble
anchor "blacklistd/*" in on vtnet0
block in all
pass out all keep state
antispoof for vtnet0 inet
pass in quick on vtnet0 inet proto icmp all icmp-type echoreq
pass in quick on vtnet0 proto tcp from any to vtnet0 port 22

PFを自動的に開始するために、/etc/rc.confを編集します。

pf_enable="YES"
pf_rules="/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pflog"

ルールをテストするには、次のコマンドを使用します。

pfctl -vnf /etc/pf.conf

サーバーを再起動して、すべてが期待通りに機能していることを確認することをお勧めします。shutdown -r now

ステップ2:ブラックリスト

IPは24時間ブロックされます。デフォルト値は次のように/etc/blacklistdで変更できます。

# Blacklist rule
# adr/mask:port type    proto   owner           name    nfail   disable
[local]ssh             stream  *       *               *       3       24h

/etc/rc.confを編集してブラックリストを有効にします:

blacklistd_enable="YES"
blacklistd_flags="-r"

次のコマンドでBlacklistdを起動します。

service blacklistd start

ステップ3:SSH

次に、sshdに通知してblacklistdを使用するよう指示します。次の行を/etc/ssh/sshd_configに追加します:

UseBlacklist yes

SSHを再起動します:

service sshd restart

最終段階

無効なパスワードでサーバーにログインしてみてください。

ブロックされたすべてのIPを取得するには、次のコマンドを使用します。

blacklistctl dump -bw
Address/Mask ID nfail Last Access
150.x.x.x/32:22 OK 3/3 2017/x/x 04:43:03
115.x.x.x/32:22 OK 3/3 2017/x/x 04:45:40
91.x.x.x/32:22 OK 3/3 2017/x/x 07:51:16
54.x.x.x/32:22 OK 3/3 2017/x/x 12:05:57

ブロックされたIPを削除するには、次のコマンドを使用します:

pfctl -a blacklistd/22 -t port22 -T delete <IP>

ただし、blacklistctlでブロックされたIPは引き続き表示されます。これは正常な動作であり、将来のリリースで削除される予定です。



8 Comments

  1. 明日香 -

    手順がわかりやすいですね!ただ、手動で設定する部分についても触れてもらえたら、更に助かります

  2. 猫好き -

    ブラックリスト機能はとても便利そうですね!簡単に設定できますか?もう少し詳しくだけでも教えてもらえると嬉しいです

  3. クマさん -

    この記事に感謝!簡単にインストールできたから、私も使ってます。サーバーの安全性が向上しましたね

  4. なつみ -

    設定をしてみたけど、何かうまくいかないところがあった。これについて説明してもらえると嬉しいです。

  5. 裕子 -

    これまで自分でやったことがなかった分野だけど、思ったより簡単でした。また新しいことを学びました。

  6. 佐藤直人 -

    自分のサーバーにこの機能を追加したことで、少し安心しました。これからもFreeBSDの情報を楽しみにしています

  7. 黒川りょう -

    質問ですが、Blacklistdをインストールした後に何か特別な設定が必要ですか

  8. ひろし -

    自分のサーバーにBlacklistdをインストールしてから、非常にスムーズに動いています。感謝してます

Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。