CentOS系统凭借稳定性和开源特性被广泛应用于服务器场景,但其暴露在公网时容易遭受端口扫描、暴力破解、恶意 payload 注入等外部攻击,部署端点安全解决方案可以从多个层面拦截风险,保障系统运行安全。

一、基础系统加固前置操作
在部署端点安全解决方案前,需要先完成CentOS系统的基础加固,减少默认配置带来的安全风险。
1.1 系统更新与冗余服务清理
首先更新系统所有软件包到最新版本,修复已知的安全漏洞:
# 更新系统软件包 sudo yum update -y # 查看当前运行的服务 systemctl list-units --type=service --state=running # 关闭不必要的服务,例如telnet sudo systemctl stop telnet.socket sudo systemctl disable telnet.socket
1.2 账户权限管控
限制root账户直接登录,创建普通运维账户并配置sudo权限,避免权限滥用:
# 创建运维账户 sudo useradd ops_admin # 设置账户密码 sudo passwd ops_admin # 配置sudo权限 sudo echo "ops_admin ALL=(ALL) ALL" >> /etc/sudoers # 禁止root远程登录,修改ssh配置文件 sudo sed -i 's/#PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config sudo systemctl restart sshd
二、部署防火墙端点防护
防火墙是端点安全的第一道防线,CentOS默认集成的firewalld可以实现细粒度的流量管控。
2.1 基础防火墙规则配置
仅开放业务必需的端口,拒绝所有其他外部入站流量:
# 启动firewalld服务 sudo systemctl start firewalld sudo systemctl enable firewalld # 设置默认区域为drop,拒绝所有未明确允许的流量 sudo firewall-cmd --set-default-zone=drop # 开放ssh端口22,仅允许指定管理IP段访问 sudo firewall-cmd --permanent --zone=drop --add-port=22/tcp sudo firewall-cmd --permanent --zone=drop --add-source=192.168.0.0/24 # 开放业务端口80和443 sudo firewall-cmd --permanent --zone=drop --add-port=80/tcp sudo firewall-cmd --permanent --zone=drop --add-port=443/tcp # 重载规则生效 sudo firewall-cmd --reload # 查看当前规则 sudo firewall-cmd --list-all --zone=drop
2.2 防暴力破解规则配置
通过firewalld的富规则限制单IP的ssh连接频率,拦截暴力破解尝试:
# 限制单IP每分钟最多发起3次ssh连接 sudo firewall-cmd --permanent --zone=drop --add-rich-rule='rule family="ipv4" source address="0.0.0.0/0" port port="22" protocol="tcp" accept limit value="3/m"' sudo firewall-cmd --reload
三、部署入侵检测系统
入侵检测系统可以实时监控系统中的异常行为,补充防火墙的被动防护能力,这里使用开源的Suricata作为端点入侵检测工具。
3.1 安装与基础配置
# 安装epel源 sudo yum install epel-release -y # 安装Suricata sudo yum install suricata -y # 备份默认配置文件 sudo cp /etc/suricata/suricata.yaml /etc/suricata/suricata.yaml.bak # 修改配置文件,设置监控的网卡为eth0,开启日志记录 sudo sed -i 's/eth0/eth0/g' /etc/suricata/suricata.yaml sudo sed -i 's/# - eve-log/- eve-log/g' /etc/suricata/suricata.yaml
3.2 启动与规则更新
下载最新的威胁检测规则集,启动Suricata服务:
# 下载开源规则集 sudo suricata-update # 启动Suricata服务 sudo systemctl start suricata sudo systemctl enable suricata # 查看服务状态 sudo systemctl status suricata # 查看检测日志 sudo tail -f /var/log/suricata/eve.json
四、部署恶意程序查杀工具
端点安全还需要具备恶意程序检测和查杀能力,使用ClamAV作为CentOS系统的开源杀毒引擎。
4.1 安装与病毒库更新
# 安装ClamAV sudo yum install clamav clamav-update -y # 更新病毒库 sudo freshclam
4.2 定时扫描配置
配置定时任务,每天凌晨对系统根目录进行全盘扫描,发现恶意程序自动隔离:
# 创建扫描脚本 sudo echo '#!/bin/bash clamscan -r --infected --remove / -l /var/log/clamav/scan.log' > /usr/local/bin/clam_scan.sh sudo chmod +x /usr/local/bin/clam_scan.sh # 添加定时任务,每天凌晨2点执行扫描 sudo echo "0 2 * * * /usr/local/bin/clam_scan.sh" >> /var/spool/cron/root
五、安全策略验证与日常维护
部署完成后需要验证防护策略是否生效,同时做好日常维护工作。
- 使用nmap从外部扫描CentOS系统,确认仅开放了配置的端口
- 模拟暴力破解ssh登录,确认firewalld的频率限制规则生效
- 每周检查Suricata和ClamAV的日志,及时处理告警信息
- 每月更新一次系统软件包和威胁检测规则库,修复新出现的安全漏洞
通过以上端点安全解决方案的部署,可以从网络层、系统层、应用层多个维度拦截外部攻击,大幅提升CentOS系统的安全防护能力,保障业务持续稳定运行。