CentOS 8部署美国VPS必做10项初始化安全配置
文章分类:技术文档 /
创建时间:2025-10-20
在使用CentOS 8部署美国VPS时,初始化阶段的安全配置直接关系到后续服务的稳定性与数据安全性。以下10项操作能有效降低被攻击风险,建议逐一落实。
1. 全面更新系统软件包
系统自带的软件包可能存在已知安全漏洞,及时更新是基础防护。执行命令:
dnf update -y
更新完成后建议重启服务器(reboot),确保内核等关键组件生效。建议每周执行一次dnf update检查更新,持续修复漏洞。
2. 修改SSH默认连接端口
SSH默认端口22是攻击者的重点扫描目标。编辑`/etc/ssh/sshd_config`文件,将`Port 22`修改为1024-65535间的非标准端口(如2222)。修改后重启服务:
systemctl restart sshd
注意避免使用80、443等常见服务端口,降低被定向扫描概率。
3. 禁用Root用户远程登录
Root用户拥有系统最高权限,远程直接登录风险极高。在`/etc/ssh/sshd_config`中找到`PermitRootLogin yes`,修改为`PermitRootLogin no`,保存后重启sshd服务。后续管理通过普通用户+sudo完成,即使普通用户密码泄露,攻击者也无法直接获取最高权限。
4. 创建带sudo权限的普通用户
执行以下命令创建新用户(示例用户名为webadmin)并设置密码:
useradd webadmin
passwd webadmin
将用户加入sudo组(CentOS中sudo组为wheel):
usermod -aG wheel webadmin
用户名建议避免使用admin等常见名称,密码需包含字母、数字、特殊符号,长度至少12位。
5. 配置firewalld防火墙规则
CentOS 8默认启用firewalld,需开放必要端口(如修改后的SSH端口2222)。执行:
firewall-cmd --zone=public --add-port=2222/tcp --permanent
firewall-cmd --reload
通过`firewall-cmd --list-all`检查开放端口,仅保留业务需要的端口(如Web服务80/443),其他端口保持默认关闭。
6. 启用SELinux强制访问控制
SELinux(安全增强型Linux)通过强制访问控制限制进程权限,即使服务被入侵也能限制破坏范围。临时启用命令:
setenforce 1
永久生效需修改`/etc/selinux/config`文件中`SELINUX=enforcing`,生产环境建议保持此模式。
7. 安装Fail2Ban防御暴力破解
Fail2Ban可监控日志并封禁异常登录IP。安装命令:
dnf install fail2ban -y
编辑`/etc/fail2ban/jail.local`配置规则,建议设置`maxretry=3`(3次失败封禁)、`findtime=600`(10分钟内)、`bantime=3600`(封禁1小时)。启动并设置开机自启:
systemctl start fail2ban
systemctl enable fail2ban
8. 定期备份关键数据
使用rsync工具定期备份数据库、配置文件等重要数据。示例命令(每日增量备份):
rsync -avz --delete --exclude='*.log' /var/www /backup
建议关键数据每周全量备份至异地存储或美国VPS的独立存储卷,防止本地数据丢失。
9. 关闭非必要系统服务
通过`systemctl list-units --type=service`查看运行服务,关闭如avahi-daemon(零配置网络)、rpcbind(远程过程调用)等非必要服务。以关闭cups(打印服务)为例:
systemctl stop cups
systemctl disable cups
减少运行服务可降低攻击面,同时节省内存与CPU资源。
10. 安装ClamAV进行病毒扫描
ClamAV是适用于Linux的开源杀毒软件。安装并更新病毒库:
dnf install clamav -y
freshclam
建议每周执行全盘扫描(关键目录可增加频率):
clamscan -r --exclude-dir=/sys /
完成以上10项配置后,美国VPS的安全防护能力将显著提升。无论是部署Web服务、数据库还是其他应用,初始化阶段的安全操作都是长期稳定运行的重要保障。