Debian 系统安全加固要点
术语澄清与总体思路
“Debian Context”并非官方术语,通常指的是在Debian系统上进行安全配置与安全加固的“上下文/场景”。面向生产环境,建议采用“纵深防御”策略:及时修补、最小权限、强制访问控制、边界防护、入侵检测与可观测性、备份恢复与物理/固件安全等多层联动,降低单点失效风险。
基础与账户安全
- 保持系统与软件为最新:定期执行apt update && apt upgrade;启用unattended-upgrades自动安装安全更新,缩短暴露窗口。
- 账户与权限:日常使用普通用户 + sudo,避免直接以root操作;通过PAM配置密码复杂度与定期更换;必要时仅对受控终端授予sudo。
- SSH安全:优先使用SSH密钥认证;禁用root远程登录(设置PermitRootLogin no);禁止空密码(PermitEmptyPasswords no);可按需更改默认端口并限制可登录用户列表(如AllowUsers),减少暴力破解面。
网络与边界防护
- 防火墙:使用ufw或iptables仅放行必要端口(如22/80/443),默认拒绝其他入站;对复杂策略可用nftables精细编排。
- 服务最小化:卸载或禁用不必要的软件包与systemd服务,减少攻击面。
- 端口与服务可见性:用ss -tulnp或netstat -tulnp核查监听端口,关闭无用服务与端口。
- 入侵防护:部署Fail2ban对暴力登录进行自动封禁,联动防火墙规则实现动态阻断。
强制访问控制与系统加固
- AppArmor:启用并管理AppArmor LSM,将关键服务(如nginx、mysqld、sshd)置于受限域;策略可在complain(仅告警)与enforce(阻断违规)间切换,便于逐步上线与调试。
- 检查与启用:cat /sys/module/apparmor/parameters/enabled;Debian 10+ 默认启用;如需手工开启,向内核命令行添加apparmor=1 security=apparmor并更新 GRUB。
- 常用操作:aa-status、aa-complain/aa-enforce、aa-disable、apparmor_parser -r 重载策略;日志位于**/var/log/syslog、/var/log/kern.log**(装auditd时亦在**/var/log/audit/audit.log**)。
- 社区资源:安装apparmor-profiles获取更多样例;或使用apparmor.d项目为桌面/服务器常见应用批量部署策略。
- 可选 MAC 框架:在需要时启用SELinux(Debian 支持),为更高强度的强制访问控制提供选择。
- 物理与固件:BIOS/UEFI 设置管理员密码并禁用USB/光盘启动;GRUB启用引导密码,防止未授权引导篡改。
Web 应用与运行时防护
- Web 应用防火墙:在 Apache/Nginx 前部署 ModSecurity + OWASP Core Rule Set(CRS),识别并阻断SQL 注入、XSS、文件包含等常见攻击;按需调整规则阈值与审计策略。
- LAMP 场景要点:
- Web 服务器:关闭目录列表(Options -Indexes),隐藏错误细节,配置HTTPS/TLS证书。
- 数据库:限制远程访问,仅允许本地套接字或受控网段;遵循最小权限原则与定期补丁。
- 运行时:结合Fail2ban对后台管理、数据库端口等进行暴力尝试封禁。
监控日志与备份恢复
- 日志与告警:集中收集与分析系统日志/服务日志,使用Logwatch定期汇总;为关键事件配置实时告警。
- 备份与恢复:制定定期备份(含配置与数据)与灾难恢复流程,优先采用离线/异地备份;在变更前后执行快照/回滚方案(如 Timeshift)。
- 审计与合规:保留关键审计日志,定期核查异常登录、权限变更与策略违规;对高风险变更采用灰度/回滚机制。