一、
+IPSec(IP Security)Internet 协议安全性
是IFTF制定的为保证在Internet上传送数据的安全保密性能的框架协议
+IPSec包括报文验证头协议AH(协议号51)和报文安全封装协议ESP(协议号50)两个协议两个协议
+IPSec有隧道(tunnel)和传送(transport)两种工作方式

IPSec(IP Security)是IETF制定的为保证在Internet上传送数据的安全保密性能的三层隧道加密协议。 IPSec在IP层对IP报文提供安全服务。IPSec协议本身定义了如何在IP数据包中增加字段来保证IP包的完整性、私有性和真实性,以及如何加密数据包。使用IPsec,数据就可以安全地在公网上传输。IPsec提供了两个主机之间、两个安全网关之间或主机和安全网关之间的保护。
IPSec包括报文验证头协议AH(协议号51) 和报文安全封装协议ESP(协议号50)两个协议。 AH可提供数据源验证和数据完整性校验功能;ESP除可提供数据验证和完整性校验功能外,还提供对IP报文的加密功能。
IPSec有隧道(tunnel)和传送(transport)两种工作方式。在隧道方式中,用户的整个IP数据包被用来计算AH或ESP头,且被加密。AH或ESP头和加密用户数据被封装在一个新的IP数据包中;在传送方式中,只是传输层数据被用来计算AH或ESP头,AH或ESP头和被加密的传输层数据被放置在原IP包头后面。

二、IPSec的组成
+IPSec提供两个安全协议
AH(Authentication Header)报文认证头协议
MD5(Message Digest 5)
SHA1(Secure Hash Algorithm)
ESP(Encapsulation Security Payload)封装安全载荷协议
DES(Date Encryption Standard)
3DES
其他的加密算法: Blowfish, blowfish,cast......

AH(Authentication Header)是报文验证头协议,主要提供的功能有数据源验证、数据完整性校验和防报文重放功能_,可选择的散列算法有MD5(Message Digest ),SHA1(Secure Hash Algorithm)等。AH插到标准IP包头后面,它保证数据包的完整性和真实性,防止黑客截断数据包或向网络中插入伪造的数据包。AH采用了hash算法来对数据包进行保护。AH没有对用户数据进行加密_。
ESP(Encapsulating Security Payload)是报文安全封装协议,ESP将需要保护的用户数据进行加密后再封装到IP包中,证数据的*完整性、真实性和私有性_。 可选择的加密算法有DES,3DES等。

三、IPSec的安全特点
+数据机密性(Confidentiality)
IPSec发送方在通过网络传输包前对包进行加密。
+数据完整性(Data Integrity)
IPSec接收方对发送方发送来的包进行认证,以确保数据在传输过程中没有被篡改。
+数据来源认证(Date Authentication)
IPSec接收方对IPSec包的源地址进行认证。这项服务基于数据完整性服务。
+反重放(Anti-Replay)
IPSec接收方可检测并拒绝接收过时或重复的报文。

四、IPSec基本概念
+数据流(Data Flow)
为一组具有某些共同特征的数据的集合,由源地址/掩码、目的地址/掩码、IP报文中封装上层协议的协议号、源端口号、目的端口号等来规定。通常,一个数据流采用一个访问控制列表(access-list)来定义,经访问控制列表匹配的所有报文在逻辑上作为一个数据流。一个数据流可以是两台主机之间单一的TCP连接,也可以是两个子网之间所有的数据流量。IPSec能够对不同的数据流施加不同的安全保护,例如对不同的数据流使用不同的安全协议、算法或密钥。
+安全联盟(Security Association 简称SA)
IPSec对数据流提供的安全服务通过安全联盟SA来实现,它包括协议、算法、密钥等内容,具体确定了如何对IP报文进行处理。一个SA就是两个IPSec系统之间的一个单向逻辑连接,输入数据流和输出数据流由输入安全联盟与输出安全联盟分别处理。安全联盟由一个三元组(安全参数索引(SPI)、IP目的地址、安全协议号(AH或ESP))来唯一标识。安全联盟可通过手工配置和自动协商两种方式建立。手工建立安全联盟的方式是指用户通过在两端手工设置一些参数,在两端参数匹配和协商通过后建立安全联盟。自动协商方式由IKE生成和维护,通信双方基于各自的安全策略库经过匹配和协商,最终建立安全联盟而不需要用户的干预。
+安全参数索引SPI(Security Parameter Index)
是一个32比特的数值,在每一个IPSec报文中都携带该值。SPI、IP目的地址、安全协议号三者结合起来共同构成三元组,来唯一标识一个特定的安全联盟。在手工配置安全联盟时,需要手工指定SPI的取值。为保证安全联盟的唯一性,必须使用不同的SPI来配置安全联盟;使用IKE协商产生安全联盟时,SPI将随机生成。
+安全联盟生存时间(Life Time)
安全联盟更新时间有“以时间进行限制”(即每隔定长的时间进行更新)和“以流量进行限制”(即每传输一定字节数量的信息就进行更新)两种方式
+安全策略(Crypto Map)
由用户手工配置,规定对什么样的数据流采用什么样的安全措施。对数据流的定义是通过在一个访问控制列表中配置多条规则来实现,在安全策略中引用这个访问控制列表来确定需要进行保护的数据流。一条安全策略由“名字”和“顺序号”共同唯一确定。
+转换方式(Transform Mode)
包括安全协议、安全协议使用的算法、安全协议对报文的封装形式,规定了把普通的IP报文转换成IPSec报文的方式。在安全策略中,通过引用一个转换方式来规定该安全策略采用的协议、算法等。

五、AH协议

AH协议通过使用带密钥的验证算法,对受保护的数据计算摘要。通过使用数据完整性检查,可判定数据包在传输过程中是否被修改;通过使用认证机制,终端系统或网络设备可对用户或应用进行认证,过滤通信流;认证机制还可防止地址欺骗攻击及重放攻击。
在使用AH协议时,AH协议首先在原数据前生成一个AH报文头,报文头中包括一个递增的序列号(Sequence number)与验证字段(空)、安全参数索引(SPI)等。AH协议将对新的数据包进行离散运算,生成一个验证字段(authentication data),填入AH头的验证字段。AH协议目前提供了两种散列算法可选择,分别是:MD5和SHA1,这两种算法的密钥长度分别是128bit和160bit。
AH协议使用32比特序列号结合防重放窗口和报文验证来防御重放攻击。
在传输模式下,AH协议验证IP报文的数据部分和IP头中的不变部分。
在隧道模式下, AH协议验证全部的内部IP报文和外部IP头中的不变部分。

六、ESP协议

ESP协议将用户数据进行加密后封装到IP包中,以保证数据的私有性。同时作为可选项,用户可以选择使用带密钥的哈希算法保证报文的完整性和真实性。ESP的隧道模式提供了对于报文路径信息的隐藏。
在ESP协议方式下,可以通过散列算法获得验证数据字段,可选的算法同样是MD5和SHA1。与AH协议不同的是,在ESP协议中还可以选择加密算法,一般常见的是DES、3DES等加密算法。加密算法要从SA中获得密钥,对参加ESP加密的整个数据的内容进行加密运算,得到一段新的“数据”。完成之后,ESP将在新的“数据”前面加上SPI字段、序列号字段,在数据后面加上一个验证字段和填充字段等。
ESP协议使用32比特序列号结合防重放窗口和报文验证,防御重放攻击
在传输模式下,ESP协议对IP报文的有效数据进行加密(可附加验证)。
在隧道模式下,ESP协议对整个内部IP报文进行加密(可附加验证)。

IPSec配置前准备

IPSec的配置任务
+创建加密访问控制列表
+定义安全提议
+设置安全协议对IP报文的封装模式
+选择安全协议
可选的安全协议有AH与ESP,也可指定同时使用AH与ESP
++设置AH协议采用的认证算法
++ESP协议采用的认证算法
++SEP协议采用的加密算法
AH协议没有加密功能,只对报文进行认证。软件IPSec中ESP支持的安全加密算法有五种:3des、des、blowfish、cast、skipjack。加密卡ESP支持的安全加密算法有七种:3des、des、blowfish、cast、skipjack、aes、qc5。
AH和ESP支持的安全认证算法有MD5(消息摘要Version 5)算法与SHA(安全散列算法)算法两种。md5算法使用128位的密钥,sha1算法使用160位的密钥;md5算法的计算速度比sha1算法快,而sha1算法的安全强度比md5算法高。
安全隧道的两端所选择的安全加密算法与认证算法必须一致。

+创建安全策略
++配置安全策略引用的访问控制列表
++指定安全隧道的终点
++配置安全策略中引用的安全提议
+在接口上应用安全策略组
创建安全策略,必须指定其SA协商方式;协商方式有两种:手工方式和IKE协商方式,由于手工方式不够安全,通常我们采用IKE协商方式。如果是修改安全策略,可不必指定其协商方式。一旦创建了安全策略,就不能再修改为其它的协商模式。必须先删除当前的安全策略然后再重新创建新的安全策略。

IKE配置任务
+创建IKE安全策略
++选择加密算法 DES-CBC 3DES-CBC(三重DES加密)
++选择认证方法 预共享密钥(pre-share-key)
++选择哈希散列算法 SHA-1算法和MD5算法
++选择DH的组标识 Group1或Group2
++设置IKE协商安全联盟的生存周期
+配置预共享密钥
+配置IKE keepalive定时器

IPSec监控与调试
+显示安全联盟的相关信息
display ipsec sa {all | brief remote ip-address | policy policy-name [sequence-number] | parameters dest-address protocol spi}
+IPSec调试信息开关
debugging ipsec {misc | packet | sa}

IKE的监控与调试
+显示IKE安全联盟参数
display ike sa
+调试IKE安全联盟
debugging ike {all | crypto | error | message | misc | sysdep | timer | transport }

IPSec排错

www.huawei.com

IPSec的更多相关文章

  1. 【转】CentOS上部署PPTP和L2TP over IPSec简要笔记

    PPTP部署 安装 PPTP 需要 MPPE 和较高版本的 ppp ( > 2.4.3 ) 支持,不过 CentOS 5.0/RHEL 5 的 2.6.18 内核已经集成了 MPPE 和高版本的 ...

  2. ipsec IP安全策略操作 win7

    //禁止 win7 连接 public static void BannedWINRunCmd() { string str = Console.ReadLine(); System.Diagnost ...

  3. 跨云应用部署第一步:使用IPSEC VPN连接AWS中国版和Windows Azure中国版

    随着公有云的普及,越来越多的客户将关键应用迁移到云端.但是事实证明,没有哪家云服务提供商可以提供100%的SLA,无论是例行维护还是意外中断服务,对于客户的关键应用而言,都会受到不同程度的影响.此外, ...

  4. [转]Mac下配置基于SecurID的Cisco IPSec VPN全攻略(有图)

    来自: http://www.eefocus.com/Kevin/blog/11-09/230878_53c71.html RSA的SecurID长的是这个样子滴: Mac里面,可以设置VPN, 方法 ...

  5. 配置L2TP IPsec VPN (CentOS 6.5)

    1. 安装相关包 yum install -y ppp iptables make gcc gmp-devel xmlto bison flex libpcap-devel lsof vim-enha ...

  6. 在EC2上搭建L2TP over IPSec VPN服务器

    注意(:wq保存文件 putty登陆用户名为ec2-user) 安装与配置: 环境介绍: OS:CentOS 6.4 x86_64 Minimal 1. 修改 /etc/sysctl.conf,新增如 ...

  7. 安全协议系列(五)---- IKE 与 IPSec(中)

    在上一篇中,搭建好了实验环境.完整运行一次 IKE/IPSec 协议,收集相关的输出及抓包,就可以进行协议分析.分析过程中,我们将使用 IKE 进程的屏幕输出和 Wireshark 抓包,结合相关 R ...

  8. 安全协议系列(五)---- IKE 与 IPSec(上)

    IKE/IPSec 属于网络层安全协议,保护 IP 及上层的协议安全.自上个世纪末面世以来,关于这两个协议的研究.应用,已经非常成熟.协议本身,也在不断地进化.仅以 IKE 为例,其对应的 RFC 编 ...

  9. AIX上通过IPSEC进行IP包过滤

    AIX上的IPSEC 在AIX可以通过以下步骤打开IP Security smitty ipsec4 --> Start/Stop IP Security --> Start IP Sec ...

  10. Ubuntu 15.10搭建IPSec L2TP服务器

    以下步骤完全使用于Ubuntu 14.04版本 首先安装以下所需包 sudo apt-get install openswan xl2tpd ppp lsof!注意!Ubuntu 15.10会提示无法 ...

随机推荐

  1. 找DEV,欢迎挑战高薪 --方向:互联网金融,地点广州

    http://kaolalicai.cn/#/join 企业文化 加入财略 = 进取!自由!快乐 Get things done,坚持,进取 学习型企业,员工培训,交互学习 人性化管理,气氛和谐,快乐 ...

  2. LG4213 【【模板】杜教筛(Sum)】

    sum\(\mu\)求法 设 \[S(n)=\sum_{i=1}^n \mu(i)\] 回顾公式 \[\sum_{d|n}\mu(d)=[n=1]\] 对\(n\)求和 \[\sum_{i=1}^n\ ...

  3. 使用k8s && minio 进行 postgres 数据库自动备份

      通过k8s 的定时任务job,我们可以方便的进行定时任务应用的开发,通过minio s3 兼容的cloud native 存储 我们可以方便的通过http 请求进行数据文件的备份,以下简单演示下如 ...

  4. ipfs cluster 模式部署使用(docker-compose 环境运行)

    ipfs 点对点的分布式文件系统,官方提供了集群模式运行的docker 镜像,以及docker-compose 文件 所以测试下 环境准备 docker-compose   version: '3.4 ...

  5. oracle-rman-2

    归档日志的备份 RMAN> list archivelog all;show archivelog deletion policy;configure archivelog deletion p ...

  6. 深入详解美团点评CAT跨语言服务监控(三)CAT客户端原理

    cat客户端部分核心类 message目录下面有消息相关的部分接口 internal目录包含主要的CAT客户端内部实现类: io目录包含建立服务端连接.重连.消息队列监听.上报等io实现类: spi目 ...

  7. tomcat源码阅读之默认连接器

    默认连接器 一.UML图: 1.所有的连接器都要实现Connector接口,必须创建Request对象和Response对象,httpConnector作为默认连接器,肯定也是要实现Connector ...

  8. java 中,for、for-each、iterator 区别

    java 中,for.for-each.iterator 区别: 无论是在数组中还是在集合中,for-Each加强型for循环都是它们各自的普通for循环的一种"简写方式",即两者 ...

  9. Java变量的初始值

    Java中的变量如果没有赋值,成员变量默认被初始化,局部变量则不会. 对于成员变量 int a;         // a的初始值为0 如下例中的成员变量a,b,c,d public class Va ...

  10. Spark基本术语表+基本架构+基本提交运行模式

    一.Spark基本术语表 转载自:http://blog.csdn.net/simple_the_best/article/details/70843756 以下内容来自 http://spark.a ...