Administrator
发布于 2023-07-25 / 28 阅读
1
0

使用 fail2ban 防止 Linux server SSH 被暴力破解

使用 fail2ban 防止 Linux server SSH 被暴力破解

如果你坚持使用带密码的 SSH 登录, 业内公认的, 防止SSH爆破的最有效且成本最低的方法是利用Fail2ban. , 而且, 几乎没有副作用.

玩过群晖的知道 可以设置一个 防破解登陆SSH,这个fail2ban设置好和它类似, 关了SSH自己又不好管理开了 又怕被爆。。。。 那就做好防破吧。。

首先的安装它 这里用armbian的ARM ubuntu 安装 一下 也是我的一台 arm 主机。专门搭建 docker 挂几个东西玩玩。。 Alist GF之类的

安装

sudo apt install fail2ban

安装的时候 好像有点慢 应该网络问题。。 没提示在敲多一次 就行。。。 安装完了 就提示好了。。

使用以下命令启动并启用该服务:

sudo systemctl start fail2ban         #启动

sudo systemctl status fail2ban        # 查看fail2ban 是否正常启动

sudo systemctl enable fail2ban        #设置开机启动

配置jail.local 文件

创建一个新文件jail.local,它将覆盖jail.conf中的任何同类设置.
同时将监视/var/log/auth.log,

sudo vim /etc/fail2ban/jail.local

在此新文件中,粘贴以下内容:

[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
action = iptables[name=SSH, port=ssh, protocol=tcp]
[Definition]
allowipv6 = yes

重新启动fail2ban:

sudo systemctl restart fail2ban

通过命令 

sudo systemctl status fail2ban 

查看服务运行状态: 如下反馈表示正常运行, 顺便也可以检查上述命令 

sudo vim /etc/fail2ban/jail.local 

中文件是否设置正确.

全部设置完毕
如果有机器试图通过SSH登录您的Ubuntu服务器,并且失败了三次,那么将通过iptables阻止其IP地址阻止它们进入。

测试和取消

您可以通过一台 vps 尝试登录这台 fail2ban 的机器, 测试以确保失败三次. 
在第三次尝试失败后,连接将挂起, 就像死机, ssh 窗口冰冻了. 
按[Ctrl] + [c]退出,然后尝试SSH回到服务器。

您使用的IP地址SSH到该服务器, 做梦吧, 被 ban 了, 试验成功.

日常查看 lastb 命令:

如何查看指定日期的 ssh 失败登陆列表:

可以使用以下命令取消 ban 测试IP地址:

sudo fail2ban-client set sshd unbanip IP_ADDRESS    
# IP_ADDRESS是禁止的IP地址
# 现在你又可以开心的使用SSH重新登录那个 fail2ban 的服务器了.


评论