CentOS管理VPS服务器:5个提效安全设置

SSH密钥登录:告别密码暴力破解
实际操作中常踩的坑:用密码登录VPS服务器像给信箱配了把“固定密码锁”,一旦密码泄露或被暴力破解,服务器相当于“大门洞开”。《网络安全法》要求关键信息基础设施应采用更安全的身份认证方式,SSH密钥登录正是符合这一要求的方案。
具体设置分三步:
1. 本地生成密钥对:在终端输入`ssh-keygen`(按提示回车默认生成即可),会得到`id_rsa`(私钥)和`id_rsa.pub`(公钥);
2. 上传公钥到服务器:用`scp ~/.ssh/id_rsa.pub 用户名@服务器IP:~/.ssh/authorized_keys`命令,将公钥写入服务器的认证文件;
3. 禁用密码登录:编辑`/etc/ssh/sshd_config`,找到`PasswordAuthentication yes`改为`no`,保存后执行`systemctl restart sshd`重启服务。
完成后登录只需私钥验证,既省去输密码的麻烦,又把暴力破解风险降到极低。
Firewalld防火墙:给服务器装“智能门禁”
没配防火墙的服务器像小区大门全天敞开,攻击者能随意扫描端口、尝试入侵。CentOS 7+默认的Firewalld工具,相当于给服务器装了套“智能门禁系统”,只放有权限的流量通过。
基础配置步骤:
- 启动并设为开机自启:`systemctl start firewalld`和`systemctl enable firewalld`;
- 开放必要服务:比如网站需开80(HTTP)和443(HTTPS)端口,执行`firewall-cmd --permanent --add-service=http`和`firewall-cmd --permanent --add-service=https`;
- 生效规则:`firewall-cmd --reload`。
记住“最小权限原则”:只开放必须的端口,未使用的服务(如22以外的远程端口)尽量关闭,能大幅降低被攻击概率。
yum-cron自动更新:给系统打“安全补丁”
系统和软件不更新,就像手机一直用旧版系统——已知漏洞没修复,攻击者能直接“抄作业”入侵。CentOS的`yum-cron`工具能自动安装更新,相当于给系统定期打“安全补丁”。
操作很简单:
1. 安装工具:`yum install yum-cron`;
2. 配置更新策略:编辑`/etc/yum/yum-cron.conf`,把`update_cmd`设为`security`(只更新安全补丁),`download_updates`设为`yes`(自动下载);
3. 启动服务:`systemctl start yum-cron`并`systemctl enable yum-cron`(开机自启)。
这样服务器会定期检查并安装安全更新,既保持系统安全,又省去手动更新的麻烦。
logrotate日志管理:给服务器“定期整理文件柜”
系统日志像服务器的“行为日记”,但放任它增长会占满磁盘空间,就像文件柜堆太多旧文件影响新文件存放。CentOS自带的`logrotate`工具能自动“整理文件柜”,按规则切割、压缩旧日志。
以`/var/log/messages`为例,在`/etc/logrotate.d/`下新建`custom-log`文件,写入:
/var/log/messages {
monthly # 每月轮转一次
rotate 12 # 保留12个旧日志
compress # 压缩旧日志
missingok # 日志不存在不报错
notifempty # 空日志不轮转
create 600 root root # 新日志权限设为600,属主root
}
这样每月自动切割日志,既节省空间,又方便后续查看关键记录。
Swap分区:给内存加“备用仓库”
物理内存不足时没Swap分区,就像仓库堆满货物却没备用仓——新货物没地方放,服务器会直接“罢工”。Swap分区相当于内存的“备用仓库”,能临时存放数据缓解压力。
创建2GB Swap分区步骤:
1. 生成Swap文件:`dd if=/dev/zero of=/swapfile bs=1M count=2048`(约2GB);
2. 设权限:`chmod 600 /swapfile`(仅所有者可读写);
3. 格式化为Swap:`mkswap /swapfile`;
4. 临时启用:`swapon /swapfile`;
5. 开机自动挂载:编辑`/etc/fstab`,添加`/swapfile swap swap defaults 0 0`。
有了Swap分区,服务器在内存吃紧时能更稳定运行,减少服务崩溃风险。
掌握这5个设置后,CentOS管理VPS服务器将更高效稳定。操作时建议先备份关键配置(比如修改`sshd_config`前备份原文件),遇到问题可查看`/var/log/`下的日志排查。逐步实践这些技巧,你的服务器管理能力会越来越顺手。