云主机安全加固清单:新购服务器上线前必做的15项配置 核心要点图解,新购云主机上线前必须完成15项安全加固配置,否则易受攻击。;SSH密钥登录+禁用root+修改端口是首要加固措施。;配置防火墙仅开放必要端口,并启用系统自动更新。;定期审计日志与账户权限,建立安全基线检查机制。
云主机安全加固清单:新购服务器上线前必做的15项配置 · 核心要点一图读懂(AegisX)

核心要点(TL;DR)

  • 新购云主机上线前必须完成15项安全加固配置,否则易受攻击。
  • SSH密钥登录+禁用root+修改端口是首要加固措施。
  • 配置防火墙仅开放必要端口,并启用系统自动更新。
  • 定期审计日志与账户权限,建立安全基线检查机制。

痛点引入:新服务器裸奔上线,等于给攻击者开门

很多运维和站长在购买云主机后,急于部署业务,往往忽略了安全加固。默认配置的服务器存在大量风险:SSH密码可被暴力破解、不必要的端口暴露在公网、系统漏洞未修补……攻击者利用自动化工具几分钟就能入侵。本文提供一份15项的云主机安全加固清单,每项都附带具体命令和检查步骤,帮你快速完成安全基线配置,让服务器上线前就具备基本防御能力。

1. 系统更新与内核加固

新系统第一件事是更新所有软件包,修补已知漏洞。

# Ubuntu/Debian
apt update && apt upgrade -y
# CentOS/RHEL
yum update -y

同时启用自动安全更新:Ubuntu安装unattended-upgrades,CentOS安装yum-cron。检查内核参数,禁用IP转发等不必要功能:

echo "net.ipv4.ip_forward = 0" >> /etc/sysctl.conf
sysctl -p

2. SSH服务安全加固

SSH是入侵重灾区,必须强化配置。编辑/etc/ssh/sshd_config:

  • 禁用root直接登录:PermitRootLogin no
  • 禁用密码认证:PasswordAuthentication no
  • 修改默认端口:Port 22222(避免22端口扫描)
  • 限制用户:AllowUsers deploy

重启服务:systemctl restart sshd。使用密钥登录前,确保已上传公钥到~/.ssh/authorized_keys。

3. 防火墙与网络访问控制

配置防火墙,仅开放业务必需端口。使用ufw(Ubuntu)或firewalld(CentOS):

# Ubuntu
ufw allow 22222/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
# CentOS
firewall-cmd --permanent --add-port=22222/tcp
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

云平台安全组同样要限制源IP,仅允许管理IP访问SSH端口。

4. 账户与权限管理

清理无用账户,锁定系统账户:

# 查看可登录账户
awk -F: '!~/nologin$/ {print }' /etc/passwd
# 锁定账户
usermod -L username

设置强密码策略:修改/etc/login.defs中PASS_MAX_DAYS 90,PASS_MIN_DAYS 7。使用chage命令管理密码过期。为sudo配置免密或限制命令。

5. 日志与审计

启用系统日志和审计服务。安装auditd并配置关键文件监控:

apt install auditd
# 添加监控规则
echo "-w /etc/passwd -p wa -k passwd_changes" >> /etc/audit/rules.d/audit.rules
systemctl restart auditd

配置rsyslog将日志转发到远程日志服务器,防止本地日志被清除。定期检查/var/log/auth.log和/var/log/secure。

6. 入侵检测与防护工具

安装Fail2ban防止暴力破解:

apt install fail2ban
# 配置jail.local
[sshd]
enabled = true
maxretry = 3
bantime = 3600

部署主机入侵检测系统(HIDS),如AegisX,可实时监控文件变更、异常进程和网络连接,提供告警和自动响应。同时安装rkhunter定期扫描rootkit。

7. 服务最小化与端口收敛

禁用不必要的服务,减少攻击面:

systemctl list-unit-files --type=service | grep enabled
systemctl disable bluetooth.service
netstat -tulnp  # 检查监听端口

使用ss -tulnp替代netstat。关闭IPv6若无需使用。

8. 文件权限与敏感信息保护

设置关键文件权限:

chmod 600 /etc/shadow
chmod 644 /etc/passwd
chmod 700 /root

查找全局可写文件:find / -perm -o+w -type f,并修复权限。避免在代码中硬编码密码,使用环境变量或密钥管理服务。

9. 计划任务与启动项检查

检查恶意计划任务:

crontab -l
ls /etc/cron.*
systemctl list-unit-files --type=service | grep enabled

移除未知的cron任务和启动服务。

10. 内核参数与网络安全优化

调整内核参数防御SYN Flood等攻击:

net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.all.accept_redirects = 0

写入/etc/sysctl.conf并执行sysctl -p。

11. 备份与恢复策略

配置定期备份,并测试恢复流程。使用rsync或云平台快照。备份文件加密存储,避免泄露。

12. 安全监控与告警

配置监控系统(如Prometheus+Alertmanager)监控CPU、内存、磁盘、登录事件。设置告警规则,如多次登录失败、异常进程启动。

13. 容器与虚拟化安全(若使用)

若运行Docker,限制容器权限:

docker run --read-only --cap-drop=ALL ...

定期更新容器镜像,避免使用latest标签。

14. Web服务与应用安全

若部署Web应用,配置HTTPS(Let's Encrypt),隐藏版本号,设置安全响应头。使用WAF(如AegisX的Web防护)拦截常见攻击。

15. 安全基线检查与持续加固

使用自动化工具(如OpenSCAP、Lynis)进行安全基线扫描:

apt install lynis
lynis audit system

根据报告修复问题。定期复查,确保配置未被篡改。

行动建议

以上15项配置建议逐项落实,并记录在检查表中。对于中小团队,可优先完成SSH加固、防火墙、更新和入侵检测(如AegisX)四项,再逐步完善其余项。安全是一个持续过程,建议每月进行一次安全巡检,及时修补新漏洞。只有打好基础,业务才能稳定运行。

常见问题(FAQ)

新购云主机应该先做哪些安全配置?

优先完成SSH加固(密钥登录、禁用root、改端口)、防火墙规则、系统更新和账户权限管理。这四项能阻断80%的常见入侵途径,建议在上线前全部落实。

如何防止云主机被暴力破解SSH密码?

禁用密码登录,改用SSH密钥认证;修改默认22端口;安装Fail2ban自动封禁多次失败的IP;限制登录源IP。这些措施组合可有效防止暴力破解。

云主机安全加固需要安装哪些软件?

推荐安装Fail2ban防暴力破解、AegisX(或类似HIDS)监控入侵、unattended-upgrades自动更新、auditd审计系统调用、rkhunter查rootkit。根据业务需求选择,但防火墙和更新工具必装。

如何检查云主机是否已被入侵?

检查异常登录日志(last、lastb)、异常进程(top、ps aux)、开放端口(netstat -tulnp)、计划任务(crontab -l)、文件完整性(rkhunter --check)。发现可疑项立即隔离并排查。

云主机安全加固后如何验证效果?

使用漏洞扫描工具(如Nmap、OpenVAS)扫描端口和服务;尝试从外部SSH连接测试是否仅密钥可登录;检查防火墙规则是否生效;查看日志是否有异常告警。定期复测确保配置未被篡改。