【发布时间】:2016-03-15 20:04:45
【问题描述】:
我们有一个托管 php 服务器和游戏服务器的 Ubuntu 服务器。 最近,我们得到了很多dos和flood攻击。所以我发现iptables的一些规则可以保护http和游戏端口免受攻击。
这是我的规则:
iptables -F
iptables -P INPUT DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m state --state NEW -m limit --limit 5/sec -m connlimit --connlimit-upto 15 --connlimit-mask 32 --connlimit-saddr -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -m state --state RELATED,ESTABLISHED -m connlimit --connlimit-upto 15 --connlimit-mask 32 --connlimit-saddr -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 80 -m state --state RELATED,ESTABLISHED -m connlimit --connlimit-upto 15 --connlimit-mask 32 --connlimit-saddr -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 443 -m state --state RELATED,ESTABLISHED -m connlimit --connlimit-upto 15 --connlimit-mask 32 --connlimit-saddr -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3724 -m state --state RELATED,ESTABLISHED -m connlimit --connlimit-upto 15 --connlimit-mask 32 --connlimit-saddr -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 25 -m state --state RELATED,ESTABLISHED -m connlimit --connlimit-upto 15 --connlimit-mask 32 --connlimit-saddr -j ACCEPT
但是当 php 想要向另一台服务器打开像 Soap WebService 这样的请求时,就会出现问题。和 iptables 阻止此连接。
我认为问题出在这一行:
iptables -P INPUT DROP
但如果没有此行,则允许对所有其他端口的所有请求。
这是 php Soap 错误:
object(SoapClient)#48 (2) { ["_soap_version"]=> int(1) ["sdl"]=> resource(97) of type (Unknown) }
感谢您的所有评论。谢谢。
【问题讨论】:
-
这个问题可能在ServerFault姐妹页面上比较成功,因为它是关于配置的问题,而不是关于编程问题。您可以在此页面的页脚中看到对该页面的赞。
-
尝试在serverfault这里问同样的问题