可以想象的更安全的iptables脚本。 有一个存在吗?

我打算很快购买一台服务器。 我希望服务器尽可能安全,只有POP3,SMTP,SSH和HTTP打开。 我知道如何编写一个iptables脚本,只允许这些连接,并放弃一切,但我不知道如何防止攻击。

是否有任何示例脚本,尽可能地迎合尽可能多的不同的攻击(块和可选的日志)? 一个脚本,可以阻止DDoS攻击(SYN泛滥,ICMP泛滥等),端口扫描,蛮力攻击等。一切(或尽可能接近我们可以得到的)

安全就像一个洋葱,它是由层组成的。 我会列出几个有用的组件。

fail2ban帮助您阻止和logging各种攻击,从sshpowershell攻击到Apache攻击到垃圾邮件发送者。

Apache的mod_security是Apache的一个重量级安全附加组件。 它可以拒绝来自已知黑名单IP地址的请求,它可以检测SQL注入尝试,以及许多更多的攻击。

Suhosin可以帮助你保护PHP。

SELinux或grsecurity可以通过强化操作系统来提供额外的保护。 有了这些安全框架,某些应用程序中的漏洞可能会限制这种破坏,甚至阻止某人获得root权限。

除了以前的build议,我build议你看看OSSEC ,这是一个非常好的IDS。 它会阻止人们试图暴力破解您的服务器,并在发生事故时向您发送电子邮件。 它也跟踪某些文件的散列,所以你可以看到是否编辑了一些可疑的东西。 我还写了一篇关于如何在我的博客中使用的教程。

类似这样的回答你的第一个问题:

iptables -p INPUT DROP iptables -p OUTPUT DROP iptables -p FORWARD DROP iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 110 -j ACCEPT iptables -A INPUT -p tcp --dport 25 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 

如果您还想要IMAP及其安全(SSL / TLS)版本,请添加以下规则:

 iptables -A INPUT -p tcp --dport 443 -j ACCEPT iptables -A INPUT -p tcp --dport 143 -j ACCEPT iptables -A INPUT -p tcp --dport 993 -j ACCEPT iptables -A INPUT -p tcp --dport 995 -j ACCEPT iptables -A INPUT -p tcp --dport 465 -j ACCEPT