一、系统更新与补丁检查(基础且关键的预防措施)
保持CentOS系统及软件包最新是修复已知漏洞的核心手段。通过以下命令可快速检查并安装安全更新:
sudo yum update命令,系统会自动下载并安装所有可用的安全补丁;若仅需安装安全更新,可使用sudo yum --security update命令,避免不必要的功能更新影响稳定性。yum-cron工具(sudo yum install yum-cron -y),启用自动每日检查并安装安全更新(编辑/etc/yum/yum-cron.conf,设置apply_updates = yes),确保系统持续处于最新状态。二、使用漏洞扫描工具(精准识别系统漏洞)
OpenVAS(开源综合扫描器)
OpenVAS是功能强大的开源漏洞评估系统,支持扫描操作系统、网络服务及应用程序漏洞,提供详细的风险评级(高、中、低)和修复建议。
sudo yum install openvas -y安装,启动服务(sudo systemctl start openvas),首次运行需初始化数据库(sudo greenbone-feed-sync,耗时较长)。openvas-start启动扫描界面,在浏览器访问https://localhost:9392(默认端口),登录后创建扫描任务,选择目标主机(如127.0.0.1)即可开始扫描。Nessus(商业级精准扫描)
Nessus是全球使用最广泛的漏洞扫描工具,支持深度扫描(如未授权访问、配置错误),提供专业的漏洞报告(含CVSS评分、修复步骤)。
Nessus-8.13.1-es7.x86_64.rpm),通过rpm -ivh Nessus-*.rpm安装,启动服务(sudo systemctl start nessusd),在浏览器访问https://服务器IP:8834激活账号(需注册)。Trivy(轻量级镜像/系统扫描)
Trivy是专为容器和镜像设计的开源漏洞扫描工具,也支持扫描本地系统,特点是速度快、易集成(适合CI/CD流程)。
sudo vim /etc/yum.repos.d/trivy.repo,内容参考官方文档),运行sudo yum install trivy -y安装。trivy fs --security-checks vuln /),扫描镜像(trivy image centos:7),可通过--severity HIGH,CRITICAL过滤高风险漏洞,或-f json输出结构化报告。Lynis(系统安全审计工具)
Lynis是开源的Linux安全审计工具,用于检测系统配置缺陷(如弱密码、未加密服务)、缺失的安全补丁及不符合CIS基准的设置,适合日常安全强化。
sudo yum install lynis -y,运行sudo lynis audit system进行全面扫描,结果会输出到终端(含“警告”“建议”分类),也可生成HTML报告(sudo lynis audit system --report-file /var/log/lynis-report.html)。三、日志分析与入侵检测(发现潜在攻击痕迹)
查看系统日志
系统日志记录了认证、服务启动、错误等信息,通过分析日志可发现异常活动(如暴力破解、未授权访问)。
sudo tail -f /var/log/secure:实时查看认证日志(如SSH登录失败记录,关键字Failed password);sudo tail -f /var/log/messages:查看系统级日志(如内核错误、服务崩溃);sudo grep 'fail\|error\|refused' /var/log/secure:过滤关键字,快速定位异常事件。入侵检测系统(IDS)
IDS用于实时监控网络流量或系统活动,识别潜在的入侵行为(如端口扫描、恶意代码执行)。
sudo yum install snort -y,配置规则(编辑/etc/snort/snort.conf,启用常用规则集),启动服务(sudo systemctl start snort),查看警报日志(/var/log/snort/alert)。sudo yum install ossec-hids-server -y(服务器端),客户端安装ossec-hids-agent,配置同步后,OSSEC会监控文件完整性(如/etc/passwd被修改)、登录行为(如root远程登录),并发出警报。四、监控系统状态与配置(降低漏洞风险)
检查开放端口与服务
开放的端口和服务是攻击者的入口,需定期检查并关闭不必要的端口。
sudo netstat -tulnp:查看所有监听端口及对应的服务进程(如22/tcp对应SSH);sudo ss -tulnp:更现代的替代命令(功能类似netstat);sudo lsof -i :端口号:查看特定端口的服务(如sudo lsof -i :22查看SSH服务)。sudo systemctl stop httpd停止Apache),禁用高危端口(如Telnet的23/tcp、FTP的21/tcp)。使用SELinux强化安全
SELinux(安全增强型Linux)是CentOS的内置强制访问控制(MAC)机制,可限制进程的权限,防止漏洞被利用(如限制Apache只能访问/var/www/html目录)。
sestatus,若显示Enforcing则表示启用(推荐);若为Permissive(仅记录不阻止)或Disabled,需修改/etc/selinux/config文件(设置SELINUX=enforcing),重启系统生效。/data目录),可使用audit2allow工具生成自定义策略(grep nginx /var/log/audit/audit.log | audit2allow -M mypolicy)。