web-dev-qa-db-ja.com

ホワイトリストでSMTPをブロックするブランケット

したがって、VPS環境を使用すると、デフォルトでアウトバウンドSMTP(スパマー)をブロックする必要があり、必要に応じてブロックを解除できます。

いくつかのスクリプトが見つかりました。例:
iptables -I FORWARD 1 -d $ VPS_IP -p tcp -m tcp --dport 25 -j DROP
iptables -I FORWARD 1 -s $ VPS_IP -p tcp -m tcp --dport 25 -j DROP

そして
iptables -I FORWARD -p tcp --sport 25 -j DROP
iptables -I FORWARD -p tcp --dport 25 -j DROP

ただし、特にIPの範囲が変更される可能性がある場合は、最初のセットを介してブロッキングを制御することは非効率的です。

したがって、問題は、セット2(ブランケットブロック)を使用する場合、特定のIPをどのように許可するかということです。 OUTPUTチェーンに何かを追加する必要があると思いますが、ブランケットブロックが最初に処理されませんか?または、FORWARDに追加すると、チェーンのさらに下流にあるため、ブランケットブロックが最初になりませんか?等..

Iptables-Lは次のようになります。

[root@server ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
SOLUSVM_TRAFFIC_IN  all  --  anywhere             anywhere
SOLUSVM_TRAFFIC_OUT  all  --  anywhere             anywhere
       all  --  somedomain  anywhere
       all  --  anywhere             somedomain  

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain SOLUSVM_TRAFFIC_IN (1 references)
target     prot opt source               destination
       all  --  anywhere             somedomain  

Chain SOLUSVM_TRAFFIC_OUT (1 references)
target     prot opt source               destination
       all  --  somedomain    anywhere

大変感謝いたします! (答えられない場合は、コーダーに仕事を雇うか何かを投稿する予定です)

1
Joshua D'Alton

挿入コマンドを使用して、ブロックルールの前にルールを追加することができます。ただし、1台または場合によっては2台のサーバーのみがインターネットに電子メールを送信する必要があります。必要に応じて、ホストにファイアウォールルールを追加して、メールサーバーのみが電子メールを送信できるようにします。これにより、ボットが無効になるか、少なくとも問題をログに記録して追跡する機能が提供されます。

1つの送信メールサーバーを設定し、インターネットに電子メールを送信する他のすべてのサーバーをブロックすることをお勧めします。そのメールサーバーを、ネットワーク内のすべてのホストの送信MTA(メール転送エージェント)として使用します。 rDNS、SPFなどを使用して適切に構成します。電子メールを送信しないドメインには、「-all」ポリシーを含むSPFレコードが必要です。 SPFを使用した電子メールレピュテーションの保護に関する私のメモを参照してください。

代わりに送信するドメインを制限するように電子メールサーバーを構成します。 EximのACL機能がこれに適していることがわかりました。大量の送信メールを防ぐために、制限ルールをインストールすることもできます。

1
BillThor