CentOS系统的安全配置需要从网络边界、权限管控、行为监控等多个层面共同入手,通过层层防护降低恶意软件传播和系统被入侵的概率,保障业务服务的稳定运行。

一、配置防火墙限制非法网络访问
CentOS 7及以上版本默认使用firewalld作为防火墙管理工具,通过合理设置防火墙规则可以拦截大部分非必要的网络请求,减少恶意软件的攻击面。
1. 基础防火墙操作
首先确保firewalld服务处于运行状态,执行以下命令启动并设置开机自启:
# 启动firewalld服务 systemctl start firewalld # 设置开机自启 systemctl enable firewalld # 查看当前防火墙状态 systemctl status firewalld
2. 定制端口放行规则
仅开放业务必需的端口,比如Web服务开放80和443端口,SSH服务如果需要远程管理可以开放22端口,但建议修改默认端口降低被扫描的概率。添加端口规则的示例如下:
# 开放80端口(TCP协议) firewall-cmd --permanent --add-port=80/tcp # 开放443端口(TCP协议) firewall-cmd --permanent --add-port=443/tcp # 移除默认的22端口放行规则(如果修改了SSH端口) firewall-cmd --permanent --remove-port=22/tcp # 重新加载防火墙规则使配置生效 firewall-cmd --reload # 查看当前所有放行的端口规则 firewall-cmd --list-ports
二、启用并配置SELinux安全策略
SELinux是CentOS内置的强制访问控制机制,能够限制进程的权限,即使恶意软件获取了某个进程的权限,也无法越权访问系统其他资源。
1. 检查SELinux运行状态
执行以下命令查看SELinux的当前状态:
# 查看SELinux运行状态 getenforce # 输出Enforcing表示强制模式,Permissive表示宽容模式,Disabled表示禁用
2. 开启强制模式并持久化配置
如果SELinux处于禁用或宽容模式,需要修改为强制模式。首先修改配置文件:
# 编辑SELinux配置文件 vi /etc/selinux/config # 将SELINUX字段修改为enforcing,内容如下 SELINUX=enforcing SELINUXTYPE=targeted
修改完成后重启系统使配置生效,重启后执行getenforce命令确认输出为Enforcing即可。
三、优化系统服务与文件权限
不必要的系统服务会开放额外的端口和进程,增加被攻击的风险,同时不合理的文件权限也会给恶意软件留下可乘之机。
1. 禁用非必要系统服务
通过以下命令查看当前运行的服务,禁用不需要的服务:
# 查看所有正在运行的服务 systemctl list-units --type=service --state=running # 禁用不需要的服务,比如telnet服务(明文传输不安全) systemctl disable telnet.socket systemctl stop telnet.socket
2. 调整关键文件权限
系统关键配置文件和二进制文件需要设置严格的权限,避免被恶意篡改:
# 设置/etc/passwd文件权限为644,仅root可写 chmod 644 /etc/passwd # 设置/etc/shadow文件权限为000,仅root可读 chmod 000 /etc/shadow # 设置/usr/bin目录下的系统命令权限,避免普通用户修改 chmod 755 /usr/bin/*
四、部署入侵检测工具
除了被动防护,还需要主动监控系统的异常行为,及时发现恶意软件的传播和入侵痕迹,常用的工具是AIDE和Fail2ban。
1. 部署AIDE文件完整性检测
AIDE可以监控关键文件的变化,当文件被篡改时会触发告警。安装和初始化配置步骤如下:
# 安装AIDE yum install aide -y # 初始化AIDE数据库 aide --init # 将初始数据库复制到工作目录 cp /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz # 执行检查,对比当前文件和初始数据库的差异 aide --check
2. 配置Fail2ban拦截暴力破解
Fail2ban可以监控SSH、Web服务等日志,当发现多次失败的登录尝试时自动封禁来源IP,防止暴力破解入侵:
# 安装Fail2ban yum install fail2ban -y # 启动服务并设置开机自启 systemctl start fail2ban systemctl enable fail2ban # 配置SSH防护规则,编辑配置文件 vi /etc/fail2ban/jail.local # 添加以下内容 [sshd] enabled = true port = 22 filter = sshd logpath = /var/log/secure maxretry = 3 bantime = 3600
五、定期更新系统与恶意软件扫描
及时安装系统补丁可以修复已知的安全漏洞,同时定期扫描系统可以及时发现已经入侵的恶意软件。
1. 配置自动安全更新
安装yum-cron工具实现自动安全更新:
# 安装yum-cron yum install yum-cron -y # 编辑配置文件,开启自动安全更新 vi /etc/yum/yum-cron.conf # 将update_cmd字段修改为security,apply_updates字段修改为yes update_cmd = security apply_updates = yes # 启动服务并设置开机自启 systemctl start yum-cron systemctl enable yum-cron
2. 使用ClamAV扫描恶意软件
ClamAV是开源的恶意软件扫描工具,可以定期扫描系统文件:
# 安装ClamAV yum install clamav clamav-update -y # 更新病毒库 freshclam # 扫描根目录下的所有文件,输出扫描结果 clamscan -r --infected /
通过以上多层面的配置,可以大幅提升CentOS系统的安全性,有效防止恶意软件的传播和非法入侵。日常运维中还需要定期查看系统日志、监控资源使用情况,及时发现异常行为并处理。