配置fail2ban防止暴力破解
在[DEFAULT]部分中设置全局的默认参数。例如,可以定义封禁时间、最大尝试次数等。
·
fail2ban
是一个用于防止暴力破解的开源工具,它通过分析日志文件检测失败的登录尝试,并根据预设定的规则对可疑IP进行封禁。以下是安装、配置和管理 fail2ban
的指南。
1. 安装 fail2ban
对于Debian/Ubuntu
sudo apt update
sudo apt install fail2ban
对于CentOS/RHEL
sudo yum update
sudo yum install fail2ban
2. 基本配置
配置文件路径
fail2ban
的主配置文件是 /etc/fail2ban/jail.conf
,为了不覆盖原文件,建议创建一个本地配置文件 /etc/fail2ban/jail.local
来进行自定义配置。
创建和编辑配置文件
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
在 jail.local
文件中,可以根据需要启用和配置不同的监控服务。
3. 配置 jail.local
定义默认配置
在 [DEFAULT]
部分中设置全局的默认参数。例如,可以定义封禁时间、最大尝试次数等。
[DEFAULT]
# "bantime" is the number of seconds that a host is banned.
bantime = 10m
# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime = 10m
maxretry = 5
# Default protocol (TCP)
protocol = tcp
# "ignoreip" can be a list of IP addresses, CIDR masks, or DNS hosts. Fail2ban
# will not ban a host which matches an address in this list. Several addresses can
# be defined using space separator.
ignoreip = 127.0.0.1/8 ::1
启用和配置具体的监控服务
SSH 服务示例
在 /etc/fail2ban/jail.local
中,找到 [sshd]
部分,取消注释并启用对SSH服务的监控。
[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
如果没有找到 [sshd]
部分,可以手动添加:
[sshd]
enabled = true
port = ssh
logpath = /var/log/auth.log
maxretry = 5
配置邮件通知
如果希望在某个IP被封禁时收到通知,可以配置邮件通知功能。
在 [DEFAULT]
部分中添加:
destemail = your-email@example.com
sender = fail2ban@example.com
mta = sendmail
action = %(action_mwl)s
4. 启动和管理 fail2ban
启动 fail2ban
sudo systemctl start fail2ban
设置开机自启动
sudo systemctl enable fail2ban
检查 fail2ban
状态
sudo systemctl status fail2ban
查看当前运行的监控服务(监控jails)
sudo fail2ban-client status
查看具体监控服务的状态
例如,要查看 sshd
的状态:
sudo fail2ban-client status sshd
手动封禁和解除封禁IP
封禁IP
sudo fail2ban-client set sshd banip <IP地址>
解除封禁IP
sudo fail2ban-client set sshd unbanip <IP地址>
5. 日志和问题排查
查看fail2ban日志
Fail2ban 的日志文件通常在 /var/log/fail2ban.log
,通过检查这个文件可以帮助你排查问题。
sudo tail -f /var/log/fail2ban.log
通过上述步骤,可以有效的配置和管理 fail2ban
防止暴力破解,保障系统的安全性。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献27条内容
所有评论(0)