安全协议系列(五)—- 澳门新濠天地官网 与 IPSec(上) – efzju

澳门新濠天地官网/IPSec 广泛分布层牢固的科学试验报告,贸易保护 IP 和下层科学试验报告牢固的。上世纪末以后,两个科学试验报告的探究、适合,早已很醇美可口的了。。科学试验报告自身,也在退化。。仅以 澳门新濠天地官网 为例,其对应的 RFC 编号起航 RFC 2407/2408/2409 发出成 RFC 4306,之后发出成 RFC 5996,最新版本是 RFC 7296。 

为什么敝请求分为两个科学试验报告?二者都有什么分别,澳门新濠天地官网 用于键序列,IPSec 用于贸易保护后续相连。贸易保护沟通的钥匙,执意人 澳门新濠天地官网 发射处理水果。(在 SSL/TLS 科学试验报告中,键使产生和编密电码贸易保护在奇数的科学试验报告中抛光。,在这点上,各有其优势

本文仍采取保定解牛的思惟。:举行一次试验,诱惹每一传达,应用密电码反省。本条采取 python 作为检验器。


试验周围的修建

服役采取 Linux 著名的开源意识到 strongSwan(版本 ),处理系统为 Ubuntu Server 12.10(VMware 装聋作哑周围的)。
客户采取 Windows 7 内置的 IPSec VPN 客户端。
正运转的装聋作哑机 Windows 7 上,有效地利用双网卡,独立应用 NAT 和 Host-only 任务调式。两个网卡测绘 Linux 中对霉臭 eth0 和 eth1。
澳门新濠天地官网 与 IPSec 骨架构架绝复杂,有很多只应用科学试验报告的选择。
比方 澳门新濠天地官网 分为 澳门新濠天地官网v1/澳门新濠天地官网v2 两个版本,有多种度检验办法。IPSec 任务调式分为int Tunnel 和 Transport 两种,还在详细的履行科学试验报告 AH 和 ESP 之分。
思索现实的测验周围的和适合奇观,本包装 澳门新濠天地官网 科学试验报告应用 澳门新濠天地官网v2/证明证词。IPSec 应用 Tunnel/ESP 调式。
广泛分布拓扑如次

下载、汇编、使牢固 strongSwan 。简言之,执意 ./configure && make && make install 三部曲。 
没什么好说的。,独占的请求解说的:strongSwan 索赔 gmp 库供养。为简略起见,应用懂得命令行处理 root 度。

使产生 CA 证明(以下) OpenSSL,也可以应用。 strongSwan 自带的 pki 命令)

根@ubuntu openssl genrsa -des3 -out cakey.pem -passout pass:1234561024
根@ubuntu~# openssl req -sha1 -days 3650 -new -key cakey.pem -out cacertreq.pem -passin pass:123456 -subj "/C=CN/ST=HZ/O=VPN/CN=strongSwan CA"
根@ubuntu~# mkdir -p demoCA/newcerts # 建立 CA 含量
根@ubuntu~# touch demoCA/index.txt
根@ubuntu~# echo01 > demoCA/serial
根@ubuntu~# openssl ca -batch -selfsign -extensions v3_ca -days 3650 -in cacertreq.pem 中枢排成党派的行走 cakey.pem -passin pass:123456 -out ca.cer

暂时性修正 OpenSSL 有效地利用排成党派的行走

根@ubuntu cp /etc/ssl/ ./

修正排成党派的行走 :

[ v3_ca ]
authorityKeyIdentifier = keyid,issuer
extendedKeyUsage = serverAuth

执意大约。白色此行),是由于 Windows 7 索赔对终极服役证明拉长说属性举行服役度检验,见下图

使产生服役证明

根@ubuntu openssl genrsa -des3 -out serverkey.pem -passout pass:1234561024
根@ubuntu~# openssl req -sha1 -new -key serverkey.pem -out servercertreq.pem -passin pass:123456 -subj "/C=CN/ST=HZ/O=VPN/CN="
根@ubuntu~# openssl ca -batch -config ./ -extensions v3_ca -days 3650-in servercertreq.pem -cert ca.cer 中枢排成党派的行走 cakey.pem -passin pass:123456 -out server.cer

使牢固 CA 和服役证明 strongSwan

根@ubuntu cp ca.cer /usr/local/etc/ipsec.d/cacerts/
根@ubuntu~# cp server.cer /usr/local/etc/ipsec.d/certs/
根@ubuntu~# cp serverkey.pem /usr/local/etc/ipsec.d/private/

有效地利用 strongSwan

根@ubuntu cat /usr/local/etc/ipsec.conf
# ipsec.conf - strongSwan IPsec 有效地利用on file

# basic 有效地利用on
config setup
  charondebug="cfg 4, chd 4, dmn 4, enc 4, ike 4, job 4, knl 4, lib 4, mgr 4, net 4"
  charonstart=yes
  plutostart=no

# Add connections here.
conn linux-vs-win7
  authby=pubkey
  left=%defaultroute
  right=%any
  keyexchange=ikev2
  compress=no
  auto=add
  pfs=no
  leftauth=pubkey
  rightauth=pubkey
  rightid=%any
  leftsubnet=1.2.3.0/24
  leftsourceip=1.2.3.123
  rightsourceip=1.2.3.0/24
  leftcert=server.cer
  leftfirewall=yes

根@ubuntu~# cat /usr/local/etc/ipsec.secrets
: RSA serverkey.pem "123456"

使产生客户端证明并将其打包为int PKCS12 体式

根@ubuntu openssl genrsa -des3 -out clientkey.pem -passout pass:1234561024
根@ubuntu~# openssl req -sha1 -new -key clientkey.pem -out clientcertreq.pem -passin pass:123456 -subj "/C=CN/ST=HZ/O=VPN/CN=VPN Client"
根@ubuntu~# openssl ca -batch -days 3650 -in clientcertreq.pem -cert ca.cer 中枢排成党派的行走 cakey.pem -passin pass:123456 -out client.cer
根@ubuntu~# openssl pkcs12 -export -passin pass:123456 -passout pass:123456 -in client.cer -inkey clientkey.pem -out client.p12

将 PKCS12 及 CA 证明正本 Windows 7 并使牢固到计算图表认为,单击[开始菜单]->[运转]->[蓄电卡],如次图所示,添加证明使用单元

导入客户端和 CA 证明

新建 VPN 衔接

有效地利用 VPN 衔接属性:澳门新濠天地官网v2 接入 VPN 网关

有效地利用本地居民 DNS,在排成党派的行走 c:\windows\system32\drivers\etc\hosts 详尽地党派的被添加。
192.168.203.129

有效地利用完毕,启动衔接

根@ubuntu ipsec start --nofork

Windows 7 双点取新建 VPN 衔接

以下是成后的衔接使习惯于。 IP 地址

衔接折术中,Linux 命令将输入跟踪调试传达,这些传达将在以后的计算检验中应用。


Python 周围的预备

下载 Python 密电码库 PyCrypto 排成党派的行走的最新版本 ,除压到 C:\Python27\Lib
C:\Python27\Lib\pycrypto-2.6.1>python setup.py install
阐明:使牢固请求 Visual Studio 周围的,用于汇编源排成党派的行走