我正在尝试应用这些防火墙规则:
/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
Run Code Online (Sandbox Code Playgroud)
但是,当我将它们复制并粘贴到命令行时,我被锁定在服务器之外(当然,因为规则是逐行应用的)。由于 /sbin/iptables -P INPUT DROP 首先执行,我如何一次应用这些规则,但允许 shell 访问的行随后出现(我已将其删除以保护我的 IP。
小智 4
我不会尝试通过将它们粘贴到终端来运行它们。我将 scp 它们并从单个脚本运行它们(可能只是将它们全部粘贴进去的 bash 脚本。
由于您拥有的数据量大约如此,我曾经遇到过将其粘贴到 ssh 终端实际上会导致一些数据丢失的情况(例如丢失了几行)。在这样的事情上,这确实不是一个好主意。显然,发生这种情况的可能性取决于链路质量和带宽。
另外,如果您正在使用 iptables 并且担心可能会将自己锁在外面,请设置一个脚本来清除 iptables(或将它们设置为您满意的工作),然后设置一个 cron 作业来执行它,或者让当您应用规则时会打开另一个窗口,只需执行“sleep 100 && ./cleariptables”或其他会产生影响的操作。当新规则成功并且您确定仍然可以登录时,请按 Ctrl+c。始终尝试建立新的 ssh 连接,如果您可能已阻止新的 ssh 连接,而当前的连接仅在已建立的情况下才起作用
归档时间: |
|
查看次数: |
3294 次 |
最近记录: |