温馨提示×

Debian安全设置指南

小樊
56
2025-10-03 18:45:00
栏目: 智能运维

1. 系统更新与补丁管理
保持系统及软件包最新是安全基础,可及时修复已知漏洞。定期执行以下命令更新软件包列表并升级系统:

sudo apt update && sudo apt upgrade -y

建议开启自动安全更新,通过unattended-upgrades工具实现:

sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

这能确保系统自动安装安全补丁,减少手动维护成本。

2. 账户与权限管理

  • 禁用root远程登录:编辑SSH配置文件/etc/ssh/sshd_config,设置PermitRootLogin no,禁止root用户通过SSH远程登录,降低被暴力破解的风险。修改后重启SSH服务:sudo systemctl restart ssh
  • 使用sudo替代直接root登录:创建普通用户并加入sudo组,通过sudo执行管理员操作。例如:
    sudo adduser newuser
    sudo usermod -aG sudo newuser
    
  • 强化密码策略:安装libpam-pwquality工具,编辑/etc/security/pwquality.conf文件,设置密码复杂度要求(如最小长度12位、包含大小写字母、数字和特殊字符):
    sudo apt install libpam-pwquality
    echo "minlen = 12" >> /etc/security/pwquality.conf
    echo "minclass = 3" >> /etc/security/pwquality.conf
    
    同时修改PAM配置文件/etc/pam.d/common-password,启用密码质量检查:password requisite pam_pwquality.so retry=3

3. SSH服务加固
SSH是远程管理的关键服务,需重点防护:

  • 更改默认端口:编辑/etc/ssh/sshd_config,将默认22端口改为非标准端口(如2222),减少自动化扫描攻击:Port 2222
  • 禁用密码认证:启用SSH密钥对认证,提高登录安全性。生成密钥对:ssh-keygen -t rsa -b 4096,将公钥复制到服务器:ssh-copy-id user@remote_host。编辑/etc/ssh/sshd_config,设置:
    PasswordAuthentication no
    PubkeyAuthentication yes
    
  • 限制访问IP:通过AllowUsers指令仅允许可信IP登录,例如:AllowUsers user@192.168.1.*
    修改完成后重启SSH服务:sudo systemctl restart ssh

4. 防火墙配置
使用ufw(Uncomplicated Firewall)限制入站/出站流量,默认拒绝所有入站连接,仅允许必要服务(如SSH、HTTP、HTTPS):

sudo apt install ufw
sudo ufw default deny incoming
sudo ufw allow 2222/tcp  # 替换为实际SSH端口
sudo ufw allow 80/tcp    # HTTP
sudo ufw allow 443/tcp   # HTTPS
sudo ufw enable          # 启用防火墙
sudo ufw status          # 查看规则状态

ufw操作简单,能有效过滤非法流量,保护系统免受端口扫描、暴力破解等攻击。

5. 服务最小化
禁用不必要的系统服务,减少攻击面。通过以下命令列出运行中的服务,禁用无需的服务(如CUPS打印服务):

sudo systemctl list-units --type=service --state=running
sudo systemctl stop cups
sudo systemctl disable cups

仅保留系统必需的服务(如SSH、网络服务),降低被攻击的风险。

6. 文件系统与内核加固

  • 关键目录权限设置:限制敏感目录的访问权限,例如:
    chmod 700 /etc/cron* /etc/ssh/ssh_host_*_key
    chmod 600 /etc/shadow
    
    防止未授权用户修改定时任务或SSH密钥文件。
  • 内核参数调整:编辑/etc/sysctl.conf,启用以下安全参数,增强网络防护:
    net.ipv4.conf.all.rp_filter = 1  # 反向路径过滤,防止IP欺骗
    net.ipv4.icmp_echo_ignore_broadcasts = 1  # 忽略ICMP广播请求,防止Smurf攻击
    net.ipv4.tcp_syncookies = 1  # 防止SYN Flood攻击
    fs.protected_hardlinks = 1  # 防止硬链接攻击
    fs.protected_symlinks = 1   # 防止符号链接攻击
    
    应用配置:sudo sysctl -p

7. 日志监控与入侵检测

  • 日志审计:使用auditd工具监控关键文件(如/etc/passwd/etc/shadow)的修改,记录系统活动:
    sudo apt install auditd
    auditctl -w /etc/passwd -p wa -k passwd_changes  # 监控passwd文件修改
    auditctl -w /etc/shadow -p wa -k shadow_changes  # 监控shadow文件修改
    
    日志保存在/var/log/audit/audit.log,可通过ausearch命令查询。
  • 入侵检测:安装fail2ban防范暴力破解,自动封禁多次登录失败的IP:
    sudo apt install fail2ban
    sudo systemctl enable fail2ban
    sudo systemctl start fail2ban
    
    默认配置文件位于/etc/fail2ban/jail.local,可根据需求调整阈值。

8. 备份与恢复策略
定期备份重要数据(如配置文件、数据库、网站文件),应对数据丢失或勒索软件攻击。推荐使用Timeshift工具进行增量备份:

sudo apt install timeshift
sudo timeshift --create --comments "Full Backup"

备份文件默认保存在/timeshift目录,可通过rsync或外部存储设备实现远程备份:

rsync -avz /timeshift/ backupuser@backupserver:/backups/

确保备份数据加密存储,避免泄露敏感信息。

9. 安全工具部署

  • 漏洞扫描:使用OpenVAS定期扫描系统漏洞,生成报告并修复:
    sudo apt install openvas
    sudo openvas-setup
    sudo systemctl start openvas-manager
    sudo systemctl start openvas-scanner
    
  • 恶意软件检测:安装ClamAV反病毒软件,扫描系统中的恶意文件:
    sudo apt install clamav clamtk
    sudo freshclam  # 更新病毒库
    clamscan -r /  # 递归扫描根目录
    
  • Rootkit检测:使用rkhunter检查系统是否存在rootkit:
    sudo apt install rkhunter
    sudo rkhunter --update
    sudo rkhunter --check
    
    定期运行这些工具,及时发现并处理安全隐患。

0