一、前言
1.https简介
HTTPS ,是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 而SSL所需要的证书却可以使用openssl生成
2.生成ssl证书
(关于openssl的详细使用可参考我之前写过的一篇:参考链接)
openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048 #生成CA私钥
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.crt -days 3650 #生成CA自签名
openssl genrsa -out /etc/pki/CA/data/server.key 2048 #生成http服务器私钥
openssl req -new -key /etc/pki/CA/data/server.key -out /etc/pki/CA/certs/server.csr #CA给http服务器签生成证书申请文件
openssl ca -in /etc/pki/CA/certs/server.csr -cert /etc/pki/CA/cacert.crt -keyfile /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/certs/server.crt -days 36500 #CA生成服务器的签名证书
将得到的cakey.pem,server.key,server.crt部署在服务器相应位置即可
二、下载安装phpstudy
有了证书后进行服务器的配置,这里用到了phpstudy搭建网站
1.下载phpstudy:
推荐官网下载:Windows版phpstudy下载 - 小皮面板(phpstudy) (xp.cn)
默认下一步安装即可
2.启动phpstudy
启动apache和mysql服务后,在浏览器访问127.0.0.1
出现上述页面表示搭建成功,把DVWA的源码放到phpstudy_pro/WWW/目录下,访问:
成功,关于DVWA靶场搭建可以参考链接:链接
三、利用openssl证书搭建https
http服务已经搭好了,进行https的搭建
1.进行phpstudy的配置https
点击网站,点击创建网站
域名填写之前openssl生成http服务器申请文件时写的域名,若443端口被占用可选用其他端口
导入服务器的私钥和签名文件
2.把CA自签名证书导入受信任的根证书中
网站创建成功后,把CA的自签名导入浏览器受信任的根证书中
浏览器-设置-搜索证书
一直点下一步,直到
导入CA自签名证书
点击 是。
3.更改主机host文件
此时访问网站域名dashuaib123.com是显示无法访问的,因为域名只是本地域名,并没有向DNS服务器注册,DNS无法解析,所以需要我们手动改一下计算机的host文件
访问C:\Windows\System32\drivers\etc 更改权限
点击hosts文件的属性
点击编辑
把对勾打上,然后点击应用
使用记事本打开hosts,进行修改
加上两行 其中CA服务器ip是192.168.1.8 ,http服务器ip是192.168.1.9(127.0.0.1),域名就写当时申请证书的域名 dashuaib123.com
此时在浏览器访问https://dashuaib123.com/DVWA-master/login.php
此时会报一个不信任的问题,虽然我们的证书验证是可信的,但是浏览器有自己的安全策略,浏览器只能接受公网特定几个CA服务器颁发的证书,由于我们使用openssl搭建的CA服务器是只在内网活动,并没有在公网上放,所以会浏览器会显示不安全。,这里直接接受风险下一步就行。
这样https服务器就搭建好了。
为了演示https通信过程,可使用wireshark抓包查看: 这里装有wireshark的虚拟机ip是192.168.1.105 ,搭建https的服务器ip是192.168.1.9
版权归原作者 WmVicmE= 所有, 如有侵权,请联系我们删除。