当前位置: 首页 > news >正文

Fail2Ban 一键部署 + 管理脚本(可直接执行)

将以下内容保存为fail2ban_setup.sh,执行sudo bash fail2ban_setup.sh即可完成「配置 + Web 界面 + 常用命令封装」,无需手动敲命令!

bash

运行

#!/bin/bash # Fail2Ban 一键部署脚本(适配 Ubuntu 20.04/22.04) # 作者:豆包编程助手 | 适配红客实战场景 # ====================== 第一步:安装依赖 ====================== echo -e "\033[32m[1/5] 安装 Fail2Ban 及 Web 界面依赖...\033[0m" sudo apt update && sudo apt install -y fail2ban php-cli unzip # ====================== 第二步:配置 SSHD 监狱 ====================== echo -e "\033[32m[2/5] 配置 SSHD 防护规则...\033[0m" sudo tee /etc/fail2ban/jail.d/sshd.conf <<-'EOF' [sshd] enabled = true port = ssh filter = sshd backend = systemd maxretry = 3 bantime = 3600 findtime = 600 ignoreip = 127.0.0.1 action = iptables-multiport EOF # ====================== 第三步:部署 Web 管理界面 ====================== echo -e "\033[32m[3/5] 部署 f2bwi Web 界面...\033[0m" sudo mkdir -p /var/www/f2bwi wget -q https://sourceforge.net/projects/f2bwi/files/latest/download -O /tmp/f2bwi.zip sudo unzip -q /tmp/f2bwi.zip -d /var/www/f2bwi sudo chown -R www-data:www-data /var/www/f2bwi # 消除 PHP 警告 sudo sed -i '1i <?php error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING); ?>' /var/www/f2bwi/index.php rm -f /tmp/f2bwi.zip # ====================== 第四步:重启服务并验证 ====================== echo -e "\033[32m[4/5] 重启 Fail2Ban 服务...\033[0m" sudo systemctl restart fail2ban sudo systemctl enable fail2ban # ====================== 第五步:封装常用命令(方便后续使用) ====================== echo -e "\033[32m[5/5] 封装常用命令...\033[0m" sudo tee /usr/local/bin/f2b <<-'EOF' #!/bin/bash case $1 in status) sudo fail2ban-client status $2 ;; ban) sudo fail2ban-client set $2 banip $3 ;; unban) sudo fail2ban-client set $2 unbanip $3 ;; web) cd /var/www/f2bwi && php -S 127.0.0.1:8080 ;; reload) sudo fail2ban-client reload $2 ;; *) echo "Fail2Ban 快捷命令使用说明:" echo " f2b status [监狱名] → 查看监狱状态(如 f2b status sshd)" echo " f2b ban [监狱名] [IP] → 封禁 IP(如 f2b ban sshd 10.0.0.1)" echo " f2b unban [监狱名] [IP] → 解封 IP(如 f2b unban sshd 10.0.0.1)" echo " f2b web → 启动 Web 管理界面(访问 http://127.0.0.1:8080)" echo " f2b reload [监狱名] → 重新加载配置" ;; esac EOF sudo chmod +x /usr/local/bin/f2b # ====================== 部署完成提示 ====================== echo -e "\033[32m====================== 部署完成!======================\033[0m" echo -e "✅ 常用快捷命令(直接执行):" echo -e " 查看 sshd 状态:f2b status sshd" echo -e " 封禁 IP:f2b ban sshd 10.0.0.1" echo -e " 解封 IP:f2b unban sshd 10.0.0.1" echo -e " 启动 Web 界面:f2b web" echo -e "✅ Web 界面访问地址:http://127.0.0.1:8080" echo -e "\033[33m注意:Web 界面仅本地访问,停止按 Ctrl+C 即可\033[0m"

使用说明

1. 执行脚本

bash

运行

# 保存脚本后赋予执行权限 sudo chmod +x fail2ban_setup.sh # 一键部署 sudo bash fail2ban_setup.sh

2. 后续常用操作(极简)

需求命令
查看 SSHD 封禁状态f2b status sshd
封禁 192.168.1.100f2b ban sshd 192.168.1.100
解封 192.168.1.100f2b unban sshd 192.168.1.100
启动 Web 管理界面f2b web

3. 注意事项

  • 脚本自动适配 Ubuntu 新版systemd日志机制,无需手动改配置;
  • Web 界面仅绑定127.0.0.1:8080,仅本地可访问,避免外网暴露风险;
  • 所有操作均以sudo权限执行,确保封禁规则生效。
http://www.cnnetsun.cn/news/69811.html

相关文章:

  • 如何用FLUX.1-dev镜像在本地部署下一代AI绘画模型?
  • 基于 Comsol 移动网格方法的激光熔池流动数值模拟
  • BLDC无刷直流电机Matlab仿真:转速电流双闭环控制及有感无感换相方式研究
  • [光学原理与应用-491]:水冷机、零气模块CDA、功率计等影响266皮秒紫外激光器的种子源1064nm功率稳定性结果的主要因素有哪些?
  • 昆仑通态MCGS与欧姆龙E5CC温控器通讯实战:PID模式及输出启停控制
  • 通达信〖逆势突破强牛〗指标公式 逆市环境中率先突破前期重要压力位 较强内在上涨动力
  • 基于扰动观测器的永磁同步电机(PMSM)模型预测控制(MPC)仿真探索
  • AEB联合仿真算法设计:Carsim2019.0+Matlab/Simulink2021a实现...
  • Java毕设选题推荐:基于springboot个人博客系统的设计与实现基于SpringBoot+Vue个人博客系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Java毕设选题推荐:基于springboot停车场车位预约系统基于Java springboot停车场管理系统停车位预约【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Java毕设选题推荐:基于springboot的无人化、线上化、数据化海洋馆预约系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Ascend C高级API应用:InitGlobalMemory与Pad操作的底层原理
  • Java毕设选题推荐:基于Java Web的新能源汽车信息咨询服务基于SpringBoot+Vue的新能源汽车信息咨询服务的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:OPA 集成指南:从原理到实践
  • Object.defineProperty和Proxy实现拦截的区别
  • 若依物联网
  • PSEN1抗体:如何揭示阿尔茨海默病致病机制与治疗新靶点?
  • Docker Engine 升级指南:保障容器安全的关键步骤
  • 基于zigbee灯光控制照明及色温调节系统的设计与实现(有完整资料)
  • 7、Python高级语法:描述器、属性与元编程实战
  • 【开题答辩全过程】以 基于java技术的校园一卡通系统的设计与实现为例,包含答辩的问题和答案
  • 11、Python 包与应用开发全解析
  • django基于智能推荐算法的全屋定制平台网站设计
  • 详谈:解释器模式(四)
  • 双Buck电路并联下的下垂控制与VDCM协同控制策略:增强直流微电网稳定性的仿真应用
  • Java 日期格式化方法:SimpleDateFormat 和 DateTimeFormatter
  • GPU 渲染模式:OpenGL ANGLE Vulkan 的选择与切换(工程师不踩坑指南)
  • 【dz-968】室内空气监测系统设计
  • 【接口测试】5_接口测试基础 _接口文档解析
  • 最近在搞风光储联合发电系统的仿真,发现直驱风机和光伏逆变器的配合特别有意思。今天就跟大伙儿唠唠这个模型搭建时遇到的坑,顺便分享几个关键模块的调参心得