专栏:《计算机网络基础》
对应总览: 第六篇 网络安全
本篇角色: 开篇地图——把后面四章要用的语言、场景和「当下现状」一次铺齐
读完你能: 用 CIA / 暴露面 / 信任边界解释一个真实系统;分清「不通、被拒绝、连错人」;向非安全同事讲清「为什么只开 HTTPS 不够」
导读:锁装上了,门却还开着
值班群里最常见的两种自信,往往隔一周就会打脸一次。
一种是开发说:「接口全上 HTTPS 了,安全没问题。」
另一种是运维说:「前面有防火墙 / 安全组,端口都控着。」
然后事故单来了:管理后台的 8443 对 0.0.0.0/0 放了一个月;源站 IP 被扫到,流量根本不经 WAF;证书续期脚本挂了三天,全公司 App 弹红锁;或者更窝囊——VPN 账号离职没关,人已经不在编制里,隧道还在。
前五篇把「包怎么走」讲清楚了。第六篇换一个问题:
包能走,不等于该走;路上加密了,不等于对方有权进来。
网络安全在工程里很少是「买一个盒子」或「勾一个强制 HTTPS」。它是一组叠在 TCP/IP 上面的判断:谁可信、谁可达、谁被证明是谁、出事怎么证伪。
一、概念:先把几组容易混的词拆开
1.1 CIA:三件事,经常被「上了加密」糊成一件
教科书喜欢把信息安全收成三个字母:
|
含义 |
网络侧一眼能懂的例子 | |
|---|---|---|
|
C 机密性 |
不该看的人看不懂 |
明文 HTTP、未加密的管理协议 |
|
I 完整性 |
路上不被偷偷改 |
中间人改包、缓存被污染后的「假页面」 |
|
A 可用性 |
该用的时候用得上 |
链路打满、服务被灌、误封自己人 |
TLS 主要扛的是 C 和一部分 I,外加「你连的是不是你以为的那台服务器」。
它几乎不解决:端口该不该对公网开、账号该不该还能连 VPN、源站能不能被绕过——那些是可达性与授权的问题。
现场沟通时,尽量逼对方说清楚:「你说的安全,到底是怕泄密、怕被改,还是怕挂?」三件事的对策差很远。
1.2 AAA:认证、授权、记账
网络设备教材里的 AAA,放到今天的业务里仍然好用:
-
认证(Authentication): 你是谁?Wi‑Fi 密码、802.1X、证书、Token。
-
授权(Authorization): 你能做什么?安全组放行了哪个端口、网关允不允许调管理接口。
-
记账 / 审计(Accounting): 做过什么?谁在什么时间从哪个源 IP 连向哪。
很多人把认证做成了,授权随手一宽,审计没有。出事以后只剩下「可能是内鬼,也可能是扫描」——因为日志回答不了问题。
1.3 威胁、脆弱性、风险:别把扫描报告当判决书
-
威胁: 可能造成损害的来源或事件(误配置、凭据泄漏、自动化扫描撞上开放端口……)。
-
脆弱性: 系统里可被利用的弱点(过宽的入站规则、未打补丁的管理面、弱 PSK)。
-
风险: 大致是「会发生的可能性 × 影响」——同样是开放
22,跳板机和数据库的影响不是一个量级。
威胁模型不是写给审计看的长文,是开工前三分钟能画完的草图:
1. 资产:什么丢了/挂了会疼?(用户数据、密钥、主站可用性、管理面)
2. 对手与能力:脚本小子扫端口?内网横向?供应链?
3. 入口:公网端口、VPN、Wi‑Fi、供应商跳板、CI 出口
4. 最坏情况:一句话写出来
5. 已有控制:现在靠什么挡着?哪一道坏了会全穿?
写不出第 5 条,说明你只有「感觉安全」,没有纵深。
1.4 攻击面、暴露面、信任边界
攻击面偏设计语言:协议、接口、信任假设一共有多少可被触碰的点。
暴露面更偏运维口语:此刻从不可信网络上,究竟能摸到哪些 IP:端口、哪些 URL、哪些管理入口。
两者相关,但不等于。代码里开了调试接口,安全组没放行,暴露面暂时为 dual;反过来,业务没这个功能,误把 3306 放到 0.0.0.0/0,暴露面瞬间变大。
信任边界是那条线:线内你默认少检查,线外你默认多怀疑。
家用路由器 LAN 口内侧,很多人默认「家里人都可信」;公司财务 VLAN,不该默认「能 ping 通就可信」。零信任后面会反复敲这句话:网络位置 ≠ 身份可靠。
1.5 纵深防御:不是堆产品,是「坏一道还有下一道」
纵深不是采购清单上的勾选数量。有效的纵深长这样:
接入认证 ──► 网段隔离 ──► 主机/安全组收敛
│
▼
TLS 与证书校验 ──► 网关鉴权 ──► 业务授权
│
▼
日志能回溯 ──► 能快速切断
单点很强、其它为零,现场照样穿。经典组合拳是:HTTPS 配得很漂亮,源站 IP 暴露在公网,边缘上的 WAF 形同虚设。
1.6 共享责任:云厂商的「安全」停在哪
上云以后最容易吵架的一句话是:「这不是你们平台的问题吗?」
粗线条可以记:
|
大致由云厂商侧重 |
大致由你侧重 |
|---|---|
|
物理机房、宿主机hypervisor 基线、管控面可用性 |
安全组/NACL、OS 与应用补丁、密钥与证书 |
|
部分托管服务的底层加固 |
谁能调 API、数据分类、备份与恢复演练 |
|
合规证明里「平台侧」那一段 |
「租户侧」配置是否过宽、日志是否打开 |
同一朵云,RDS 对公网打开、密钥写进镜像,责任一定落在租户配置上。后面讲安全组、讲监测时还会回到这张表。
1.7 六种「坏法」直觉标签(网络侧对照)
不必背完整威胁分类学。值班沟通时,用下面六种标签把现象钉住就够:
|
标签 |
网络侧样子 |
常见错觉 |
|---|---|---|
|
假装 |
假门户、假 Wi‑Fi 名、假证书环境 |
「有锁就是正主」 |
|
篡改 |
DNS 指错、缓存脏了、中间人改内容 |
「HTTPS 开了就不可能被改」——要看证书是否校验通过 |
|
抵赖 |
出事找不到是谁改的安全组 |
「我们有墙」≠「我们有审计」 |
|
泄露 |
明文协议、日志打出 Token、对象存储桶公开 |
只盯外网端口,忘了仓库与前端包 |
|
拒绝服务 |
链路打满、连接表打满、误封自己 |
当成纯性能问题,不做暴露面收敛 |
|
未授权可达 |
管理口对公网、扁平内网横向 |
「反正有密码」 |
一次事故往往叠两种以上。证书过期是可用性;同时有人趁乱把流量导到错误入口,就变成假装/篡改。归类是为了选工具,不是为了写报告好看。
1.8 控制与「残余风险」
加固做完,风险不会归零,只会变成你愿意接受的残余。写进变更单的一句话很有用:
我们接受:公网 443 对全世界开放(业务需要);我们不接受:数据库端口对全世界开放。
没有「接受/不接受」的边界,安全讨论会永远停在「能不能再买个盒子」。
二、场景:同一套语言,三种现场
第六篇后面会反复回到三条线。这里先对齐「资产 / 暴露面 / 典型误配」。
2.1 家庭与小团队
|
内容 | |
|---|---|
|
资产 |
家人隐私、摄像头画面、NAS、路由器管理口、偶尔的小服务 |
|
常见暴露面 |
WAN 端口转发、UPnP 自动开洞、弱 Wi‑Fi 密码、云摄像头厂商账号 |
|
典型误配 |
为了「外网看监控」把设备直接打到公网;访客与主网不分;路由器管理口偶发对 WAN 开放 |
|
已有控制(理想) |
强 PSK 或更好、访客 SSID、关闭不必要 UPnP、管理仅 LAN |
这个场景的专业难度不高,但事故密度不低——因为决策快、文档少、设备杂。
2.2 办公园区
|
内容 | |
|---|---|
|
资产 |
终端、文件服务器、域控/身份源、内网 OA、研发环境、打印与 IoT |
|
常见暴露面 |
访客 Wi‑Fi、会议室临时密码、出口防火墙策略、VPN 门户、供应商驻场电脑 |
|
典型误配 |
办公与产线/IoT 平铺一大二层;离职账号残留;「临时放行」永久化 |
|
已有控制(理想) |
802.1X 或等效接入、访客隔离、出口默认拒绝例外、VPN 分权、分段 |
办公网的心理陷阱是:「都插在公司交换机上了,还能有事?」——能。横向移动吃的就是这口默认信任。
2.3 公有云与混合云上的对外业务
|
内容 | |
|---|---|
|
资产 |
用户数据、API、源站、私钥与 Token、数据库、CI/CD 密钥 |
|
常见暴露面 |
公网负载均衡、安全组入站、源站真实 IP、管理端口、对象存储桶策略 |
|
典型误配 |
|
|
已有控制(理想) |
最小安全组、仅经网关、TLS、鉴权、藏源站、证书监控、审计日志 |
云上事故的传播速度比机房快:一条错误的安全组规则,改完就是「全世界可达」,不用等变更窗口。
2.4 一张对照,后面四章都挂在这上面
家庭 办公 云业务
接入 Wi‑Fi PSK 802.1X/访客 (跳板/堡垒)
边界 光猫/路由转发 出口墙/ACL 安全组/NACL
信道 偶尔 HTTPS 办公 HTTPS/VPN 几乎默认 TLS
入口 几乎没有 反向代理/门户 CDN/WAF/网关
身份 路由器密码 域账号/VPN IAM/Token/mTLS
你读 06-02~05 时,不妨把自己的系统钉在其中一列,缺的格子用红笔圈。
2.5 完整走一遍:假想的「订单 API」威胁模型
假设你维护对外订单查询 API,十分钟草图可以长这样:
来源:
- 互联网用户 / App
- 合作方回调
- 自家运维(VPN / 堡垒)
- 自动化扫描(不请自来)
入口:
- dns → cdn → lb → api-gateway → svc
- 源站弹性公网 IP(若仍挂着)
- 管理域名 admin.api.example.com
资产:
- 订单与用户 PII
- 服务账号 Token / DB 账号
- 可用性(大促)
最坏:
- 订单数据被拖;或大促当天证书挂、收银台全红
已有控制(举例):
- 边缘 TLS + WAF;网关鉴权;DB 无公网
缺口(举例):
- 源站 IP 是否可直连从未验证
- admin 与业务共证书、共入口
- 证书告警打进已归档的邮件组
把「缺口」三条提成下周工单,比再读三本安全书有效。后面 06-03/04/05 几乎都是在堵这类缺口。
2.6 混合云与「人在外、数在内」
还有第四种常见现场,值得单独点名:办公终端在公网,核心数据在机房或专有云。
此时信任边界被拉成一条隧道。隧道本身要认证;隧道内侧仍要分段;终端丢失等于钥匙丢失——磁盘加密与远程擦除开始变成网络策略的前置条件。
细节回链 04-07 与本篇 06-03、06-05,这里先承认:远程办公不是例外,是默认拓扑之一。
三、现状:今天的战场长什么样
写安全文最怕停留在 2012 年的口吻。下面几条是写本篇时需要对齐的「当下」,不是新闻汇总。
3.1 加密从「加分项」变成「及格线」
浏览器、移动 OS、企业代理,对明文、过期证书、主机名不匹配都越来越不客气。
用户侧的体感是:红锁、打不开、提示不安全。工程侧的含义是:证书生命周期必须进监控,不能靠人肉记得「还有三十天」。
TLS 普及不等于安全完成。它只是把「窃听网页」的门槛抬高了;把「扫到开放管理口」的门槛并没有抬高。
3.2 「内网」不再自动等于安全
人在家、在高铁、在客户现场;应用跑在别的可用区;协作方要临时账号。
信任边界如果还画在「公司出口防火墙内侧那一圈」,图纸已经和现实错位。
这不是让你立刻上全套零信任产品,而是提醒:策略评审时少说「在内网所以没事」,多问「身份和权限是什么」。
3.3 控制面变得很快,误配也变得很快
安全组、云 WAF、CDN 回源、证书签发,很多是 API 驱动。好处是可重复、可审计;坏处是一条错误 terraform apply 可以比过去周变更会更快地把数据库打到公网。
因此「现状」里有一半是文化问题:变更要可回滚、过宽规则要有到期时间、生产放行要留痕迹。
3.4 攻击侧工业化,防守侧要会收暴露面
自动化扫描、撞库、勒索团伙的渗透路径,对专栏读者最有用的结论只有几句:
-
公网暴露面会被不断摸;
-
备份与分段决定勒索场景下你能不能重建;
-
管理面和数据面混在一起时,损失半径最大。
本专栏不讨论对方怎么打,只讨论你怎么把洞收小、把日志留全、把恢复练过。
3.5 合规把「说不清」本身变成风险
客户尽调、等保、行业监管,常见第一问不是算法多强,而是:
系统边界在哪?访问关系是什么?谁能碰生产数据?
答不上来,哪怕暂时没出事,项目也过不了。第六篇的清单思维,有一半是为这个服务的。
3.6 供应关系里的网络口子
现在很少有系统「完全自研、完全自托管」。支付回调、短信网关、日志 SaaS、CDN、身份 IdP,都会在你的防火墙上留下允许规则,或在你的 DNS 里留下委派。
现状含义:
-
供应商 IP 段变更,你的白名单要跟着变,否则业务挂或临时改成
0.0.0.0/0; -
供应商被攻破时,你的回调入口是否仍校验签名、是否限流;
-
第三方脚本/SDK 从浏览器外连,不在你的安全组里,却在你的攻击面上。
评审架构时多问一句:「这条允许规则的对端,我们还能叫得应吗?」
3.7 工具链本身成为高权限节点
CI 跑在公网 Runner 上、能拿到生产 kubeconfig;跳板机人人共用一个账号;基础设施即代码的机器人拥有改安全组的永久密钥——这些都是 网络策略的超级用户。
现状是:很多团队把应用网收得很紧,把自动化账号放得很松。第六篇后半会反复提醒:权限模型要覆盖机器身份,不只覆盖工号。
四、原理:安全控制如何叠在 TCP/IP 上
把前五篇的层和下文的控制点对齐,避免「安全」飘在空中。
应用入口 / 身份 网关鉴权、WAF、Token、mTLS ← 06-04、05
传输信道 TLS(有时 VPN 外层也是) ← 06-04、03
网络可达 路由、NAT、安全组、ACL、公网 IP ← 06-03
链路接入 关联/认证、VLAN 隔离、端口准入 ← 06-02
物理/邻站 插错网线、无线覆盖、光模块 ← 第五篇回链
排障时顺序可以记一句口诀:
先问「碰得到吗」,再问「信得过吗」,最后问「应用放不放行」。
碰不到——边界或链路;碰得到但不信任——证书、DNS、中间人环境;信任信道在但业务 401——身份与授权。

4.1 「纵深失效」的两种典型剪纸
剪纸 A:只加密,不收敛
用户 ──HTTPS──► 源站:443(公网直达)──► 应用 ──► 数据库(同宽网段)
边缘 WAF 形同虚设;应用一破,数据库在侧。
剪纸 B:只收敛,不校验身份
用户 ──HTTP──► 内网反代(无鉴权管理页)──► 一切
「反正在内网」——直到 VPN 账号共用、或有人从错误 VLAN 进来。
好的形状两边都要:外面收敛 + 路上校验 + 门口鉴权 + 里面分段。
4.2 管理面与数据面
运维接口、kube API、云控制台回调、数据库端口,属于 管理面;对用户提供的 API/网页属于 数据面。
混在同一入口、同一证书、同一安全组,是事故半径放大器。哪怕人力紧,也至少做到:管理面不对公网、管理面另网段或另安全组、管理面操作进审计。
五、应用:两张图,建议当场画
5.1 威胁模型草图(十分钟版)
拿一张纸,画四个框:
[用户/攻击者可能从哪来] → [他们能摸到的入口] → [关键资产] → [现有控制]
每个箭头旁写一句「若此处失效会怎样」。
若某个资产只有一道控制,标红。
5.2 资产—暴露面—控制 三列表
|
资产 |
当前暴露面(尽量写 IP:端口 / URL) |
已有控制 |
缺口 |
|---|---|---|---|
|
例:订单 API |
|
CDN+证书+网关鉴权 |
源站是否可直连未验证 |
|
例:MySQL |
安全组是否对 |
仅应用 SG |
有无临时 |
填表比听概念有用。后面 06-05 的总清单,本质是把这张表补全并定期重跑。
5.3 和开发、和老板怎么说话
对开发:「HTTPS 解决传输可信;权限和暴露面是另一张工单。」
对老板:「我们不是没有设备,是控制点之间有空档;空档可以用清单量出来。」
对审计:「边界图 + 访问关系表 + 变更记录,比堆厂商 logo 有效。」
六、问题定位:三种现象,三种查法
现场描述混乱时,先归类:
|
现象语言 |
可能含义 |
优先方向 |
|---|---|---|
|
连不上 / 超时 |
路由、丢弃、安全组静默丢、链路 |
ping/traceroute/ |
|
被拒绝 |
RST、ICMP unreachable、401/403、显式 deny |
策略命中、鉴权、应用 ACL |
|
能连但「不对」 |
证书告警、内容异常、解析到奇怪 IP |
DNS、证书链、是否在劫持/强制门户环境 |
「不对」最消耗时间,因为它看起来像业务 bug。经验做法:换一个网络出口(蜂窝 vs 公司网 vs 家里)对比解析结果和证书,三分钟能排除一大半环境问题。
6.1 取证时先记五元组,再下结论
混乱的群聊里,先逼出:
时间(含时区) /
客户端网络(公司/家/蜂窝/VPN 开否) /
目标域名与 URL /
现象原文(超时?红锁?401?) /
是否可复现
缺「客户端网络」时,不要先改服务器——很大概率是门户、代理、分裂 DNS。
6.2 常见误判
|
误判 |
更可能的真相 |
|---|---|
|
「被黑了」 |
证书过期或中间证没配全 |
|
「防火墙坏了」 |
应用没监听 / 健康检查摘掉 |
|
「DNS 被劫持」 |
TTL 未到 + 本地缓存 |
|
「VPN 加密有问题」 |
分流路由没覆盖该网段 |
|
「WAF 太严」 |
源站已被直连,边缘计数不涨 |
养成「先证伪最廉价假设」的习惯:过期、缓存、错网段、错环境,成本远低于启动应急预案。
七、本篇小结
-
安全不是单把锁;是可达性、身份、信道、入口与审计的组合。
-
CIA / AAA / 暴露面 / 信任边界 / 纵深 / 共享责任——后面四章复用这套词。
-
家庭、办公、云业务三种现场,误配形态不同,语言可以统一。
-
现状:加密成默认、边界变糊、云上误配极快——清单与监控比口号重要。

2万+

被折叠的 条评论
为什么被折叠?



