新しいシステムには、次のiptableルールがあります。
基本的に、着信www、ssl、およびsshを許可し、発信ftp、ssh、smtp、dns、www、およびssl接続を許可しようとしています。さらに、特定のmysqlサーバーへの発信mysql接続、DoS攻撃ヘルパー、およびいくつかのドロップされたパケットログに関する特別なルール。他のすべての接続を切断します。
私の問題は、これらのルールのシェルスクリプトを実行するたびに、ドラムよりもしっかりとロックアウトされることです。確立されたsshセッションが削除され、新しいセッションを開始できなくなります。コンソールセッションでルールをフラッシュしても効果がないため、コンソールから再起動する必要があります。
フォールバックルール(フラッシュ後の上位3つ)が最初か最後かは関係ありません。私は多くの方法を試しましたが、新しい目が私が欠けているものを見るかもしれないことを望んでいます:
iptables -F
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
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
iptables -A INPUT -i eth0 -p tcp -m multiport --dports 80,443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -m multiport --sports 80,443 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -m multiport --dport 21,22,25,53,80,443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m multiport --sport 21,22,25,53,80,443 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -p tcp -s 172.xxx.xxx.xxx --sport 1024:65535 -d 172.xxx.xxx.xxx --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -s 172.xxx.xxx.xxx --sport 3306 -d 172.xxx.xxx.xxx --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dport 80,443 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT
iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables Packet Dropped: " --log-level 7
iptables -A LOGGING -j DROP
どんな助けでもいただければ幸いです。注:投稿用に内部IPを難読化しました。