前面两节防的是【从外面进来的】,这一节防的是已经进来、还在机器里长着的那一类——恶意软件。两个关键变化:检测方式从【查特征】变成【看行为】(因为现代恶意软件会变形、会藏在内存里、会用系统自带的工具,没有特征可查);而补丁的价值不在【打得多】,在【最关键那几个补得快不快】——一台服务器一年要打的补丁有两三百个,真正决定生死的是那几十个能被外部碰到的。
上一节在网络的入口装了眼睛,这一节把视角挪到机器内部——因为有些攻击不走网络入口(邮件附件、U 盘、被人碰过的机器),也有些攻击成功穿过入口之后才在机器里展开。
它也接着 6-3 攻击链的第 1 步与第 2 步:打补丁防的是【初始访问】,端点检测防的是【立足】。 而它和 大量服务器的管理 讲的是同一件事的两面——那一节讲【怎么集中看着一大群服务器】,这一节讲【集中看着之后,具体要盯住哪几样】。
一、反病毒为什么要集中管
先说一个容易被误解的点:【反病毒服务器】这个名字的重点不在【反病毒】,在【集中】。
| 方式 | 病毒库多久更新一次 | 出了问题会怎样 |
|---|---|---|
| 每台机器自己装 | 看用户什么时候开机 | 自己中招,还可能传给邻居 |
| 集中管理 | 全员统一,按小时推送 | 统一策略,异常一眼看得出来 |
集中的价值有两层,第二层比第一层更重要:
- 第一层是更新及时:病毒库一天更新几次,靠每台机器自己去取,一定会有人落后。
- 第二层是【看得见全局】:一百台机器各自为战的时候,你甚至不知道有几台是坏的。 而集中管理之后,哪台机器没上报、哪台机器的防护被关了,都是一眼看得到的。
第二层才是企业环境里真正值钱的东西:因为安全的第一道问题从来不是【有没有防住】,而是【我知不知道现在的状态】。
二、动手 Demo:从查特征到看行为
看到什么算成功:
==================================================================================================
【Demo 8】病毒的预防与软件的更新
==================================================================================================
前两节的墙和摄像头防的是【从外面进来的】。
这一节防的是【已经进来了、还在机器里长着】的那一类——恶意软件。
【一】反病毒服务器:为什么要集中管
方式 病毒库多久更新一次 没管住会怎样
--------------------------------------------------------------------------------------------
每台机器自己装 看用户什么时候开机 自己中招,还可能传给邻居
集中反病毒服务器 全员统一,按小时推送 统一策略,异常一眼看得出来
集中的价值有两层:一是【更新及时】,二是【你看得见全局】——
一百台各自为战的时候,你甚至不知道有几台是坏的。
【二】从【查特征】到【看行为】
对比项 传统杀毒软件 EDR(端点检测与响应)
--------------------------------------------------------------------------------------------
检测依据 已知病毒的特征码 进程行为、文件改动、网络连接
新病毒 不认识就防不住 行为不对就拦,不必认识它
出事之后 只能隔离那个文件 能回溯:昨天 2 点它干了什么
2026 的位置 基础层,仍然要有 标准配置(EDR 已成底线)
为什么特征库不够了:现代恶意软件会变形、会藏在内存里、
会用系统自带的正常工具(这叫【就地取材】)——它没有【特征】可查。
【三】补丁的时间账(这一节最实用的一段)
一台服务器一年要打的补丁(系统 + 第三方组件):约 200 ~ 400 个
打法 暴露窗口 说明
----------------------------------------------------------------------------------------
每季度统一打一次 约 90 天 省事,但空窗期最长
每月统一打一次 约 30 天 多数企业的现实选择
已知被利用漏洞 72 小时内 约 3 天 关键的那几个必须这么快
真正拉开差距的不是【补丁总数】,而是【最关键那几个补得快不快】。
这也是为什么漏洞管理要按【能不能被外部碰到】来分级。
【四】为什么总有人不打补丁(三个真实原因)
1. 怕打坏:生产环境不能随便重启,万一业务断了算谁的
2. 不知道:没有资产清单,压根不知道有哪台机器、装了什么版本
3. 排不过来:几百个补丁堆在一起,没有优先级
对策正好对应三条:先有清单 -> 再按暴露面分级 ->
最后给【确实不能按时打】的机器白纸黑字留例外,并定期复核。
留例外不可怕,可怕的是例外没人知道。
读结果:
- 第二张表的四行讲的是一个转折:传统杀毒靠【认识坏的东西】防,而现代恶意软件恰恰是【认不出来】的——它会变形(换个样子特征就变了)、会藏在内存里(不落盘就没有文件可以查)、会用系统自带的正常工具(这些工具本身就是合法的)。这三条合起来,就是【特征库】这条路走不通的原因。而 EDR 换了判断依据:不看【它是什么】,看【它做了什么】。
- 第三张表是本节最实用的一段,值得抄下来。它给出的是一个分层的补丁标准:一般补丁按月打、能被外部碰到的、以及已经被在野利用的,要在几天内打完。为什么这个分层这么重要——因为一台服务器一年有两三百个补丁,全都要按最高优先级打,结果就是【一个都打不及时】。
- 第四段那三条原因值得单独记住,因为它们解释了为什么【讲道理没用】:不打补丁的人不是不知道补丁重要,而是怕打坏、不知道有多少台、排不过来——三条都是【工程与流程问题】,不是【意识问题】。 所以本节给的解法也是工程解法:清单 → 分级 → 例外登记。
三、补丁:为什么【快】比【多】更重要
这一点值得单独展开,因为它是本节最反直觉的结论。
关键的分界线是【能不能被外部碰到】:
| 机器类型 | 谁可能碰到它 | 补丁时限 |
|---|---|---|
| 暴露在公网的服务 | 任何人 | 最快(几天) |
| 内网但用户多的办公机 | 全公司的人 | 快(几周) |
| 隔离网段里的设备 | 只有少数人 | 可以按常规节奏 |
原因很直接:一台永不被外网碰到的机器,它的漏洞需要【攻击者已经进到内网】才能被利用——而一台公网机器的漏洞,全世界都能扫到。所以这两类机器在补丁节奏上的差别,不是【重视程度】的差别,而是【暴露面】的差别。
顺着这条线,就得到一个很实用的判断方法:
- 先做资产清单(不知道有多少台、装了什么版本,后面全都无从谈起)。
- 再按暴露面分成三档(公网 / 内网 / 隔离)。
- 最后给【确实不能按时打】的机器白纸黑字留例外——因为例外本身不可怕,可怕的是【例外没人知道】。
最后这一句是本节最有价值的一句话:安全里最危险的状态从来不是【已知的风险】,是【没人知道的例外】。
30 秒实验
打开你的手机或电脑的【系统更新】设置,做三件事:
- 看上次更新时间是几号。
- 看有没有【待安装的更新】挂在那里没装(通常会有提示)。
- 想一下:这台设备上有多少【第三方软件】是你在手动更新的(浏览器、输入法、PDF 阅读器、各种小工具)。
做完你会明白本节的一个现实:系统更新通常还有人管(会自动提示),真正被落下的是第三方软件。 而现实里被利用最多的漏洞,恰恰是浏览器、办公软件、压缩软件这些第三方组件的——因为它们不自动更新,而且几乎每一台机器上都装着。这也正是本节把【系统 + 第三方组件】并列写成【一年 200~400 个补丁】的原因。
常见误区
-
错误:装了杀毒软件就不会中毒了。——纠正:杀毒软件是【基础层】,不是【全部】。它依赖特征库,对【没见过的新东西】和【用合法工具伪装的行为】基本无效(本节 Demo 第二段说的那三种情况)。所以现在企业环境的底线配置是 EDR——它盯的是行为而不是特征。但也要注意:EDR 同样不能百分百拦住(它需要时间判断行为),所以它和【备份、分段、权限】这些还是互补关系,不能互相替代。
-
错误:补丁都打完就安全了,所以应该尽量快、尽量全。——纠正:【全】和【快】有冲突,必须分级。一台服务器一年两三百个补丁,如果全部要求最快时限,结果是运维被压垮、最后全部拖延。所以正确做法是按暴露面分优先级:能被外部碰到的、以及已被在野利用的,几天内打完;其余按月走。 这不是妥协,而是把有限的时间用在真正决定成败的那几十个补丁上。
-
错误:有机器不打补丁是因为运维不负责任。——纠正:真正的原因是三个工程问题(Demo 第四段):怕打坏、不知道有多少台、排不过来。其中【怕打坏】是最常见的——因为生产环境打补丁往往要重启,而重启意味着业务中断。所以这件事的解法不是催运维,而是给制度:有清单、有分级、有维护窗口、有例外登记。把【不敢打】变成【知道什么时候可以打】,这才是管理该做的事。
-
错误:漏洞管理就是【把已知漏洞都修掉】。——纠正:漏洞数量远大于能修的数量。一个真实的系统里,扫描出来的漏洞动辄成千上万,而全部修完在时间上不可能。所以漏洞管理的核心动作是排序——按【这个漏洞能不能被外部利用、有没有公开的利用代码、这台机器暴露在哪】来排。换句话说:漏洞管理不是【消除风险】,而是【把风险排出一个先后顺序】,然后按顺序处理。
自测三问(点开对答案)
1. 为什么【特征库】这条路对现代恶意软件走不通了? —— 因为现代恶意软件的三个特点**恰好绕开了【特征】这个概念**:**① 会变形**——同一个恶意程序每次生成的文件哈希都不一样,**特征码对不上**;**② 会藏在内存里**——不落盘就没有【文件】可以扫描;**③ 会用系统自带的正常工具**(比如用系统自带的命令行工具去下载和执行)——**而这些工具本身就是合法的,把它们列为恶意特征会误伤所有正常用户**。所以判断的依据只能从【它长什么样】换成【它做了什么】——这就是 EDR 的位置。 2. 为什么补丁要按【暴露面】分级,而不是按【严重程度】分级? —— 因为**严重程度是【漏洞本身的属性】,而暴露面是【你这台机器的属性】**——**后者才决定【谁会来利用它】**。一个 CVSS 评分 9.8 的漏洞,**如果只存在于一台隔离网段、没有任何人访问的设备上,它被利用的前提是【攻击者已经进到那个网段】**——这比【全世界都能扫到的一台公网机器】难得多。反过来,**一个评分不算高的漏洞,如果是公网服务、且有公开利用代码,反而更紧急**。所以排序要把两个因素合起来看,**其中暴露面是更实际的那个变量。** 3. 为什么说【例外没人知道】比【例外本身】更危险? —— 因为**有记录的风险是可以被管理的**:你知道有一台机器不能按时打补丁,就可以**给它做补偿措施**(网络隔离、加强监控、缩短复查周期)。而**没人知道的例外,等于一个【大家都以为已经处理了】的口子**——它不会出现在任何清单上,**直到它被利用的那一天**。**这也是本节把【白纸黑字留例外】写进对策的原因**:**留例外这件事的产出不是【允许不打】,而是【让这台机器重新出现在视野里】。**- ☐ 下一节(6-9 其他安全措施:访问控制)
相关笔记
- 缓冲地带的入口 —— 上一篇:在网络入口装了眼睛
- 面临威胁时的安全对策 —— 攻击链第 1、2 步的对策
- 大量服务器的管理 —— 集中看着一大群服务器
- ☁️ 云计算 · 索引 —— 全课路线图