第九章 网络安全
本章旨在介绍互联网中网络安全的重要性及其相关的实现技术。
本章的内容在我看来,并没有前几章那么重要,大概有所了解就好。
9.1 TCP/IP与网络安全
起初,TCP/IP只用于一个相对封闭的环境,后来才发展为并无太多限制,可以从远程访问更多资源的形式。因此,安全这个概念在初期并没有引起人们太多的关注。
就和很多新技术一样,首先实现的是基础功能,安全往往优先级并不是非常高。
随着互联网的日益普及,发生了很多非法访问、恶意攻击等问题,有损企业和个人的利益。因此,网络安全逐渐成为人们不可忽视的一个重要内容。
便利性和安全性,作为两个较为对立的特性兼容并存,也因此产生了很多新的技术,随着恶意使用网络技术的不断更新,网络安全技术也在不断进步。
今后,除了基本的网络技术外,通过正确理解安全相关的技术、制定合理的安全策略、按照指定的策略进行网络管理以及运维成为了一个重要课题。
9.2 网络安全构成要素
网络安全最基本的要领是要有预备方案,而不是在遇到问题的时候才去处理,所谓“未雨绸缪挖地道”如是而已。通过对可能发生的问题进行预测,在可行的最大范围内为系统制定安保对策, 进行日常运维,这才是重中之重。
TCP/IP相关的安全要素如下图所示:
防火墙,应该是我们平时接触最多的概念了。
组织机构内部的网络与互联网相连时,为了避免域内收到非法访问的威胁,往往会设置防火墙(使用NAT时,由于限定了可以从外部访问的地址,也相当于建立起一堵防火墙)。
防火墙的种类和形态有很多种,例如专门过滤或是不过滤特定数据包的包过滤防火墙,数据到达应用以后由应用处理并拒绝非法访问的应用网关。这些防火墙都有相似的设计思路,就是暴露给危险的主机和路由器的个数要有限
。
如果网络中有1000台主机,若为每一台主机都设置非法访问的对策,将是非常繁琐的工作。如果设置防火墙的话,可以限制从互谅网访问的主机个数。将安全的主机和可以暴露给危险的主机加以区分,只针对后者集中实施安全防护。(敢死队?)
如下图所示,是一个设置防火墙的例子,途中对路由器设置了只向其发送特定地址和端口号的包,即设置了一个包过滤防火墙:
当有外部来的TCP通信请求时,只允许对Web服务器的TCP80端口和邮件服务器的TCP25端口的访问。其他所有类型的包全部丢弃(实际上还有一些DNS等其他不得不让通过的包)。
此外,建立TCP连接的请求只允许从内网发起,防火墙可以通过监控TCP包首部中的SYN和ACK标志位来实现,具体为:
当SYN=1,ACK=0时处于互联网发过来的包,应当废弃。
有了该设置后,只能从内网向外接力连接,而不能从外网直接连接内网。
IDS(Intrusion Detection System,入侵检测系统)
数据包符合安全策略,防火墙才会让其通过,只要与策略相符,就无法判断当前访问是否为非法访问,所以就会全部允许通过。
而IDS正是检测这种已经侵入内部网络进行非法访问的情况,并及时通知给网络管理员的系统。
IDS根据不同的用途可以提供各种不同的功能,从设置形式上看,一般在防火墙或DMZ(Demilitarized Zone,隔离区/非军事化区,作用是在内外网络之间构造一个安全地带)等边界设备上进行设置。有了这样监控、检测边界的功能,就可以设置在网络内部、全网或个别特殊服务的服务器上进行监控。
从功能上看,IDS有定期采集日志、长期监控、通知异常等功能,可以监控网络上流动的所有数据包,为了确保各种不同系统的安全,IDS可以与防火墙相辅相成,实现更为安全的网络环境。
此处再补充一下DMZ:
在连接互联网的网络中,可以设置一个服务器并在这台服务器上建立一个允许从互联网直接进行通信的专用子网,这种将外网与内网隔开的专用子网就是DMZ。
在DMZ中设置的这个服务器对外公开,从而可以排除外部过来的非法访问,即使这台对外公开的服务器遇到侵袭,也不会波及内部网络。
反病毒/个人防火墙
这是继IDS和防火墙之后的另外两种安全对策,它们往往是用户蛇用的计算机或服务器上运行的软件。既可以监控计算机中进出的所有包、数据和文件,也可以防止对计算机的异常操作和病毒入侵。
主要来说,其是用于防止病毒、保护客户端PC的一种方法。一旦某一台机器发生病毒感染时,反病毒/个人防火墙可以通过消除病毒,使其尽量避免因病毒的扩散而产生更严重的后果。
此外,一般的反病毒/个人防火墙产品也开始提供诸如防止垃圾邮件的接收、阻止广告弹出以及阻止访问手巾纸网站的URL过滤等功能。
在此安利火绒安全软件,体量小,功能齐全(且无眼花缭乱的那些功能)。
另外书中还提到了PKI(公钥基础结构),一种通过可信赖的第三方检查通信对方是否真实而进行验证的机制。这里提到的可信赖第三方在PKI中称为认证机构(CA:Certificate Authority)。用户可以利用CA颁发的数字证书验证通信对方的真实性。
9.3 加密技术
一般而言,网页访问、电子邮件等互联网上流动的数据不会被加密,这些数据经由哪些路径传输也不是使用者可以预知的内容。因此,通常无法避免这些信息会泄露给第三方。
为了防止信息泄露、实现机密数据的传输,出现了各种各样的加密技术。见下表为加密技术的逐层分类:
各层加密应用举例见下图:
对称密码*与公钥密码*
加密是指利用某个值(密钥)对明文的数据通过一定的算法变换成加密(密文)数据的过程,逆反过程叫做解密。
如果加密和解密使用相同的密钥叫做对称加密方式。最大的挑战就是如何传递安全的密钥。
反之,如果使用不同的密钥(公钥和私钥)则叫做公钥加密方式。仅有一方的密钥是无法完成解密的,还必须严格管理私钥。
通过邮件发送公钥,通过Web公开发布公钥、或通过PKI分配等方式,才得以在网络上安全的传输密钥。不过相比较对称加密方式,后者在加密和解密上需要花费的时间较长,对较长的消息进行加密时往往采用两者结合的方式。
对称加密方式包括AES(Advanced Encryption Standard,高级加密标准),DES(Data Encryption Standard,数据加密标准)等加密标准,而公钥加密方法中则包括RSA、DH(Diffie-Hellman)、椭圆曲线等加密算法。
身份认证技术
因为实施安全对策时,有必要验证使用者的正确性和真实性。
认证技术可以分为以下几类:
-
根据所知道的信息进行认证
使用密码或私有代码。
-
根据所拥有的信息进行认证
利用ID卡、密钥、电子证书、电话号码等信息,在手机互联网中就是利用手机号码或者终端信息进行权限认证
-
根据独一无二的体态特征进行认证
使用指纹,视网膜等。
一般会综合上述3种方式的情况更为普遍。另外还有一种集合各种终端、服务器和应用的认证于一体进行综合管理的技术叫做IDM(IDentity Management,身份管理)。
9.4 安全协议
以前为了防止信息泄露,对机密数据的传输一般不使用互联网等公共网络(Public Network),而是使用由专线连接的私有网络(Private Network)。从而在物理上杜绝了窃听和篡改数据的可能。但是吧,专线,要有钱。
为了解决此类(贫穷)的问题,人们想出了在互联网上构造一个虚拟的私有网络,即VPN(Virtual Private Network,虚拟专用网)。互联网中采用加密和认证技术可以达到“即使读取到数据也无法读懂”、“检查是否被篡改”等功效。VPN正是一种利用这两种技术打造的网络。
构建VPN时,最常被使用的IPsec。它是指在IP首部的后面追加“封装安全有效载荷”和“认证首部”,从而对此后的数据进行加密,不被盗取者轻易解读。
发包时附加上上述两个首部,可以在收包时根据首部对数据进行解密,恢复成原始数据。由此,加密后的数据不再被轻易破解,即使在途中被篡改,可以能够被及时检测。
基于这些功能,VPN的使用者就可以不必设防的使用一个安全的网络环境。
TLS/SSL和HTTPS
web中可以通过TLS/SSL对HTTP通信进行加密,使用TLS/SSL的HTTP通信叫做HTTPS通信。HTTPS采用对称加密方式,而在发送其公共密钥时采用的则是公钥加密方式。
确认公钥是否正确主要是用认证中心(CA)签发的证书,而主要的认证中心的信息已经嵌入到浏览器的出厂设置中。如果浏览器中尚未加入某个认证中心,那么会在页面上提示一个警告信息,此时,判断认证中心合法与否就要由用户自己决定了。
IEEE802.1X
IEEE802.1X是为了能够接入LAN交换机和无线LAN接入点而对用户进行认证的技术,并且它只允许被认可的设备才能访问网络。虽然这是一个提供数据链路层控制的规范,但是与TCP/IP关系紧密。一般,由客户端终端、AP(无线基站)或2层交换机以及认证服务器组成。
IEEE802.1X中当有一个尚未经过认证的终端连接AP时(如下图中的①),起初会无条件地让其连接到VLAN,获取临时的IP地址,然而此时终端只能连接认证服务器(如下图中的②)。
连到认证服务器后,用户被要求输入用户名和密码(如下图中的③)。认证服务器收到该信息后,将该用户所能访问的网络信息通知给AP和终端(如下图中的④)。
随后AP会进行VLAN号码(该终端连接网络必要的信息)的切换(如下图中的⑤)。终端则由于VLAN的切换进行IP地址重置(如下图中的⑥),最后才得以连接网络(如下图中的⑦)。
公共无线局域网中,一般也会进行用户名和密码的加密和认证。不过也可以通过IC卡或证书、MAC地址确认等第三方信息进行更为严格的认证。
本篇小结
鉴于本篇内容,包括了第九章的所有内容,且本章内容更侧重于了解,所以,如果你读到这里,恭喜,就已经达到阅读目的了!