iptablesとsmtp保護

iptablesとsmtp保護

ネットワーク外ではすべてのSMTPをブロックしようとしていますが、内部メールサーバーアドレスではブロックしようとしません。

それで、私が見逃したものがあるのか​​、私のメールサーバーの現在のiptableルールを改善できるのか疑問に思います。

iptables -I FORWARD -p tcp --dport 25 -j DROP
iptables -I FORWARD -p tcp --dport 25 -j LOG --log-prefix "FORWARD-SMTP-DROP: "
iptables -I FORWARD -p tcp -s <SMTP IP HERE> --dport 25 -j ACCEPT
iptables -I FORWARD -p tcp -d <SMTP IP HERE> --dport 25 -j ACCEPT

iptables -I OUTPUT -p tcp -m multiport --dport 25,465,587 -s ! <SMTP IP HERE> -j DROP
iptables -I OUTPUT -p tcp -m multiport --dport 25,465,587 -s ! <SMTP IP HERE> -j LOG --log-prefix "OUTPUT-SMTP-DROP: "

よろしくお願いします:)

答え1

iptables標準ポリシーがFORWARDチェーンにある場合は、DROP最初の行を削除できます。また、セキュリティを強化するために、ライン3と4にsmtpトラフィックの着信および発信インターフェイスを追加することもできます。

iptables -I FORWARD -o <OUTGOING IF> -i <INGOING IF> -p tcp -s <SMTP IP HERE> --dport 25 -j ACCEPT
iptables -I FORWARD -o <OUTGOING IF> -i <INGOING IF> -p tcp -d <SMTP IP HERE> --dport 25 -j ACCEPT

ファイアウォールの正しいインターフェイス名を追加するだけです。理由は簡単です。 IPアドレスは簡単になりすましますが、トラフィックが入って来る物理インターフェイスは簡単になりすましできないためです。それ以外はルールが大丈夫そうです。期待どおりに動作するか、予期しない動作があるかどうかを確認してください。

偉大なダースラビーチ

答え2

FORWARDチェーンのデフォルトポリシーがACCEPTの場合:

iptables -I FORWARD -p tcp --dport 25  -o [outgoing iface]  -s ! [internal smtp ip] \ 
-m state --state NEW -j DROP

理想的には、デフォルトポリシーをDROPに設定する必要があります。これを行うには、必要なトラフィックだけを許可する必要があり、明示的に許可されていないトラフィックは拒否されます。

iptables -P FORWARD DROP  # set FORWARD policy to DROP
iptables -I FORWARD -o [outgoing iface] -s [internal smtp ip] \
-m state --state NEW,ESTABLISHED -j ACCEPT

ルールには常にTCPステータスを含める必要があり、FORWARDテーブルを使用している場合は、着信/発信インターフェイスオプションを使用してルールの方向を定義する必要があり-m state --stateます。着信または発信インターフェイスを定義しないと、ルールは明確ではなく特定の方向には適用されません。 -i-o

関連情報