温馨提示×

Debian如何进行安全加固

小樊
65
2025-09-23 15:20:58
栏目: 智能运维

Debian系统安全加固指南
Debian系统安全加固需从系统基础配置、服务安全优化、访问控制强化、监控审计完善等多维度展开,以下是具体关键步骤:

1. 系统更新与补丁管理

保持系统及软件包最新是防范已知漏洞的核心措施。定期执行以下命令更新系统:

sudo apt update && sudo apt upgrade -y

启用自动安全更新,确保及时获取关键补丁:

sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades  # 启用自动安装安全更新

2. 用户与权限管理

  • 禁用root远程登录:编辑/etc/ssh/sshd_config,设置PermitRootLogin no,强制使用普通用户+sudo组合操作,降低root账户泄露风险。
  • 创建专用运维账户:添加普通用户并加入sudo组,赋予必要权限:
    sudo adduser admin
    sudo usermod -aG sudo admin
    
  • 强化密码策略:通过PAM模块设置密码复杂度(如最小长度12位、包含大小写字母、数字和特殊字符)。编辑/etc/pam.d/common-password,添加:
    password requisite pam_cracklib.so retry=3 minlen=12 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1
    
  • 设置umask值:默认umask为022(文件权限644、目录755),调整为027(文件640、目录750),限制文件共享权限:
    echo "umask 027" >> /etc/profile
    

3. SSH服务安全配置

SSH是远程管理的主要通道,需重点加固:

  • 修改默认端口:编辑/etc/ssh/sshd_config,将Port 22改为非标准端口(如2222),减少自动化扫描攻击。
  • 禁用密码认证:设置PasswordAuthentication no,强制使用SSH密钥对认证,提升身份验证安全性。
  • 限制访问IP:通过AllowUsers指令仅允许可信IP登录(如AllowUsers admin@192.168.1.*)。
  • 重启SSH服务:修改后重启生效:
    sudo systemctl restart sshd
    

4. 防火墙配置

使用**UFW(Uncomplicated Firewall)**限制入站/出站流量,默认拒绝所有入站连接:

sudo apt install ufw
sudo ufw default deny incoming
sudo ufw allow ssh  # 允许SSH端口(如22或自定义端口)
sudo ufw allow http  # 允许HTTP服务(如需)
sudo ufw allow https  # 允许HTTPS服务(如需)
sudo ufw enable  # 启用防火墙
sudo ufw status  # 查看规则状态

5. 服务最小化

禁用系统启动时不必要的服务,减少攻击面:

# 查看运行中的服务
systemctl list-units --type=service

# 停止并禁用不需要的服务(如CUPS打印服务)
sudo systemctl stop cups
sudo systemctl disable cups

6. 文件系统与权限加固

  • 设置敏感目录权限:限制/etc/cron*(计划任务)、/etc/ssh(SSH配置)、SSH主机密钥的访问权限:
    chmod 700 /etc/cron* /etc/ssh/ssh_host_*_key
    chmod 600 /etc/shadow  # 密码文件仅root可读
    
  • 查找异常SUID文件:SUID文件可能被利用提权,定期检查并处理可疑文件:
    find / -perm -4000 -type f -exec ls -ld {} \; 2>/dev/null
    

7. 内核参数优化

编辑/etc/sysctl.conf,调整内核安全参数,增强系统抗攻击能力:

# 启用IP源路由过滤
net.ipv4.conf.all.rp_filter = 1
# 忽略ICMP广播请求(防止Smurf攻击)
net.ipv4.icmp_echo_ignore_broadcasts = 1
# 启用SYN Cookie(防止SYN Flood攻击)
net.ipv4.tcp_syncookies = 1
# 保护硬链接和符号链接
fs.protected_hardlinks = 1
fs.protected_symlinks = 1

应用配置:

sudo sysctl -p

8. 安全工具部署

  • 安装Fail2ban:防止暴力破解攻击,自动封禁多次登录失败的IP:
    sudo apt install fail2ban
    sudo systemctl enable fail2ban
    sudo systemctl start fail2ban
    
  • 使用AIDE进行文件完整性检查:监控关键文件是否被篡改,生成初始数据库:
    sudo apt install aide
    sudo aideinit -y  # 生成基准数据库
    
  • 订阅安全公告:加入debian-security-announce邮件列表,及时获取Debian官方安全更新信息。

9. 日志审计与监控

  • 集中日志管理:使用rsyslogsyslog-ng将日志发送到远程服务器,避免本地日志被篡改。
  • 监控关键日志:定期检查/var/log/auth.log(认证日志)、/var/log/syslog(系统日志),识别异常登录或操作。
  • 使用Logwatch生成日报:汇总每日系统活动,便于快速排查问题:
    sudo apt install logwatch
    sudo systemctl enable logwatch
    sudo systemctl start logwatch
    

10. 数据备份策略

定期备份重要数据(如配置文件、数据库、用户数据),建议采用增量备份+异地备份组合:

  • 本地增量备份:使用tar结合--listed-incremental选项,每日备份变化部分:
    sudo tar -g /var/backup/snapshot -czvf /var/backup/$(date +%F).tar.gz /etc /home /var/www
    
  • 异地备份:通过rsync将备份同步到远程服务器,防止本地磁盘故障导致数据丢失:
    rsync -avz /var/backup/ backupuser@backupserver:/backups/
    

11. 定期安全审计

  • 漏洞扫描:使用OpenVASNessus扫描系统漏洞,及时修复高风险问题:
    sudo apt install openvas
    sudo openvas-setup  # 初始化扫描器
    sudo systemctl start openvas-manager
    sudo systemctl start openvas-scanner
    
  • 渗透测试:通过MetasploitLynis进行模拟攻击,检测系统防御弱点:
    sudo apt install lynis
    sudo lynis audit system  # 执行全面系统审计
    

通过以上步骤,可显著提升Debian系统的安全性。需注意,安全加固是持续过程,需定期复查配置、更新补丁,并根据业务需求调整安全策略。

0