在Ubuntu服务器上进行安全设置是至关重要的,以下是一份系统性的安全配置清单,建议按步骤实施:
一、基础系统安全
-
保持系统更新
sudo apt update && sudo apt upgrade -y sudo apt autoremove # 配置自动安全更新 sudo apt install unattended-upgrades sudo dpkg-reconfigure unattended-upgrades -
创建专用用户账户
sudo adduser <username> sudo usermod -aG sudo <username> # 授予sudo权限
二、SSH安全加固
-
修改SSH端口(默认22端口)
sudo nano /etc/ssh/sshd_config # 修改:Port 2222(或其他非标准端口) -
禁用root登录
PermitRootLogin no -
使用密钥认证
PasswordAuthentication no PubkeyAuthentication yes -
限制登录IP
AllowUsers user@192.168.1.* -
重启SSH服务
sudo systemctl restart sshd
三、防火墙配置
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp # SSH端口
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw status verbose
四、服务安全
-
禁用不必要的服务
sudo systemctl list-unit-files --type=service sudo systemctl disable <不需要的服务> -
使用fail2ban防暴力破解
sudo apt install fail2ban sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local sudo systemctl enable fail2ban
五、文件系统安全
-
设置严格的权限
sudo chmod 600 /etc/shadow sudo chmod 644 /etc/passwd -
配置文件完整性监控
sudo apt install aide sudo aideinit
六、网络与内核安全
-
启用内核安全参数
sudo nano /etc/sysctl.d/99-security.conf # 添加: net.ipv4.tcp_syncookies=1 net.ipv4.ip_forward=0 -
禁用IPv6(如不需要)
sudo nano /etc/sysctl.conf # 添加: net.ipv6.conf.all.disable_ipv6=1
七、应用层安全
- 为每个服务使用独立用户
- 定期备份重要数据
- 配置日志监控
sudo apt install logwatch
八、高级安全措施(按需选择)
- 安装入侵检测系统:OSSEC
- 使用AppArmor/SELinux
sudo apt install apparmor apparmor-utils sudo aa-enforce /path/to/profile - 配置审计系统
sudo apt install auditd
九、定期维护任务
- 检查系统日志:
/var/log/auth.log、/var/log/syslog - 监控用户登录:
last、who - 检查开放端口:
ss -tulpn或netstat -tulpn - 设置定期安全扫描
十、备份与恢复
- 配置自动化备份策略
- 定期测试恢复流程
- 离线存储备份副本
注意事项:
- 所有配置修改前备份原文件
- 生产环境建议先在测试环境验证
- 使用复杂密码(长度>12位,混合字符)
- 启用双因素认证(如Google Authenticator)
- 定期审查sudo权限:
sudo visudo
监控工具推荐:
- Lynis:安全审计工具
- ClamAV:病毒扫描
- rkhunter:Rootkit检测
- Nginx/Apache安全模块(ModSecurity)
实施后建议定期进行:
- 漏洞扫描
- 渗透测试
- 安全策略审查
- 更新应急响应计划
安全是一个持续过程,建议订阅Ubuntu安全通知(security-notices邮件列表)并及时响应安全公告。
CLOUD技术笔记