温馨提示×

Debian环境如何进行安全加固

小樊
31
2025-12-24 16:02:04
栏目: 智能运维

Debian 安全加固实操清单

一 基线与账户安全

  • 保持系统最新:定期执行sudo apt update && sudo apt upgrade,及时修补漏洞;必要时启用自动安全更新以减少暴露窗口。
  • 最小权限与 sudo:日常使用普通用户 + sudo,将用户加入sudo组(如:sudo usermod -aG sudo username),撤销用 gpasswd -d;精细化授权请用visudo编辑**/etc/sudoers**,避免语法错误导致失权。
  • 强化口令策略:通过PAM配置密码复杂度与定期更换,禁止空密码;仅授予必要的 sudo 权限,遵循最小权限原则。
  • 禁用 root 远程登录:编辑**/etc/ssh/sshd_config**,设置PermitRootLogin no,并重启 SSH 服务。
  • 物理与控制台安全:启用BIOS/UEFI 密码GRUB 引导口令,限制物理接触与单用户模式滥用。

二 网络与防火墙

  • 只开放必要端口:使用UFWiptables限制入站,仅放行SSH/HTTP/HTTPS等必需服务;默认拒绝其他入站。
  • UFW 快速示例:
    • 允许 SSH、HTTP、HTTPS:sudo ufw allow 22/tcp;sudo ufw allow 80/tcp;sudo ufw allow 443/tcp
    • 启用与查看:sudo ufw enable;sudo ufw status verbose
    • 启用 IPv6(如启用):编辑**/etc/default/ufw**,设IPV6=yes
  • iptables 快速示例:
    • 放行回环、已建立连接与必要端口:
      • sudo iptables -A INPUT -i lo -j ACCEPT
      • sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
      • sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
      • sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
      • sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    • 默认策略:sudo iptables -P INPUT DROP
    • 持久化:安装iptables-persistent,安装时选择保存当前规则,或手动保存/恢复。

三 服务与 SSH 加固

  • SSH 安全基线:
    • 协议与认证:设置Protocol 2;禁用PermitEmptyPasswords;优先使用SSH 密钥认证,必要时禁用密码认证(PasswordAuthentication no)。
    • 登录限制:仅允许特定用户/组(AllowUsers/AllowGroups);可结合PAM 白名单限制来源;必要时更改默认端口并配合防火墙与日志审计。
    • 重启生效:systemctl restart ssh
  • 精简攻击面:卸载或禁用不必要的服务/端口(如 Telnet、Rsh、未使用的 FTP),减少可被利用的入口。

四 应用栈与数据库安全 LAMP 场景

  • Apache:仅启用必要模块;关闭目录列表;限制敏感目录访问;配置HTTP→HTTPS跳转。
  • MySQL/MariaDB:安装后立即运行mysql_secure_installation;删除匿名账户与测试库;限制远程 root;为应用创建最小权限账户;必要时仅监听127.0.0.1
  • PHP:在php.ini中禁用危险函数(如exec、system、shell_exec、passthru);限制上传大小(如upload_max_filesize=2M、post_max_size=8M);关闭暴露版本信息。
  • HTTPS:使用Certbot申请Let’s Encrypt证书(如:sudo apt install certbot python3-certbot-apache;sudo certbot --apache -d yourdomain.com)。
  • 备份:对**/var/www与数据库执行定期备份**(如 tar/rsync),并验证可恢复性。

五 日志监控 入侵防护 备份恢复

  • 日志与审计:集中收集与分析journalctl、/var/log/auth.log等;按需部署auditd记录关键系统调用与文件访问。
  • 入侵防护:启用Fail2ban防御暴力破解;部署rkhunter、chkrootkit进行后门/Rootkit 检测;有条件可引入IDS/IPS
  • 完整性校验:定期校验关键系统/应用文件的哈希数字签名,确保未被篡改。
  • 备份与演练:制定离线/异地备份策略(如 Timeshift、rsync/tar),定期恢复演练验证可用性;保留多版本变更记录
  • 安全启动:在支持的硬件上启用Secure Boot,提升固件与引导链完整性。

0