硬化我的灯服务器。 我需要防火墙吗?

我正在Debian Linux(Lenny)上build立我的第一台Lamp服务器。 我是一个完整的新人,所以请原谅我的无知。

我正在尝试保护服务器,并使用netstat输出删除了所有不需要的开放端口。 我已经把它放到只有2个开放端口,这是http和mysql端口。

如果我只打开这两个端口,这是否意味着他们是唯一可以通过某个/某些东西在我的机器上发起攻击的两个端口? 如果只有两个开放端口,我需要设置防火墙吗? 显然在将来我将需要打开其他端口的东西,如SSH等

谢谢

  1. 你真的需要访问远程MySQL访问? 也许你可以限制一点或者也许mysql访问localhost / loopback就够了?

  2. 你是否限制了OUTGOING连接? 即使您将有一些易受攻击的软件限制传出连接,也会帮助您阻止下载可能有害的有效负载。

build议的规则:

iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -F iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -s your.trusted.ip.address -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT 

当你需要运行系统更新时:

 iptables -I OUTPUT -j ACCEPT 

当它完成时:

 iptables -D OUTPUT -j ACCEPT 

这是要考虑的事情。

在这个盒子上安装防火墙,或者在安装之前,可以使用防火墙。 如果你想禁止滥用用户从你的服务? 不用担心在你的应用程序中实现它,你可以用iptables来完成。 与SYN防洪相同。

带宽速率限制呢? 这也可以派上用场。

最后,如果您决定在您的用户和Web服务器之间放置一个代理,请不要忘记一些redirect技巧。