云服务器CentOS 7基础安全配置10项必做清单
文章分类:行业新闻 /
创建时间:2025-08-21
用云服务器搭建网站或部署应用时,安全是绕不开的核心问题。CentOS 7作为企业级Linux系统的热门选择,基础安全配置没做好,再强的硬件也可能成为攻击突破口。今天整理了必做的10项基础安全操作,新手也能跟着一步步落地。

系统软件更新是安全防护的第一步——新发布的软件包往往修复了前一版本的安全漏洞,及时打补丁能堵住大部分已知风险。在CentOS 7中执行这条命令即可自动完成更新:
建议每周固定时间检查更新,重要安全补丁发布时立即处理。
SSH(Secure Shell,安全远程登录协议)默认用22端口,但这个端口是攻击者扫描的重灾区。把端口改成不常用的数字(比如2222)能大幅降低被暴力破解的概率。操作步骤:
1. 编辑配置文件:`vim /etc/ssh/sshd_config`
2. 找到`Port 22`行,修改为`Port 2222`
3. 重启服务生效:`systemctl restart sshd`
root用户有最高权限,一旦密码泄露后果严重。正确做法是创建普通用户并授予sudo权限:
接着编辑`/etc/sudoers`文件(用`visudo`命令更安全),末尾添加:
最后在`/etc/ssh/sshd_config`里把`PermitRootLogin yes`改成`no`,重启sshd服务。之后用admin用户登录,需要root权限时输入`sudo`命令即可。
CentOS 7默认的firewalld防火墙能精准控制进出流量。假设网站需要HTTP服务(80端口),且SSH端口已改为2222,执行以下命令:
记得只开放必要端口,比如没搭FTP就别开21端口,减少攻击面。
SELinux(Security-Enhanced Linux,强制访问控制机制)是Linux的“安全卫士”,能限制程序的越权操作。检查`/etc/selinux/config`文件,确保`SELINUX=enforcing`(强制模式)。如果显示`disabled`,修改后重启服务器生效。
数据备份是最后一道防线。推荐用rsync命令做增量备份,比如每天凌晨备份`/data`目录到`/backup`:
重要数据建议同时备份到云存储或另一台云服务器,防止本地故障。
fail2ban能监控登录日志,对多次失败的IP自动封禁。安装命令:
编辑`/etc/fail2ban/jail.local`,添加针对sshd的规则(示例):
保存后启动服务:
很多默认安装的服务用不上,比如蓝牙、打印服务等,留着反而增加风险。用`systemctl list-units --type=service`查看运行中的服务,不需要的用`systemctl stop 服务名`停止,再用`systemctl disable 服务名`禁用开机自启。
OSSEC是开源的轻量级入侵检测系统(IDS),能监控文件变更、日志异常等。按官方文档安装后,它会定期检查系统关键文件(如`/etc/passwd`)是否被篡改,发现异常立即报警。
日志是排查攻击的“黑匣子”。重点查看`/var/log/secure`(记录SSH登录)、`/var/log/httpd/access.log`(HTTP访问日志)。比如发现`/var/log/secure`里有某个IP连续10次SSH登录失败,大概率是在尝试暴力破解,这时候结合fail2ban的封禁规则就能拦截。
做好这10项基础配置,云服务器CentOS 7的安全基线就稳住了。后续可以根据业务需求,再叠加WAF(Web应用防火墙)或加密传输等进阶防护措施。安全是动态过程,定期检查配置、关注最新漏洞通告同样重要。

1. 优先完成系统更新
系统软件更新是安全防护的第一步——新发布的软件包往往修复了前一版本的安全漏洞,及时打补丁能堵住大部分已知风险。在CentOS 7中执行这条命令即可自动完成更新:
yum update -y
建议每周固定时间检查更新,重要安全补丁发布时立即处理。
2. 改SSH默认端口
SSH(Secure Shell,安全远程登录协议)默认用22端口,但这个端口是攻击者扫描的重灾区。把端口改成不常用的数字(比如2222)能大幅降低被暴力破解的概率。操作步骤:
1. 编辑配置文件:`vim /etc/ssh/sshd_config`
2. 找到`Port 22`行,修改为`Port 2222`
3. 重启服务生效:`systemctl restart sshd`
3. 禁用root直接远程登录
root用户有最高权限,一旦密码泄露后果严重。正确做法是创建普通用户并授予sudo权限:
adduser admin # 创建admin用户
passwd admin # 设置登录密码
接着编辑`/etc/sudoers`文件(用`visudo`命令更安全),末尾添加:
admin ALL=(ALL) ALL # 允许admin使用sudo执行所有命令
最后在`/etc/ssh/sshd_config`里把`PermitRootLogin yes`改成`no`,重启sshd服务。之后用admin用户登录,需要root权限时输入`sudo`命令即可。
4. 配置firewalld防火墙
CentOS 7默认的firewalld防火墙能精准控制进出流量。假设网站需要HTTP服务(80端口),且SSH端口已改为2222,执行以下命令:
firewall-cmd --permanent --add-port=2222/tcp # 开放SSH端口
firewall-cmd --permanent --add-port=80/tcp # 开放HTTP端口
firewall-cmd --reload # 重新加载配置
记得只开放必要端口,比如没搭FTP就别开21端口,减少攻击面。
5. 启用SELinux
SELinux(Security-Enhanced Linux,强制访问控制机制)是Linux的“安全卫士”,能限制程序的越权操作。检查`/etc/selinux/config`文件,确保`SELINUX=enforcing`(强制模式)。如果显示`disabled`,修改后重启服务器生效。
6. 定期备份关键数据
数据备份是最后一道防线。推荐用rsync命令做增量备份,比如每天凌晨备份`/data`目录到`/backup`:
rsync -avz --delete /data/ /backup/ # -a保留元数据,-v显示详情,-z压缩传输,--delete同步删除
重要数据建议同时备份到云存储或另一台云服务器,防止本地故障。
7. 安装fail2ban防暴力破解
fail2ban能监控登录日志,对多次失败的IP自动封禁。安装命令:
yum install fail2ban -y
编辑`/etc/fail2ban/jail.local`,添加针对sshd的规则(示例):
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/secure
maxretry = 5 # 5次失败后封禁
findtime = 600 # 600秒内计算失败次数
bantime = 3600 # 封禁1小时
保存后启动服务:
systemctl start fail2ban
systemctl enable fail2ban # 开机自启
8. 关闭不必要的服务
很多默认安装的服务用不上,比如蓝牙、打印服务等,留着反而增加风险。用`systemctl list-units --type=service`查看运行中的服务,不需要的用`systemctl stop 服务名`停止,再用`systemctl disable 服务名`禁用开机自启。
9. 部署轻量级入侵检测
OSSEC是开源的轻量级入侵检测系统(IDS),能监控文件变更、日志异常等。按官方文档安装后,它会定期检查系统关键文件(如`/etc/passwd`)是否被篡改,发现异常立即报警。
10. 定期检查系统日志
日志是排查攻击的“黑匣子”。重点查看`/var/log/secure`(记录SSH登录)、`/var/log/httpd/access.log`(HTTP访问日志)。比如发现`/var/log/secure`里有某个IP连续10次SSH登录失败,大概率是在尝试暴力破解,这时候结合fail2ban的封禁规则就能拦截。
做好这10项基础配置,云服务器CentOS 7的安全基线就稳住了。后续可以根据业务需求,再叠加WAF(Web应用防火墙)或加密传输等进阶防护措施。安全是动态过程,定期检查配置、关注最新漏洞通告同样重要。
下一篇: 国外VPS跨国数据流动:合规协议选择指南