1. 系统更新与补丁管理
保持系统及软件包最新是安全基础,定期执行以下命令更新系统:
sudo apt update && sudo apt upgrade -y
建议安装unattended-upgrades
实现自动安全更新,避免遗漏关键补丁:
sudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
2. 防火墙配置(UFW推荐)
使用ufw
(Uncomplicated Firewall)简化防火墙管理,仅允许必要流量:
sudo apt install ufw
sudo ufw allow ssh # 允许SSH连接(若通过SSH管理)
sudo ufw allow 80/tcp # 允许HTTP(如需网页服务)
sudo ufw allow 443/tcp # 允许HTTPS(如需加密网页服务)
sudo ufw enable # 启用防火墙
sudo ufw status verbose # 查看规则状态(确认配置正确)
如需更严格的访问控制,可限制特定IP访问关键端口(如仅允许公司IP访问SSH):
sudo ufw allow from 192.168.1.100 to any port 22
3. SSH安全加固
SSH是远程管理的主要通道,需调整配置降低风险:
/etc/ssh/sshd_config
文件:sudo nano /etc/ssh/sshd_config
修改以下关键参数:Port 2222 # 更改默认端口(避免扫描攻击)
PermitRootLogin no # 禁止root直接登录
PasswordAuthentication no # 禁用密码登录(仅用密钥)
AllowUsers your_username # 仅允许指定用户登录
sudo systemctl restart sshd
ssh-keygen -t rsa -b 4096
将公钥复制到虚拟机:ssh-copy-id -i ~/.ssh/id_rsa.pub your_username@虚拟机IP -p 2222
4. 用户与权限管理
遵循“最小权限原则”,避免过度授权:
sudo
组(用于执行管理员命令):sudo adduser your_username # 创建用户并设置密码
sudo usermod -aG sudo your_username # 加入sudo组
visudo
编辑/etc/sudoers
文件,确保用户权限可控(避免直接修改原文件):sudo visudo
添加以下内容(允许用户无密码执行所有sudo命令,生产环境建议限制为必要命令):your_username ALL=(ALL) NOPASSWD:ALL
/etc/pam.d/common-password
文件,添加密码复杂度要求(如长度≥8、包含大小写字母和数字):password requisite pam_pwquality.so retry=3 minlen=8 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
5. 禁用不必要的服务与组件
减少攻击面,关闭未使用的服务:
systemctl list-unit-files --state=enabled
sudo systemctl stop ftp # 示例:停止FTP服务
sudo systemctl disable ftp # 禁止开机启动
sudo apt autoremove --purge # 删除不再需要的依赖包
6. 数据保护与备份
定期备份重要数据,防止数据丢失:
rsync
实现增量备份(将数据同步到外部存储或另一台服务器):rsync -avz /path/to/important/data /backup/location
duplicity
进行加密备份(支持远程存储,如S3、FTP):sudo apt install duplicity
duplicity /path/to/data sftp://user@backup-server/backup/path
eCryptfs
挂载加密目录:sudo apt install ecryptfs-utils
sudo mount -t ecryptfs /path/to/sensitive/data /path/to/encrypted/data
7. 监控与日志审计
实时监控系统状态,及时发现异常:
logwatch
每日汇总日志(发送到邮箱):sudo apt install logwatch
sudo logwatch --output mail --mailto your_email@example.com --detail high
fail2ban
防止暴力破解(自动封禁多次登录失败的IP):sudo apt install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
编辑/etc/fail2ban/jail.local
配置文件,启用SSH防护:[sshd]
enabled = true
maxretry = 3 # 允许的最大失败次数
bantime = 3600 # 封禁时间(秒)
auditd
记录关键系统调用(如文件访问、用户登录):sudo apt install auditd
sudo auditctl -e 1 # 启用审计
查看审计日志:ausearch -m avc -ts recent # 示例:查看最近的SELinux审计日志
8. 防病毒与恶意软件扫描
虽然Linux系统安全性较高,但仍需定期扫描防止恶意软件:
ClamAV
(开源防病毒工具):sudo apt install clamav clamav-daemon
sudo freshclam
sudo clamscan -r / # 递归扫描根目录
定期扫描(如每周一次)可通过cron
任务自动化。