ubuntu部署fail2ban并配置防止暴力破解
在Ubuntu系统中部署Fail2ban并配置防止SSH暴力破解的步骤如下:
-
安装Fail2ban:
打开终端并通过以下命令安装Fail2ban:sudo apt update sudo apt install fail2ban -
配置Fail2ban:
Fail2ban的配置文件通常位于/etc/fail2ban/目录下,主要的自定义配置应放在jail.local文件中。这个文件会覆盖默认的
jail.conf中的设置。-
如果
jail.local不存在,首先创建它并确保它不会被覆盖:sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local -
使用文本编辑器打开
jail.local并进行必要的配置修改以防止SSH暴力破解,例如:sudo vim /etc/fail2ban/jail.local
在
[sshd]部分(或新建一个针对SSH的配置段),你可以调整如下的参数:enabled: 确保此项设为true来启用对SSH服务的防护。port: 默认应该是22,即SSH服务端口。filter: 应该已经指向了用于分析SSH日志的过滤器,通常是sshd。logpath: 设置SSH日志文件路径,通常为/var/log/auth.log或/var/log/secure。maxretry: 设置允许的最大失败登录尝试次数,默认可能为6次,可以根据需要减少。findtime: 在指定的时间内达到最大尝试次数才会触发禁止,例如findtime = 10m表示10分钟内。bantime: IP被禁止访问的持续时间,例如bantime = 24h将阻止IP地址24小时。
示例配置片段:
[sshd] enabled = true port = ssh filter = sshd logpath = %(sshd_log)s maxretry = 5 findtime = 10m bantime = 24h -
-
启动并设置开机自动启动Fail2ban:
sudo systemctl start fail2ban sudo systemctl enable fail2ban -
测试和验证配置:
检查Fail2ban是否正常运行,并查看已屏蔽的IP地址列表(如果有的话):sudo fail2ban-client status sshd -
安全优化:
为了进一步增强安全性,建议将SSH服务器配置成只允许通过密钥认证登录,禁用密码登录。这可以在/etc/ssh/sshd_config文件中进行配置。
请根据实际情况检查和调整上述步骤与配置内容。
补充
fail2ban-client的相关用法
fail2ban-client 是 fail2ban 工具的命令行客户端,用于与运行中的 fail2ban 服务进行交互。以下是一些常用的 fail2ban-client 命令和用法:
-
查看帮助信息:
fail2ban-client -h或者
fail2ban-client help -
查看所有可用jail的状态:
fail2ban-client status如果只想查看特定jail(例如sshd)的状态,则可以指定jail名称:
fail2ban-client status sshd -
添加或移除IP地址黑名单:
- 封禁一个IP地址(通常不需要手动执行,因为fail2ban会根据日志自动执行):
fail2ban-client set <JAIL_NAME> banip <IP_ADDRESS> - 解封一个IP地址:
fail2ban-client set <JAIL_NAME> unbanip <IP_ADDRESS>
- 封禁一个IP地址(通常不需要手动执行,因为fail2ban会根据日志自动执行):
-
获取配置信息:
fail2ban-client get [section] [option]例如,获取ssh jail的最大重试次数:
fail2ban-client get ssh maxretry -
重启某个jail:
fail2ban-client reload <JAIL_NAME> -
重启整个fail2ban服务:
sudo systemctl restart fail2ban或者使用
fail2ban-client的旧版本命令:fail2ban-client reload -
发送信号给fail2ban服务:
fail2ban-client signal [SIGNAL_NAME]其中 SIGNAL_NAME 可以是如 'reload', 'start', 'stop', 'status' 等。
-
检查过滤器是否能正确匹配日志:
fail2ban-regex <LOG_FILE_PATH> <FILTER_FILE_PATH>注意:
fail2ban-regex并不是fail2ban-client的一部分,但它是一个有用的工具,用来测试过滤规则是否有效。
请根据实际需要以及系统安装的具体版本来调整这些命令。
本文来自博客园,作者:厚礼蝎,转载请注明原文链接:https://www.cnblogs.com/guangdelw/p/17966974

浙公网安备 33010602011771号