SSH的安全问题,防止被人暴力破解SSH.

之前一直没有关注过登陆日志,用 cat /var/log/auth.log命令查看的时候,centos对应cat /var/log/secure满屏满屏的"Failed password for root XXX.XXX.XXX.XXX",等了十多秒都没停下来,用ctrl + c终止后,查看auth.log文件大小,居然有67m,网上搜索了一下,用grep "Failed password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | more 这个命令查看了有多少ip在暴力破解我的ssh,又是满屏满屏的。
找了两条防暴力破解的命令

第一句是说,对于外来数据,如果是 TCP 协议,目标端口号是 22,网络接口是 eth0,状态是新连接,那么把它加到最近列表中。

第二句是说,对于这样的连接,如果在最近列表中,并且在 60 秒内达到或者超过四次,那么丢弃该数据。其中的-m是模块的意思。
也就是说,如果有人从一个 IP 一分钟内连接尝试四次 ssh 登录的话,那么它就会被加入黑名单,后续连接将会被丢弃。

我在使用的时候,43.229.53.47这个ip 正在尝试ssh登录,使用了之后查看日志,果然停止了,效果还是很明显,使用之前,每分钟日志记录都在增加。

其他安全设置例如修改ssh端口,禁止root用户登录,禁止密码登录也可以让vps更安全,可参考下边:

SSH是管理VPS的重要途径,所以SSH经常会受到攻击,所以我们需要将SSH武装起来,保护我们VPS的安全。

SSH服务的配置文件位于/etc/ssh/sshd_config,我们的安全设置都是围绕此文件展开,所以修改前最好先备份一次,以免出现无法登陆的情况。

修改完不要忘了执行

I. 如何打开

II. 修改端口

默认的 SSH 端口是 22。强烈建议改成 10000 以上。这样别人扫描到端口的机率也大大下降。修改方法:

这里我设置了两个端口,主要是为了防止修改出错导致 SSH 再也登不上。更改你的 SSH 客户端(例如:Putty)的连接端口,测试连接,如果新端口能连接成功,则再编辑上面两个文件,删除 Port 22 的配置。如果连接失败,而用 Port 22 连接后再重新配置。

端口设置成功后,注意同时应该从 iptables 中, 删除22端口,添加新配置的 18439,并重启 iptables。 /etc/init.d/iptables restart

III. 禁止ROOT用户登陆

IV. 限制其他用户登陆

V. 使用 Chroot SSHD 将 SFTP 用户局限于其自己的主目录:

VI. 登陆IP限制

 

XIII. 报错

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

删除~/.ssh/known_hosts文件

XIV. 检查登录日志

如果你的服务器一直很正常,那也可能不正常的表现,最好的办法就是定期查询ssh的登录日志,手动发现系统的异常!

XV. fail2ban

这个小巧的软件可以代替你做很多事情,以暴力破解ssh密码为例,当我们安装fail2ban后,经过合理的配置,我们可以自动屏蔽某个攻击IP的所有请求。

项目地址:https://github.com/fail2ban/fail2ban

需求:

Python2 >= 2.6 or Python >= 3.2 or PyPy

XVI. 禁止IP访问

修改vnc端口防止爆破

“SSH的安全问题,防止被人暴力破解SSH.”的一个回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注