在阿里云ECS上使用Debian系统时,为确保服务器的安全性,应进行一系列关键的安全配置。以下是推荐的安全实践和注意事项:
1. 及时更新系统
保持系统和软件包的最新状态是基础安全措施。
sudo apt update && sudo apt upgrade -y
建议定期执行此命令,并考虑启用自动安全更新:
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades
选择 Yes 启用自动更新。
2. 配置防火墙(iptables / ufw)
限制不必要的网络访问。
使用 ufw(简单易用):
sudo apt install ufw
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
注意:确保先开放SSH端口(默认22),否则可能被锁定。
或使用 iptables 手动配置:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -P INPUT DROP
保存规则:
sudo apt install iptables-persistent
sudo netfilter-persistent save
3. 禁用 root 远程登录
防止暴力破解 SSH。
编辑 SSH 配置文件:
sudo nano /etc/ssh/sshd_config
修改以下参数:
PermitRootLogin no
PasswordAuthentication no
然后重启 SSH 服务:
sudo systemctl restart ssh
建议创建普通用户并赋予
sudo权限,使用密钥登录。
4. 使用 SSH 密钥认证
避免密码登录,提高安全性。
本地生成密钥对(如未有):
ssh-keygen -t rsa -b 4096
将公钥上传到 ECS 实例:
ssh-copy-id username@your-server-ip
或手动复制公钥内容到 ~/.ssh/authorized_keys。
5. 更改 SSH 默认端口(可选)
减少自动化扫描攻击。
编辑 /etc/ssh/sshd_config:
Port 2222 # 改为非标准端口
注意:
- 修改后务必在阿里云控制台 安全组 中开放新端口。
- 测试新端口连接成功后再关闭旧端口。
6. 配置阿里云安全组
在阿里云控制台设置最小权限原则:
- 只允许必要的端口(如:22、80、443)
- 限制源IP范围(例如只允许公司IP访问SSH)
- 禁止公网暴露数据库、Redis等内部服务端口
7. 安装并配置 Fail2ban
防止暴力破解 SSH 和其他服务。
sudo apt install fail2ban
复制配置文件:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
编辑 jail.local,启用 SSH 保护并调整策略:
[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
启动服务:
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
8. 启用系统日志审计(可选)
使用 auditd 监控关键文件和系统调用。
sudo apt install auditd audispd-plugins
配置审计规则,例如监控 /etc/passwd:
sudo auditctl -w /etc/passwd -p wa -k passwd_change
规则持久化需写入 /etc/audit/rules.d/audit.rules。
9. 禁用不必要的服务
减少攻击面。
查看运行的服务:
systemctl list-units --type=service --state=running
停用不需要的服务,例如:
sudo systemctl disable avahi-daemon
sudo systemctl disable cups
10. 文件系统权限加固
检查敏感文件权限:
chmod 600 /etc/ssh/sshd_config
chmod 644 /etc/ssh/ssh_config
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
11. 定期备份与快照
利用阿里云 ECS 快照功能 定期备份系统盘和数据盘。
建议:
- 开启自动快照策略
- 跨地域复制重要快照
12. 启用云监控与告警
在阿里云控制台开启:
- CPU、内存、磁盘使用率告警
- 异常登录检测(结合日志服务)
总结:关键安全清单
| 项目 | 是否完成 |
|---|---|
| 系统更新 | ✅ |
| 防火墙配置(ufw/iptables) | ✅ |
| 禁用 root 登录 + 密钥登录 | ✅ |
| 更改 SSH 端口(可选) | ✅ |
| 配置阿里云安全组 | ✅ |
| 安装 Fail2ban | ✅ |
| 定期备份(快照) | ✅ |
| 日志审计(auditd) | ✅(可选) |
通过以上配置,可以显著提升 Debian 系统在阿里云 ECS 上的安全性。建议根据实际业务需求持续优化安全策略。
CDNK博客