Answers:
这有点不具体,但通常您需要
运行iptables或ufw之类的防火墙来管理与开放端口的连接。
仅安装您需要的软件。
仅运行对于服务器运行必不可少的服务。
使用所有安全补丁程序使该软件保持最新。
使用执行任务所需的最少特权设置新用户。
运行denyhosts或fail2ban来检查暴力攻击。
运行logwatch以通过电子邮件将日志文件中的任何异常发送给您。
经常检查您的日志中是否有可疑活动。
始终使用sudo并使用强密码。
禁用Apache,Exim,proftpd,dovecot等SSL中的弱和中强度密码。
将服务设置为仅侦听localhost(如果适用)。
每天运行chkrootkit。
视需要经常运行clamscan以检查Windows病毒(如果适用)。
保持警惕,了解您的服务器,知道它应该做什么以及不应该做什么。
您只能通过不断检查和保护来确保事物的安全。如果您不知道某事做什么,如何或为什么做,或者某事看起来可疑,请向他人寻求建议。
理查德·霍洛威的精彩回答。如果您正在寻找特定的逐步指南,请查看Slicehost库中的以下两部分指南。
在必须设置Ubuntu Server实例时,几乎在所有地方都使用它。我相信你会喜欢的。
其他很棒的资源是位于http://library.linode.com/的Linode库
请在两个地方都检查一下文章。那里有大量信息,您将拥有足够的知识来很好地处理服务器。
PS:绝不能用库代替出色的系统管理员的直觉,洞察力和决策能力。
我倾向于推荐的三件事是:
将所有全局可写区域(/ tmp,/ var / tmp)挂载为'noexec':除非您选择升级系统,否则这在大多数情况下都是安全的,没有怪癖,除非(在撰写本文时)。有关更多详细信息,请参见启动板上的错误#572723。
除非绝对必要,否则不要安装任何编译器或汇编器:我认为这是自我解释。
AppArmor入门:AppArmor可被视为SELinux的替代产品,它是Ubuntu的一大功能,可以沙箱运行运行中的应用程序,以确保它们没有所需的访问权限。如果您有兴趣,我建议您在论坛上阅读指南。http://ubuntuforums.org/showthread.php?t=1008906
如果您是我,我将调查iptables(标准Linux防火墙)并查看正在运行的服务。基本上,您只想运行所需的服务,即只想设置电子邮件服务器时不运行Web服务器,而只打开实际需要的端口。其他一切都应该锁定!
iptables指南:https://help.ubuntu.com/community/IptablesHowTo
希望这可以帮助!
ps如果您需要更多帮助,请进入irc并点击freenode上的#ubuntu-server频道