生产服务器遇到系统漏洞,并进行解决的一些方案

avatar
作者
猴君
阅读量:0
序号漏洞等级主机/域名协议端口检测类型
1严重172.16.22.8tcp48080系统漏洞扫描
漏洞类型/检查项名称:Spring Cloud GateWay 未授权访问漏洞【原理扫描】 SFID编号:SF-2022-00180 风险影响;远程攻击者可以利用此漏洞获取敏感信息 解决方案: 1. 对Spring Cloud GateWay的相关端点进行权限管理 2. 如果不需要Actuator端点,可以通过management.endpoint.gateway.enable:false配置将其禁用如果需要Actuator端点,则应使用Spring Security对其进行保护" 

application.yaml 下 修改springdoc配置修改为如下配置

springdoc:   api-docs:     enabled: false # 1. 是否开启 Swagger 接文档的元数据     path: /v3/api-docs   swagger-ui:     enabled: false # 2.1 是否开启 Swagger 文档的官方 UI 界面     path: /swagger-ui.html 

application-test.yaml 下 修改management 配置

# Actuator 监控端点的配置项 #关闭健康检查 management:   server:     port: -1   endpoints:     enabled-by-default: false # 关闭监控     web:       base-path: /actuator  # Actuator 提供的 API 接口的根目录。默认为 /actuator       exposure:         include: '*'  # 需要开放的端点。默认值只打开 health 和 info 两个端点。通过设置 * ,可以开放所有端点。         exclude: '*' 
序号漏洞等级主机/域名协议端口检测类型
2172.16.22.8tcp48899Web漏洞扫描
漏洞类型/检查类型:其它 漏洞类型/检查项名称:CORS(跨站资源共享)原始验证失败【原理扫描】 SFID编号:SF-2022-00935 风险描述/检查点描述: CORS漏洞是当前服务器对跨源资源的配置不当,导致允许任意源来共享服务器资源,从而导致用户数据泄露、客户端缓存中毒或者服务端缓存中毒。 风险影响: 1、获取用户数据 2、客户端缓存中毒:这种配置允许攻击者利用其他的漏洞,更改没有验证的字段,看是否正常回显。比如,一个应用返回数据报文头部中包含“X-User”这个字段,这个字段的值没有经过验证就直接输出到返回页面上,此时就可以结合XSS漏洞来利用。 3、服务端缓存中毒:利用CORS的错误配置注入HTTP头部,这可能会被服务器端缓存下来,比如制造存储型xss 解决方案: 非必要不建议开启cors跨域资源共享功能,如需开启,请严格限制Origin值为需要资源共享的子域,或者当前主域。 

nginx.conf进行配置

location /test {             proxy_set_header Host $http_host;             proxy_pass http://172.16.22.8:9000/test;             add_header Access-Control-Allow-Origin https://117.66.1.84;             add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';             add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache -Control,Content-Type,Authorization'; }  
序号漏洞等级主机/域名协议端口检测类型漏洞类型/检查类型漏洞类型/检查项名称
5172.16.22.8tcp9000Web漏洞扫描配置不当不安全的crossdomain.xml文件
风险描述/检查点描述:  	浏览器安全模型通常会阻止一个域中的Web内容访问另一域中的数据。这通常被称为“相同来源政策”。 URL策略文件授予跨域读取数据的权限。它们允许默认情况下不允许的操作。默认情况下,URL策略文件位于目标服务器的根目录中,名称为crossdomain.xml(例如,位于www.example.com/crossdomain.xml)。 当在crossdomain.xml文件中指定了域时,站点将声明它愿意允许该域中任何服务器的操作员获取策略文件所在的服务器上的任何文档。部署在该网站上的crossdomain.xml文件将服务器打开到所有域(支持使用单个星号“ *”作为纯通配符),如下所示: <cross-domain-policy> <allow-access-from domain="*" /> </cross-domain-policy> 此做法适用于公共服务器,但不应用于位于防火墙后面的站点,因为它可能允许访问保护区。它不适用于要求以密码或cookie形式进行身份验证的站点。在使用跨域策略文件时,使用基于cookie进行身份验证的通用做法来访问私有或用户特定数据的站点应格外小心。  风险影响:使用不安全的跨域策略文件可能会使您的站点遭受各种攻击。 解决方案: 仔细评估将允许哪些站点进行跨域调用。  考虑网络拓扑以及将受跨域策略的配置或实施影响的任何身份验证机制。  
序号漏洞等级主机/域名协议端口检测类型漏洞类型/检查类型漏洞类型/检查项名称
6172.16.22.8tcp48899Web漏洞扫描未授权访问Swagger 未授权访问漏洞【原理扫描】
风险描述/检查点描述: Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。本机的Swagger存在未授权漏洞 风险影响:远程攻击者可以利用此漏洞获取敏感信息 解决方案:增加认证 
druid: # Druid 【监控】相关的全局配置       web-stat-filter:         enabled: true       stat-view-servlet:         enabled: true         reset-enable: false         allow: 127.0.0.1 # 设置白名单,不填则允许所有访问         url-pattern: /druid/*         login-username:    # 控制台管理用户名和密码         login-password: 
序号漏洞等级主机/域名协议端口检测类型漏洞类型/检查类型漏洞类型/检查项名称
22172.16.22.8tcp8084系统漏洞扫描拒绝服务nginx 越界写入漏洞(CVE-2022-41742)

对nignx进行热补丁

1、安装patch

patch未找到命令,请先下载patch-2.7.6.tar.gz。下载路径:https://mirrors.aliyun.com/gnu/patch/ 
# 解压 tar -zxf patch-2.7.6.tar.gz # 编译、检查并安装 Patch time { ./configure --prefix=/usr && make && make check && make install;} # 安装完成后清理工作 cd .. rm -rf patch-2.7.6 

2、nginx补丁升级

补丁下载地址:http://nginx.org/download/patch.2022.mp4.txt 
2.1 执行补丁

把补丁patch.2022.mp4.txt文件移动到nginx的源码目录下,在nginx的源码目录执行以下命令

patch -p0 < patch.2022.mp4.txt 

nginx安装目录的启动目录,查看之前的安装信息

cd /usr/local/nginx/sbin ./nginx -V  nginx version: nginx/1.21.0 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)  built with OpenSSL 1.1.1w  11 Sep 2023 TLS SNI support enabled configure arguments: --prefix=/app/nginx/nginx --with-http_ssl_module --with-openssl=../openssl-1.1.1w 

复制nfigure arguments: 后的所有参数,然后在nginx源码目录重新执行编译(注意不能加上install,否则会覆盖原有程序

cd /home/fullmark/nginx-1.21.0 && ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=../openssl-1.1.1w  && make  
2.2 将nginx打完补丁后的nginx文件移到到安装目录下的sbin下
# 先备份 cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak # 把打完补丁的nginx移到到安装目录下(如果无法覆盖,先停止nginx) cp /home/fullmark/nginx-1.21.0/objs/nginx  /usr/local/nginx/sbin/ 
3、nginx启动,停止,重启命令
# 停止nginx pkill nginx # 启动 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf # 重启 /usr/local/nginx/sbin/nginx -s reload 

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!