今天想分享的是如何保护好自己的云主机!之前也有分享过,主要的方式有:
1.设置特殊端口,比如把22端口修改为2222
2.禁止root用户直接登录
3.建立普通用户,设置复杂的密码(包含特殊字符)
4.不使用普通用户登录,采用公钥-私钥模式
5.开启防火墙,仅仅放行安全或必要的端口
但是作为管理员,这些都比较被动,不能任由“入侵者”攻击我们的服务器,使用fail2ban这款工具来做一些应对措施。
比如上图,在登录时可以发现,系统提示自上一次登录成功后,系统有10022次失败的登录,说明有人(机器)在不断尝试登录我们的服务器。
应对措施,安装fail2ban:
# Ubuntu
sudo apt update && sudo apt install fail2ban
# CentOS
yum install fail2ban
进入fail2ban的目录,复制一份配置文件:
cd /etc/fail2ban
sudo cp fail2ban.conf fail2ban.local
sudo cp jail.conf jail.local
修改jail.local配置文件启动sshd策略。
sudo vim jail.local
定位到285行左右,添加一行:
enabled = true
相对位置如上图所示。完成之后修改sshd策略。
sudo vim fail2ban.local
定位到最后一行,添加如下内容(CentOS使用如下配置):
[sshd]
enable = ture
port = 22 # 注意改成自己对应的ssh端口
filter =sshd
# CentOS
logpath = /var/log/secure
# Ubuntu
# logpath = /var/log/auth.log
maxretry = 5 # 最大尝试次数
bantime = 1800 #封禁时间,单位s。-1为永久封禁
保存配置,重启服务生效。
sudo systemctl restart fail2ban #重启
sudo fail2ban-client status #查看状态
sudo fail2ban-client status sshd #查看sshd的详细状态
尝试错误登录服务器5次,发现再也登录不上了,服务器返回连接超时。
sudo fail2ban-client status sshd
小伙伴们注意不要把自己给挡在服务器外面了哦!