1. 系统更新与补丁管理
保持系统及软件包最新是防范exploit的基础,及时修复已知漏洞可阻断大部分针对性攻击。使用sudo apt update && sudo apt upgrade -y定期更新系统;安装unattended-upgrades包并配置自动安全更新(如sudo dpkg-reconfigure unattended-upgrades),确保系统自动安装关键补丁。
2. 防火墙配置(UFW)
通过UFW(Uncomplicated Firewall)限制网络访问,仅开放必要端口(如SSH的22端口、HTTP的80端口、HTTPS的443端口)。启用防火墙:sudo ufw enable;设置默认策略:sudo ufw default deny incoming(拒绝所有入站连接)、sudo ufw default allow outgoing(允许所有出站连接);添加允许规则:sudo ufw allow 22/tcp(SSH)。
3. SSH安全加固
SSH是远程管理的主要入口,需重点防护:
/etc/ssh/sshd_config,设置PermitRootLogin no;ssh-keygen -t rsa -b 4096),将公钥复制到服务器(ssh-copy-id user@server_ip),并在配置文件中设置PasswordAuthentication no;Port 22为非标准端口(如2222),减少自动化工具扫描风险;AllowUsers your_username,仅允许可信用户登录。4. 用户权限与最小化安装
遵循“最小权限原则”降低攻击影响范围:
sudo adduser newuser添加用户,避免直接使用root;sudo usermod -aG sudo newuser),通过sudo执行管理员任务;sudo apt install package_name),定期检查并删除无用软件(sudo apt autoremove)。5. 安全工具部署
使用工具主动检测和防御攻击:
/etc/fail2ban/jail.local(如设置SSH的封禁阈值maxretry = 3),自动封禁多次尝试失败的IP;sudo freshclam),定期扫描系统(sudo clamscan -r /);sudo rkhunter --check、sudo chkrootkit)。6. 日志监控与审计
通过日志及时发现异常行为:
/var/log/auth.log(认证日志,如SSH登录记录)、/var/log/syslog(系统日志),识别可疑登录(如陌生IP的多次尝试);sudo apt install auditd && sudo systemctl enable auditd && sudo systemctl start auditd),通过ausearch命令查询日志。7. 数据备份与加密
防范数据丢失或泄露:
rsync(sudo rsync -avz /path/to/source /path/to/backup)或云服务备份重要数据(如数据库、配置文件),确保备份数据完整性;8. 内核与系统级加固
提升系统底层安全性:
systemctl disable service_name(如telnet、ftp)关闭不需要的服务,减少攻击面;/etc/sysctl.conf(如启用SYN cookies防止DDoS:net.ipv4.tcp_syncookies = 1),增强网络防护;aa-status查看状态,自定义配置文件限制应用访问。