mujtaba815/ssh-security-with-fail2ban
GitHub: mujtaba815/ssh-security-with-fail2ban
该项目通过配置 UFW 防火墙、Fail2Ban 和 OpenSSH,演示了在 Ubuntu 服务器上防御 SSH 暴力破解攻击的完整加固方案与攻击模拟流程。
Stars: 0 | Forks: 0
# Linux 服务器加固与 SSH 暴力破解缓解
# 项目概述
本项目演示了 Linux 服务器加固技术的实施,旨在保护 Ubuntu 服务器免受 SSH 暴力破解攻击。该实验室旨在模拟真实的攻击场景,同时应用 Linux 管理员和安全运营中心 (SOC) 分析师常用的防御性安全措施。
该项目侧重于使用 OpenSSH 保护远程 SSH 访问,使用 UFW (Uncomplicated Firewall) 实施 firewall 规则,并配置 Fail2Ban 以检测连续的认证失败。Kali Linux 被用于模拟暴力破解登录尝试,从而通过认证日志分析来评估所实施安全控制的有效性。
该项目提供了在受控实验室环境中进行 Linux 管理、防御性安全、日志监控、入侵检测和故障排除的实践经验。
# 目标
- 配置安全的 Ubuntu Linux 服务器。
- 启用并验证安全的 SSH 远程访问。
- 使用 UFW 实施 firewall 保护。
- 部署并配置 Fail2Ban 以保护 SSH。
- 使用 Kali Linux 模拟 SSH 暴力破解攻击。
- 监控认证日志以发现可疑活动。
- 验证入侵检测能力。
- 培养实用的 Linux 安全和 Blue Team 技能。
# 实验室环境
| 组件 | 描述 |
|-----------|-------------|
| 宿主机 | Windows 11 |
| 目标服务器 | Ubuntu 24.04 LTS (WSL) |
| 攻击机 | Kali Linux |
| SSH 服务 | OpenSSH Server |
| Firewall | UFW (Uncomplicated Firewall) |
| 入侵防御 | Fail2Ban |
| 日志来源 | `journalctl`, `/var/log/auth.log` |
# 使用的技术
- Ubuntu 24.04 LTS
- Windows Subsystem for Linux (WSL)
- Kali Linux
- OpenSSH Server
- UFW Firewall
- Fail2Ban
- journalctl
- auth.log
- Linux 终端
# 项目工作流
1. 安装并配置了 Ubuntu 24.04 LTS。
2. 安装并启用了 OpenSSH server。
3. 验证了安全的 SSH 连接。
4. 配置了 UFW firewall 规则,以在保护服务器的同时允许 SSH 流量。
5. 安装并配置了 Fail2Ban。
6. 使用自定义安全设置启用了 SSH jail。
7. 模拟了来自 Kali Linux 的多次 SSH 登录失败尝试。
8. 使用 Linux 日志工具监控了认证日志。
9. 验证了 Fail2Ban 是否成功检测到了连续的登录失败尝试。
10. 调查了安全事件并记录了调查结果。
# 实施的安全控制
- 安全的 SSH 配置
- UFW Firewall 规则
- Fail2Ban 入侵检测
- 认证日志监控
- SSH 暴力破解检测
- Linux 服务管理
- 安全事件调查
# 项目成果
该项目成功演示了多种安全控制措施如何协同工作,以保护 Linux 服务器免受 SSH 暴力破解攻击。
实施的解决方案成功实现了:
- 启用了安全的 SSH 访问。
- 使用 UFW firewall 规则保护了服务器。
- 使用 Fail2Ban 检测到了连续的 SSH 认证失败。
- 生成了用于安全分析的认证日志。
- 加深了对 Linux 安全监控和事件调查的理解。
在测试期间,Ubuntu 是使用 Windows Subsystem for Linux (WSL) 部署的。虽然 Fail2Ban 成功检测到了连续的认证失败,但由于 WSL 的网络行为,自动 IP 封禁受到了限制。这突显了在实施安全控制时了解平台特定限制的重要性。
# 截图
本仓库包含以下演示截图:
- 项目工作流
- Ubuntu 服务器设置
- SSH 配置
- UFW Firewall 状态
- Fail2Ban 配置
- Fail2Ban 服务状态
- SSH 暴力破解模拟
- 认证日志分析
- Fail2Ban 检测
- 最终安全验证
# 展示的技能
- Linux 管理
- SSH 安全
- Firewall 管理
- Fail2Ban 配置
- 认证日志分析
- 安全监控
- 事件调查
- Linux 故障排除
- Blue Team 基础
# 未来改进
- 在原生 Ubuntu Server 上部署该项目。
- 配置基于 SSH 密钥的认证。
- 禁用基于密码的 SSH 认证。
- 更改默认的 SSH 端口。
- 将集中式日志记录与 SIEM 解决方案集成。
- 为 Fail2Ban 事件配置电子邮件通知。
# 作者
**Mujtaba Hussain**
软件工程毕业生 | 有志成为 SOC 分析师 | 网络安全爱好者
如果您觉得这个项目有帮助或有趣,请考虑给该仓库点个 ⭐。
标签:PE 加载器, 入侵防御, 服务器加固, 系统运维, 防火墙