Debian Stream 8安全设置指南
小樊
39
2025-12-09 08:42:19
Debian Stream 8 安全设置指南
一 基线加固
- 保持系统最新:执行apt update && apt full-upgrade -y,并启用自动安全更新(如 unattended-upgrades),及时修补漏洞。
- 创建非 root 管理用户:例如adduser admin,再将其加入sudo组(usermod -aG sudo admin),日常以普通用户登录并通过 sudo 提权。
- 强化密码策略:安装libpam-pwquality,在**/etc/security/pwquality.conf设置如minlen=12、minclass=3**,并在 PAM 中应用(如:password requisite pam_pwquality.so retry=3)。
- 最小服务原则:用systemctl list-units --type=service --state=running查看运行服务,禁用不需要的网络服务(systemctl disable/stop )。
- 限制特权访问:仅授予 sudo 给必要用户,谨慎使用NOPASSWD。
- 日志与审计:关注**/var/log/auth.log、/var/log/syslog**,必要时部署Logwatch/Fail2ban进行告警与阻断。
二 防火墙与端口管理
- 使用 UFW(推荐):
- 启用与默认策略:ufw default deny incoming;ufw default allow outgoing;ufw enable
- 放行必要端口:如ufw allow 22/tcp(或自定义 SSH 端口)、ufw allow 80,443/tcp
- 按源 IP 限制:ufw allow from 203.0.113.10 to any port 22
- 查看与删除:ufw status verbose;ufw delete allow 22/tcp
- 使用 iptables(更灵活):
- 放行示例:iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- 持久化:保存为**/etc/iptables/rules.v4**,重启恢复:iptables-restore < /etc/iptables/rules.v4
- 云环境联动:同时收紧云厂商安全组,仅放行业务必需端口,避免直接暴露数据库与管理端口。
三 SSH 安全加固
- 修改默认端口:在**/etc/ssh/sshd_config设置Port 22022**(示例),减少自动化扫描命中。
- 禁用 root 登录与空密码:PermitRootLogin no;PermitEmptyPasswords no。
- 强制密钥认证并禁用密码:上传公钥至**~/.ssh/authorized_keys**(权限700/600),设置PasswordAuthentication no;优先使用ed25519密钥。
- 限制可登录用户与来源:如AllowUsers youruser,必要时结合AddressFamily inet(仅 IPv4)。
- 变更生效:执行systemctl restart sshd;建议先保留一个备用会话,确认新端口可连后再关闭旧会话。
- 可选增强:设置LoginGraceTime、MaxAuthTries、ClientAliveInterval/ClientAliveCountMax,并使用Banner /etc/issue.net进行合法提示。
四 服务最小化与网络暴露面收敛
- 关闭不必要服务与端口:定期审计ss -tulnp输出,停掉未使用的监听(如 Telnet、匿名 FTP)。
- 绑定回环地址:数据库/缓存等仅本机访问的服务(如Redis、MySQL)配置bind 127.0.0.1,避免外网直连。
- 限制管理端口访问:仅允许跳板机或内网网段访问管理端口(结合防火墙与 TCP Wrapper)。
- 分区与挂载选项:对**/tmp、/var/tmp、/home等使用独立分区,并启用noexec、nosuid**等挂载选项(视业务而定)。
五 入侵防护 备份与持续运维
- 防暴力破解:部署Fail2ban,示例 jail.local:
- [DEFAULT] 中设bantime=3600、findtime=600、maxretry=3、ignoreip=127.0.0.1/8 192.168.0.0/16
- [sshd] 中设enabled=true、port=22022、logpath=/var/log/auth.log、maxretry=3、bantime=86400
- 启动:systemctl enable --now fail2ban;查看/解封:fail2ban-client status sshd;fail2ban-client set sshd unbanip
- 完整性校验与镜像源:选择可信Debian 镜像源,必要时校验SHA256等散列,避免非官方包引入风险。
- 备份与恢复:制定定期备份(配置与数据分离),并验证可恢复性;保留离线/异地副本。
- 物理与引导安全:BIOS/UEFI 设管理员密码、禁用不必要启动介质;启用GRUB 密码防止单用户模式滥用;在支持的硬件上开启Secure Boot。