打开/关闭搜索
搜索
打开/关闭菜单
54
677
62
1925
md5.pw
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
上传文件
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
登录
请求账号
查看“︁如何在搬瓦工服务器上安装ufw防火墙和Fail2ban来防止黑客暴力破解”︁的源代码
来自md5.pw
分享此页面
更多语言
查看
阅读
查看源代码
查看历史
associated-pages
页面
讨论
更多操作
←
如何在搬瓦工服务器上安装ufw防火墙和Fail2ban来防止黑客暴力破解
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
在[[如何重装搬瓦工服务器的系统|上一篇教程]]中,我们成功将服务器重装为了 '''Debian 12''' 系统。 Debian 12 (Bookworm) 相比旧版本做了一个重要的底层变更:默认不再安装 <code>rsyslog</code>,这意味着 <code>/var/log/auth.log</code> 这种传统的文本日志文件在默认状态下是不存在的。 这导致很多网上的旧版 Fail2Ban 教程在 Debian 12 上会失效(常见报错为 <code>Failed to access socket path</code> 或无法封禁 IP)。 本篇教程将基于 Debian 12 的新特性,带大家部署 '''UFW 防火墙''',并配置'''使用 Systemd 驱动的 Fail2Ban''',为你的 VPS 提供严谨、有效的安全防护。 ---- === 第一步:基础环境更新 === 安全的第一步永远是保持软件最新。连接 SSH 后,执行以下命令更新软件包列表: <syntaxhighlight lang="bash"> apt update && apt upgrade -y </syntaxhighlight> [[File:Image.1.png|center|thumb|950x950px]] ---- === 第二步:配置 UFW 防火墙 === '''UFW (Uncomplicated Firewall)''' 是管理 iptables 的前端工具,配置简单且不易出错。 ==== 1. 安装 UFW ==== <syntaxhighlight lang="bash">apt install ufw -y</syntaxhighlight> [[File:Image.2.png|center|thumb|950x950px]] ==== 2. 放行 SSH 端口(核心步骤) ==== '''注意''':在启动防火墙之前,'''必须'''显式放行 SSH 端口,否则会直接切断你当前的连接。 * '''默认端口''':如果你没改过端口,执行: <syntaxhighlight lang="bash"> ufw allow 22/tcp </syntaxhighlight> * '''自定义端口''':如果你修改了 SSH 端口(例如 29999),请务必改为: <syntaxhighlight lang="bash"> ufw allow 29999/tcp </syntaxhighlight> [[File:Image.3.png|center|thumb|950x950px]] ==== 3. 放行 Web 服务(可选) ==== 如果你后续计划部署博客或网站,建议提前放行 HTTP 和 HTTPS 端口: <syntaxhighlight lang="bash"> ufw allow 80/tcp ufw allow 443/tcp </syntaxhighlight> ==== 4. 启用防火墙 ==== 确认规则添加无误后,启用 UFW: <syntaxhighlight lang="bash"> ufw enable </syntaxhighlight> 系统会提示可能会中断 SSH 连接,输入 <code>y</code> 并回车确认。 [[File:Image.4.png|center|thumb|900x900px]] ---- === 第三步:部署 Fail2Ban (适配 Debian 12) === '''Fail2Ban''' 通过监控日志来发现恶意行为(如频繁输错密码),并自动调用防火墙封禁来源 IP。 ==== 1. 安装 Fail2Ban ==== <syntaxhighlight lang="bash"> apt install fail2ban -y </syntaxhighlight> [[File:Image.5.png|center|thumb|900x900px]] ==== 2. 创建自定义配置文件 ==== 为了保持配置的整洁和持久性(防止软件升级覆盖配置),我们不要直接修改 <code>/etc/fail2ban/jail.conf</code>,而是在 <code>jail.d</code> 目录下新建一个高优先级的配置文件。 使用 vim 或 nano 编辑新文件: <syntaxhighlight lang="bash"> nano /etc/fail2ban/jail.d/defaults-debian.conf </syntaxhighlight> [[File:Image.56.png|center|thumb|900x900px]] ==== 3. 写入核心配置(Systemd 模式) ==== '''这是最关键的一步。''' 针对 Debian 12 默认没有 <code>auth.log</code> 的情况,我们需要指定 <code>backend = systemd</code>,让 Fail2Ban 直接从系统日志接口读取数据。 请将以下内容复制并粘贴到文件中: <syntaxhighlight lang="ini"> [DEFAULT] # 忽略的 IP 白名单(将 1.1.1.1 替换为你自己的常用 IP,或者删除该行) ignoreip = 127.0.0.1/8 ::1 # 封禁时长:1小时 (-1 为永久封禁) bantime = 1h # 判定时间窗口:10分钟内输错 N 次即封禁 findtime = 10m # 最大尝试次数 maxretry = 5 # [重要] 指定封禁动作使用 ufw banaction = ufw [sshd] enabled = true # [核心] Debian 12 必须指定 backend 为 systemd 才能读取日志 backend = systemd port = ssh </syntaxhighlight> *按 <code>Ctrl + O</code> 保存,按 <code>Ctrl + X</code> 退出编辑器。* [[File:Image.6.png|center|thumb|900x900px]] ==== 4. 启动并验证服务 ==== 配置完成后,重启 Fail2Ban 服务以应用更改: <syntaxhighlight lang="bash"> systemctl restart fail2ban systemctl enable fail2ban </syntaxhighlight> '''验证服务状态''': 输入以下命令查看 SSH 监控模块的运行情况: <syntaxhighlight lang="bash"> fail2ban-client status sshd </syntaxhighlight> '''正确的结果'''应该类似下方输出,且不会出现 <code>ERROR</code> 或 <code>Failed to access socket</code> 的报错: <syntaxhighlight lang="text"> Status for the jail: sshd |- Filter | |- Currently failed: 0 | |- Total failed: 0 | `- Journal matches: _SYSTEMD_UNIT=sshd.service + _COMM=sshd `- Actions |- Currently banned: 0 |- Total banned: 0 `- Banned IP list: </syntaxhighlight> 如果看到 <code>Journal matches</code> 或类似的日志源提示,说明 Fail2Ban 已经成功挂载到 systemd 日志流上,开始正常工作了。 [[File:Image.7.png|center|thumb|900x900px]] ---- === 总结 === 至此,UFW防火墙和Fail2ban都设置完成。 [[index.php?title=Category:500 常见应用指南 — Application Guides]] [[Category:500 常见应用指南 — Application Guides]]
返回
如何在搬瓦工服务器上安装ufw防火墙和Fail2ban来防止黑客暴力破解
。
查看“︁如何在搬瓦工服务器上安装ufw防火墙和Fail2ban来防止黑客暴力破解”︁的源代码
来自md5.pw