一、什么是违规外联,为什么难以发现
违规外联指内网终端或网络设备在接入内网的同时,通过其他通道与外部网络建立连接。典型形态包括:
- 一机两用:办公终端既接内网网线,又插4G上网卡、USB无线网卡或连接手机热点,内外网数据链路同时存在;
- 热点共享:内网终端开启WiFi热点,把内网连接共享给手机等外部设备;
- 交换机私接外网:内网接入交换机的某个端口被私接外网网线或4G路由器,形成"外网进内网"的桥接通道;
- 仅链路层联通的外联设备:某些设备只在内网二层可达(能收到广播),实际走的是自己的外网出口。
这类行为的危害在于绕过了边界防火墙的一切访问控制——数据不经防火墙进出,审计和过滤全部失效。在涉密网和政务内网中,"一机两用"是保密检查的必查项。
难发现的根源是:这些行为发生在终端本地和接入网络的末梢,内网中的安全设备(防火墙、IDS)部署在网络边界,看不到终端侧的第二块网卡,也看不到接入交换机某个空闲端口上多出来的那根网线。
传统的检测手段是安装终端客户端,检查终端的网卡列表、路由表、活跃连接。但哑终端(摄像头、打印机)、信创终端、来宾设备装不了或不装客户端,检测就出现盲区。无客户端检测要解决的问题是:在不触碰终端的前提下,从网络侧把这些行为推断出来。
二、检测一机两用:TTL与IP-ID的指纹推理
2.1 基本思路
终端如果同时连接内外两个网络,它的协议栈状态会在报文中留下痕迹。无客户端检测的核心手段是诱导终端回包并分析其协议栈指纹。
准入设备向管理域内的每个IP主动发送探测报文(ICMP Echo、TCP SYN到常见端口等)。终端回包时,准入设备提取报文头的两个关键字段:
- TTL(Time To Live):不同操作系统的协议栈有不同初始TTL(Windows常见128,Linux常见64,网络设备常见255)。更重要的是,回包的TTL经过了多少跳减去了多少——如果终端报文的TTL特征与它所处的内网拓扑位置不符,说明报文可能不是从内网路径发来的,或者终端协议栈同时处理着另一个网络连接。
- IP-ID(Identification):IP报文头中的分片标识,由操作系统协议栈按发包计数器递增。Windows和一些嵌入式系统采用全局递增计数器——终端上每发出一个IP包(无论走哪块网卡、哪个目的地址),IP-ID都会+1。
2.2 计数器漂移分析
IP-ID是检测一机两用的利器,原理如下:
- 准入设备周期性地探测某终端,记录回包的IP-ID序列,比如:1000、1050、1102、1155……
- 相邻两次探测之间,IP-ID的增量远大于终端对内网通信的正常发包量。增量 = 终端在此期间发出的所有IP包数量。
- 如果增量持续异常(例如两次探测间隔5分钟,增量上万),而内网侧观察不到该终端有如此大的发包量,多出来的包只能是从另一个网络接口发出去的——终端存在第二条活跃的网络通道。
这种方法不依赖终端装任何软件,只要终端的协议栈会响应探测即可。局限性也很明确:部分操作系统(较新的Linux、部分苹果的实现)使用随机化IP-ID,不存在可追踪的计数器,此时需退回到TTL分析、TCP时间戳(Timestamp)选项的计数器漂移等辅助手段,检测置信度下降。
2.3 外联出口的确认
推断出"有第二条通道"之后,还要确认它是否真的通向外部网络。做法是在内网中布置诱饵探测:
- 在内网广播域内,用伪造的"公网IP"发起各类探测(ICMP、DNS、HTTP等)。正常纯内网终端对这些地址不会产生任何报文;而一机两用终端的网卡配置了双网关或多网卡路由,可能对这些"公网地址"尝试回包;
- 结合终端在内网的通信行为(如访问内网业务系统的同时,报文时间戳特征显示存在另一路交互),综合判定外联事实。
确认外联后,上报终端内网IP、MAC、外联时间,并联动准入策略执行阻断或告警。
三、检测交换机私接外网:隧道流量的侧信道分析
3.1 现象描述
内网某台接入交换机的一个端口被私接了外网网线(运营商宽带、4G路由器等)。如果这台外网设备同时又桥接了内网——例如双网卡电脑、带NAT功能的路由器——就会形成"内网—外网"二层桥接,外网流量以隧道形式在内网中穿行。
这类流量的特征是:内网中出现了源/目的地址不属于自己的报文,或者正常的二层帧被封装后传输。
3.2 无SNMP条件下的发现方法
传统的检测靠SNMP读取交换机MAC表,对比端口学习到的MAC地址是否属于本网段。但很多环境不给准入系统开放SNMP团体名——要么安全策略不允许,要么交换机是杂牌不支持。
无SNMP的替代思路是被动监听加主动诱导:
- 镜像流量中的异常MAC分析:准入设备从镜像口持续采集流量,维护一张"MAC地址—所属VLAN—出现位置"的映射表。正常内网终端的MAC只会出现在其接入端口上;如果发现某个MAC在多个交换机、多个端口、甚至多个VLAN上漂移,或者出现了与内网地址规划完全不符的MAC(如随机化MAC、其他厂商的大量陌生MAC),就存在桥接外网的嫌疑。
- 隧道特征识别:内外网桥接通常伴随封装——GRE、PPTP、L2TP、甚至简单的Ethernet over UDP。这些封装的报文在内网中很扎眼:内网IP之间的通信极少出现协议号为47(GRE)或UDP 1701(L2TP)的报文。准入设备检测到内网IP之间运行隧道协议,即可定位隧道两端,其中一端往往就是私接外网的设备。
- 诱饵帧注入:向疑似桥接区域发送带特定标记的探测帧(如构造目的MAC为伪造地址的报文),然后在外网方向(如果可达)或内网其他位置观察这些标记是否出现,验证桥接路径的存在。
3.3 定位与取证
确认违规后,需要回答"谁私接的、接在哪"。无SNMP条件下,定位依赖二层拓扑的旁路重建:
- 通过镜像流量中的交换机间协议报文(STP BPDU、CDP/LLDP、厂商私有发现协议)推断交换机的连接关系,逐步画出接入层拓扑;
- 结合漂移MAC出现的端口时间特征(哪个端口的流量中先出现该MAC),缩小私接端口范围;
- 上报发现者IP、发现者MAC、隧道IP、隧道MAC、外网出口地址及归属地(通过查询IP地理库),形成完整取证链条,交给管理员现场核查。
四、检测链路层联通的外联设备
还有一类更隐蔽的情况:某设备只在内网二层可达(物理上连着内网交换机),但它的网络层走的是自己的4G/5G出口。它在内网中不发IP通信,只产生二层报文(ARP、LLDP、STP等),防火墙和三层监控完全无感。
检测手段是二层指纹被动采集:准入设备分析镜像流量中的二层协议报文——
- ARP报文中的Sender IP如果属于外网网段(或169.254自动地址、手机热点的172.20/10.x网段),立即暴露;
- 无线网卡驱动的部分协议行为(如某些省电协议、特定的组播监听行为)在二层流量中可识别;
- LLDP/CDP报文中设备自述的管理地址若指向非内网地址,同样是直接证据。
这类设备一旦确认,可直接通过准入系统的阻断能力(ARP干预、策略阻断)切断其在内网二层的一切活动,虽然它本来就不依赖内网通信,但防止它被用作跳板。
五、检测能力的边界
上述技术的共同前提是流量可见:要么终端在内网有活跃的IP通信(TTL/IP-ID分析),要么内网部署了镜像口(MAC漂移、隧道识别)。这决定了几个明确的边界:
- 完全不发声的设备检测不到。一台拔掉网线或长期静默的外联终端,不产生任何可分析的流量。检测是"行为发生时发现",不是"持续在线监视"。
- 随机化协议栈降低置信度。现代操作系统逐步启用IP-ID随机化、TCP时间戳扰动,指纹法的可靠性在下降,检测正在从"单点指纹"向"多特征行为基线"演进——不依赖某个字段,而是长期观察通信模式异常。
- 误报需要人工消化。某些合法场景(VPN运维通道、运营商级NAT下的地址重叠)会产生类似特征,上报后需要管理员结合白名单和现场核查确认。
因此,无客户端外联检测在行业内的权威测评中,通常要求提供第三方机构的实测证明材料,而非仅凭功能宣称——迪康网络准入控制管理系统在违规外联条款中就要求出具符合CNAS认可准则的第三方检测证明,这也反映了此类能力的验证标准。
六、结语
无客户端违规外联检测,本质上是一场协议栈指纹学与网络侧信道分析的工程实践:用TTL和IP-ID计数器推断终端的双通道状态,用MAC漂移和隧道封装识别交换机层的私接外网,用二层报文指纹揪出只蹭链路不走三层的外联设备。它不追求在终端上获得完整视图,而是利用网络侧一切可利用的观测点,把"看不见的行为"转化为"可上报、可阻断、可溯源的事件"。与客户端检测互补,才能覆盖从可控终端到哑终端的完整外联风险面。