蓝易云

使用 fail2ban 防止 ssh 密码被暴力破解

447次阅读
没有评论

共计 1392 个字符,预计需要花费 4 分钟才能阅读完成。

简介

Fail2ban 通过扫描系统日志文件,例如 /var/log/pwdfail or /var/log/apache/error_log 并从中找出多次尝试登录失败的 IP 地址,并将该 IP 地址加入防火墙的拒绝访问列表中。它通过更新系统的防火墙规则,拒绝来自这些 IP 地址的新连接。Fail2Ban 开箱即用,可以读取许多标准的日志文件,如 sshd 和 Apache 的日志文件,也可以轻松配置为读取任何你选择的日志文件。

一、创建配置文件

注意:

  1. 文件内不能有中文,否则会加载配置失败

  2. 如果修改过端口号,则设置 port = 端口号

mkdir -p /home/docker/fail2ban/data/jail.d && \
cat >  /home/docker/fail2ban/data/jail.d/sshd.conf <<EOF
[sshd]
enabled = true
chain = INPUT
port = ssh
filter = sshd[mode=aggressive]
logpath = /var/log/secure
maxretry = 3
bantime = 3600
findtime = 600
EOF

配置说明:

enabled :是否开启检测
port:检查的端口
maxretry:最大失败次数, 在检查时间内达到次数就拦截
bantime:拦截后禁止访问的时间,单位:秒
findtime:检查的时间访问,单位:秒
logpath: 扫描的日志文件,fail2ban按行扫描此文件,根据filter规则匹配失败的项目并统计

二、启动 fail2ban

docker run -d \
--name fail2ban \
--network host \
--cap-add NET_ADMIN \
--cap-add NET_RAW \
-v /home/docker/fail2ban/data:/data \
-v /var/log:/var/log:ro \
-e TZ=Asia/Shanghai \
--restart always \
crazymax/fail2ban:latest

三、相关命令

一个配置规则可以称为一个监狱,例如上面的 sshd 规则就是一个监狱。

1. 查看 fail2ban 状态

可以查看到 fail2ban 当前配置了哪些监狱。

docker exec -it fail2ban fail2ban-client status

2. 检验特定监狱的状态(如 sshd)

查看当前监狱的情况,如被封禁的 ip 列表和总数等。

docker exec -it fail2ban fail2ban-client status sshd

3. 手动封禁 ip

手动封禁 ip,使其不能与监狱配置的特定端口进行连接。

docker exec -it fail2ban fail2ban-client set sshd banip <ip>

4. 手动解禁 ip

docker exec -it fail2ban fail2ban-client set sshd unbanip <ip>

5. 查看防火墙配置

docker exec -it fail2ban iptables -nvL

四、结果

使用 fail2ban 之前,一天不到有接近 2000 次的尝试暴力破解

使用  fail2ban 防止 ssh 密码被暴力破解

使用之后,几天不登录也不到 1000 次暴力破解。

使用  fail2ban 防止 ssh 密码被暴力破解

当然这并不能代表什么,但是可以作为一个对 ssh 基础保护的参考,更为保险的当然是修改 ssh 的端口号和设置更安全的密码。

虽然阿蛮君的密码自认为已经足够安全,但是不免出现了密码泄露的情况,所以导致了服务器被入侵的情况。

使用  fail2ban 防止 ssh 密码被暴力破解

提醒:本文发布于674天前,文中所关联的信息可能已发生改变,请知悉!

AD:【腾讯云服务器大降价】2核4G 222元/3年 1核2G 38元/年
正文完
 0
阿蛮君
版权声明:本站原创文章,由 阿蛮君 于2023-01-17发表,共计1392字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
Copyright © 2022-2024 阿蛮君博客 湘ICP备2023001393号
本网站由 亿信互联 提供云计算服务 | 蓝易云CDN 提供安全防护和加速服务
Powered by Wordpress  Theme by Puock