以下是针对中间件等保测评 的检查要点和操作指南,涵盖常见中间件(Web服务器、数据库、应用服务器等)的关键安全配置和测评项,符合等保2.0(GB/T 22239-2019)要求:
等保测评需覆盖以下核心方向: - 身份鉴别:用户权限、认证方式、密码复杂度。 - 访问控制:权限最小化、敏感路径保护。 - 安全审计:日志记录完整性、审计功能启用。 - 入侵防范:漏洞修复、服务最小化、高危端口限制。 - 资源控制:连接数限制、超时退出。
- 查看版本信息(确认是否最新)
nginx -v
apache2 -v
检查配置文件权限(应避免全局可写)
ls -l /etc/nginx/nginx.conf
ls -l /etc/apache2/apache2.conf
检查敏感路径泄露(如隐藏版本号)
grep -E "server_tokens|expose_php" /etc/nginx/nginx.conf /etc/php/*/fpm/php.ini
确认日志是否开启(access_log/error_log)
grep -E "access_log|error_log" /etc/nginx/nginx.conf
grep -E "CustomLog|ErrorLog" /etc/apache2/apache2.conf
检查SSL配置(禁用弱协议)
openssl s_client -connect 域名:443 -tls1_2 测试TLS版本
grep -E "ssl_protocols|ssl_ciphers" /etc/nginx/nginx.conf
- 检查项:默认账户、远程访问控制、密码强度、特权操作审计。
- 操作命令:
- MySQL安全检查
mysql -u root -p -e "SELECT User, Host FROM mysql.user;" 查看用户列表
mysql -u root -p -e "SHOW VARIABLES LIKE 'log_%';" 检查日志是否开启
grep -E "bind-address|skip-networking" /etc/mysql/my.cnf 确认是否禁止远程root登录
Redis安全检查
ps aux | grep redis-server | grep -v "protected-mode" 检查保护模式是否开启
grep -E "requirepass|bind 127.0.0.1" /etc/redis/redis.conf 检查密码和绑定IP
- 检查项:管理后台安全、默认账户、会话超时、文件权限。
- 操作命令:
- Tomcat检查
cat /opt/tomcat/conf/tomcat-users.xml 检查默认账户是否删除
grep -E "allow|deny" /opt/tomcat/conf/context.xml 访问控制规则
ls -l /opt/tomcat/webapps/manager 确认管理页面是否禁用
WebLogic检查
grep -E "ConsoleEnabled|LoginTimeout" /weblogic/user_projects/domains/base_domain/config/config.xml 控制台安全
- 检查项:认证授权、加密通信、ACL规则。
- 操作命令:
- Kafka检查
cat /kafka/config/server.properties | grep -E "listeners|ssl.keystore.location" 检查SSL配置
grep -E "allow.everyone|super.users" /kafka/config/server.properties 权限配置
RabbitMQ检查
rabbitmqctl list_users 查看用户列表
rabbitmqctl list_permissions 检查权限分配
- 要求:限制远程访问(如Redis仅绑定127.0.0.1,MySQL仅允许特定IP连接)。
- 配置示例(MySQL):
- 要求:记录用户登录、特权操作、异常行为。
- 配置示例(MySQL审计日志):
- 要求:关闭高危端口(如Redis的6379、MongoDB的27017暴露在公网)。
- 操作:
- 使用防火墙限制端口访问
ufw deny 6379/tcp
iptables -A INPUT -p tcp --dport 27017 -j DROP
- 漏洞扫描:使用工具(如Nessus、OpenVAS)扫描中间件漏洞。
- 配置比对:将实际配置与安全基线(如CIS Benchmark)对比。
- 日志分析:检查日志是否留存6个月以上,是否记录关键操作。
- 整改建议:
- 升级中间件到最新版本。
- 禁用不必要的服务和端口。
- 启用加密通信(如HTTPS、SSL/TLS)。
- 版本差异:不同中间件版本的配置路径可能不同(如Nginx 1.18 vs 1.20)。
- 特权运行:避免以root用户运行中间件(如Redis、MySQL)。
- 自动化工具:可结合Ansible脚本批量检查多台服务器的中间件配置。
建议参考 《GB/T 22239-2019 信息安全技术 网络安全等级保护基本要求》 和中间件官方安全文档进行深度检查。