在阿里云ECS上使用Debian系统时,为确保系统的安全性和稳定性,建议进行以下关键的安全配置。以下是详细的安全实践指南:
1. 及时更新系统和软件包
保持系统和所有软件处于最新状态,以修复已知漏洞。
sudo apt update && sudo apt upgrade -y
sudo apt autoremove -y
建议定期执行或设置自动更新(谨慎使用自动重启):
# 安装 unattended-upgrades 实现自动安全更新
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades
2. 配置防火墙(iptables / ufw)
启用并配置防火墙,仅开放必要的端口(如SSH、HTTP/HTTPS等)。
使用 ufw(简单易用):
sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
注意:确保先允许SSH,否则可能断开连接。
或使用 iptables(更精细控制):
可编写规则脚本或使用 iptables-persistent 持久化规则。
3. 强化SSH安全
SSH是攻击的主要入口,需重点保护。
修改默认SSH配置:
sudo nano /etc/ssh/sshd_config
推荐配置:
Port 2222 # 更改默认端口(可选)
PermitRootLogin no # 禁止root直接登录
PasswordAuthentication no # 禁用密码登录,使用密钥认证
PubkeyAuthentication yes
AllowUsers yourusername # 限制可登录用户
MaxAuthTries 3 # 最大尝试次数
ClientAliveInterval 300
ClientAliveCountMax 2
重启SSH服务:
sudo systemctl restart ssh
使用SSH密钥登录(禁用密码)
- 在本地生成密钥对:
ssh-keygen -t rsa -b 4096 - 将公钥上传到服务器:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@your-server-ip
4. 创建普通用户并赋予sudo权限
避免使用root操作日常任务。
adduser yourusername
usermod -aG sudo yourusername
5. 配置阿里云安全组
在阿里云控制台中设置安全组规则,与本地防火墙配合:
- 只允许特定IP访问SSH端口(尤其是管理端)
- 开放80/443用于Web服务
- 拒绝所有其他入站流量
✅ 建议:最小权限原则,只开放必要端口。
6. 安装并配置Fail2ban
防止暴力破解SSH和其他服务。
sudo apt install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
启用SSH防护:
[sshd]
enabled = true
port = 2222 # 与你设置的SSH端口一致
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
启动并启用服务:
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
7. 禁用不必要的服务
减少攻击面,关闭不用的服务(如telnet、ftp、rpcbind等)。
sudo systemctl list-unit-files --type=service | grep enabled
sudo systemctl disable <service-name>
8. 文件系统安全
- 设置关键目录权限:
chmod 700 /root chmod 600 /etc/ssh/sshd_config - 使用
chattr保护关键文件(可选):chattr +i /etc/passwd chattr +i /etc/shadow
9. 日志监控与审计
启用日志记录并定期检查。
# 查看认证日志
tail -f /var/log/auth.log
# 安装 auditd 进行系统调用审计
sudo apt install auditd audispd-plugins
配置审计规则(如监控敏感文件修改)。
10. 定期备份
使用阿里云快照功能或脚本备份关键数据。
- 创建系统盘快照
- 自动化备份数据库和配置文件
11. 启用SELinux 或 AppArmor(可选)
Debian默认使用AppArmor,可加强进程隔离。
sudo apt install apparmor apparmor-utils
sudo systemctl enable apparmor
检查状态:
sudo aa-status
12. 隐藏系统版本信息(可选)
减少被指纹识别的风险。
编辑 /etc/issue.net 和 /etc/issue,删除或模糊系统信息。
13. 定期安全扫描
使用工具如 rkhunter、lynis 检测后门和配置漏洞:
sudo apt install rkhunter lynis
sudo rkhunter --check
sudo lynis audit system
总结:核心安全措施清单
| 项目 | 是否建议 |
|---|---|
| 系统更新 | ✅ 必须 |
| 防火墙(ufw/iptables) | ✅ 必须 |
| SSH密钥登录 + 禁用root | ✅ 必须 |
| 更改SSH端口 | ⚠️ 可选(防扫描) |
| Fail2ban | ✅ 强烈推荐 |
| 安全组最小化开放 | ✅ 必须 |
| 普通用户+sudo | ✅ 必须 |
| 日志监控 | ✅ 推荐 |
| 定期备份 | ✅ 必须 |
通过以上配置,可以显著提升阿里云ECS上Debian系统的安全性。建议结合自动化脚本(如Ansible)统一部署,并定期进行安全审计。
CLOUD云枢