はじめに
メールログを確認していると、しつこくサーバに不正アクセスしてくる輩がわんさかといます。
Fail2Banを設定済みですので、自動banしてくれるまで待つのもいいのですが、今回はfirewall-cmdコマンドで手動dropしたいと思います。
もし、まだFail2Banを設定していない方は、こちらの記事もご参考にしてください。
![](https://www.purpledice.jp/wp-content/uploads/2024/06/almalinux9_fail2ban_block_ipaddress_1024x682-300x200.webp)
それでは、firewall-cmdコマンドを使って、不正アクセスしてくる攻撃元IPアドレスをdropする方法を見ていきたいと思います。
メールログから不正アクセスを確認
まずは、サーバーのログファイルを確認して、不正アクセスを行っているIPアドレスを特定します。
例えば、メールサーバーのログファイル(/var/log/maillog)から不正アクセスを確認します。
# tail -f /var/log/maillog
私の環境ですと、次のようなログが沢山表示されます。
# ログエントリの例
Jul xx 20:49:42 purpledice dovecot[1209962]: pop3-login: Disconnected: Connection closed (auth failed, 1 attempts in 0 secs): user=<yoshida@xxxxx.jp>, rip=xxx.xxx.xxx.151, lip=xxx.xxx.xxx.xxx, session=<vmRulx8dtIVFQRCO>
ほんと困ったものです。
firewall-cmdを使用して攻撃元IPアドレスをdropする
特定したIPアドレス(今回の例ではxxx.xxx.xxx.151)をfirewalldを使ってdropしたいと思います。
permanent設定でIPアドレスを恒久的にdrop
以下のコマンドを実行して、攻撃元IPアドレスを恒久的にdropします。
[root@xxxx]# firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='xxx.xxx.xxx.151' drop"
これで、攻撃してきたIPアドレスの登録は完了です。
設定を反映させる必要がありますので、次の「設定の再読み込み」を行っていきます。
設定の再読み込み
設定を反映させるために、firewalldを再読み込みします。
[root@xxxx]# firewall-cmd --reload
success
[root@xxxx]#
「success」と表示されていますので、無事設定が読み込まれました。
設定の確認
設定が正しく適用されたかを確認します。
[root@xxxx]# firewall-cmd --list-all
このコマンドで、先ほど追加したrich ruleが表示されていることを確認します。
実際にコマンドを投入すると、こんな感じです(※一部省略)
[root@xxxx]# firewall-cmd --list-all
public (active)
target: default
※一部省略
rich rules:
rule family="ipv4" source address="xxx.xxx.xxx.151" drop
[root@xxxx]#
これで、しつこく不正アクセスしてくる輩をFirewall側でdropすることができました。
念のため、再度メールログを確認しておきましょう。
まとめ
サーバーのセキュリティを強化するために、不正アクセスを行ってくる攻撃元IPアドレスをfirewall-cmdを使用してdropする方法を紹介しました。
この手順に従うことで、不正なIPアドレスからのアクセスを効果的にブロックし、サーバーの安全性を高めることができます。
Fail2Banで自動ブロックしておくのも勿論大切ですが、手動でdropする方法も身につけておけば安心ですね。
ご参考になれば幸いです。
コメント