实验简介
本实验旨在通过使用phpstudy_pro工具在Windows虚拟机上部署一个支持HTTPS协议的Web服务器,并为其配置自签名SSL证书。随后,在Kali Linux系统中使用curl和sslscan等工具对搭建的HTTPS服务进行访问与安全性检测。通过该实验,学生将掌握HTTPS的基本原理、SSL/TLS证书的生成与应用方法,以及如何对Web服务的安全性进行初步评估。
技能增长
通过本次实验的学习,能够掌握使用phpstudy_pro创建网站及配置SSL证书的方法,了解如何编写简单的PHP网页文件并部署到Web根目录,并掌握使用sslscan工具扫描目标主机的SSL/TLS配置信息。
预备知识
HTTPS协议
HTTPS(Hyper Text Transfer Protocol Secure)是HTTP的安全版本,通过SSL/TLS加密技术确保客户端与服务器之间的数据传输安全,防止数据被窃取或篡改,并验证服务器身份以防止中间人攻击。它广泛应用于需要保护用户隐私和敏感信息的网站,如电子商务和银行业务。启用HTTPS不仅提升了安全性,也增强了网站的信任度。
SSL证书的作用
SSL证书在网络安全中扮演着至关重要的角色,其主要作用包括:
- 加密通信:SSL证书确保客户端与服务器之间传输的数据是加密的。这意味着即使数据在传输过程中被截获,攻击者也无法轻易读取其中的信息。
- 验证身份:通过SSL证书,网站可以向访问者证明其真实身份。证书由受信任的第三方证书颁发机构(CA)签发,这为网站提供了额外的信任层,有助于防止假冒网站欺骗用户。
- 确保数据完整性:SSL证书保证了传输数据未被篡改。如果数据在传输过程中被修改,接收方能够检测到这种篡改行为。
- 提升信任度:对于用户来说,地址栏显示的安全锁标志和“https://”前缀表明该网站已采取措施保护用户的个人信息,从而增加用户对该网站的信任。
- SEO优化:搜索引擎如Google已经将HTTPS作为搜索排名的一个因素,采用HTTPS的网站可能在搜索结果中获得更好的排名。
实验环境
主机名:kali 用户名/密码:root/随机
IP地址:192.168.0.3
主机名:SSL
用户名/密码:administrator/123456
IP地址:192.168.0.4
实验操作
进入SSL虚拟机,点击桌面phpstudy_pro软件。进入首页后,左侧菜单【网站】
点击【创建网站】按钮,填写域名www.test.com,端口选择https(443端口),弹出复制证书内容方框,点击左下角平【生成开发者测试证书】按钮,最后点击确认
其他设置保持默认即可,最后点击确认
进入www.test.com站点根目录D:\phpstudy_pro\WWW\www.test.com下
该web目录下创建一个简单的页面index.php,页面代码如下:<?php echo "Hello from HTTPS server!"; ?>
注意:文件后缀一点要显示,取消勾选:隐藏已知文件类型的扩展名
回到phpstudy_pro软件首页,将apache2.4.39套件重启
切换到kali虚拟机,执行执行curl -k https://192.168.0.4/index.php发现web站点成功创建
-k:允许不适用证书的SSL连接,即它允许curl连接到使用了自签名证书的https服务器而不需证书验证
执行sslscan 192.168.0.4命令进行快速扫描,发现该服务器采用了现代的安全实践,启用了TLSv1.2和TLSv1.3,并避免了一些已知的安全风险,且使用了更为安全的2048位RSA密钥
证书从2025年5月8日开始有效,有效期至2026年5月8日,且使用了更为安全的SHA-256签名算法。由于颁发者与主题相同,这可能是一个自签名证书,在生产环境中应考虑使用由受信任的证书颁发机构签发的证书。
执行sslscan -show-certificate https://192.168.0.4命令查看站点完整证书信息
执行sslscan --no-ciphersuites https://192.168.0.4命令忽略加密套件对站点进行检测
最后,执行sslscan --xml=/result.xml https://192.168.0.4命令将结果以xml文件格式对结果进行保存
执行cat /result.xml命令查看文件内容,确定存档成功
特别声明:
此文章仅供参考,如用作非法交易造成一定损失或触犯法律,作者一概不负!!!!! 请勿用于非法途径,仅供参考。传送门 -----------> 《中华人民共和国网络安全法》