Web服务器安全性过大?

我一直在进行“广泛的”研究,以确保一个Linux的Web服务器。 除了“基础知识”(去除未使用的服务,强化ssh,iptables等)之外,包含防Rootkits(Tripwire)和反病毒(ClamAV)是明智之举吗? 这些只是一个Web服务器矫枉过正? 我知道这是一个非常模糊的问题,但我很好奇别人的意见。

我的未来环境: – ubuntu 10.04 – fail2ban – nginx 0.8.x – php 5.3.x(suhosin,apc,memcached) – mongodb 1.6.x

可能的应用程序: – networking服务 – 用户上传的networking应用程序(图片,pdf等) – 典型的网站(表格等)

如果您有任何其他提示,请随时添加!

谢谢

对于一个面向公众的服务器,我会说安装像tripwire这样的东西不是过度的。

ClamAV是另外一回事。 我会考虑设置,如果您的访问者将通过上传和下载您的网站共享文件。 PDF可以包含漏洞利用。

在面向公众的服务器上,我有SSH不允许密码authentication,只有公钥authentication。 如果只能从内部局域网使用SSH,那么你可以放松一下。

在可能的情况下,我会把服务器放在DMZ上,这样它就不能连接到内部局域网上的任何其他计算机。

不,你做得不够。

1)你需要一个像mod_security这样的Web应用程序防火墙,并确保它被configuration为阻止攻击,而不仅仅是logging它们。

2)用phpsecinfolockingphp。

3)locking您的Web应用程序的MySQL帐户,确保您的应用程序没有FILE权限,这是迄今为止MySQL中最危险的权限。

4)防火墙closures所有的UDP和你不需要的所有TCP。 考虑使用端口敲 ssh。 不能被禁止几乎不如尝试。

您可以安全地将AIDE安装到Web服务器上 – 添加和删除客户不会更改太多的configuration文件,而且您可能很容易地过滤出正常的聊天logging。

但是很多Web服务器安全指南没有提到的是,你应该在/ etc / fstab的/ tmp分区上closuresnoexec。 如果您向公众提供托pipe服务,很多人会在您不知情的情况下安装不安全的Web应用程序(并且不知道如何让应用程序保持最新状态),而且您基本上一直在追寻这些错误。 如果确保攻击者能够保存软件的唯一位置是客户的主目录和/ tmp目录,那么如果攻击者无法使用/ tmp目录,攻击者将冒着显示他们进入的位置的风险。 他们不喜欢这样做。

这样做解决了我们虚拟主机服务器上绝大多数的安全问题。

“欢迎登机!我们的新class机上,您可以享受餐厅,电影院,健身房,桑拿浴室和游泳池。现在系好安全带,我们的船长将试图把这一切搞到空中。

  1. mod_security对于你和服务器都是一个痛苦。 这是资源饥饿,其规则需要认真维护,这将是一个永无止境的任务。 不,它不能独立工作或与Nginx一起工作。 如果你觉得你真的需要它,请设置一个单独的代理服务器(Apache,mod_proxy,mod_security)。 它也可以作为非军事区,你的真实服务器可以完全封闭到外部世界,如果代理被攻破,反正什么也没有。

  2. 如果作为守护进程运行,ClamAV也非常重。 在Cron的非激活时间内定期运行clamscan会更好。

  3. Tripwire是矫枉过正,恕我直言。 但是能够search到rootkit的东西是有用的,有很多脚本(rkhunter,chkrootkit)。

  4. 我相信至less有90%的rootkit等通过devs Windows机器上传到服务器。 除了强迫开发者永远不要使用Windows之外,没有什么好办法来防止这种情况发生。 大部分特洛伊木马程序searchFTP凭据,所以不要使用FTP。

在受欢迎的CMS引擎(Wordpress,Jomlaa,Drupal)中使用validation码表单保护是否被视为安全措施? 如果是,那么你可以使用这些:

  • Mollom
  • Aksimet
  • Defensio