等保测评后,我的CentOS/Ubuntu服务器安全加固清单还加了这些
等保测评后我的CentOS/Ubuntu服务器安全加固清单还加了这些在完成等保测评基础整改后许多安全工程师常陷入合规即安全的误区。实际上等保要求只是安全基线的最低标准。本文将分享我在实际运维中积累的合规之上的实战加固技巧涵盖登录防护升级、细粒度审计、强制访问控制和日志分析四大维度。1. 登录防护从基础锁定到智能封禁1.1 用Fail2ban替代pam_tally2的五大优势传统pam_tally2虽然能满足等保对登录失败锁定的要求但存在以下局限性仅支持固定时间锁定无法动态调整缺乏IP封禁能力攻击者可更换用户继续尝试无自动解封机制需手动干预日志功能简陋难以追溯攻击路径不支持多服务联合防护如SSHWebFail2ban解决方案# CentOS安装 yum install epel-release -y yum install fail2ban -y # Ubuntu安装 apt install fail2ban -y配置示例/etc/fail2ban/jail.local[sshd] enabled true maxretry 3 findtime 1h bantime 1d ignoreip 127.0.0.1/8 192.168.1.0/24关键参数对比功能pam_tally2Fail2ban防护维度用户账号IP地址封禁策略固定时长可阶梯递增日志分析无完整攻击日志记录多服务支持不支持支持50服务管理接口命令行REST API1.2 高级防护策略智能白名单[DEFAULT] ignorecommand /path/to/check_whitelist.py %(ip)s多因素触发[sshd-aggressive] filter sshd maxretry 10 findtime 60 bantime 1w注意生产环境建议先设置为bantime 3600测试效果避免误封关键IP2. 审计系统从基础日志到命令级追踪2.1 auditd深度配置等保要求的基础审计往往只覆盖关键系统事件而真正的攻击常发生在具体命令执行层面。以下是我的auditd增强配置# 监控所有sudo命令 -w /etc/sudoers -p wa -k sudoers_change -w /etc/sudoers.d/ -p wa -k sudoers_change # 监控敏感文件访问 -w /etc/passwd -p wa -k identity -w /etc/shadow -p wa -k identity # 记录所有特权命令 -a always,exit -F archb64 -S execve -F euid0 -k root_cmd关键审计规则解析规则类型监控目标典型攻击场景文件监控/etc/shadow修改密码哈希窃取进程监控setuid/setgid调用权限提升漏洞利用系统调用监控execve系统调用恶意脚本执行网络监控bind/connect调用反向shell连接2.2 审计日志分析技巧使用ausearch进行高效分析# 查找最近1小时的特权命令 ausearch -k root_cmd -ts recent -l # 统计异常登录尝试 ausearch -k login_failure -i | grep -Eo acct.*? | sort | uniq -c3. 强制访问控制SELinux/AppArmor实战3.1 CentOS的SELinux增强策略基础等保通常只要求开启SELinux但默认策略仍存在风险# 检查当前模式 getenforce # 创建自定义策略模块 audit2allow -a -M mypolicy semodule -i mypolicy.pp关键加固措施限制容器逃逸setsebool -P container_manage_cgroup false防止服务提权semanage port -a -t http_port_t -p tcp 8080保护敏感数据chcon -t ssh_home_t /etc/ssh/*_key3.2 Ubuntu的AppArmor配置AppArmor配置示例/etc/apparmor.d/usr.sbin.mysqld/usr/sbin/mysqld { #include abstractions/base /etc/mysql/*.pem r, /var/lib/mysql/** rwk, /run/mysqld/mysqld.sock rw, deny /etc/shadow r, deny /root/** rwk, }4. 日志分析从分散存储到智能聚合4.1 ELK Stack部署方案基础等保要求的日志保存6个月往往只是存储而非分析。ELK方案实现Filebeat配置/etc/filebeat/filebeat.ymlfilebeat.inputs: - type: log paths: - /var/log/secure - /var/log/audit/audit.log fields: type: syslog output.elasticsearch: hosts: [https://elk.example.com:9200] ssl.certificate_authorities: [/etc/pki/tls/certs/ca.crt]Kibana关键仪表盘登录失败地理分布图特权命令时间线异常进程树形图敏感文件访问热力图4.2 实时告警规则示例{ query: { bool: { must: [ { match: { message: Failed password } }, { range: { timestamp: { gte: now-5m } } } ], filter: { script: { script: { source: doc[source.ip].value ! 192.168.1.100, lang: painless } } } } }, actions: { email_alert: { throttle_period: 15m, email: { to: security-teamexample.com, subject: Brute Force Alert, body: Detected {{ctx.hits.total}} failed logins from {{ctx.hits.hits.0._source.source.ip}} } } } }5. 网络层深度防护进阶5.1 内核参数调优# 防御SYN Flood sysctl -w net.ipv4.tcp_syncookies1 sysctl -w net.ipv4.tcp_max_syn_backlog2048 # 防止ARP欺骗 sysctl -w net.ipv4.conf.all.arp_ignore1 sysctl -w net.ipv4.conf.all.arp_announce25.2 服务最小化原则不必要的服务排查清单# CentOS systemctl list-unit-files | grep enabled # Ubuntu service --status-all | grep 建议禁用服务示例服务名风险等级替代方案rpcbind高危必要NFSv4avahi-daemon中危手动DNS配置cups低危专用打印服务器6. 持续安全运维体系6.1 自动化合规检查使用OpenSCAP实现自动核查# CentOS安装 yum install openscap-scanner scap-security-guide -y # 执行检查 oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_stig \ --results scan-results.xml \ /usr/share/xml/scap/ssg/content/ssg-centos7-ds.xml6.2 安全更新策略推荐更新周期更新类型频率操作窗口关键安全更新24小时内业务低峰期回滚预案重要更新1周内变更管理流程审批常规更新1月内季度维护窗口更新验证脚本示例#!/bin/bash if rpm -q --changelog kernel | grep -q CVE-2023-1234; then echo 漏洞补丁已安装 else echo 警告缺少关键安全更新 fi
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2468989.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!