在CentOS系统中,恶意软件往往借助自动安装脚本、不可信软件源或计划任务悄悄植入。通过合理的系统配置,可以有效阻断这些自动安装路径,保障服务器安全。

一、限制软件源与包管理行为
CentOS默认使用yum或dnf安装软件,若软件源被篡改,就可能拉取恶意包。建议只保留官方与可信源,并禁止自动更新。
1. 清理并锁定软件源
检查 /etc/yum.repos.d/ 下的文件,删除不明仓库,并给关键配置文件加锁:
# 查看现有仓库 ls /etc/yum.repos.d/ # 备份并移除可疑源 mkdir -p /etc/yum.repos.d/bak mv /etc/yum.repos.d/suspect.repo /etc/yum.repos.d/bak/ # 锁定仓库目录防止写入 chattr +i /etc/yum.repos.d/
2. 关闭自动更新服务
若开启了 yum-cron 或 dnf-automatic,系统会定时自动装包,应停用:
systemctl stop yum-cron systemctl disable yum-cron systemctl stop dnf-automatic systemctl disable dnf-automatic
二、禁用不必要的自动执行机制
恶意软件常利用定时任务或可写目录自动运行。需要收敛相关权限。
1. 审查计划任务
使用以下命令列出所有用户与系统级任务,删除异常项:
# 系统任务 ls /etc/cron.d/ /etc/cron.daily/ /etc/cron.hourly/ # 用户任务 for u in $(cut -f1 -d: /etc/passwd); do crontab -l -u $u 2>/dev/null; done
2. 限制可写且可执行目录
将 /tmp 与 /var/tmp 挂载为禁止执行,避免脚本落地即跑:
# 修改 /etc/fstab 添加 noexec # /tmp 所在行追加 noexec,nosuid,nodev # 示例: # /dev/sda3 /tmp ext4 defaults,noexec,nosuid,nodev 0 0 mount -o remount,noexec /tmp mount -o remount,noexec /var/tmp
三、启用SELinux与基础监控
SELinux能限制进程越权安装或写系统目录。确保其处于 enforcing 模式:
getenforce setenforce 1 sed -i 's/SELINUX=permissive/SELINUX=enforcing/' /etc/selinux/config
同时可用 auditd 记录异常软件安装调用:
# 监控 yum 命令执行 auditctl -w /usr/bin/yum -p x -k pkg_install
四、小结
通过锁定软件源、关闭自动更新、收敛定时任务与临时目录执行权限、开启SELinux与审计,CentOS系统可显著减少恶意软件自动安装的可能。日常仍建议定期人工巡检日志与权限变更。