我花了很多时间和精力才让我的 ipTables 运行良好。
当前状态:具有明显、可重复性的“作品”(几乎无法接受)SSH 延迟连接。禁用 ipTables 后,此延迟就会消失。请帮忙,我该如何抵御潜在攻击的长长清单,还能恢复我的快速 ssh 吗?
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
#DROP fragments (from a *different* tutorial, do I need this?)
-A INPUT -f -j DROP
#DROP NEW NOT SYN
-A INPUT -p tcp ! --syn -m state --state NEW -j DROP
#DROP SYN-FIN SCANS
-A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
#DROP SYN-RST SCANS
-A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
#DROP X-MAS SCANS
-A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
#DROP NMAP FIN SCAN
-A INPUT -p tcp --tcp-flags ALL FIN -j DROP
#DROP NULL SCANS
-A INPUT -p tcp --tcp-flags ALL NONE -j DROP
#DROP ALL/ALL SCANS
-A INPUT -p tcp --tcp-flags ALL ALL -j DROP
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#non-standard ssh port matches ssh config
-A INPUT -p tcp -m tcp --dport x1x0 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -j DROP
谢谢
编辑:我深入挖掘了一下,发现问题可能出在我的 ISP 的名称服务器和 DNS 查找上:
当我以以下身份连接时,SSH 服务器为什么要进行 DNS 查找?[电子邮件保护]?
和/或
我可以通过调整 ssh 配置来解决这个问题(如果 DNS 查找是原因),而不是费力地找出 ISP 的名称服务器的 IP?
答案1
如果挂起是在您登录时导致的,那么它可能与 sshdUseDNS
配置参数有关。默认情况下,yes
sshd 会查找客户端的主机名,然后检查它是否映射回入站连接上看到的 IP 地址。
您可能会发现您没有合适的 DNS优先权为您的客户记录。
尝试设置
UseDNS no
在您的/etc/ssh/sshd_config
文件中,然后重新启动 sshd。
答案2
这是我正在做的事情的基本要点,https://gist.github.com/801684。它被评论了,我从未见过任何连接减速。但是,在弄乱防火墙规则之前,请确保您有控制台访问权限 :)