12

mail一部のアプリケーションでコマンド(サーバー:CentOS 6.2)を使用し、iptablesがすべてをブロックしているため、現在は通過しませんが、httpおよびsshポートのみが開いているように(iptablesで)サーバーを保護しています。 .

どのポートへのアクセスを許可しますか?

メールの使い方:echo "{{message}}" | mail -s "{{subject}}" me@mail.com

標準のメール ポート 25 を試しましたが、うまくいきませんでした。現在の設定は次のとおりです。

iptables --flush

iptables -P INPUT DROP
iptables -P OUTPUT DROP

# incoming ssh
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT 
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT 

# outgoing ssh 
iptables -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT 
iptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT 

#HTTP
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT 
iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT 

# mail (does not work)
iptables -A INPUT -i eth0 -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT

(編集)回答:作業中のiptablesルール:

iptables -A OUTPUT -o eth0 -p tcp --sport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT
4

1 に答える 1

11

OUTPUTコマンドは、 ではなく も参照する必要があり--dportます--sportNEWまた、SMTP サーバーへの接続を開始するために、発信パケットを許可する必要があります。

ただし、一般的には、OUTPUT独自のシステムが生成するパケットのみを制御するため、送信パケットの生成を防止する必要がない限り、OUTPUTポリシーを に設定できます。ACCEPT


さらに 2 つのコメント:

1.「すべてを許可してから、特定のトラフィックをブロックし始める」という Jay D の提案は安全ではありません。 攻撃者が使用する可能性のあるポートを事前に把握し、それらすべてを個別にブロックする必要があるため、この方法は絶対に構成しないでください。可能であれば、ブラックリストの代わりに常にホワイトリストを使用してください。iptables

2.塹壕からのヒント: デバッグ中は、各チェーンの最初と最後にログ メッセージを挿入して追加し、カウンターをクリアして、実験を実行するとiptables役立つことがよくあります。(あなたの場合は、コマンドを発行します。)次に、カウンターとログをチェックして、パケットがチェーンを介してどのように移動したか、およびパケットがドロップされた可能性がある場所を理解します。-I-Amail

于 2012-05-20T04:25:19.237 に答える