配置HTTPS SSL解密防御前,先执行本节操作,加载组件包并导入SSL证书。
设备已经激活组件包所需的License,具体操作请参见手动激活License。
完成本节配置后,请继续在ATIC上完成HTTPS SSL解密防御的配置和部署,详细请参见SSL解密防御。
对于AntiDDoS8000,SSL解密功能需要应用安全业务处理子卡在位,否则功能不可用。应用安全业务处理子卡相关内容请参见增强型应用安全业务处理子卡A(SPCA-APPSEC-FW)或增强型应用安全业务处理子卡B(SPCB-APPSEC-FW)。
SSL加解密组件包在“ 内容安全组件包(加密流量检测)”页签下载。
请注意系统软件版本和组件包版本的配套关系,不配套的组件包无法加载成功。
完成配置后,可以执行命令display module-information verbose,查看动态加载组件包的详细信息。
如果不再需要动态加载组件包的功能时,可以执行命令uninstall-module { file-name [ next-startup ] | next-startup all },卸载该组件包,以释放系统资源。
通过命令uninstall-module file-name卸载当前启动组件包后,如需再次加载当前启动组件包,则要重启系统后方能进行。
在进行HTTPS解密防御时,AntiDDoS需要向客户端提供服务器证书,还要使用服务器证书私钥解密客户端发来的加密报文以获取对称密钥。因此,需要在AntiDDoS上先导入服务器证书及其私钥,然后再将导入的服务器证书指定为内部服务器证书。
上传的证书及其私钥必须按照要求保存到指定目录下,AntiDDoS1600使用的证书及其私钥应保存到“hda1:/pki/public/”目录下;AntiDDoS8000使用的证书及其私钥应保存到“cfcard:/pki/public/”目录下。不按要求存放将导致后续将证书及其私钥导入到设备内存时,系统提示“证书不存在”的错误。
证书及其私钥有两种存在形式,一种是证书文件中包含私钥,两者以一个文件的形式存在;另一种是证书和私钥相互独立以两个文件形式存在。不同形式下,将其导入内存所使用的方法不同。
pki import rsa-key-pair key-name { pem | pkcs12 } file-name [ password password ]
key-name表示内存中即将产生的证书文件名称及其私钥名称。需要注意的是,内存中最后生成的证书文件名称与此处指定的名称略有差异,即证书名称会在此处指定的名称后加上后缀“_local.cer”。file-name表示有待导入的证书及其私钥的文件名称,由于证书及其私钥同在一个文件中,因此这里的证书名称即可以理解为证书名称也可以理解为私钥的名称。password password是私钥的加密密码,证书颁发者在制作好私钥文件以后,就会将此私钥文件加密保存,这个密码就是加密保存时设置的密码。
导入证书文件。
pki import-certificate local [ [ realm realm-name ] { der | pkcs12 | pem } ] filename filename
filename表示有待导入的证书文件名称。证书文件导入到内存以后,系统会去除证书文件的后缀,并在原有证书文件名称后加上“_local.cer”后缀。如果无法得知当前证书属于der、pkcs12和pem哪种格式,则可以不指定此参数,系统会自动根据证书的格式自行匹配。
导入私钥文件。
pki import rsa-key-pair key-name { pem | pkcs12 } file-name [ password password ]
key-name表示内存中即将产生的私钥文件名称。私钥文件一般会以“.pem”和“.p12”为后缀,“.p12”对应的私钥文件此处应选择pkcs12参数。file-name表示有待导入的私钥文件名称。password password是私钥的加密密码,证书颁发者在制作好私钥文件以后,就会将此私钥文件加密保存,这个密码就是加密保存时设置的密码。
证书和私钥虽然是两个独立的文件,但是导入到内存中以后,系统就会自动建立证书和私钥的关联,无需手工干预。在不确定证书和私钥配对关系时,可以使用pki match-rsa-key certificate-filename file-name命令查看。
pki import-certificate命令只会将证书文件导入到内存中,即使证书文件中包含有私钥,私钥也不会被导入内存中。而pki import rsa-key-pair命令原本只是用于导入私钥文件,但是导入私钥文件时如果发现该文件中同时包含有证书,则证书和私钥文件将会被同时导入系统内存。有基于此,在导入不同形式的证书时应防止命令误用导致错误。