- 创建 /api/enhance 路由,实现图片变清晰API集成 - 在图片标注组件中添加变清晰按钮(Sparkles图标) - 在相册页面添加变清晰按钮 - 系统设置:将抠图设置改名为本地AI设置,添加变清晰API配置 - 支持同步和异步两种模式 - 自动上传到S3存储桶并保存到数据库 - 在相册和出图记录中显示处理后的图片
253 lines
5.5 KiB
Markdown
253 lines
5.5 KiB
Markdown
# 服务器安全状态综合报告
|
||
|
||
## 📊 安全服务状态
|
||
|
||
### 运行中的安全服务
|
||
|
||
1. **CrowdSec** - 现代化威胁检测引擎
|
||
- 状态:运行中
|
||
- 功能:实时威胁检测、IP封禁、行为分析
|
||
- 监控范围:SSH、Nginx、PostgreSQL、auditd
|
||
|
||
2. **fail2ban** - SSH暴力破解防护
|
||
- 状态:运行中
|
||
- 功能:检测SSH暴力破解攻击并自动封禁IP
|
||
- 监控:SSH登录失败尝试
|
||
|
||
3. **auditd** - 系统审计服务
|
||
- 状态:运行中
|
||
- 功能:记录系统调用、文件访问、进程执行
|
||
- 集成:与CrowdSec集成,检测内部威胁
|
||
|
||
4. **SSH服务** - 远程访问服务
|
||
- 状态:运行中
|
||
- 保护:配置文件不可变、自动监控、服务保护
|
||
|
||
## 🚨 安全事件统计
|
||
|
||
### 外部攻击
|
||
|
||
- **CrowdSec警报**:检测到的威胁事件数量
|
||
- **当前封禁IP**:正在被封禁的IP地址数量
|
||
- **fail2ban封禁**:SSH暴力破解封禁的IP数量
|
||
|
||
### 内部威胁
|
||
|
||
- **auditd场景**:已启用的内部威胁检测场景数量
|
||
- **auditd警报**:检测到的内部威胁事件数量
|
||
|
||
## 🔍 监控能力
|
||
|
||
### CrowdSec监控场景
|
||
|
||
1. **SSH监控**
|
||
- `crowdsecurity/ssh-bf` - SSH暴力破解检测
|
||
- `crowdsecurity/ssh-slow-bf` - SSH慢速暴力破解检测
|
||
|
||
2. **Web监控**
|
||
- Nginx日志监控
|
||
- HTTP攻击检测
|
||
- API滥用检测
|
||
|
||
3. **数据库监控**
|
||
- PostgreSQL暴力破解检测
|
||
- 数据库异常访问检测
|
||
|
||
4. **内部威胁监控**
|
||
- `auditd-postexploit-exec-from-net` - 后门利用检测
|
||
- `auditd-base64-exec-behavior` - 隐藏命令执行检测
|
||
- `auditd-postexploit-pkill` - 恶意进程管理检测
|
||
- `auditd-postexploit-rm` - 痕迹清理检测
|
||
- `auditd-suid-crash` - 权限提升检测
|
||
- `auditd-sus-exec` - 可疑执行检测
|
||
|
||
### fail2ban监控
|
||
|
||
- SSH登录失败检测
|
||
- 自动IP封禁(1小时)
|
||
- 封禁记录日志
|
||
|
||
## 🛡️ SSH保护措施
|
||
|
||
### 文件系统级保护
|
||
|
||
- ✅ SSH配置文件已设置为不可变(immutable)
|
||
- ✅ 文件权限:600 (root:root)
|
||
- ✅ 目录权限:755 (root:root)
|
||
|
||
### 配置监控
|
||
|
||
- ✅ SSH配置监控脚本已安装
|
||
- 每5分钟检查配置文件
|
||
- 自动检测和恢复配置修改
|
||
- 日志:`/var/log/ssh-config-monitor.log`
|
||
|
||
### 服务保护
|
||
|
||
- ✅ SSH服务保护脚本已安装
|
||
- 每2分钟检查服务状态
|
||
- 自动重启停止的服务
|
||
- 日志:`/var/log/ssh-service-protect.log`
|
||
|
||
### 配置备份
|
||
|
||
- ✅ SSH配置自动备份
|
||
- 位置:`/root/ssh_backups/`
|
||
- 策略:保留最近10个备份
|
||
|
||
## 📋 安全检查清单
|
||
|
||
### 网络安全
|
||
|
||
- [x] CrowdSec监控已启用
|
||
- [x] fail2ban SSH保护已启用
|
||
- [x] 防火墙规则已配置(如果需要)
|
||
- [x] 异常网络连接监控
|
||
|
||
### 系统安全
|
||
|
||
- [x] auditd服务运行中
|
||
- [x] 系统日志记录完整
|
||
- [x] 异常进程监控
|
||
- [x] 资源使用监控
|
||
|
||
### SSH安全
|
||
|
||
- [x] SSH配置文件不可变
|
||
- [x] SSH配置监控已启用
|
||
- [x] SSH服务保护已启用
|
||
- [x] SSH服务自动启动
|
||
|
||
### 应用安全
|
||
|
||
- [x] 数据库访问控制
|
||
- [x] 应用层安全防护
|
||
- [x] 输入验证和清理
|
||
- [x] 速率限制
|
||
|
||
## 🔄 日志位置
|
||
|
||
### CrowdSec日志
|
||
|
||
```bash
|
||
# CrowdSec服务日志
|
||
journalctl -u crowdsec -f
|
||
|
||
# CrowdSec警报
|
||
cscli alerts list
|
||
|
||
# CrowdSec决策(封禁)
|
||
cscli decisions list
|
||
|
||
# CrowdSec指标
|
||
cscli metrics
|
||
```
|
||
|
||
### fail2ban日志
|
||
|
||
```bash
|
||
# fail2ban服务日志
|
||
journalctl -u fail2ban -f
|
||
|
||
# fail2ban日志文件
|
||
tail -f /var/log/fail2ban.log
|
||
|
||
# fail2ban状态
|
||
fail2ban-client status sshd
|
||
```
|
||
|
||
### SSH保护日志
|
||
|
||
```bash
|
||
# SSH配置监控日志
|
||
tail -f /var/log/ssh-config-monitor.log
|
||
|
||
# SSH服务保护日志
|
||
tail -f /var/log/ssh-service-protect.log
|
||
|
||
# SSH服务日志
|
||
journalctl -u sshd -f
|
||
```
|
||
|
||
### 系统安全日志
|
||
|
||
```bash
|
||
# SSH登录日志(Ubuntu/Debian)
|
||
tail -f /var/log/auth.log
|
||
|
||
# SSH登录日志(CentOS/RHEL)
|
||
tail -f /var/log/secure
|
||
|
||
# auditd日志
|
||
tail -f /var/log/audit/audit.log
|
||
|
||
# 系统日志
|
||
journalctl -p err -f
|
||
```
|
||
|
||
## 📊 安全指标
|
||
|
||
### 攻击检测
|
||
|
||
- **SSH暴力破解**:通过CrowdSec和fail2ban检测
|
||
- **Web攻击**:通过CrowdSec Nginx监控检测
|
||
- **数据库攻击**:通过CrowdSec PostgreSQL监控检测
|
||
- **内部威胁**:通过CrowdSec auditd监控检测
|
||
|
||
### 响应措施
|
||
|
||
- **自动IP封禁**:CrowdSec和fail2ban自动封禁攻击者
|
||
- **配置恢复**:SSH配置被修改时自动恢复
|
||
- **服务重启**:SSH服务停止时自动重启
|
||
- **日志记录**:所有安全事件完整记录
|
||
|
||
## ⚠️ 安全建议
|
||
|
||
### 短期建议
|
||
|
||
1. **定期审查日志**
|
||
- 每天检查CrowdSec警报
|
||
- 每周审查fail2ban封禁记录
|
||
- 每月审查auditd内部威胁警报
|
||
|
||
2. **更新安全规则**
|
||
- 定期更新CrowdSec场景
|
||
- 根据实际情况调整fail2ban规则
|
||
- 优化auditd监控场景
|
||
|
||
3. **备份验证**
|
||
- 定期验证SSH配置备份
|
||
- 测试配置恢复流程
|
||
- 验证服务保护脚本
|
||
|
||
### 长期建议
|
||
|
||
1. **安全审计**
|
||
- 定期进行安全审计
|
||
- 检查系统漏洞
|
||
- 更新安全补丁
|
||
|
||
2. **监控优化**
|
||
- 优化监控规则
|
||
- 减少误报
|
||
- 提高检测准确性
|
||
|
||
3. **文档维护**
|
||
- 更新安全文档
|
||
- 记录安全事件
|
||
- 总结经验教训
|
||
|
||
## 🎯 总结
|
||
|
||
服务器已实施多层安全防护:
|
||
|
||
1. **外部攻击防护**:CrowdSec + fail2ban
|
||
2. **内部威胁检测**:auditd + CrowdSec
|
||
3. **SSH连接保护**:文件系统级 + 监控 + 服务保护
|
||
4. **完整日志记录**:所有安全事件可追溯
|
||
|
||
当前安全状态:**良好** ✅
|
||
|
||
所有安全服务正常运行,监控系统正常工作,能够及时发现和响应安全威胁。
|
||
|