web-dev-qa-db-ja.com

助けて! SMTP SASLAUTHD攻撃を受けているLinuxサーバー!

私のLinuxsendmailサーバーは、無効なsmtpsaslauthdログインの洪水によって強制的に停止されています。
saslauthdのメッセージに記録されたPAM認証エラーの安定したストリーム。
IPをブロックできるように、IPを特定する方法を検索して検索しました...運が悪いです。
IPはメッセージまたはセキュアログに記録されていません。
アドバイスをいただければ幸いです。

2
xivix
3
Jim Ekleberry

LogLevelを10以上に増やす必要があります。 sendmail.mcを調べるか、define(confLOG_LEVEL',10 ')dnl

これにより、認証の失敗時にIP番号がログに記録されます。

2
Gabriel

/var/log/mail.logに、攻撃者のIPアドレスが含まれているため、fail2banでブロックできる対応するログエントリがあることがわかりました(少なくともUbuntu 14.04では)。 「SASLLOGIN認証に失敗しました」を検索してみてください。

1

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 のようなものを使用できます。

0
larsks

これは少し遅れていますが、saslauthdライブラリとその実装内の制限のため、saslauthdがIPアドレスをログに記録しないことはかなり確実です。

ただし、私が知る限り、SendmailはIPを記録するので、提供されているsaslauthd jailを使用する代わりに、Sendmailのルールを作成することで、代わりにfail2banを指定できます。

0
RapidWebs