我正在尝试应用这些防火墙规则:
/sbin/iptables -F /sbin/iptables -X /sbin/iptables -Z /sbin/iptables -P INPUT DROP /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT /sbin/iptables -A INPUT -p tcp ! --syn -j REJECT --reject-with tcp-reset /sbin/iptables -A INPUT -m state --state INVALID -j DROP /sbin/iptables -P OUTPUT DROP /sbin/iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT /sbin/iptables -A OUTPUT -p tcp ! --syn -j REJECT --reject-with tcp-reset /sbin/iptables -A OUTPUT -m state --state INVALID -j DROP /sbin/iptables -P FORWARD DROP /sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT /sbin/iptables -A FORWARD -p tcp ! --syn -j REJECT --reject-with tcp-reset /sbin/iptables -A FORWARD -m state --state INVALID -j DROP /sbin/iptables -A INPUT -i lo -j ACCEPT /sbin/iptables -A OUTPUT -o lo -j ACCEPT /sbin/iptables -A FORWARD -i lo -o lo -j ACCEPT /sbin/iptables -t mangle -F /sbin/iptables -t mangle -X /sbin/iptables -t mangle -Z /sbin/iptables -t mangle -P PREROUTING ACCEPT /sbin/iptables -t mangle -P OUTPUT ACCEPT /sbin/iptables -t mangle -P INPUT ACCEPT /sbin/iptables -t mangle -P FORWARD ACCEPT /sbin/iptables -t mangle -P POSTROUTING ACCEPT /sbin/iptables -t nat -F /sbin/iptables -t nat -X /sbin/iptables -t nat -Z /sbin/iptables -t nat -P PREROUTING ACCEPT /sbin/iptables -t nat -P OUTPUT ACCEPT /sbin/iptables -t nat -P POSTROUTING ACCEPT /sbin/iptables -A INPUT -p tcp --dport 12443 -j DROP /sbin/iptables -A INPUT -p tcp --dport 11443 -j DROP /sbin/iptables -A INPUT -p tcp --dport 11444 -j DROP /sbin/iptables -A INPUT -p tcp --dport 8447 -j DROP /sbin/iptables -A INPUT -p tcp --dport 8443 -j DROP /sbin/iptables -A INPUT -p tcp --dport 8880 -j DROP /sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 443 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 21 -j DROP /sbin/iptables -A INPUT -p tcp --dport 22 -j DROP /sbin/iptables -A INPUT -p tcp --dport 587 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 25 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 465 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 110 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 995 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 143 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 993 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 106 -j DROP /sbin/iptables -A INPUT -p tcp --dport 3306 -j DROP /sbin/iptables -A INPUT -p tcp --dport 5432 -j DROP /sbin/iptables -A INPUT -p tcp --dport 9008 -j DROP /sbin/iptables -A INPUT -p tcp --dport 9080 -j DROP /sbin/iptables -A INPUT -p udp --dport 137 -j DROP /sbin/iptables -A INPUT -p udp --dport 138 -j DROP /sbin/iptables -A INPUT -p tcp --dport 139 -j DROP /sbin/iptables -A INPUT -p tcp --dport 445 -j DROP /sbin/iptables -A INPUT -p udp --dport 1194 -j DROP /sbin/iptables -A INPUT -p tcp --dport 26 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 53 -j ACCEPT /sbin/iptables -A INPUT -p udp --dport 53 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 2095 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 2096 -j ACCEPT /sbin/iptables -A INPUT -p udp --dport 465 -j ACCEPT /sbin/iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT /sbin/iptables -A OUTPUT -p tcp --dport 26 -j ACCEPT /sbin/iptables -A OUTPUT -p tcp --dport 37 -j ACCEPT /sbin/iptables -A OUTPUT -p tcp --dport 43 -j ACCEPT /sbin/iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT /sbin/iptables -A OUTPUT -p tcp --dport 113 -j ACCEPT /sbin/iptables -A OUTPUT -p tcp --dport 465 -j ACCEPT /sbin/iptables -A OUTPUT -p tcp --dport 873 -j ACCEPT /sbin/iptables -A OUTPUT -p tcp --dport 2089 -j ACCEPT /sbin/iptables -A OUTPUT -p udp --dport 53 -j ACCEPT /sbin/iptables -A OUTPUT -p udp --dport 465 -j ACCEPT /sbin/iptables -A OUTPUT -p udp --dport 873 -j ACCEPT /sbin/iptables -A INPUT -p icmp --icmp-type 8/0 -j DROP /sbin/iptables -A INPUT -j DROP /sbin/iptables -A OUTPUT -j ACCEPT /sbin/iptables -A FORWARD -j DROP
但是,当我将它们复制并粘贴到命令行时,我会被锁定在服务器之外(当然,因为规则是逐行应用的).从那以后我如何一次性应用这些规则
/ sbin / iptables -P INPUT DROP
首先执行,但允许shell访问的行后(我已删除它以保护我的IP).
我不会试图通过将它们粘贴到终端来运行它们.我将它们scp并从一个脚本运行它们(可能只是一个bash脚本,所有它们都被粘贴了.
由于你在那里拥有大量的数据,我曾经遇到过这种情况,即将其粘贴到ssh终端实际上会导致一些数据丢失(因为错过了几行).在这样的事情中,这真的不是一个好主意.显然,这种情况发生的可能性取决于链路质量和带宽.
此外,如果你正在玩iptables并担心你可能会把自己锁定,请设置一个脚本来清除iptables(或将它们设置为你喜欢的东西),然后设置一个cron作业来执行它,或者当你应用规则时,另一个窗口打开,只是做“睡100& ./cleariptables”或其他影响.当新规则成功并且您确定仍然可以登录时,请按Ctrl键.始终尝试建立新的ssh连接,如果您可能已阻止新的ssh连接,并且当前连接已经建立,因为它已经建立