温馨提示×

CentOS如何安全清理系统

小樊
55
2025-09-01 21:23:59
栏目: 智能运维

CentOS系统安全清理指南

1. 更新系统至最新版本

定期更新系统软件包是安全清理的基础,可修复已知漏洞、提升系统稳定性。使用以下命令更新所有已安装的软件包(包括内核):

sudo yum update -y # CentOS 7及以下 sudo dnf update -y # CentOS 8及以上 

更新后重启系统使内核变更生效:sudo reboot

2. 删除无用软件包与依赖

无用软件包会占用磁盘空间并增加安全风险,需彻底清理:

  • 自动移除不再需要的依赖
    sudo yum autoremove -y # CentOS 7及以下 sudo dnf autoremove -y # CentOS 8及以上 
  • 手动清理残留文件:卸载软件后,手动删除其配置文件和数据目录(如/etc/<package_name>/usr/share/<package_name>),避免敏感信息残留。

3. 清理包管理器缓存

包管理器(yum/dnf)的缓存会占用大量磁盘空间,清理后可释放资源:

  • 清理所有缓存(包括元数据和下载的RPM包)
    sudo yum clean all # CentOS 7及以下 sudo dnf clean all # CentOS 8及以上 
  • 手动删除缓存目录
    sudo rm -rf /var/cache/yum/* # CentOS 7及以下 sudo rm -rf /var/cache/dnf/* # CentOS 8及以上 
  • 清理系统页面缓存:释放内存缓存,提升系统性能(不影响正在运行的程序):
    sudo sync && sudo echo 3 > /proc/sys/vm/drop_caches 

4. 清理临时文件与旧日志

临时文件和旧日志会占用磁盘空间,甚至包含敏感信息,需定期清理:

  • 清理/tmp目录:该目录存储临时文件,可直接删除:
    sudo rm -rf /tmp/* 
  • 清理/var/tmp目录:长期临时文件(保留时间更长),建议保留7天内的文件:
    sudo find /var/tmp -type f -mtime +7 -exec rm -f {} \; 
  • 清理旧日志文件:使用journalctl管理系统日志,保留最近2周的日志:
    sudo journalctl --vacuum-time=2weeks 
    或手动删除/var/log目录下的旧日志(如.log.开头的压缩文件):
    sudo rm -rf /var/log/*.log.* 

5. 强化账户与权限管理

  • 禁用非必要账户:删除或禁用不再使用的用户账户(如admlp等默认账户),避免未授权访问:
    sudo userdel -r username # 删除用户及主目录 
  • 强化root账户安全:修改SSH配置(/etc/ssh/sshd_config),禁用root远程登录、修改默认端口(如22改为2222),并启用公钥认证:
    sudo sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config sudo sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config sudo systemctl restart sshd 
  • 设置密码策略:使用chage命令强制用户定期修改密码(如每90天),并设置密码复杂度要求(如包含大小写字母、数字和特殊字符)。

6. 禁用不必要的服务与启动项

  • 停止并禁用无用服务:使用systemctl命令禁用不再需要的服务(如Telnet、FTP等明文传输服务),防止潜在攻击:
    sudo systemctl stop service_name # 停止服务 sudo systemctl disable service_name # 禁用开机启动 
  • 检查启动项:使用systemctl list-unit-files --type=service查看开机启动的服务,禁用不必要的项(如cups打印服务)。

7. 配置防火墙与网络隔离

  • 使用firewalld配置防火墙:仅允许必要的网络端口(如SSH的2222端口、HTTP的80端口),拒绝其他不必要的流量:
    sudo firewall-cmd --permanent --add-port=2222/tcp # 允许SSH端口 sudo firewall-cmd --permanent --remove-service=telnet # 禁用Telnet sudo firewall-cmd --reload 
  • 限制su命令使用:修改/etc/pam.d/su文件,仅允许wheel组的用户使用su切换到root,提升root账户安全性。

8. 定期安全审计与备份

  • 使用Lynis进行安全扫描:Lynis是一款开源安全审计工具,可检测系统漏洞、配置错误并提供修复建议:
    sudo yum install lynis -y # 安装Lynis sudo lynis audit system # 执行系统审计 
  • 定期备份重要数据:使用rsynctar命令备份关键数据(如/etc/home、数据库文件)到外部存储设备或云存储,确保数据可恢复。

0