守门的卫兵,防火墙
城堡有好几道进出的门。要是每道门都敞着,谁都能径直走进来。所以每道门都派个卫兵,盘查谁进谁出。电脑也有好几道通信进出的门。守着这些门、按规则盘查的卫兵,正是防火墙。有的门它开着,有的门它关着。卫兵看什么来决定放行还是拦下呢?
守住门
在上一个 area 我们见过通信通过门、也就是端口进出。
电脑有好几道这样的门。
给网页的门,给邮件的门,按用途各一道。
每道门都敞着确实方便。
但谁都能从任何一道门进来。
所以在门前派个卫兵。
一个一个查看进出的通信,
决定放行还是拦下的卫兵。
这个卫兵正是防火墙。
进来的、出去的,都要经它的手。
点一下把进来的通信发出去。防火墙卫兵会拦住并盘查。
把通信发出去,它没能径直进去。
防火墙在中间拦住并停住了它。
这是卫兵的第一项工作。
不是直接放过,而是先停下来盘查。
要是不盘查就全放进来,
那派卫兵就没意义了。
那么卫兵看什么
来决定放行还是拦下呢?
总不会是没标准、凭心情吧。
下面来看那个标准,也就是规则。
放行与拦截,按规则定
卫兵手里拿着一份规则清单。
规则给每道门定下是放行还是拦截。
比如,决定把给网页的门开着,
把不用的别的门关着,就这样。
通信来时,看它来到哪道门,
那道门的规则是放行就放它过。
是拦截就当场拦下。
出发地或目的地是谁也能一并查看。
听着难,可核心很简单。
把门和规则配起来,区分放行和拦截。
给每道门点放行或拦截来定规则。通信会按你定的放过或拦下。
给每道门定了规则,结果就清楚了。
设为放行的门,通信就那么过去了,
设为拦截的门,通信就被拦住了。
同样的通信,看是哪道门、规则是什么,
命运就不同了。
这就是防火墙工作的基本方式。
但有一样东西没说到。
来了规则里没写的新通信,
卫兵该怎么办呢?
下面来看那个默认姿态。
默认是拦下不认识的
假设来了规则里没有的陌生通信。
卫兵能选的姿态有两种。
一种是先放进来,可疑了再拦。
一种是先拦下,只放允许的进来。
安全的是第二种。
只放行明确允许的,
不认识的一律拦下。
这叫默认拦截。
忘了写的门等于自动关上,
这样门被误开着的担心就少了。
点一下切换默认姿态。默认拦截时,不在允许清单上的陌生通信全被拦下。
切换默认姿态,差别很大。
默认放行时,陌生通信也悄悄进来了。
换成默认拦截,
只有写在允许清单上的过去了,
其余全被拦下。
忘掉的门、没想到的通信,
都自动关上,这就是默认拦截的威力。
安全的基本功正是这个。
拿不准就先拦下。
那么开的门越少越安全吗?下面来看。
开的门越少越安全
从外面能窥见的表面叫攻击面。
每一道开着的门,都是外面能够到的点。
开的门越多,能够到的地方就越多。
所以开的门越多,攻击面就越宽。
反过来,只留真正需要的门、其余关上,
外面能够到的表面就变窄了。
根本不用的门没理由特意开着。
实际上,光是关掉不用的门,
暴露就大大减少。
小的表面也更好守。
点一下开着的门把它关上。对比开着的门越少、攻击面条越短。
每关上一道门,攻击面条就变短一点。
开的门多时暴露宽,
只留真正需要的门,暴露就猛地减少。
这就是减小攻击面的意思。
用防火墙关掉不用的门,
把外面能够到的表面变小。
当然,连需要的门都关了就没法干活了,
所以一定要用的门得开着。
关键是平衡。
要用的开,不用的关。
来理一理
归成一句话,是这样。
防火墙是按规则盘查进出通信的卫兵。
通信通过门、也就是端口进出,
防火墙给每道门定下放行还是拦截。
默认是拦下不认识的,也就是默认拦截。
只有允许的过去,其余自动被拦下。
开的门越少,攻击面越窄,越安全。
所以只开真正需要的门,其余关着。
卫兵、默认拦截,还有小的攻击面。
这就是防火墙的三个核心。
依次点要点回顾一下。(守住门 -> 放行拦截规则 -> 默认拦截 -> 减小攻击面)
现在你知道防火墙是干什么的了。
它守住进出的门、按规则盘查,
拦下不认识的、关掉不用的门,是个卫兵。
防火墙盘查通信,但并不会把内容
读到底细去断定对方是谁。
所以还需要另一道安全保障,
来确认对方真的是他所声称的那个人。
前面一课你简短听过认证这个词。
下回我们更细地看那个认证,
一起看看怎么确认对方是谁。