— 网上传输的数据有被窃听的风险
— 网上传输的数据有被篡改的危险
— 通信双方有被冒充的风险
— 使用加密技术防止数据被窃听
— 数据完整性验证防止数据被破坏、篡改
— 通过认证机制确认身份,防止冒充
不允许研发小组与研发服务器通过互联网传输数据。
通过建立IPsec VPN使得异地的研发小组与研发服务器传输数据。
(基础配置大家小学就学过了,这里不做演示。)
[R1]ip route-static 0.0.0.0 0 100.0.0.2
[R2]ip route-static 0.0.0.0 0 200.0.0.2
· 加密与解密
- 加密:明文数据 ‘m’ --> 密文数据 ‘c’
- 解密:密文数据 ‘c’ --> 明文数据 ‘m’
· 加密算法分类
- 对称加密算法
对称加密算法使用同一个共享密钥参与加密与解密的计算,计算速度快,但这种方法安全性较低。
如下图,加密时,使用加密函数 E(共享密钥‘k’,明文‘m’)生成密文 ‘c’,解密时使用解密函数 D(共享密钥‘k’,密文‘c’) 生成明文‘m’。
> DES(Data Encryption Standard,数据加密标准)
> 3DES
> AES(Advanced Encryption Standard,高级加密标准)
- 非对称加密算法
非对称加密算法有公钥与私钥之分,公钥可以公开,用于对数据加密,私钥只有自己知道,用于对数据解密。
比如,A要发送数据给B,A就用B的公钥对数据进行加密再发给B,B收到后用自己的私钥对其进行解密。
即使传输过程中数据被窃取,没有私钥也不能知道数据里的具体信息。
并且,公钥与私钥相互不能通过计算推导出来,这就很大程度上保证了数据的安全性。
缺点:计算效率比对称加密算法低很多,大约要慢1500倍左右。
> RSA(三位数学家名字的首字母)
· 认证算法
- 哈希(HASH)
> MD5算法
MD5 (Message-digest Algorithm 5,信息-摘要算法)
创建了一个128位(16字节)的签名,很多协议都使用该算法做验证
目前,已有人证明不同的输入数值通过MD5计算可以得到相同的数字签名,
说明MD5的签名可能具有一定程度的虚假性
MD5执行速度较快,但其安全性相对SHA稍差一点
> SHA算法
SHA (Secure Hash Algorithm,安全散列算法)
已成为美国国家标准,它可以产生160位的签名(20字节的长度)
为了更加安全,现在已经开发了SHA-256和SHA-512等
> DH算法
DH (Diffie-Hellman,迪菲-赫尔曼)
— 一般被用来实现IPSec中的Internet密钥交换
— DH算法将对称加密算法和非对称加密算法综合在一起
DH算法支持可变的密钥长度
— 其中DH组1为768,DH组2为1024,DH组5为1536,DH组14为2048
— 密钥的有效长度越长,安全性也就越强,同时CPU的资源占用率也就越高
- 校验文件
> 网站下载的文件(例如www.kali.org)
该步骤主要是设置算法保证数据传输的安全,这些算法会形成相应的密钥,如果算法各自管理自己的算法会很麻烦,于是IKE便可以将这些密钥集合统一自动管理。
***创建IKE安全提议***
[R1]ike proposal 1 //创建IKE提议,编号为1
[R1-ike-proposal-1]encryption-algorithm aes-cbc-256 //设置加密算法为AES
[R1-ike-proposal-1]authentication-algorithm sha1 //设置认证算法为SHA
[R1-ike-proposal-1]authentication-method pre-share //设置认证方法为预共享密钥
[R1-ike-proposal-1]dh group2 //设置DH组2,支持密钥长度为1024bit
***配置IKE对等体***
[R1]ike peer 200.0.0.1 v1 //创建IKE对等体,对等体名称为 '200.0.0.1',用于标记远端设备,并且只能支持版本1的SA
[R1-ike-peer-200.0.0.1]pre-shared-key cipher mr-sss //设置预共享密钥为密文格式的‘mr-sss’,两端密钥要相同。
[R1-ike-peer-200.0.0.1]ike-proposal 1 //应用前面创建的IKE安全提议1
[R1-ike-peer-200.0.0.1]remote-address 200.0.0.1 //设置建立VPN的远端设备地址。
[R1-ike-peer-200.0.0.1]quit
---R3的配置与上面差不多,要注意的就是明确对等体名称和建立VPN的远端地址---
ike proposal 1
encryption-algorithm aes-cbc-256
authentication-algorithm sha1
authentication-method pre-share
dh group2
ike peer 100.0.0.1 v1
pre-shared-key cipher mr-sss
ike-proposal 1
remote-address 100.0.0.1
该步骤主要用于访问控制,匹配在隧道中可以传输的流量。
[R1]acl number 3000
[R1-acl-adv-3000]rule 5 permit ip source 172.16.10.0 0.0.0.255 destination 10.10.33.0 0.0.0.255
[R3]acl 3000
[R3-acl-adv-3000]rule permit ip source 10.10.33.0 0.0.0.255 destination 172.16.10.0 0.0.0.255
[R1]ipsec proposal 1 //创建IPSec安全提议,名称为1
[R1-ipsec-proposal-1]esp authentication-algorithm sha1 //认证算法为SHA1
[R1-ipsec-proposal-1]esp authentication-algorithm sha2-256 //加密算法为SHA2
[R1-ipsec-proposal-1]transfor esp //指定用于转换数据包的安全协议为ESP
[R3]ipsec proposal 1
[R3-ipsec-proposal-1]esp authentication-algorithm sha1
[R3-ipsec-proposal-1]esp authentication-algorithm sha2-256
[R3-ipsec-proposal-1]transform esp
[R1]ipsec policy yanfa 1 isakmp //创建IPSec策略,名称为‘yanfa’,序列号为1,安全连接和密钥管理协议为用IKE建立IPSec SA(isakmp)
[R1-ipsec-policy-isakmp-yanfa-1]security acl 3000 //应用ACL3000
[R1-ipsec-policy-isakmp-yanfa-1]proposal 1 //应用前面创建的IKE安全提议1
[R1-ipsec-policy-isakmp-yanfa-1]ike-peer 200.0.0.1 //应用名为‘200.0.0.1’的IKE对等体
[R1-ipsec-policy-isakmp-yanfa-1]quit
[R3]ipsec policy yanfa 1 isakmp
[R3-ipsec-policy-isakmp-yanfa-1]security acl 3000
[R3-ipsec-policy-isakmp-yanfa-1]proposal 1
[R3-ipsec-policy-isakmp-yanfa-1]ike-peer 100.0.0.1
[R3-ipsec-policy-isakmp-yanfa-1]quit
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ipsec policy yanfa //在出接口应用IPsec安全策略‘yanfa’
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ipsec policy yanfa