1. 系统更新与补丁管理
保持系统及软件包最新是安全基础,可及时修复已知漏洞。定期执行以下命令更新软件包列表并升级系统:
sudo apt update && sudo apt upgrade -y
建议开启自动安全更新,通过unattended-upgrades工具实现:
sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
这能确保系统自动安装安全补丁,减少手动维护成本。
2. 账户与权限管理
/etc/ssh/sshd_config,设置PermitRootLogin no,禁止root用户通过SSH远程登录,降低被暴力破解的风险。修改后重启SSH服务:sudo systemctl restart ssh。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-keygen -t rsa -b 4096,将公钥复制到服务器:ssh-copy-id user@remote_host。编辑/etc/ssh/sshd_config,设置:PasswordAuthentication no
PubkeyAuthentication yes
AllowUsers指令仅允许可信IP登录,例如:AllowUsers user@192.168.1.*。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 / # 递归扫描根目录
rkhunter检查系统是否存在rootkit:sudo apt install rkhunter
sudo rkhunter --update
sudo rkhunter --check
定期运行这些工具,及时发现并处理安全隐患。