0

CentOS服务器安全加固:从账户到网络的完整配置指南

2026.05.21 | youres | 16次围观

一、为什么需要对CentOS服务器进行安全加固

CentOS作为企业级Linux发行版,虽然默认配置已经具备一定的安全性,但面对日益复杂的网络攻击手段,仍需要进行针对性的安全加固。服务器安全加固的核心目的是减少攻击面、强化身份认证、保护关键数据、提升系统韧性。

二、账户安全加固

2.1 清理不必要的系统账户

CentOS系统默认存在多个系统账户,这些账户如果不使用,应该锁定或删除。常见需要锁定的账户包括:adm、lp、sync、shutdown、halt、news、uucp、operator、games、gopher等。使用passwd -l命令锁定账户。

2.2 强化密码策略

密码是账户安全的第一道防线。编辑/etc/login.defs文件设置密码最长有效期90天、最小长度10位。编辑/etc/security/pwquality.conf设置密码复杂度要求,至少包含3种字符类型。

2.3 限制密码错误次数

防止暴力破解,需要在密码错误多次后锁定账户。编辑/etc/pam.d/system-auth添加faillock配置,密码错误5次锁定账户15分钟。

三、SSH服务安全配置

3.1 禁止root直接登录

这是SSH安全最基本也是最重要的配置。编辑/etc/ssh/sshd_config设置PermitRootLogin no。修改前务必先创建一个普通用户并设置sudo权限。

3.2 修改SSH默认端口

将SSH端口改为非标准端口(建议10000以上)可以减少大量自动化扫描攻击。同时需要更新防火墙规则开放新端口。

3.3 使用密钥认证替代密码

密钥认证比密码更安全,使用ssh-keygen生成ed25519密钥对,服务器端禁用密码登录启用密钥认证。

四、防火墙配置

CentOS 7及以上版本默认使用firewalld。启动并设置开机自启,开放必要的端口如SSH、HTTP、HTTPS。可使用富规则限制特定IP访问特定服务。

五、SELinux安全策略

SELinux有Enforcing、Permissive、Disabled三种模式。生产环境建议使用Enforcing模式。常用命令包括getenforce、sestatus、chcon、restorecon、getsebool、setsebool等。

六、文件系统安全

设置关键文件权限为600,使用chattr +i锁定关键文件防止修改。设置umask为077,定期查找SUID/SGID文件和无主文件。

七、服务与端口管理

关闭不必要的服务减少攻击面。使用systemctl list-units查看运行中的服务,使用ss -tulpn检查监听端口。

八、系统更新与日志审计

定期执行yum update更新系统,启用yum-cron自动安全更新。安装auditd进行日志审计,监控关键文件变更。

九、网络安全优化

编辑/etc/sysctl.conf优化内核网络参数:禁用IP转发、启用SYN Cookie防护、增加SYN队列长度、禁用源路由、启用反向路径过滤等。

十、安全加固检查清单

root禁止直接SSH登录、SSH端口已修改、密钥认证已启用、密码策略已强化、防火墙已启用、SELinux已启用、不必要账户已锁定、关键文件权限已加固、不必要服务已关闭、系统更新已完成、日志审计已启用。

总结

CentOS服务器安全加固是一个系统工程,需要从账户管理、SSH配置、防火墙规则、SELinux策略、文件权限、服务管理等多个层面综合考虑。安全加固不是一劳永逸的,需要定期检查和更新。

版权声明

本文仅代表个人观点。
本文系AI辅助作者原创,未经许可,转载请保留原文链接。

发表评论
883文章数 0评论数
作者其它文章