现在许多生产服务器都是放置在IDC机房里的,有的并没有专业的硬件防火墙保护,我们应该如何做好其基础的安全措施呢?个人觉得应该从如下几个方面着手。
·首先要保证自己的Linux服务器的密码绝对安全,笔者一般将root密码设置在28位以上,而且某些重要的服务器必须只有几个人知道root密码,这将根据公司管理层的权限来设置,如果有系统管理员离职,root密码一定要更改。现在我们的做法一般是禁止root远程登录,只分配一个具有sudo权限的用户。
服务器的账号管理一定要严格,服务器上除了root账号外,系统用户越少越好,如果非要添加用户来作为应用程序的执行者,请将他的登录Shell设为nologin,即此用户是没有权利登录服务器的。终止未授权用户,定期检查系统有无多余的用户都是很有必要的工作。
另外,像vsftpd、samba及MySQL的账号也要严格控制,尽可能只分配给他们满足基本工作需求的权限,而像MySQL等的账号,不要给任何用户grant权限。
·防止SSH暴力破解是一个老生常谈的问题,解决这个问题有许多种方法:有的朋友喜欢用iptables的recent模块来限制单位时间内SSH的连接数,有的用DenyHosts防SSH暴力破解工具,应尽可能采用部署服务器密钥登录的方式,这样就算对外开放SSH端口,暴力破解也完全没有用武之地。
·分析系统的日志文件,寻找入侵者曾经试图入侵系统的蛛丝马迹。last命令是另外一个可以用来查找非授权用户登录事件的工具。last命令输入的信息来自于/var/log/wtmp。这个文件详细地记录着每个系统用户的访问活动。
有经验的入侵者往往会删掉/var/log/wtmp以清除自己非法行为的证据,但是这种清除行为还是会露出蛛丝马迹:
在日志文件里留下一个没有退出的操作和与之对应的登录操作(虽然在删除wtmp的时候登录记录没有了,但是待其登出的时候,系统还是会把它记录下来),不过高明的入侵者会用at或Crontab等自己登出之后再删文件。
·建议不定期用grep error/var/log/messages检查自己的服务器是否存在着硬件损坏的情况,由于服务器长年搁置在机房中,最容易损坏的就是硬盘和风扇,因此在进行这些方面的日常维护时要格外注意,最好是定期巡视我们的IDC托管机房。
·建议不定期使用Chkrootkit应用程序对rootkit的踪迹和特征进行查找,从它的报告中我们可以分析服务器否已经感染木马。
·停掉一些系统不必要的服务,强化内核。多关注一下服务器的内核漏洞,现在Linux的很多攻击都是针对内核的,应尽量保证内核版本是最新的。