Debian Exploit 防范最佳实践指南
一 基线与加固
- 保持系统与软件为最新:定期执行 sudo apt update && sudo apt upgrade -y;启用自动安全更新(如 unattended-upgrades)以第一时间获取安全补丁。
- 最小化安装与精简服务:仅安装必要软件,停用不需要的 systemd 服务与端口,降低攻击面。
- 强化用户与权限:日常使用普通用户并通过 sudo 提权;禁止 root 远程登录;为 SSH 配置密钥认证并禁用密码与空密码登录;使用 PAM 实施强密码策略。
- 加固 SSH:编辑 /etc/ssh/sshd_config,设置 PermitRootLogin no、禁用密码认证(PasswordAuthentication no)、按需更改默认端口,修改后执行 systemctl restart ssh。
- 启用安全启动(Secure Boot):在支持的硬件上开启,提升固件与引导链完整性。
- 选用可信镜像源:优先使用 Debian 官方/认可镜像,并在安装或更新前校验 MD5/SHA256,避免引入篡改包。
二 网络与访问控制
- 配置防火墙:使用 ufw 或 iptables 仅开放必需端口(如 22/80/443),默认拒绝其他入站;按需限制出站流量。
- 端口与服务最小化:关闭不必要的 TCP/UDP 端口与后台服务,定期复核 netstat -tulpen 或 ss -tulpen 的输出。
- 边界与主机加固:对外服务启用 TLS/HTTPS;Web 服务器(如 Nginx/Apache)关闭不必要模块、限制目录访问、及时修补。
- 入侵检测/防御:部署 Snort/Suricata 等 IDS/IPS 进行流量异常检测与阻断。
三 监控 日志与审计
- 集中与长期化日志:启用 rsyslog/syslog-ng,使用 Logwatch 进行日报;关键服务单独设定日志级别与留存策略。
- 认证与系统日志审查:重点排查 /var/log/auth.log、/var/log/syslog 中的异常登录(如 “Failed password”“root” 等)。
- 主机入侵检测:使用 AIDE/Tripwire 做文件完整性校验,定期运行 dpkg --audit 检查未满足依赖或异常包。
- 审计与可视化:通过 auditd 记录关键系统调用;需要时引入 ELK 或 SIEM 做集中分析与告警。
四 备份恢复与应急响应
- 自动化备份:使用 Timeshift(系统快照)、rsync/duplicity 等定期备份关键数据与配置,异地/离线保存副本并定期校验。
- 可恢复性演练:定期测试备份的 完整性与恢复流程,确保真实可用。
- 事件响应流程:
- 立即隔离受影响系统(断网/下线);
- 备份当前状态(内存、日志、关键文件)以便取证;
- 分析入侵路径与利用点(日志、网络连接、可疑进程);
- 修补漏洞或临时停用相关服务;
- 恢复业务并持续监控一段时间以排除残留后门。
五 安全配置清单与加固命令示例
| 目标 |
关键配置 |
命令或路径示例 |
| 系统与软件更新 |
启用自动安全更新 |
安装 unattended-upgrades;配置 /etc/apt/apt.conf.d/50unattended-upgrades 与 20auto-upgrades |
| 防火墙 |
仅开放 22/80/443 |
ufw allow 22,80,443/tcp;ufw enable;ufw status verbose |
| SSH 加固 |
禁用 root 与密码登录,使用密钥 |
/etc/ssh/sshd_config:PermitRootLogin no,PasswordAuthentication no,PubkeyAuthentication yes;systemctl restart ssh |
| 权限与密码 |
最小权限与强密码策略 |
usermod -aG sudo ;PAM 配置(pam_pwquality)设置复杂度与周期 |
| 服务最小化 |
停用不需要的服务 |
systemctl disable --now ;ss -tulpen 复核 |
| 完整性校验 |
文件与包状态监控 |
aideinit;tripwire --check;dpkg --audit |
| 入侵检测 |
网络流量异常检测 |
部署 Snort/Suricata;配合日志分析平台告警 |
| 日志与审计 |
集中日志与审计追踪 |
rsyslog/syslog-ng 配置;journalctl -xe;auditd 规则配置 |
| 备份恢复 |
快照与离线副本 |
timeshift --create;rsync -aAX --delete / /backup;定期恢复演练 |
以上清单与命令示例可直接用于日常加固与巡检,建议纳入变更管理与合规审计流程。