Sendmailサーバーに過負荷を与え、他のホストへの接続を拒否する悪意のある/スパムと思われるホストを見つけました。特定のIPアドレスの接続により過負荷が発生しました。そのIPは/ etc / accessでブロックされており、メールを受信できませんが、メールサーバーを介してDOSが発生するため、同時接続数が制限されます。
特定のIPアドレスのメール送信をブロックするにはどうすればよいですか? sendmail がデーモンとして実行されるため、inetd は使用できません。 ifpwのようなものを使用できますか?私は前にそれを使用したことがありません。これはFreeBSD 7.0です
どんな助けでも大変感謝します!
答え1
ファイアウォール機能がないようですので、ファイアウォールを使用してtcpwrappers
問題のあるIPアドレスをブロックしてみてください。 FreeBSDではtcpwrappers
ファイルで構成されています/etc/hosts.allow
。ファイルの上部付近に次の行を追加します。
sendmail : ip.add.re.ss : deny
sendmail
あなたが言ったように起動できない場合でも、この機能を提供するために接続されているinetd
FreeBSDのデフォルトバージョンを使用する限り動作します。 (の出力にペアへの参照が含まれていない場合、すべての賭けはキャンセルされます...)sendmail
libwrap
ldd /usr/libexec/sendmail/sendmail
lwrap
これが実際のファイアウォールを置き換えるわけではないことに注意してください。ただし、この場合は、愚か者が次の犠牲者に移動するまであなたを救うことができます。最新バージョンのFreeBSDにアップグレードすると同時に、ファイアウォールを設定する機会があることを考慮する必要があります。
答え2
使用する必要がありますFreeBSD内蔵ファイアウォール。 sendmailデーモンがパケットを表示できないように、特定のホストからパケットをドロップするルールを追加できます。