1. 定期更新系统与软件包
定期更新CentOS系统及已安装软件包是修复已知安全漏洞的核心措施。使用sudo yum update -y
命令更新所有软件包至最新版本,及时修补潜在安全风险,减少被攻击的可能性。
2. 删除无用软件包与缓存
移除不再需要的软件包(如通过sudo yum autoremove -y
自动清理无依赖的包),可缩小系统攻击面;清理YUM缓存(sudo yum clean all
)及系统临时文件(rm -rf /tmp/*
),避免缓存中的敏感信息(如下载的软件包)被恶意利用。
3. 清理日志与临时文件
定期清理旧日志文件(如用sudo journalctl --vacuum-time=2weeks
删除两周前的日志、rm -rf /var/log/old*
清理旧日志目录),防止日志中存储的用户行为、系统操作等敏感信息泄露;清理/tmp
、/var/tmp
目录下的临时文件(rm -rf /tmp/*
),避免恶意软件通过临时文件驻留系统。
4. 管理用户与权限
检查并删除不必要的用户账户(如adm
、lp
、sync
等默认非必需账户,可通过sudo cut -d: -f1 /etc/passwd | grep -vE '^root|daemon|bin|sys|sync|games|man|lp|mail|news|uucp|proxy|www-data|backup|list|irc|gnats|nobody|systemd-network|systemd-resolve|messagebus|polkitd|sshd|httpd|nginx'
筛选,再用sudo userdel -r username
删除),减少潜在的入侵入口;强化密码策略(修改/etc/login.defs
文件,设置PASS_MIN_LEN 10
要求密码长度≥10位,包含大小写字母、数字和特殊字符),并使用chattr +i /etc/passwd /etc/shadow
锁定口令文件,防止未授权修改。
5. 禁用非必要服务与端口
通过sudo systemctl list-unit-files --type=service
列出所有服务,禁用并停止不需要的服务(如sudo systemctl disable service_name
、sudo systemctl stop service_name
),减少系统资源消耗和潜在攻击面;使用firewalld
或iptables
配置防火墙规则,仅允许必要的端口(如HTTP的80端口、HTTPS的443端口)对外开放,封锁高危端口(如Telnet的23端口、FTP的21端口),限制外部非法访问。
6. 强化系统安全配置
启用SELinux(sudo setenforce 1
,并修改/etc/selinux/config
文件设置SELINUX=enforcing
),通过强制访问控制(MAC)限制程序行为,防止恶意进程越权访问系统资源;禁用root直接登录(修改/etc/ssh/sshd_config
文件,设置PermitRootLogin no
),强制使用普通用户登录后再通过su
或sudo
切换至root,降低root账户被暴力破解的风险;设置root账户自动注销时限(修改/etc/profile
文件,添加TMOUT=300
,单位为秒),避免root账户长时间闲置被他人利用。
7. 使用安全工具审计与防护
使用lynis
工具进行系统安全扫描(sudo yum install lynis -y
,sudo lynis audit system
),检测系统配置漏洞(如弱密码、未授权服务)并提供修复建议;安装fail2ban
工具(sudo yum install fail2ban -y
),自动识别并屏蔽多次尝试暴力破解的IP地址,防止SSH等服务的密码猜测攻击;定期备份重要数据(如用rsync -avz /path/to/important/data /backup/location
),确保在遭受攻击(如勒索软件)后能快速恢复数据。