SWALEH-cmd/linux-incident-response-portfolio
GitHub: SWALEH-cmd/linux-incident-response-portfolio
该项目是一个基于三层无头 Linux 环境的云支持工程师事件响应作品集,记录了暴力破解排查、多层网络中断修复和磁盘空间紧急清理三个实操案例。
Stars: 0 | Forks: 0
# 三层无头 Linux 基础设施:事件响应与日志筛选作品集
**目标职位:** Cloud Support Associate
**架构:** 三层无头虚拟化环境(Jump Box、Web Server、Database Server)
## 📌 项目概述
本仓库包含针对真实生产环境事件响应模拟的文档和可验证的工作证明。在一个完全无头的 Linux 环境中,我作为一线 Cloud Support Associate,利用企业级最佳实践来识别、筛选和修复高严重性的系统、网络和安全故障。
## 🛠️ 事件 01:“静默边界中断”(暴力破解 SSH 筛选)
* **情况:** 一个高严重性安全警报标记了企业网关(Jump Box)上异常的连接失败激增。疑似存在活跃的暴力破解 SSH 攻击,企图破坏该环境。
* **任务:** 分析身份验证日志,隔离恶意攻击者的 IP 地址,在网络边界消除威胁,并验证边界锁定情况。
* **行动:**
1. 使用 `sudo tail -n 20 /var/log/auth.log` 审计最新的系统身份验证日志,以追踪失败的连接特征。
2. 通过过滤日志参数,动态隔离出特定的攻击者 IP 地址:
`sudo grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort -u`
3. 通过使用 Uncomplicated Firewall (UFW) 强制执行硬性丢弃规则,在网络层消除了该恶意攻击者:
`sudo ufw deny from 192.168.54.128 to any`
* **结果:** 捍卫了网关基础设施,永久阻断了攻击途径,并实现了 100% 的安全边界验证。
### 📸 工作证明(事件 01)
以下是捕获失败连接尝试的日志分析,随后是丢弃攻击者流量的活动防火墙规则。


## 🛠️ 事件 02:“失聪的数据库断开”(多层中断)
* **情况:** 生产 Web 应用程序经历了严重的多层断开。前端 Web Server(`192.168.54.128`)开始向公共用户抛出连接超时,表明其无法连接到后端 Database Server(`192.168.54.129`)。
* **任务:** 追踪网络握手,分析后台服务健康状况,确定根本原因是应用程序崩溃还是网络边界阻塞,并恢复数据通道的连通性。
* **行动:**
1. 使用 Netcat 从 Web Server 执行有针对性的网络探测,以验证端口状态:
`nc -zv -w 3 192.168.54.129 3306`(确认连接超时)。
2. 连接到 Database Server 以审计后台 daemon 的健康状况:
`sudo systemctl status mysql --no-pager`(确认服务处于 active/running 状态)。
3. 使用 `sudo ufw status numbered` 检查防火墙布局,发现了一条错误规则,该规则丢弃了来自 Web 层的针对 3306 端口的传入 TCP 流量。
4. 通过其索引值精准剔除该错误配置:
`sudo ufw delete 1`
* **结果:** 成功恢复了多层的数据 pipeline。通过成功的连接状态映射(`succeeded!`)立即进行了验证,在严格的 SLA 范围内解决了此次中断。
### 📸 工作证明(事件 02)
以下是已验证的网络超时探测,随后是清理并更正后的防火墙表索引。


## 🛠️ 事件 03:“日志泄漏空间耗尽”(紧急修复)
* **情况:** 一个关键的基础设施监控器报告,由于应用程序日志记录循环失控,生产 Database Server 的存储容量即将耗尽,威胁到数据库的全面稳定性。
* **任务:** 分析磁盘利用率指标,隔离导致泄漏的系统目录,在严格的数据保留策略下执行紧急安全的日志截断,并恢复存储容量。
* **行动:**
1. 使用 `df -h` 评估磁盘存储分区分配,以验证根卷空间紧缩。
2. 使用目录摘要追踪具体的泄漏块至日志目录:
`sudo du -sh /var/log`
3. 通过 `sudo journalctl --disk-usage` 审计总 journal 大小。
4. 执行安全、按时间顺序的日志清理操作,清除旧的归档文件,同时为了合规审计安全地保留过去 3 天的故障排除历史记录:
`sudo journalctl --vacuum-time=3d`
* **结果:** 立即收回了宝贵的存储空间,避免了高严重性的生产数据库崩溃,并安全地保留了关键的近期诊断指标。
### 📸 工作证明(事件 03)
以下是初始的存储空间耗尽检查,随后是显示清理序列后收回块的各项生产指标。


## 🧰 展示的技术技能
* **日志管理与筛选:** `journalctl`、`tail -f`、`grep`、`/var/log/auth.log`
* **网络安全边界:** `ufw (status, deny, delete, indexing)`、`nc (Netcat)`
* **Linux 系统管理:** `df`、`du`、`systemctl`、`awk`、`sort`
标签:安全运营, 库, 应急响应, 扫描框架, 虚拟化, 运维