geoserver发布图层修复安全漏洞

一、关闭geoserver服务web、rest、gwc/rest管理页面

1、tomcat

tomcat发布的geoserver服务中,进入tomcat/webapps/geoserver/WEB-INF,打开web.xml文件,

在文件最后添加如下配置

java 复制代码
<security-constraint>
     <web-resource-collection>
         <web-resource-name>Block web and rest</web-resource-name>
         <url-pattern>/web/*</url-pattern>
         <url-pattern>/rest/*</url-pattern>
         <url-pattern>/gwc/*</url-pattern>
         <url-pattern>/web.html</url-pattern>
         <url-pattern>/web.htm</url-pattern>
         <url-pattern>/web.webj</url-pattern>
         <url-pattern>/web.web</url-pattern>
         <url-pattern>/web.jsp</url-pattern>
         <url-pattern>/web.jspx</url-pattern>
         <url-pattern>/rest.html</url-pattern>
         <url-pattern>/rest.htm</url-pattern>
         <url-pattern>/rest.webj</url-pattern>
         <url-pattern>/rest.web</url-pattern>
         <url-pattern>/rest.jsp</url-pattern>
         <url-pattern>/rest.jspx</url-pattern>
     </web-resource-collection>
     <auth-constraint>
         <!-- 空auth-constraint表示不允许任何角色访问 -->
     </auth-constraint>
 </security-constraint>

配置完成后重启tomcat

2、东方通

通过东方通发布的geoserver服务,与tomcat类似,配置完成后重启东方通

3、nginx

通过nginx代理geoserver服务,在nginx的配置文件nginx.conf中添加相关配置

java 复制代码
http中添加白名单配置
geo  $admin_whitelist {
    default 0;
    127.0.0.1 1;
    192.168.1.0/24 1;
    58.247.17.139 1;
}
java 复制代码
# GeoServer 配置
location /geoserver/ {
	 #       proxy_pass http://127.0.0.1:2443;
	 #       proxy_set_header Host $host;
	 #       proxy_set_header X-Real-IP $remote_addr;


		 location ~* ^/geoserver/(web|rest) {
		
		        # 重要:确保 proxy_pass 正确工作
		        proxy_pass http://127.0.0.1:2443;
		        
		
		        proxy_set_header Host $host;
		        proxy_set_header X-Real-IP $remote_addr;
		        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		        proxy_set_header X-Forwarded-Proto $scheme;
		
		           if ($admin_whitelist != 1) {
		                access_log logs/geoserver_admin_denied.log;
		                return 403;
		            }
		            allow all;
		            access_log logs/geoserver_admin_access.log;
		
		}

		location ~* ^/geoserver/([^/]+)/(wms|wfs|wcs|wmts|ows) {
		        # 重要:确保 proxy_pass 正确工作
		        proxy_pass http://127.0.0.1:2443;
		         
		        proxy_set_header Host $host;
		        proxy_set_header X-Real-IP $remote_addr;
		        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		        proxy_set_header X-Forwarded-Proto $scheme;
		
	            allow all;
	            proxy_read_timeout 120s;
		
		}

   deny all;
   return 404;
}

4、geoserver添加authkey认证访问

第一步:在官网下载对应版本的authkey插件

第二步:将下载的插件jar包,放到geoserver的lib目录中geoserver\WEB-INF\lib

第三步:启动geoserver,进入后台管理页面,一定需要修改密码

第四步:配置权限认证。添加UUID b52d2068-0a9b-45d7-kedu-144d12222025

第五步:设置过滤器


第六步:添加过滤器


第七步:保存配置

第八步:访问测试,访问所有的工作空间都需要加&authkey=b52d2068-0a9b-45d7-kedu-144d12222025

相关推荐
SunnyRivers3 天前
LangChain中间件详解
中间件·langchain
一名优秀的码农3 天前
vulhub系列-14-Os-hackNos-1(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
金刚猿3 天前
06_虚拟机中间件部署_xxl-job 部署
中间件·xxl-job·xxl-job-admin
Loo国昌4 天前
【AI应用开发实战】Guardrail风险控制中间件:Agent系统的安全防线
人工智能·python·安全·自然语言处理·中间件·prompt
zhengfei6114 天前
【渗透工具】——PYDNS扫描器
知识图谱·安全威胁分析
键盘鼓手苏苏5 天前
Flutter for OpenHarmony: Flutter 三方库 ntp 精准同步鸿蒙设备系统时间(分布式协同授时利器)
android·分布式·算法·flutter·华为·中间件·harmonyos
一名优秀的码农5 天前
vulhub系列-12-Hackademic.RTB1(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
Coder_Boy_5 天前
Java后端核心技术体系全解析(个人总结)
java·开发语言·spring boot·分布式·spring cloud·中间件
CN-David5 天前
CentOS搭建Mycat中间件
linux·mysql·中间件·centos·mariadb
三水不滴6 天前
消息队列消费性能优化:批量消费 + 手动 ACK 提升吞吐量
经验分享·笔记·中间件·性能优化