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

如何设置CentOS系统以防止恶意代码的执行和传输

sudo systemctl bash 设置 889    来源:    2025-04-16

CentOS系统防止恶意代码执行和传输的安全设置指南

作为IT工程师,以下是保护CentOS系统免受恶意代码执行和传输的综合安全措施:

1. 系统基础安全加固

1.1 最小化安装与更新

# 安装时选择最小化安装
# 定期更新系统
sudo yum update -y
sudo yum install yum-plugin-security -y
sudo yum update --security -y

1.2 禁用不必要的服务

# 查看运行中的服务
systemctl list-unit-files --type=service | grep enabled

# 禁用不必要服务(示例)
sudo systemctl disable avahi-daemon
sudo systemctl disable cups

2. 文件系统保护

2.1 关键目录权限设置

# 设置关键目录不可执行
sudo chmod -R o-w /bin /boot /etc /lib /sbin
sudo chmod -R o-x /usr/bin /usr/sbin /usr/lib

# 设置/tmp目录安全
sudo chmod 1777 /tmp

2.2 使用文件系统属性

# 防止关键文件被修改
sudo chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/sudoers

# 防止二进制文件被替换
sudo chattr +i /bin/* /sbin/* /usr/bin/* /usr/sbin/*

3. 用户权限控制

3.1 限制root访问

# 禁用root SSH登录
sudo sed -i 's/^PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
sudo systemctl restart sshd

# 使用sudo代替root
sudo visudo
# 添加: username ALL=(ALL) ALL

3.2 设置umask

# 全局umask设置
echo "umask 027" | sudo tee -a /etc/profile
echo "umask 027" | sudo tee -a /etc/bashrc

4. 网络安全配置

4.1 防火墙设置

# 启用firewalld
sudo systemctl enable firewalld
sudo systemctl start firewalld

# 基本规则设置
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --remove-service=dhcpv6-client
sudo firewall-cmd --reload

4.2 SELinux配置

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

# 检查状态
getenforce

5. 恶意代码防护

5.1 安装防病毒软件

# 安装ClamAV
sudo yum install -y epel-release
sudo yum install -y clamav clamd clamav-update
sudo freshclam  # 更新病毒库
sudo systemctl enable clamd@scan
sudo systemctl start clamd@scan

5.2 文件完整性监控

# 安装AIDE
sudo yum install -y aide
sudo aide --init
sudo mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
sudo aide --check

# 设置定期检查
echo "0 5 * * * root /usr/sbin/aide --check" | sudo tee -a /etc/crontab

6. 传输安全

6.1 SSH加固

# 编辑SSH配置
sudo vi /etc/ssh/sshd_config

# 推荐设置:
Protocol 2
PermitRootLogin no
MaxAuthTries 3
LoginGraceTime 60
AllowUsers your_username
X11Forwarding no
ClientAliveInterval 300
ClientAliveCountMax 0
UseDNS no

sudo systemctl restart sshd

6.2 文件传输限制

# 禁用不必要的文件传输协议
sudo systemctl disable vsftpd
sudo systemctl disable tftp

# 如需使用SCP/SFTP,限制用户目录
sudo chroot_local_user=YES
sudo match group sftpusers /etc/ssh/sshd_config

7. 日志与监控

7.1 增强日志记录

# 配置rsyslog
sudo vi /etc/rsyslog.conf

# 添加以下内容
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
kern.* -/var/log/kern.log

7.2 安装入侵检测系统

# 安装OSSEC
sudo yum install -y ossec-hids-server
sudo /var/ossec/bin/manage_agents
sudo systemctl enable ossec
sudo systemctl start ossec

8. 定期维护

8.1 自动化安全更新

# 安装无人值守更新
sudo yum install -y yum-cron
sudo systemctl enable yum-cron
sudo systemctl start yum-cron

8.2 定期安全审计

# 使用Lynis进行安全审计
sudo yum install -y lynis
sudo lynis audit system

通过实施以上措施,您的CentOS系统将大大降低遭受恶意代码执行和传输的风险。请根据实际业务需求调整这些设置,并定期审查系统安全状态。