走啊走
加油

在腾讯云上部署Web服务,CentOS镜像需要做哪些初始安全配置?

服务器价格表

在腾讯云上使用 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:检测后门和rootkit
  • auditd:系统调用审计

五、腾讯云平台侧安全配置

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 + 安全基线模板 实现标准化部署。