做过一次集团抽查的人大概都有体会:检查方要的不是“有没有告警”,而是“告警之后你做了什么、能不能拿出记录”。
这两件事的差别,就是字段设计的差别。下面按六段链路拆一遍,每段只讲这一层该有哪些字段、字段之间怎么咬合。
一、探测层:什么算“具备外联能力”
告警列表给的是七列:客户端、用户、所属部门、标题、内容、处置方式、报警时间。
这七列里,“标题”是结论、“内容”是依据,其余五列是坐标。标题写的是“终端有外联能力”,内容写的是“终端具有外联能力,外网出口:106.81.38.106”。
注意“能力”两个字。它描述的是可达性,不是行为。可达性的判定来源有三种:系统代理配置、网卡直连、应用自行发起的连接。前两种靠读配置就能知道,第三种必须真的去试。
所以探测层还有两个不在列表里、但在策略里的字段:
开启违规外联报警/深度检测(尝试穿透防火墙)
前者是总开关,后者决定判定的深度。不勾深度检测,第三种路径的数据就进不来,这一层的召回率会被自己的配置压住。
时间维度也是字段:相邻两条记录的间隔,决定了这是偶发还是常驻。同一客户端从 09:05 排到 09:35,间隔三十秒上下,这属于常驻;一天两条,那多半是开机触发。
出口地址是这一层最有价值的字段。把同一客户端的内容列去掉“终端具有外联能力,外网出口:”这个前缀,剩下的就是落点。落点越多,绕的痕迹越明显。
二、处置层:四个动作字段的取值逻辑
处置方式这一列显示“无处理动作”的时候,说明策略里只开了报警。
动作字段在“处置动作”弹窗里,一共四个:
是否断网(重启后恢复)/是否锁屏(可用管理密码解锁)/是否弹出提醒+附加提醒内容/是否关机
这四个字段不是并列的四个选项,它们有强弱顺序:提醒 < 锁屏 < 断网 < 关机。
提醒的成本最低,只影响体验不影响业务;锁屏打断了操作但可以用管理密码解开,适合 IT 能到场的场景;断网会把该终端所有依赖网络的业务一起停掉,只在需要当场止血时用;关机基本不用,除非已确认入侵需要保护现场。
第五个字段“断网例外地址”是配套项,它的作用是让断网这个动作可以被业务接受。填进去的地址在断网期间仍然可达,业务系统、认证服务器这类必须活的链路走这里。
还有一个字段常被忽略:附加提醒内容。它决定了处置之后用户会不会来投诉。写“违规操作”会引发投诉,写“请联系信息中心,内网终端不允许连接外网”通常不会。
从字段设计角度看,处置层的完整度不看开了几个动作,看“动作 + 例外 + 提示语”这三件是否成套。缺例外,动作落不了地;缺提示语,动作会被当成故障报修。
三、留痕层:日志要留哪几个维度
告警页会滚,留痕要靠风险日志。
风险日志这一支下面的分类视图不止一个:违规外联、违规设备、安全风险、硬件变化、信息变化、磁盘空间、性能异常、性能监测。做外联治理时,另外几个视图是有用的交叉证据:硬件变化能解释“为什么突然多了一条外链”,信息变化里的 IP 地址变更能对上“出口为什么换了一个”。
复盘需要的三个维度,其实都在字段里:
时间密度(相邻记录间隔)/出口个数(内容列去重)/部门分布(所属部门列聚合)
时间密度回答偶发还是常驻,出口个数回答固定还是绕行,部门分布回答个案还是习惯。三个维度交叉之后,处置才有优先级。
留痕层还有一个容易被忽略的要求:可检索。底部的时间范围默认是“全部时间段”,排障时先缩到某一天、再按客户端检索,比按时间轴翻页高效得多。字段设计得再好,检索不动也一样拿不出来。
四、网络层:三档模式与网段规则的粒度
前三层解决“知道”,这一层解决“做不到”。
终端防火墙的工作模式是三档:仅允许访问内网、仅允许访问内部互联区、禁止所有网络访问。三档之间是递进关系,不是三个并列风格。
三档管的是“大类可达性”,真正决定能不能落地的,是下面两个字段:
自定义网段规则(控制终端可访问的内网地址)/IP 端口防火墙(地址或地址段+规则)
自定义网段解决“内网也不是全通”,IP 端口防火墙解决“粒度到端口”。前者防横向,后者保业务——有些系统必须连一个特定端口,全禁会把业务打死,端口级放行才可行。
还有两个可用性字段:断网时可访问以下地址、断网时提醒客户端。前者给个别机器留活路,后者给用户一个解释。
最后一层颗粒度是进程级的:禁止程序访问指定端口。有些客户端自带连接逻辑,网络层放行了它照样能出去,只锁端口才能掐住。
从字段角度总结这一层:模式字段定方向,网段字段定范围,端口字段定精度,例外字段定可用性。四个字段缺一个,方案就只能在纸面上成立。
五、应用层:站点与上传的两级清单
网络层封完,还有一批终端在网络里正常活动,只是活动内容不对。
网站访问控制有两个模式:禁止访问以下网站、仅允许访问以下网站。列表按类别分组维护,购物、娱乐、游戏、文学、交友、招聘、音乐这些是常见的第一批。
黑名单省事但列不全,白名单安全但维护成本高。选择本身取决于岗位:产线、财务适合白名单,研发、市场适合黑名单加例外。
上传是独立的一层:HTTP 文件上传控制,工作模式同样是二选一,禁止以下 URL 上传、仅允许以下 URL 上传。粒度是 URL 不是域名——同一域名下,详情页可以放开、上传接口单独禁掉。
这两层必须分开维护。合在一张表里的后果是:加一个业务站点,顺手把上传规则也改了,风险就是这么进来的。
六、外发层:邮件规则的四元组
最后一条路是邮件,它比网页更古老,也比网页更难堵。
邮件控制的字段可以概括成四元组:
发件人匹配规则/任一收件人匹配规则/主题或正文包含关键词/禁止发送邮件附件
四条规则可以叠加,命中的方式各不相同:发件人管账号,收件人管去向,关键词管内容,附件管载体。
关键词字段写的是分号分隔的形式,比如“合同;金额;电话号码”。这个设计的好处是一条规则里能塞多个词,坏处是词写宽了会误伤——把“合同”单独放进去,采购的正常合同评审邮件也会被拦。
第五个字段是例外名单:以下邮箱例外,按发件人、收件人两列维护。这份名单决定规则能不能长期活着,名单不维护,业务就会改用私人邮箱发。
最后
把六层串起来看,违规外联治理的字段链是这样:
探测(是否可达、从哪个出口、多久一次)→ 处置(动作强弱、例外地址、提示语)→ 留痕(时间密度、出口个数、部门分布)→ 网络(模式、网段、端口、例外)→ 应用(站点清单、上传清单)→ 外发(发件人、收件人、关键词、附件、例外名单)
任何一层缺字段,链条就断在那里。断在处置层,就是“只报不处”;断在留痕层,就是“说不清楚”;断在例外字段,就是“上线三天被业务推翻”。
这六层要挂在同一份终端清单上,否则每一层都会长出自己的口径。字段设计本身不复杂,真正要花力气的是把每一层的例外清单维护起来——那才是这套东西能不能活过三个月的分界线。