在腾讯云上使用 CentOS 镜像部署 Web 服务时,为了保障系统的安全性和稳定性,建议进行以下初始安全配置。这些步骤适用于新创建的 CentOS 实例(如 CentOS 7/8),可有效降低被攻击的风险。
一、基本系统安全配置
1. 更新系统软件包
sudo yum update -y
确保系统内核和所有软件包都是最新版本,修复已知漏洞。
2. 修改默认 root 密码并禁用远程登录(推荐)
- 修改 root 密码:
sudo passwd root -
禁止 root 用户通过 SSH 远程登录(更安全):
编辑 SSH 配置文件:
sudo vi /etc/ssh/sshd_config修改以下参数:
PermitRootLogin no PasswordAuthentication no # 如果使用密钥登录,建议关闭密码登录重启 SSH 服务:
sudo systemctl restart sshd
3. 创建普通用户并赋予 sudo 权限
sudo adduser webadmin
sudo passwd webadmin
sudo usermod -aG wheel webadmin # 添加到 sudo 组
后续通过 webadmin 用户登录并使用 sudo 执行管理命令。
4. 配置 SSH 密钥认证(推荐)
- 在本地生成密钥对(若无):
ssh-keygen -t rsa -b 2048 - 将公钥上传到服务器:
ssh-copy-id webadmin@your-server-ip - 确保
.ssh/authorized_keys权限正确:chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
二、防火墙配置(firewalld)
启用并配置 firewalld,仅开放必要端口:
sudo systemctl enable firewalld
sudo systemctl start firewalld
开放常用端口:
sudo firewall-cmd --permanent --add-service=http # 80
sudo firewall-cmd --permanent --add-service=https # 443
sudo firewall-cmd --permanent --add-port=22/tcp # SSH(可限制 IP)
# 可选:限制 SSH 访问来源 IP(更安全)
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="你的IP" port protocol="tcp" port="22" accept'
sudo firewall-cmd --reload
⚠️ 建议不要开放所有端口,遵循最小权限原则。
三、安装并配置 Fail2ban(防暴力破解)
sudo yum install epel-release -y
sudo yum install fail2ban -y
配置 jail:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo vi /etc/fail2ban/jail.local
添加或修改:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/secure
maxretry = 3
bantime = 3600
启动服务:
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
四、安全加固建议
1. 关闭不必要的服务
systemctl list-unit-files --type=service | grep enabled
禁用不需要的服务,例如:
sudo systemctl disable postfix bluetooth cups
2. 启用 SELinux(保持默认 enforcing 模式)
确保 /etc/selinux/config 中设置:
SELINUX=enforcing
SELINUXTYPE=targeted
不建议随意关闭 SELinux,它能提供重要保护。
3. 文件权限检查
定期检查敏感文件权限:
ls -l /etc/passwd /etc/shadow /etc/group /etc/gshadow
应为:
/etc/passwd:-rw-r--r--/etc/shadow:-rw-------
4. 安装安全工具(可选)
sudo yum install rkhunter chkconfig auditd -y
rkhunter:检测后门和rootkitauditd:系统调用审计
五、腾讯云平台侧安全配置
1. 配置安全组(关键!)
在腾讯云控制台中:
- 只允许必要的入站规则:
- SSH:仅允许你自己的公网 IP 访问 22 端口
- HTTP/HTTPS:允许 0.0.0.0/0(或 CDN 回源 IP)
- 禁止所有其他端口暴露在公网
2. 使用密钥登录代替密码
在腾讯云创建实例时选择「密钥对」方式登录,提高安全性。
3. 开启云监控与日志审计
- 启用 云服务器监控
- 开启 操作审计(CloudAudit)
- 推荐接入 主机安全(云镜),检测病毒、入侵、漏洞等
六、Web 服务相关安全建议
- Web 服务运行用户应为非 root 用户(如 nginx, apache, www-data)
- 静态资源目录禁止执行脚本(如 .php 文件)
- 启用 HTTPS(使用 Let's Encrypt 免费证书)
- 定期备份网站数据和数据库
总结:关键安全措施清单
| 项目 | 是否建议 |
|---|---|
| 系统更新 | ✅ 必须 |
| 禁用 root 远程登录 | ✅ 强烈建议 |
| 使用 SSH 密钥登录 | ✅ 强烈建议 |
| 配置防火墙(firewalld) | ✅ 必须 |
| 配置安全组(腾讯云) | ✅ 必须 |
| 安装 fail2ban | ✅ 建议 |
| 启用 SELinux | ✅ 建议 |
| 定期备份 | ✅ 必须 |
完成以上配置后,你的 CentOS Web 服务器将具备基础的安全防护能力。后续还需定期维护、监控日志、及时打补丁。
如需自动化配置,可使用 Ansible 或腾讯云的 Terraform + 安全基线模板 实现标准化部署。
CLOUD云计算