使用Fail2ban保护服务器SSH

前言

在查看CDN服务器的日志过程中,突然想去看ssh的日志,结果一看,总有很多服务器暴力破解,为此想给服务器加上Fail2ban保护SSH的想法(加上后发现也没多大用,如有问题请指出。)

环境

服务器系统:Debian 12

教程

更新:2024年7月9日

更新及下载安装Fail2ban

分别执行以下指令

apt update
apt install fail2ban -y

备份Fail2ban配置文件

首先进入Fail2ban的目录

cd /etc/fail2ban/

现在我们可以看到目前目录下是这样的

然后执行下方指令复制一遍配置文件,这样则会优先使用jail.local的配置

cp jail.conf jail.local

配置sshd

然后就是编辑文件,这里我使用的是vi

vi jail.local

我们往下面找到JAILS[sshd]部分(大约在第275行)

修改为以下配置

[sshd]
ignoreip = 127.0.0.1/8               # 白名单
enabled = true                       # 规则启用
filter = sshd                        # 过滤规则(一般不变)
port = 22                            # 端口
maxretry = 2                         # 最大尝试次数
findtime = 300                       # 发现周期 单位s
bantime = 600                        # 封禁时间,单位s。-1为永久封禁
banaction = iptables-multiport       # 禁用方式
#logpath = /var/log/auth.log          # SSH 登陆日志位置
backend = systemd                    # 获取 SSH 文件修改的后端(设置了这个那么 logpath 将会无效)

然后键盘上输入 :wq保存并退出

设置启用Fail2ban和启动Fail2ban

执行以下指令,分别启用和启动

systemctl enable fail2ban
systemctl start fail2ban

检查Fail2ban运行状态

执行以下指令检查Fail2ban是否正常运行

systemctl status fail2ban

Active后显示active (running),则代表Fail2ban正常运行

root@u:/etc/fail2ban# systemctl status fail2ban
● fail2ban.service - Fail2Ban Service
 Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
 Active: active (running) since Wed 2023-01-04  10:14:58 CST; 7h ago
 Docs: man:fail2ban(1)
 Process: 451 ExecStartPre=/bin/mkdir -p /run/fail2ban (code=exited, status=0/SUCCESS)
 Main PID: 460 (fail2ban-server)
 Tasks: 5 (limit: 1150)
 Memory: 18.4M
 CPU: 19.749s
 CGroup: /system.slice/fail2ban.service
 └─460 /usr/bin/python3 /usr/bin/fail2ban-server -xf start
Jan 04  10:14:58 u systemd[1]: Starting Fail2Ban Service...
Jan 04  10:14:58 u systemd[1]: Started Fail2Ban Service.
Jan 04  10:15:00 u fail2ban-server[460]: Server ready

执行以下指令检查Fail2ban的sshd规则是否正常运行

fail2ban-client status sshd

出现以下信息则为正常运行

root@u:/etc/fail2ban# fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed: 2
|  |- Total failed: 5
|  `- File list:    /var/log/auth.log
`- Actions
 |- Currently banned: 0
 |- Total banned: 1
 `- Banned IP list:

上面的Banned IP list为当前被封禁的IP列表

Debian12 安装F2B后无法正常启动问题

这个是因为不再使用/var/log/auth.log记录日志,可以通过

apt install rsyslog

或配置backend = systemd来解决,上方配置已经使用第二种方法。

最后感谢您的阅读,如有问题请指出,谢谢。

本文标题:使用Fail2ban保护服务器SSH
本文链接:https://blog.wuw.moe/archives/5.html
本文作者:籽夏
如文章未另说明,则许可协议均采用CC BY-NC-SA 4.0署名-非商业性使用-相同方式共享 4.0 国际
暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇