系统要求:
-
Python 版本 >= 3.5 或者 PyPy3
python3 --version pypy3 --version -
python-setuptools 和 python-distutils(或 python3-setuptools)
在 Python 解释器中尝试导入这两个模块来检查是否安装:
import setuptools import distutils未报错即证明安装成功
安装方式:
sudo apt-get install python3-setuptools python3-distutils #Debian or Ubuntu sudo yum install python3-setuptools # CentOS or RHEL(注:一般情况下,在 CentOS 或 RHEL 系统中,distutils 通常已经在安装 Python 的时候自动安装了)
-
(可选)pyinotify >= 0.8.3,可能需要:
- Linux 版本 >= 2.6.13
-
(可选)systemd >= 204 并与 python 绑定:
- python-systemd 包
-
(可选)dnspython
安装流程:
-
下载源代码:
-
你可以直接下载 tar 文件,然后解压:
tar xvfj fail2ban-master.tar.bz2 cd fail2ban-master -
或者你可以从 GitHub 克隆源代码:
git clone https://github.com/fail2ban/fail2ban.git cd fail2ban
-
-
安装:
在下载源代码的目录下,执行以下命令进行安装:
sudo python setup.py install这会将 Fail2Ban 安装到 python 的库目录中,将可执行脚本放置到 /usr/bin,将配置文件放置到 /etc/fail2ban。
-
接下来,可以通过以下命令来检查 Fail2Ban 是否正确安装:
fail2ban-client -h可以通过以下命令来查看安装的 Fail2Ban 的版本:
fail2ban-client version -
接下来,将 fail2ban 设置为自动启动服务,将适合你的 Linux 发行版的脚本从 files 目录复制到 /etc/init.d。
例如,在 Debian 系统中:
cp files/debian-initd /etc/init.d/fail2ban update-rc.d fail2ban defaults service fail2ban start -
接下来即可通过
fail2ban-client -h来查看具体的配置过程举例:配置Fail2Ban使得对10分钟内登录失败次数达到3次的IP进行永久封锁
-
创建 jail。这里将 jail 命名为
myjail,并使用polling作为后端:fail2ban-client add myjail polling -
设置 jail 的日志路径。这里将
/var/log/auth.log设置为要监视的日志文件:fail2ban-client set myjail addlogpath /var/log/auth.log -
添加失败正则表达式。这个表达式将用于匹配登录失败的日志条目。具体的表达式需要根据实际日志格式进行修改:
fail2ban-client set myjail addfailregex '^Failed password for .* from ' -
设置封禁时间。这里设置
bantime为-1,表示一旦 IP 被封禁,该封禁将永不过期:fail2ban-client set myjail bantime -1 -
设置失败次数。这里设置
maxretry为3,表示如果一个 IP 地址在findtime时间内登录失败3次,那么该 IP 地址将被封禁:fail2ban-client set myjail maxretry 3 -
设置查找时间。这里设置
findtime为600,表示如果一个 IP 地址在过去的10分钟(600秒)内登录失败次数达到maxretry,也就是3次,那么该 IP 地址将被封禁:fail2ban-client set myjail findtime 600 -
最后,启动 jail:
fail2ban-client start myjail
完成以上步骤后,Fail2Ban 将开始监视
/var/log/auth.log文件,如果在10分钟内有任何 IP 地址登录失败3次,那么该 IP 地址将被永久封禁。 -
用技术帖吸引你们进来,在最后我来打个广告
第一届鸡术大赛正式开幕,欢迎参与:https://www.nodeseek.com/post-16082-1
目前报名人数:0/16 

绑定
沒用 fail2ban,我是換端口換密鑰登錄或是用防火牆只允許特定IP段登錄
技术贴,绑定