如何保护服务器?
谈到服务器版Ubuntu 10.04,您会建议使用哪些工具/做法来保护服务器?
这有点非特定,但一般情况下你需要
-
运行像iptables或ufw这样的防火墙来管理与开放端口的连接。
-
只安装您需要的软件。
-
仅运行对服务器运行至关重要的服务。
-
使该软件与所有安全补丁保持同步。
-
设置具有执行职责所需的最少权限的新用户。
-
运行denyhosts或fail2ban来检查暴力攻击。
-
运行logwatch以通过电子邮件发送日志文件中的任何exception。
-
经常检查您的日志是否有可疑活动。
-
始终使用sudo并使用强密码。
-
在apache,exim,proftpd,dovecot等中禁用SSL中的弱和中等强度密码。
-
将服务设置为仅侦听localhost(在适当的位置)。
-
每天运行chkrootkit 。
-
按照检查Windows病毒所需的频率运行clamscan (如果适用)。
-
保持警惕,了解你的服务器,知道它应该做什么以及它不应该做什么。
您只会通过不断检查和保护来保证安全。 如果你不知道什么是什么,怎么做或为什么,或者看起来有些可疑,那就去问别人一些建议吧。
Richard Holloway的精彩回答。 如果您正在寻找具体的分步指南,请查看Slicehost库中的以下2部分指南。
- http://articles.slicehost.com/2010/4/30/ubuntu-lucid-setup-part-1
- 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 。