0

0

Linux Fail2ban怎么用_入侵防护实战

舞夢輝影

舞夢輝影

发布时间:2026-03-19 12:29:02

|

309人浏览过

|

来源于php中文网

原创

Fail2ban 是 Linux 轻量级入侵防护工具,通过监控日志、识别失败行为(如 5 次 SSH 登录失败)、调用防火墙自动封禁实现防护;支持一键安装、jail.local 配置、多服务扩展及邮件通知。

linux fail2ban怎么用_入侵防护实战

Fail2ban 是 Linux 上最实用的轻量级入侵防护工具,核心逻辑就三步:盯日志、认坏人、自动拉黑。它不依赖复杂规则引擎,靠精准匹配失败行为(比如 5 次 SSH 登录失败)触发防火墙封禁,对暴力破解、爬虫试探、恶意扫描这类常见攻击效果直接且可靠。

装好就能用:不同系统一键安装

别碰源码编译,包管理器安装最稳:

  • Ubuntu/Debian:运行 sudo apt update && sudo apt install -y fail2ban
  • CentOS/RHEL 7/8:先开 EPEL:sudo yum install -y epel-release,再装:sudo yum install -y fail2ban
  • CentOS/RHEL 9 或 AlmaLinux/Rocky 9+:用 dnf:sudo dnf install -y fail2ban

装完立刻启用并启动服务:sudo systemctl enable --now fail2ban。此时默认已加载 SSH 防护,但还没生效——得配好才能真正拦人。

关键一步:配置 jail.local 而非 jail.conf

/etc/fail2ban/jail.conf 是只读模板,直接改它下次升级可能被覆盖。正确做法是创建或编辑 /etc/fail2ban/jail.local

  • 复制模板:sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
  • 编辑本地文件:sudo nano /etc/fail2ban/jail.local

[DEFAULT] 段设全局底线:

[DEFAULT]
ignoreip = 127.0.0.1/8 192.168.0.0/16
bantime  = 3600
findtime = 600
maxretry = 5

再启用 SSH 防护(Debian/Ubuntu 示例):

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log

如果是 CentOS/RHEL,把 logpath 改成 /var/log/secure。改完执行 sudo fail2ban-client reload 生效。

Boba.video
Boba.video

AI动漫视频生成器

下载

封得准、解得稳:验证与调参要点

别信“配完就安全”,必须验证日志路径和正则是否真能抓到攻击:

  • 查当前状态:sudo fail2ban-client status sshd(看 failed 数和 banned IP)
  • 手动测试匹配:sudo fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/sshd.conf,输出里 “Lines: X lines, 0 ignored, Y matched” 才算有效
  • 封禁时间太短?改 bantime;误伤内网用户?确认 ignoreip 包含你自己的网段

常见误封原因:logpath 错(如 Ubuntu 写了 secure)、filter 名拼错(如写成 ssh)、SELinux 或 firewalld 干扰(RHEL 系统需额外放行 fail2ban 自身通信)。

不止封 IP:邮件通知与多服务扩展

加邮件提醒,让攻击一发生你就知道:

  • 确保系统有发信能力(如已装 postfixsendmail
  • jail.local 的 [DEFAULT] 下加:
    destemail = your@email.com
    sender = fail2ban@yourserver.com
    action = %(action_mwl)s

想防 Nginx 登录爆破?照着抄就行:

  • 新建过滤器:sudo nano /etc/fail2ban/filter.d/nginx-login.conf,填入匹配 401/403 的正则
  • 在 jail.local 里加一段:
    [nginx-login]
    enabled = true
    filter = nginx-login
    logpath = /var/log/nginx/access.log
    maxretry = 5
    bantime = 7200

改完 reload,fail2ban 就同时盯 SSH 和 Nginx 了。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Java 网络安全
Java 网络安全

本专题聚焦 Java 在网络安全与加密通信中的应用,系统讲解常见加密算法(MD5、SHA、AES、RSA)、数字签名、HTTPS证书配置、令牌认证(JWT、OAuth2)及常见安全漏洞防护(XSS、SQL注入、CSRF)。通过实战项目(如安全登录系统、加密文件传输工具),帮助学习者掌握 Java 安全开发与加密技术的实战能力。

744

2025.10.13

PHP 安全与防护
PHP 安全与防护

本专题聚焦于PHP开发中的安全问题与防御措施,详细讲解SQL注入、XSS攻击、CSRF攻击、文件包含漏洞等常见安全风险及其修复方法。通过结合实际案例,帮助开发者理解漏洞成因,掌握输入验证、会话安全、加密存储与安全编码规范,全面提升PHP网站的安全防护水平。

135

2025.11.04

Java 网络安全
Java 网络安全

本专题聚焦 Java 在网络安全与加密通信中的应用,系统讲解常见加密算法(MD5、SHA、AES、RSA)、数字签名、HTTPS证书配置、令牌认证(JWT、OAuth2)及常见安全漏洞防护(XSS、SQL注入、CSRF)。通过实战项目(如安全登录系统、加密文件传输工具),帮助学习者掌握 Java 安全开发与加密技术的实战能力。

744

2025.10.13

PHP 安全与防护
PHP 安全与防护

本专题聚焦于PHP开发中的安全问题与防御措施,详细讲解SQL注入、XSS攻击、CSRF攻击、文件包含漏洞等常见安全风险及其修复方法。通过结合实际案例,帮助开发者理解漏洞成因,掌握输入验证、会话安全、加密存储与安全编码规范,全面提升PHP网站的安全防护水平。

135

2025.11.04

bootstrap安装教程
bootstrap安装教程

本专题整合了bootstrap安装相关教程,阅读专题下面的文章了解更多详细操作教程。

22

2026.03.18

bootstrap框架介绍
bootstrap框架介绍

本专题整合了bootstrap框架相关介绍,阅读专题下面的文章了解更多详细内容。

126

2026.03.18

vscode 格式化
vscode 格式化

本专题整合了vscode格式化相关内容,阅读专题下面的文章了解更多详细内容。

12

2026.03.18

vscode设置中文教程
vscode设置中文教程

本专题整合了vscode设置中文相关内容,阅读专题下面的文章了解更多详细教程。

7

2026.03.18

vscode更新教程合集
vscode更新教程合集

本专题整合了vscode更新相关内容,阅读专题下面的文章了解更多详细教程。

7

2026.03.18

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.9万人学习

Git 教程
Git 教程

共21课时 | 4.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号