如何保护服务器?

谈到服务器版Ubuntu 10.04,您会建议使用哪些工具/做法来保护服务器?

这有点非特定,但一般情况下你需要

  • 运行像iptablesufw这样的防火墙来管理与开放端口的连接。

  • 只安装您需要的软件。

  • 仅运行对服务器运行至关重要的服务。

  • 使该软件与所有安全补丁保持同步。

  • 设置具有执行职责所需的最少权限的新用户。

  • 运行denyhostsfail2ban来检查暴力攻击。

  • 运行logwatch以通过电子邮件发送日志文件中的任何exception。

  • 经常检查您的日志是否有可疑活动。

  • 始终使用sudo并使用强密码。

  • 在apache,exim,proftpd,dovecot等中禁用SSL中的弱和中等强度密码。

  • 将服务设置为仅侦听localhost(在适当的位置)。

  • 每天运行chkrootkit

  • 按照检查Windows病毒所需的频率运行clamscan (如果适用)。

  • 保持警惕,了解你的服务器,知道它应该做什么以及它不应该做什么。

您只会通过不断检查和保护来保证安全。 如果你不知道什么是什么,怎么做或为什么,或者看起来有些可疑,那就去问别人一些建议吧。

Richard Holloway的精彩回答。 如果您正在寻找具体的分步指南,请查看Slicehost库中的以下2部分指南。

  1. http://articles.slicehost.com/2010/4/30/ubuntu-lucid-setup-part-1
  2. http://articles.slicehost.com/2010/4/30/ubuntu-lucid-setup-part-2

当我必须设置Ubuntu Server实例时,我几乎无处不在。 我相信你会喜欢它。

其他很好的资源是位于http://library.linode.com/的Linode图书馆

检查这两个地方的文章。 那里有大量的信息,你将拥有足够的知识来处理你的服务器。

PS:绝不是一个库可以替代一个伟大的系统管理员的直觉,洞察力和决策能力。

我没有看到提到的是“使用64位”。 这可以确保您拥有NX内存保护等function。

我倾向于推荐三件事:

  • 将所有全局可写区域(/ tmp,/ var / tmp)挂载为“noexec”:除非您选择升级系统,否则大多数情况下都是安全的,没有怪癖,除非(写作)。 有关详细信息,请参阅Launchpad上的错误#572723。

  • 除非绝对必要,否则不要安装任何编译器或汇编器:我认为这是自我解释的。

  • AppArmor入门:AppArmor可以看作是SELinux的替代品,是Ubuntu沙盒运行应用程序的一个很好的function,以确保它们不再拥有他们需要的访问权限。 如果您有兴趣,我建议您在论坛上查看该指南。 http://ubuntuforums.org/showthread.php?t=1008906

  • 使用适合您环境的规则集安装和配置iptables 。 过滤入站和出站流量。
  • psad检测并警告任何针对您系统的端口扫描。
  • 使用fail2ban防止对SSH进行暴力登录尝试。
  • 禁止使用root帐户进行远程访问,因为除其他外,这意味着如果攻击者试图强行访问您的服务器,他们必须同时使用用户名和密码。
  • 对所有用户帐户使用强密码。
  • 限制SSH访问仅在可能的情况下从某些IP地址可用。
  • 使用另一个基于主机的入侵检测系统的Tripwire。
  • 使用像nagios这样的网络监控程序监控服务器。

如果我是你,我会研究iptables(标准Linux防火墙)并查看正在运行的服务。 基本上,您只希望运行所需的服务,即在您只想设置电子邮件服务器时不运行Web服务器,并且只打开您实际需要的端口。 其他一切都应该被锁定!

iptables指南: https : //help.ubuntu.com/community/IptablesHowTo

希望这可以帮助!

ps如果你需要更多帮助,请使用irc并点击freenode上的#ubuntu-server频道

对于防火墙,你可以看看@ Firestarter或ufw with gufw 。