如果使用的密码不够强健,恐怕一切都是白搭,所以首先需要设定足够强健的密码。包括系统用户登录密码,特别是 root 帐户的;还有 MySQL 用户的密码;以及其它一切可以获取读取系统任何内容的权限的密码。总之,一切密码好了。同时还要注意,不要使用相同的密码。 不要怕记不住。编写一个强健的密码,然后在自己的日记本上写下来,同时在电脑上找个地方保存下来(Windows 7 的便笺就是个不错的选择)。需要通过网页登录,或者使用 SSH 登录的时候,只需要复制粘贴就可以了(在 Putty 的窗口单击鼠标右键就可以完成粘贴)。 对VPS上所有的密码都是用强密码,并且要互不相关,避免泄露一个密码后其它密码随之泄露。
虽然 Linode VPS 提供的 CentOS 系统已经优化得挺不错的了,可还是有不少系统内建用户和组是不需要的。清理掉这些用户和组也有助于系统安全。当然,安全起见,还是需要先备份。 CentOS 中用户信息存储在 /etc/passwd 文件中。下面的命令可以显示出所有用户。 cat /etc/passwd使用 root 帐户运行下面的命令来清理不需要的用户和组: cp /etc/passwd /etc/passwd.savcp /etc/group /etc/group.savfor a in adm lp sync news uucp operator games gopher mailnull nscd rpc;do /usr/sbin/userdel $a -f; donefor a in lp news uucp games gopher users floopy nscd rpc rpcuser nfsnobody;do /usr/sbin/groupdel $a -f; done
主要通过修改 SSH 的配置文件来实现: vim /etc/ssh/sshd_config重点是下面 3 项。所有几个关键配置都列在这一节的后面,以供参考。 - 禁止 root 帐户远程登录Linux 系统里最知名的用户名就是 root 了,也就最容易遭到暴力破解攻击。禁止 root 用户通过 SSH 登录就可以避免这种悲剧。另外增加一个自己用的用户名,可以稍微复杂一点,让别人不容易猜。这样可以增加一些难度。不是跟你有仇的人,恐怕就不会花力气来猜你的用户名了。于是通过 SSH 来攻击也就不存在了。PermitRootLogin no
- 限定可以登录 SSH 的用户名除了 root 帐户之外,Linux 中还有其它一些默认的帐户,有些还不能轻易删除。所以只是禁止 root 帐户 SSH 登录还不行,最好限定可以登录 SSH 的用户名。
- 更改 SSH 端口默认的 SSH 端口是 22。现在网上有无数的机器在扫描 22 端口,寻找攻击机会。在我的 VPS 刚上线的那几天里,收到了大量针对 22 端口的扫描,也就是暴利破解 SSH 密码。攻击的用户名主要是 root,也有其它一些常见的简单用户名,如 test123 之类的。上面提到的一些默认帐户也在攻击者的列表中。将 SSH 端口改为一个不常见的,例如Port 1234
- 也可以使用证书来登录 SSH,减少密码使用的次数。这里先不讨论了。还没有配置成功。
- 配置完成后重起 SSH 服务使之生效:service sshd restart
|