07 - 网络安全 - 安全协议和防火墙

347 阅读8分钟

这是我参与更文挑战的第12天,活动详情查看: 更文挑战

IP的不安全性

  1. 没有为通信提供良好的数据源鉴别机制
  2. 没有为数据提供强大的完整性保护机制
  3. 没有为数据提供任何机密性保护
  4. 很容易伪造一个IP地址

IPsec - 网络层安全协议

IPsec并不是一个单个的协议, 而是能够在IP层提供通信安全的协议族

IPsec是个框架, 允许通信双方选择合适的算法和参数

IPsec包含了所有IPsec的实现都必须有的一套加密算法

IPsec由三部分组成

  1. IP安全数据报格式的两个协议

    鉴别首部AH(Authentication Header)协议

    封装安全有效载荷ESP(Encapsulation Security Payload)协议

  2. 有关加密算法的三个协议

  3. 互联网密钥交换IKE(Internet Key Exchange)协议

AH协议 - 提供源点鉴别和数据完整性, 但不保密

ESP协议 - 比AH协议复杂, 它提供源点鉴别, 数据完整性和保密

使用ESP或AH协议的IP数据报称为为IP安全数据报(IPsec数据报)

IP安全数据报的两种工作方式

运输方式

运输方式

在整个运输层报文段的前后分别添加若干控制信息, 再加上IP首部, 构成IP安全数据报

适合于主机到主机之间的安全传送

需要使用IPsec的主机都运行IPsec协议

隧道方式

隧道方式

在原始的IP数据报的前后分别添加若干控制信息, 再加上新的IP首部,构成一个IP安全数据报

需要在IPsec数据报所经过的所有路由器上运行IPsec协议

隧道方式常用来实现虚拟专用网VPN

IP安全数据报的IP首部都是不加密的. 所谓安全数据报是指数据报的数据部分是经过加密的, 并能够被鉴别的.

通常把数据报的数据部分称为数据报的有效载荷

安全关联SA

在发送IP安全数据报之前, 在源实体和目的实体之间必须创建一条网络层的逻辑连接, 叫做安全关联SA(Security Association)

IPsec就把传统互联网无连接的网络层转换为具有逻辑连接的网络层

安全关联的特点

安全关联是从源点到终点的单向连接, 能够提供安全服务

在安全关联SA上传送的就是IP安全数据报

如果要进行双向安全通信, 则两个方向都需要建立安全关联

若n个员工进行双向安全通信, 一共需要创建(2+2n)条安全关联SA

互联网密钥交换IKE

以三个协议为基础

Oakley - 密钥生成协议

安全密钥交换机制SKEME - 密钥交换的协议. 利用公钥加密来实现密钥交换协议中的实体鉴别

互联网安全关联和密钥管理协议ISAKMP - 用于实现IKE中定义的密钥交换, 使IKE的交换能够以标准化, 格式化的报文创建安全关联SA

运输层安全协议

安全套接字SSL (Secure Socket Layer)

运输层安全TLS (Transport Layer Security)

SSL:TLS

SSL工作方式

在发送方, SSL接收应用层的数据, 对数据进行加密, 然后把加密的数据送往TCP套接字.

在接收方, SSL从TCP套接字读取数据, 解密后把数据交给应用层

应用层使用SSL最多的就是HTTP, 但SSL并非仅用于HTTP, 而是可用于任何应用层的协议

应用程序HTTP调用SSL对整个网页进行加密时, 网页上会提示用户, 在网址栏原来显示的地方, 现在变成了https.

在http后面加上的s代表security, 表明现在使用的是提供安全服务的HTTP协议.

HTTPS的端口号是443, 而HTTP使用的端口号是80

SSL提供的安全服务

SSL服务器鉴别

允许用户证实服务器的身份. 支持SSL的客户端通过难来自服务器的证书, 来鉴别服务器的真实身份并获得服务器的公钥

SSL客户鉴别

SSL的可靠安全服务, 允许服务器证实客户的身份

加密的SSL会话

对客户和服务器间发送的所有报文进行加密, 并检测报文是否被篡改

SSL安全会话建立过程

协商加密算法

  1. 浏览器向服务器发送浏览器的SSL版本号和一些可选的加密算法.

  2. 服务器从中选定自己所支持的算法(如RSA), 并告知浏览器

服务器鉴别

  1. 服务器向浏览器发送包含其RSA公钥的数字证书
  2. 浏览器使用该证书认证机构CA公开发布的RSA公钥对该证书进行验证

会话密钥计算

  1. 用服务器的RSA公钥进行加密后发送给B
  2. 双方根据协商的算法产生共享的对称会话密钥

安全数据传输

  1. 双方用会话密钥加密和解密它们之间传送的数据并验证其完整性

应用层安全协议

假定A向B发送电子邮件, 使用PGP进行加密

A有三个密钥: A的私钥, B的公钥, A生成的一次性密钥

B有两个密钥: B的私钥, A的公钥

发送方A的工作

  1. 对明文邮件进行MD5运算, 得出MD5报文摘要. 用A的私钥对报文摘要进行加密(即数字签名), 得出报文鉴别码MAC, 把它拼接在明文后面, 得到扩展的邮件
  2. 使用A自己生成的一次性密钥对扩展的邮件进行加密
  3. 用B的公钥对A生成的一次性密钥进行加密
  4. 把加密的一次性密钥和加密的扩展邮件发送给B

接收方B的工作

  1. 把加密的一次性密钥和加密的扩展邮件分离开

  2. 用B自己的私钥解聘A的一次性密钥

  3. 用解出的一次性密钥对报文进行解密, 分离出明文和MAC

  4. 用A的公钥对MAC进行解密(即签名核实), 得出报文摘要.

  5. 对分离出的明文邮件进行MD5报文摘要运算, 得出另一个报文摘要.

    和刚才得出的报文摘要进行比较, 如果一样, 则对邮件发送方的鉴别就通过了, 报文的完整性也得到肯定

防火墙

防火墙是由软件和硬件构成的系统, 是一种特殊的路由器, 用来在两个网络之间实施访问控制策略.

防火墙内的网络称为"可信的网络", 而外部的网络称为"不可信的网络"

防火墙用来解决内联网和外联网的安全问题

防火墙的功能

阻止 - 阻止某种类型的通信量通过防火墙, 从外部网络到内部网络, 或者内部网络到外部网络

允许 - 防火墙必须能够识别各种类型的通信量. 不过在大多数情况下防火墙的主要功能是阻止.

防火墙技术

分组过滤路由器

一种具有分组过滤功能的路由器, 根据过滤规则对进出内部网络的分组执行转发或者丢弃. 过滤规则基于分组的网络层或运输层首部的信息

分组过滤可以是无状态的, 即独立处理每一个分组. 也可以是有状态的, 即要跟踪每个连接或会话的通信状态, 并根据这些状态信息来决定是否转发分组.

简单高效, 对用户透明, 但不能对高层数据进行过滤

应用网关

也称为代理服务器, 在应用层通信中扮演报文中继的角色

在应用网关中, 可以实现基于应用层数据的过滤和高层用户鉴别

所有进出网络的应用程序报文都必须通过应用网关

应用网关缺点

  1. 每种应用都需要一个不同的应用网关
  2. 在应用层转发和处理报文, 处理负担较重
  3. 对应用程序不透明, 需要在应用程序客户端配置应用网关地址

入侵检测系统

防火墙试图在入侵行为发生之前阻止 所有可疑的通信

入侵检测系统IDS(Intrusion Detection System)能够在入侵已经开始, 但还没有造成危害前, 及时检测到入侵, 以便尽快阻止入侵, 把危害降到最小

IDS对进入网络的分组执行深度分组检查, 当观察到可疑分组时, 向网络管理员发出警告或执行阻断操作

IDS能用于检测多种网络攻击, 包括网络映射, 端口扫描, DoS攻击, 蠕虫, 病毒, 系统漏洞攻击等

入侵检测方法

基于特征的IDS

维护一个所有已知攻击标志性特征的数据库

这些特征或规则通常由网络安全专家生成, 由机构的网络管理员定制并将其加入到数据库中

基于特征的IDS只能检测已知攻击, 对于未知攻击则束手无策

基于异常的IDS

通过观察正常运行的网络流量, 学习正常流量的统计特性和规律. 当检测到网络中流量某种统计规律不符合正常情况时, 则认为可能发生了入侵行为