分支加密隧道不再搬密钥:IPsec证书认证一签互通
整理自华为官方发布的典型配置案例。
分支一多,预共享密钥的账就难算:每对出口一条密钥,改一次全员跟着换,泄露一条整链路重配。华为防火墙的 IPsec 隧道支持证书认证:每台出口向证书服务器签一张证书,隧道两端以数字签名互验身份,新增分支就是再签一张证书的事,密钥清单从此不用人肉维护。示例组网是两台出口各接一个内网,公网口之间建隧道;私钥不出设备,冒名者拿不走也仿不出签名,这是证书认证区别于口令约定的本质。
证书离线申请与导入
先造一对可导出的 RSA 密钥——官方示例取 3072 位;再定义 PKI 实体,通用名、国家、地址这些字段都会写进证书,签发后即成设备的身份名片:
[DeviceA] pki rsa local-key-pair create rsakey_a exportable
[DeviceA] pki entity user_a
[DeviceA-pki-entity-user_a] common-name devicea
[DeviceA-pki-entity-user_a] country cn
[DeviceA-pki-entity-user_a] ip-address 1.1.1.1
[DeviceA-pki-entity-user_a] quit
PKI 域绑定实体与密钥后,把申请文件以 PKCS#10 格式导出,通过磁盘、邮件这类带外方式交给证书服务器签发;拿到本地证书与 CA 证书两张文件后导回设备内存,导入时核对一次指纹,后续续期才有的放矢:
[DeviceA] pki realm a
[DeviceA-pki-realm-a] entity user_a
[DeviceA-pki-realm-a] rsa local-key-pair rsakey_a
[DeviceA-pki-realm-a] quit
[DeviceA] pki enroll-certificate realm a pkcs10 filename cer_req
[DeviceA] pki import-certificate ca filename a_ca.cer
[DeviceA] pki import-certificate local filename a_local.cer
IKE 提议与对等体改证书认证
IKE 提议把认证方式定为 RSA 数字签名;对等体里本端与对端 ID 都用 DN 形式,绑定本地证书并写死对端证书里的 DN——字段精确到组织与通用名,冒名设备拿不到对得上的证书,协商第一步就被拒:
[DeviceA] ike proposal 10
[DeviceA-ike-proposal-10] authentication-method rsa-signature
[DeviceA-ike-proposal-10] quit
[DeviceA] ike peer b
[DeviceA-ike-peer-b] ike-proposal 10
[DeviceA-ike-peer-b] local-id-type dn
[DeviceA-ike-peer-b] remote-id-type dn
[DeviceA-ike-peer-b] certificate local-filename a_local.cer
[DeviceA-ike-peer-b] remote-address 2.2.2.2
[DeviceA-ike-peer-b] remote-id /C=CN/ST=beijing/O=huawei/OU=dev/CN=deviceb
[DeviceA-ike-peer-b] quit
策略挂上隧道即生效
安全策略一共要配四条:trust 与 untrust 之间两条放加密数据流,local 与 untrust 之间两条放协商报文——官方特别说明,若要按协议端口收紧,需放开 ESP 服务与 UDP 500 端口,NAT 穿越场景还要加放 UDP 4500。IPsec 策略沿用 ISAKMP 方式,引用定义被保护数据流的 ACL、安全提议与对等体,最后在公网口应用策略组。隧道起来后在任意一端查安全联盟,两阶段 SA 都建立即为全通;触发协商很简单,保护网段里的设备互 ping 一下即可:
[DeviceA] ipsec policy map1 10 isakmp
[DeviceA-ipsec-policy-isakmp-map1-10] security acl 3000
[DeviceA-ipsec-policy-isakmp-map1-10] proposal tran1
[DeviceA-ipsec-policy-isakmp-map1-10] ike-peer b
[DeviceA-ipsec-policy-isakmp-map1-10] quit
[DeviceA] interface ge 0/0/1
[DeviceA-GE0/0/1] ipsec policy map1
[DeviceA-GE0/0/1] quit
<DeviceB> display ike sa
两端都要照此配置一遍,对等体里的远端地址与远端 DN 互换着写,缺一边协商都起不来。
避坑三条
- 隧道两端的协商参数必须完全一致,官方配置思路里专门强调,提议不一致协商就谈不拢;
- 安全联盟的验证有两条命令可看:display ike sa 里两阶段各一条、标志位 RD 表示就绪;display ipsec sa 能看到加密算法与收发包计数,业务跑起来数字就涨;
- 对端的 DN 字段包含国家、省份、组织与通用名,抄写时逐字对照证书内容,一个字符都不能错,错一位对端身份就验不过;
- 证书有有效期,续期与换发纳入证书服务器的到期提醒,别等隧道断了才发现证书过期。
多分支加密互联项目,贵州诚鑫致达科技可以做整体设计交付,欢迎搜索洽谈合作。
企业存储选型参考|贵州诚鑫致达
做机房存储、虚拟化或监控归档,群晖机型参考:FS6400(全闪存阵列) · SA3610 · SA3410。需要选型建议或上门评估,搜「诚鑫致达」即可找到我们。
服务区域|贵州诚鑫致达
贵州群晖NAS、贵阳存储、数据备份、信创云盘或 IT 集成服务,可联系贵州诚鑫致达科技,服务范围覆盖贵州全省各市州。凯里(黔东南)、都匀(黔南):企业存储方案与 IT 运维。