保护好自己的服务器,fail2ban基本使用教程

运维贼船

2022-06-13 23:16四川科技领域创作者
关注

不知道小伙伴们是不是拥有一台自己的云服务器呢?如果有请“点赞”,如果没有请点击“在看”。

我拥有的第一台云服务器其实是在我大学的时候,也就是在云服务等一众概念推向市场的时候,特别是阿里云的产品,没用过但也有听说过,但我的的确确拥有的人生第一台云服务器是一台欧洲的一个VPS(虚拟专用服务器 Virtual Private Server),记得是1核512MB内存,尽管配置很低,但从此被Linux这个东西深深的吸引。

服务器可以做很多事,包括最基础的建站、跑应用,跑服务、做爬虫、代理等,比如我就为自己建立了一个网站,还注册了一个花哨的域名:

aaa.al

感兴趣的朋友不妨拷贝到浏览器,访问试试。

言归正传,其实今天想分享的是如何保护好自己的云主机!之前也有分享过,主要的方式有:

  • 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次,发现再也登录不上了,服务器返回连接超时。

再次查询ip发现已经被封禁了。

sudo fail2ban-client status sshd

小伙伴们注意不要把自己给挡在服务器外面了哦!

举报/反馈