作为IT工程师,以下是保护CentOS系统免受恶意代码执行和传输的综合安全措施:
# 安装时选择最小化安装
# 定期更新系统
sudo yum update -y
sudo yum install yum-plugin-security -y
sudo yum update --security -y
# 查看运行中的服务
systemctl list-unit-files --type=service | grep enabled
# 禁用不必要服务(示例)
sudo systemctl disable avahi-daemon
sudo systemctl disable cups
# 设置关键目录不可执行
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
# 防止关键文件被修改
sudo chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/sudoers
# 防止二进制文件被替换
sudo chattr +i /bin/* /sbin/* /usr/bin/* /usr/sbin/*
# 禁用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
# 全局umask设置
echo "umask 027" | sudo tee -a /etc/profile
echo "umask 027" | sudo tee -a /etc/bashrc
# 启用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
# 确保SELinux处于强制模式
sudo setenforce 1
sudo sed -i 's/SELINUX=permissive/SELINUX=enforcing/' /etc/selinux/config
# 检查状态
getenforce
# 安装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
# 安装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
# 编辑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
# 禁用不必要的文件传输协议
sudo systemctl disable vsftpd
sudo systemctl disable tftp
# 如需使用SCP/SFTP,限制用户目录
sudo chroot_local_user=YES
sudo match group sftpusers /etc/ssh/sshd_config
# 配置rsyslog
sudo vi /etc/rsyslog.conf
# 添加以下内容
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
kern.* -/var/log/kern.log
# 安装OSSEC
sudo yum install -y ossec-hids-server
sudo /var/ossec/bin/manage_agents
sudo systemctl enable ossec
sudo systemctl start ossec
# 安装无人值守更新
sudo yum install -y yum-cron
sudo systemctl enable yum-cron
sudo systemctl start yum-cron
# 使用Lynis进行安全审计
sudo yum install -y lynis
sudo lynis audit system
通过实施以上措施,您的CentOS系统将大大降低遭受恶意代码执行和传输的风险。请根据实际业务需求调整这些设置,并定期审查系统安全状态。