ISPに問題がありました。 IPから送信されるメールが多かったため、インターネット接続がブロックされました。問題は、私たち全員がgmailを使用しており、私たちが知る限り、ISP SMTPサーバーを介してメールが送信されていないことです(サーバー上にない場合、ISPはポート25へのすべてのトラフィックをブロックします)。
事前にポート25をブロックしたので、そのメールサーバーへの送信メールはネットワークから出られません。ただし、これは他のサーバーのポートへのメール送信を拒否しません。
私がやりたいのは、私たちのネットワーク上でそれらのメールを送信しているものを見つけることです。 Ubuntuを使用してメールパケットを識別し、それらを拒否できるプログラムはありますか?ちなみに、UbuntuルーターはSMTPサーバーを実行していません。
tcpdump は、パケットをネットワークからファイルまたは画面にダンプするための便利なツールであり、一般に配布リポジトリで利用可能であり、このような状況について十分に文書化され、テストされています。
Ubuntuルーター(apt-get install tcpdump
)にtcpdumpをインストールし、SMTPトラフィックを監視するように構成できます。
# tcpdump -s0 -w/tmp/smtp_dump port 25
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
ホストが別のSSHセッションからSMTPトラフィックを送信しているファイルを確認できます。
# tcpdump -qr /tmp/smtp_dump
reading from file /tmp/smtp_dump, link-type EN10MB (Ethernet)
13:27:54.291884 IP g0801.hpl.com.33942 > pz-in-f27.1e100.net.smtp: tcp 0
13:27:54.315294 IP pz-in-f27.1e100.net.smtp > g0801.hpl.com.33942: tcp 0
13:27:54.315323 IP g0801.hpl.com.33942 > pz-in-f27.1e100.net.smtp: tcp 0
13:27:54.339110 IP pz-in-f27.1e100.net.smtp > g0801.hpl.com.33942: tcp 45
...
wireshark をローカルマシンにインストールしてダンプファイルをダウンロードするか、sshコマンドラインでtsharkを使用すると、より高度な出力を取得できます。
警告:SMTPトラフィックが多い場合、tcpdumpはクイックタイムでディスクをいっぱいにするため、出力ファイルls -lh /tmp/smtp_dump
を確認し、確認するデータが数MBになったら、ctrl-cでコマンドを停止します。
tcpdumpのインターフェースオプション(-i eth0
):ルーターがeth0とは異なるインターフェースを使用している場合は、-i
オプションを使用して選択する必要があります。 tcpdump -i bond0 -s0 -w/tmp/smtp_dump port 25
メールは、ポート465および587で送信することもできます(465は取り消されていますが、まだ使用されている可能性があります)。プロキシサーバーの悪用と組み合わせると、メールはポート80、443、3128(イカの場合)、またはその他の多くの場所で送信することもできます。
ネットワークにはインターネットへの単一の出口点がありますか?その時点でファイアウォールはありますか?
そうでない場合は、それが必要になります。複数の出口ポイントがある場合は、それぞれにファイアウォールを配置する必要があります。 (おそらく同じ物理ボックス。)
デフォルトですべてをドロップし、必要なトラフィックのみを通過させるようにファイアウォールを設定します。
通常のトラフィックが何であるかわからない場合は、ファイアウォールルールの最後にログ行を追加して、まだ一致していないものすべてがログに記録されるようにすることができます。
ファイアウォールを使用してトラフィックをブロックできたとしても、メールを送信しているものを追跡して停止する必要があります。どのプロセスがメールを送信しているかわからない場合、メールは簡単に侵害されたシステム、オープンプロキシ、または一部のスパマーが悪用しているWebフォームである可能性があります。私は自分のネットワークにそれらの1つを望んでいません。
最善の解決策は、送信メールを送信するときに送信ポート(587)またはSSMTPポート(465)を使用するようにメールクライアントを構成し、ポート25へのすべての送信トラフィックをブロックすることです。ほとんどのメールプロバイダーは、送信のためにこれらのポートへのアクセスを許可する必要があります。送信メール。