私のLinuxsendmailサーバーは、無効なsmtpsaslauthdログインの洪水によって強制的に停止されています。
saslauthdのメッセージに記録されたPAM認証エラーの安定したストリーム。
IPをブロックできるように、IPを特定する方法を検索して検索しました...運が悪いです。
IPはメッセージまたはセキュアログに記録されていません。
アドバイスをいただければ幸いです。
これは役立つかもしれません: Fail2Banを使用したSMTP認証ブルートフォース攻撃のブロック
LogLevelを10以上に増やす必要があります。 sendmail.mcを調べるか、define(confLOG_LEVEL',
10 ')dnl
これにより、認証の失敗時にIP番号がログに記録されます。
/var/log/mail.logに、攻撃者のIPアドレスが含まれているため、fail2banでブロックできる対応するログエントリがあることがわかりました(少なくともUbuntu 14.04では)。 「SASLLOGIN認証に失敗しました」を検索してみてください。
SendmailはLOG_MAIL
ファシリティにログを記録します。このファシリティは、オペレーティングシステムに応じて、通常/var/log/mail
や/var/log/maillog
などに送信されます。詳細については、最寄りの/etc/syslog.conf
にお問い合わせください。あなたはそこで何か役に立つものを見つけるかもしれません。
それでも問題が解決しない場合は、tcpdump
を使用して、システムに接続しているユーザーを確認できます。このように実行すると:
# tcpdump -i <interface> -n port 25
ポート25のトラフィックのリストが表示されます。これは次のようになります。
15:41:07.974013 IP 192.168.1.20.58973 > 192.168.1.20.25: Flags [S], seq 3814195426, win 65535, options [mss 16344,nop,wscale 3,sackOK,TS val 393331165 ecr 0], length 0
15:41:07.974041 IP 192.168.1.20.25 > 192.168.1.20.58973: Flags [S.], seq 538844273, ack 3814195427, win 65535, options [mss 16344,nop,wscale 3,sackOK,TS val 3794784629 ecr 393331165], length 0
これは、タイムスタンプ、プロトコル、送信元IPアドレス、宛先IPアドレスの順です。これにより、必要なものが得られるはずです。
netstat
コマンドを使用して同様のものを取得することもできます。
netstat -an | grep :25
これにより、ローカルシステムのポート25での接続が表示されます。
送信元アドレスごとのSMTP接続のレート制限、または認証の失敗率が高いアドレスのブロックには、さまざまなメカニズムがあります。前者にはiptables
を使用でき、後者には fail2ban のようなものを使用できます。
これは少し遅れていますが、saslauthdライブラリとその実装内の制限のため、saslauthdがIPアドレスをログに記録しないことはかなり確実です。
ただし、私が知る限り、SendmailはIPを記録するので、提供されているsaslauthd jailを使用する代わりに、Sendmailのルールを作成することで、代わりにfail2banを指定できます。