起初,TCP/IP只用于一个相对封闭的环境,之后才发展为并无太多限制、可以从远程访问更多资源的形式。因此,“安全”这个概念并没有引起人们太多的关注。然而,随着互联网的日益普及,发生了很多非法访问、恶意攻击等问题,着实影响了企业和个人的利益。由此,网络安全逐渐成为人们不可忽视的一个重要内容。
互联网向人们提供了很多便利的服务。为了让人们能够更好、更安全的利用互联网,只有牺牲一些便利性来确保网络的安全。因此,“便利性”和“安全性”作为两个对立的特性兼容并存,产生了很多新的技术。随着恶意使用网络的技术不断翻新,网络安全的技术也在不断进步。今后,除了基本的网络技术外,通过正确理解安全相关的技术、制定合理的安全策略、按照制定的策略进行网络管理及运维成为一个重要的课题。
随着互联网的发展,对网络的依赖程度越高就越应该重视网络安全。尤其是现在,对系统的攻击手段越加多样化,某种特定程度的技术远不足以确保一个系统的安全。网络安全最基本的要领是要有预备方案。即不是在遇到问题的时候才去处理,而是通过对可能发生的问题进行预测,在可行的最大范围内为系统指定安保对策,进行日常运维,这才是重中之重。
TCP/IP相关的安全要素如下图所示:
防火墙
一句话:就是它会屏蔽互联网中的大部分请求,只过滤出特定的它觉得安全的请求。
组织机构内部的网络与互联网相连时,为了避免受到非法访问的威胁,往往会设置防火墙。
防火墙的种类和形态有很多种。例如,专门过滤(不过滤)特定数据包的包过滤防火墙、数据到达应用以后由应用处理并拒绝非法访问的应用网关。这些防火墙都有基本相同的设计思路,那就是“暴露给危险的主机和路由器的个数要有限”。
如果网络中有1000台主机,若为每一台主机都设置非法访问的对策,那将是非常繁琐的工作。而如果设置防火墙的话,可以限制从互联网访问的主机个数。将安全的主机和可以暴露给危险的主机加以区分,只针对后者集中实施安全防护。
如下图:
这是一个设置防火墙的例子。图中,对路由器设置了只向其发送特定地址和端口号的包。即设置了一个包过滤防火墙。
当从外部过来TCP通信请求时,只允许对Web服务器的TCP 80端口和邮件服务器的TCP 25端口的访问。其它所有类型的包全部丢弃。
此外,建立TCP连接的请求只允许从内网发起。关于这一点,防火墙可以通过监控TCP包首部中的SYN和ACK标志位来实现。具体为,当SYN=1,ACK=0时属于互联网发过来的包,应当废弃。有了这样的设置以后,只能从内网向外建立连接,而不能从外网直接连接内网。
IDS(入侵检测系统)
数据包符合安全策略,防火墙才会让其通过。即只要与策略相符,就无法判断当前访问是否为非法访问,所以全部允许通过。
而IDS正是检查这种已经侵入内部网络进行非法访问的情况,并及时通知给网络管理员的系统。
IDS根据不同的用途可以提供各种不同的功能。从设置形式上看,一般在防火墙或DMZ等边界设备上进行设置。有了这样监控、检测边界的功能,就可以设置在网络内部、全网或个别特殊的服务器上进行监控。
从功能上看,IDS有定期采集日志、长期监控、
一般情况下,网页访问、电子邮件等互联网上流动的数据不会被加密。另外,互联网中这些数据经由哪些路径传输也不是使用者可以预知的内容。因此,通常无法避免这些信息会泄漏给第三方。
为了防止这种信息的泄漏、实现机密数据的传输,出现了各种各样的加密技术。加密技术分布与OSI参考模型的各个阶层一样,互相协同保证通信。
对称密码体制与公钥密码体制
加密是指利用某个值(密钥)对明文的数据通过一定的算法变换成加密(密文)数据的过程。它的逆反过程叫做解密。
加密和解密使用相同的密钥叫做对称加密方式。反之,如果在加密和解密过程中分别使用不同的密钥(公钥和私钥)则叫做公钥加密方式。在对称加密方式中,最大的挑战就是如何传递安全的密钥。而公钥加密方式中,仅有一方的密钥是无法完成解密的,还必须严格管理私钥。通过邮件发送公钥、通过Web公开发布公钥、或通过PKI分配等方式,才得以在网络上安全地传输密钥。不过,相比对称加密方式,后者在加密和解密上需要花费的时间比较长,在对较长的消息进行加密时往往采用两者结合的方式。
对称加密方式包括AES(Advanced Encryption Standard)、DES(Data Encryption Standard)等加密标准,而公钥加密方法中包括RSA、DH(Diffie-Hellman)、椭圆曲线等加密算法。
TLS/SSl与HTTPS
现在有很多互联网应用已经逐渐进入人们的生活。例如网上购物、网上订车票、订飞机票或预订演出票等。在这些系统的支付过程中经常会涉及信用卡网上支付,而网上银行系统还需要用户直接在网上输入账号和密码。
而信用卡卡号、银行账号、密码都属于个人的机密信息。因此,在网络上传输这些信息时有必要对它们进行加密处理。
Web中可以通过TLS/SSL(Transport Layer Security/Secure Sockets Layer。由网景公司最早提出的名称叫SSL,标准化以后被称作TLS。有时两者统称为SSL)
对HTTP通信进行加密。使用TLS/SSL的HTTP通信叫做HTTPS通信。HTTPS中采用对称加密方式。而在发送其公共密钥时采用的则是公钥加密方式。
对称加密虽然速度快,但是密钥管理是巨大的挑战。公钥加密密钥管理相对简单,但是处理速度非常慢。TLS/SSL将两者进行取长补短令加密过程达到了极好的效果。由于谁都可以发送公钥,使得密钥管理更为简单。
确认公钥是否正确主要使用认证中心(CA:Certificate Authority)签发的证书,而主要的认证中心的信息已经嵌入到浏览器的出厂设置中。如果Web浏览器中尚未加入某个认证中心,那么会在页面上提示一个警告信息。此时,判断认证中心合法与否就要由用户自己决定了。