回答:
ufwとfail2bを一緒に使用できますが、前述のように、(ufw)ルールの順序が重要です。
デフォルトでは、fail2banはiptablesを使用し、INPUTチェーンの最初にルールを挿入します。これにより、ufwが損なわれたり競合したりすることはありません。
fail2banを完全に統合してufw(iptablesではなく)を使用する場合。以下を含む多くのファイルを編集する必要があります。
/etc/fail2ban/jail.local
jail.localは、サービスを定義する場所です。サービスをリッスンしているポート(sshをデフォルト以外のポートに変更することを考えてください)や実行するアクションを含めます。
**注意*:jail.confを決して編集しないでください。変更を加えてくださいjail.local
!そのファイルはこれで始まります:
# Changes: in most of the cases you should not modify this
# file, but provide customizations in jail.local file,
# or separate .conf files under jail.d/ directory
sshを例として使用して、デフォルト以外のポートの定義にも注意してください=)
[ssh]
enabled = true
banaction = ufw-ssh
port = 2992
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
次に、fail2banを構成してufwを使用します(各サービスに1つの.confファイル)
/etc/fail2ban/action.d/ufw-ssh.conf
構文は
[Definition]
actionstart =
actionstop =
actioncheck =
actionban = ufw insert 1 deny from <ip> to any app OpenSSH
actionunban = ufw delete deny from <ip> to any app OpenSSH
注:設定fail2banのUFW使用すると、新しいルールを挿入するためにFIRST構文「1を挿入」を使用しました。削除は、順序に関係なくルールを見つけます。
ここで詳細を説明する素晴らしいブログ投稿があります
http://blog.vigilcode.com/2011/05/ufw-with-fail2ban-quick-secure-setup-part-ii/
[編集] Ubuntu 16.04以降の場合
デフォルトdefaults-debian.conf
で/etc/fail2ban/jail.d
はコンテンツを含む「」
[sshd]
enabled = true
fail2banのssh保護を有効にします。
falseにする必要があります。
次に、一般的に行うようにjail.localを作成します。私の場合は次のようになります。
[ssh-with-ufw]
enabled = true
port = 22
filter = sshd
action = ufw[application="OpenSSH", blocktype=reject]
logpath = /var/log/auth.log
maxretry = 3
fail2banのデフォルトのインストールにはすでにufw.confがありますので、作成する必要はありません。
jail.localに固有の唯一の変更は、保護に関係するアプリケーションと結果として取得するものを配置する必要があるアクションラインになります。
ufwは、ネットワークを使用して実行されている一定量のアプリを自動的に検出する傾向があります。リストを表示するには、と入力しsudo ufw app list
ます。大文字と小文字が区別されます。
fail2banをリロードすると、fail2banチェーンが表示されなくなり、IPがブロックされると、それが表示されます sudo ufw status
ufw status
たい場合は、統合が必要です。ブロックをに表示するufw status
以外に、他の利点はありませんか?特に、ブログの著者が次のように言っているためです: そのままでFail2banはiptablesルールで動作しますが、これらは単純な
数台の異なるコンピューターでfail2banとufwを何年も使用していますが、問題はありませんでした。fail2banをセットアップするには:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano jail.local
ここで、必要に応じてファイルを編集します。たとえば、不正なsshをブロックする場合は、次の行を見つけます。
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
「enabled」が「false」に設定されている場合は、ここで説明するように「true」に変更します。ルールを設定したら、fail2banプロセスを再起動する必要があります。
sudo /etc/init.d/fail2ban restart
ufwファイアウォールのポート22を開いた場合、fail2banは、成功せずに6回以上接続しようとするクライアントを禁止しますが、ファイアウォールを壊しません。