宝塔Apache配置双向证书认证

因安全需要,仅内部人员使用的网站,如OA、ERP等,或连接到内部网络的网站,需要双向证书认证,即服务器需要上传SSL证书,通过HTTPS访问,客户端也需要安装相关数字证书才能访问网站,否则显示无法链接到网站。

环境:Linux Anolis8.6,安装宝塔集成环境(Apache),内部网络因此使用自签名SSL证书(自签名SSL证书制作),为客户端提供以服务器证书为根证书的P12证书。

证书制作:

  1. 使用OpenSSL制作crt证书(服务器端),包含ca.key和ca.crt两个。(尝试制作pem证书导入宝塔SSL,会导致Apache启动失败)
  2. 使用OpenSSL制作pem证书和P12证书(客户端)

备注: 客户端证书需要考虑实际情况,所有的客户端都使用同一个证书(仅做入门验证)、不同权限发放不同证书(权限区分)、每一位用户都单独制作证书(个人验证)。

制作证书完毕后,先将服务器端证书导入:进入宝塔面板,网站 - 设置 - SSL - 当前证书,将KEY和CERT(复制到pem位置即可)分别用记事本打开后全部复制到相应位置。

然后配置客户端访问证书认证限制:网站 - 设置 - 配置文件,在SSL配置末端添加如下语句:

    #强制证书访问
    SSLVerifyClient require
    #证书到根证书的层级
    SSLVerifyDepth 2
    #根证书地址
    SSLCACertificateFile /www/server/panel/vhost/cert/192.169.0.60/fullchain.pem   

 如果仅做入门验证,直接制作一个证书当做客户端证书,然后所有人都使用同一个证书即可,客户端验证位置的SSLCACertificateFile就用这个证书的PEM(cert)。

如果需要做不同权限或用户的区分,建议做一个CA证书,再用这个证书签发其他证书(尝试过,有个问题,这样自签发的证书是不受信任的,如果仅导入客户端证书,找不到上级签发者,无法访问被限制了的网站,需要将网站根证书一起导入,又有些麻烦且不安全,暂时不知道怎么解决)

这样就可以了,如果没有安装客户端证书的电脑,是无法访问网站的,这样一定程度上降低了网站被攻击的可能。

但是有个问题,手机无法访问这个网站了,我尝试过将证书传到手机上安装(安卓),但是即使证书正确安装且可以查找到,也打不开页面。

如果有解决方法,麻烦告诉我一下,非常感谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值