架设ipsec vpn现在对安全性要求越来越高,共享秘钥法似乎安全性有些低了。
进而使用安全证书进行安全信息交换是个比较好的方法。
SSG从netscreen而来,很早以前的版本(起码5.0)就可以支持从web管理界面操作了。
操作很简单
Objects > Certificates>new
填写相关的信息,国家,地域,名称啥的,自己决定,IP地址也是一项,看需要,不过我个人觉得还是不填的好,免得以后换IP了还要麻烦。
Key Pair Information:选RSA,微软的证书签发机构,RSA是支持的,DSA不支持,ECDSA没试验过。
加密的位数,当然是越高越好啦,2048位,微软的windows2008R2的证书签发机构是没问题的。
然后等一会,出现一个画面
save to file就是把那个框里面的一堆乱码下载成一个txt文件而已,不用也罢。
generate selfsigned cert不要点击,那个是自签名的操作,而不是由其它第三方局进行签发了。
这时候,直接打开微软的证书申请web画面,要用具有管理员权限的账户去申请。
选择使用PKCS#10的那个选项申请,证书的种类选web server,把上面那一堆乱码的文字全部拷贝到Base 64 那个栏目里,申请就可以,然后看证书服务的设定,是立刻签发还是手动签发,一般都是立刻签发。
然后就可以看到下载证书了,下载下来,注意下载两个,还有一个证书局的根证书也要,回到ssg的证书管理画面。
选择引导上传本地证书cert,把根证书传后在show-》CA选项里就会看见根证书
show-》local就会看到Serial#为全0的那个待签发证书已经完成了签发。
根证书是必须的,在ipsecvpn两点,要使用同一个证书局,就是同一张根证书,它保证两端可以证明对端的证书是合法的。
另外要强调一点,本人吃了大亏,在建立微软证书局的时候,使用了sha512,太高了,ssg,包括srx目前只支持到sha256,所以在微软证书局签发的证书,一上传到ssg就报错,但是fortigate反而可以支持sha512,查了很多地方,才发现不支持。其实到ipsec的配置第一阶段,看有没有选sha512就知道是不是支持了。