插件窝 干货文章 如何设置CentOS系统以防止恶意代码的自动执行

如何设置CentOS系统以防止恶意代码的自动执行

systemctl 安全 bash 权限 55    来源:    2025-04-15

CentOS系统防止恶意代码自动执行的安全设置指南

作为IT工程师,我可以为您提供一套全面的CentOS安全配置方案,以防止恶意代码的自动执行。以下是详细的安全措施:

1. 文件系统安全设置

1.1 挂载选项配置

# 编辑/etc/fstab文件,为关键分区添加安全挂载选项
/dev/sda1   /           ext4    defaults,nodev,nosuid,noexec        1 1
/dev/sda2   /home       ext4    defaults,nodev,nosuid               1 2
/tmp        /tmp        tmpfs   defaults,nosuid,nodev,noexec        0 0
  • noexec: 禁止执行该分区上的二进制文件
  • nosuid: 忽略SUID/SGID权限
  • nodev: 禁止设备文件

1.2 关键目录权限设置

chmod 700 /root
chmod 1777 /tmp
chmod 755 /bin /usr/bin /sbin /usr/sbin
chmod 644 /etc/passwd /etc/group
chmod 600 /etc/shadow /etc/gshadow

2. 用户和权限管理

2.1 限制用户权限

# 限制普通用户访问关键目录
setfacl -R -m u:username:r-x /etc
setfacl -R -m u:username:r-x /bin /sbin /usr/bin /usr/sbin

# 禁用root远程登录
sed -i 's/^PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
systemctl restart sshd

2.2 配置sudo权限

# 编辑/etc/sudoers文件,限制用户权限
username ALL=(ALL) /usr/bin/yum, /usr/bin/systemctl restart httpd

3. 服务和安全配置

3.1 SELinux配置

# 确保SELinux处于强制模式
setenforce 1
sed -i 's/SELINUX=.*/SELINUX=enforcing/' /etc/selinux/config

# 安装管理工具
yum install -y policycoreutils-python setools-console

3.2 防火墙配置

systemctl enable firewalld
systemctl start firewalld

# 只开放必要端口
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --remove-service=dhcpv6-client
firewall-cmd --reload

4. 恶意代码防护

4.1 安装安全工具

yum install -y rkhunter chkrootkit clamav

# 更新ClamAV病毒库
freshclam

# 定期扫描
rkhunter --update
rkhunter --propupd
rkhunter --check

4.2 文件完整性检查

yum install -y aide
aide --init
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

# 设置定期检查
echo "0 5 * * * root /usr/sbin/aide --check" > /etc/cron.d/aide-check

5. 自动执行防护

5.1 禁用不必要的cron和at任务

systemctl mask atd.service
systemctl stop atd.service

# 限制cron使用
echo "ALL" > /etc/cron.allow
echo "root" >> /etc/cron.allow

5.2 限制脚本执行

# 防止/tmp目录执行脚本
mount -o remount,noexec /tmp

# 限制用户目录执行权限
find /home -type f -name "*.sh" -exec chmod -x {} \;
find /home -type f -name "*.py" -exec chmod -x {} \;

6. 系统更新与监控

6.1 自动安全更新

yum install -y yum-cron
sed -i 's/apply_updates = no/apply_updates = yes/' /etc/yum/yum-cron.conf
systemctl enable yum-cron
systemctl start yum-cron

6.2 日志监控

yum install -y logwatch
echo "LogLevel INFO" >> /etc/ssh/sshd_config
systemctl restart rsyslog
systemctl restart sshd

7. 定期维护任务

  1. 每月检查

    • 审核用户账户和权限
    • 检查异常进程和网络连接
    • 验证系统完整性(aide)
  2. 每周任务

    • 更新病毒定义库
    • 运行安全扫描工具
    • 检查系统日志
  3. 每日任务

    • 检查关键文件修改
    • 监控磁盘和内存使用
    • 验证备份完整性

通过以上配置,您的CentOS系统将具备较强的防御能力,能有效防止恶意代码的自动执行。请根据实际业务需求调整部分设置,并确保定期检查和更新安全策略。