ubuntu 如何使用 fail2ban 防止恶意破解

很早就知道这个 fail2ban 东东, 可以有效的防止 ssh 暴力密码破解. 这对于身处丛林法则的可怜的小鸡, 至关重要.

找了至少三四篇文章, 都没有简单的说如何如何搞定的, 都是一堆设置, 看的眼花缭乱, 直到无从下手. 现在又碰到类似的问题, 不解决, 整天发愁服务器安全, 所以又开始谷歌, 终于一次性设置成功.

这个东东还能结合 wordpress 防止暴力登录, 今天只说最小可用方式, 也是最实用的方式, 在你使用 ssh 账户和密码登录的情况下, 如何防止别人暴力破解.

ubuntu 安装

首先更新和升级服务器,

sudo apt-get update
sudo apt-get upgrade

安装fail2ban:

sudo apt-get install -y 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            # 将SSH端口设置为22
filter = sshd        # 使用fail2ban sshd过滤器,
logpath = /var/log/auth.log   # 记录 log 在这个文件里
maxretry = 3         # 将最大重试次数设置为3, 超过就 ban 它的 ip

重新启动fail2ban:

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

测试和取消

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

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


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

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

更多

要了解更多信息, 输入命令

man fail2ban
# 提供了fail2ban可以执行的操作的完整概述


这个文章的行文非常像机器, 但是清晰且可遵循这个操作. 好文.

参考链接: 如何在Ubuntu Server 18.04上安装fail2ban
参考链接:fail2ban GitHub 官链


无聊用透视表看了下攻击方式: 一个晚上大致 10 个小时的攻击数量.

总计 1633 次暴力登录中, 冒充 root 用户登录的有 1514 次, 占总数的92.7% .
多简单的安全策略, 只要不开放 root 用户远程登录, 你就避免了 93%的攻击.
腾讯和阿里云不一样, 它的 ubuntu 默认只能用非 root 用户登录.



下图是同一 IP 的攻击次数, 我严重怀疑前几名是同一脚本或者使用统一脚本的不同人.

实际看了一下数据, 大于 10 的, 全部是 root 攻击. 想来也正常, 它的目标就是"暴力"破解.
如果不用同一用户, 如何得逞.


# 复制黏贴区
[sshd]               
enabled = true 
port = 22 
filter = sshd 
logpath = /var/log/auth.log 
maxretry = 3 
未经允许不得转载:开心小站长 » ubuntu 如何使用 fail2ban 防止恶意破解

相关推荐