原创文章,如需转载,请注明来自:https://bigzuo.github.io/
关键词:tcpdump、tcpdump filter、TCP、weblogic t3
背景介绍
在我们的项目中,我们系统被很多外部系统依赖,我们会提供一些接口给外部系统调用。近期发现我们提供给外部系统的接口可能暴露了一些不该暴露的敏感信息给外部系统,造成了较大的安全隐患。所以我们接到了一个梳理所有对外提供的接口清单的任务。
针对 API 接口,我们主要提供的服务有两大类:HTTP 服务和基于 t3 协议的 EJB 服务,EJB 服务主要存在于内部有一些超过 10 年的老系统。HTTP 服务我们有对应成熟的链路监控,可以很容易梳理接口清单。但是因 EJB 服务在我们公司比较边缘,只存在于部分很老的系统,所有的安全监控、运维监控、网络监控、调用链等平台都未覆盖 EJB 服务,所以通用的请求梳理手段都无法满足需求。
在我们公司,提供了 EJB 服务的系统,同时也会提供 HTTP 服务,且两个服务的端口是同一个,所以无法从网络连接排查 EJB 服务。经过理论分析,如果从基础网络协议出发,只要能在网络应用层协议识别出 EJB 请求(EJB 服务底层使用 t3 协议,和 HTTP 一样,都是应用层协议),那就能找到请求方信息,进而梳理出EJB服务的请求链路。在没有更好方式的情况下,抱着死马当活马医的心态,我们进行了反复的测试和验证,最终验证该方案可行。