1.安装CA证书
![](https://i-blog.csdnimg.cn/blog_migrate/1c56e2ca73adde08e68594e6bc9cce2f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/215d9576427e1e09666c9c9aaf5aabb8.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0f9d081dd4e9005338133391d3eecff7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cd4e8cba7d1d3626f132cd815bfab631.png)
生成一个证书文件
![](https://i-blog.csdnimg.cn/blog_migrate/27f604110f440766eaf67d44021d0dbd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4a09550a2a21e8d310474ebadddd0f9e.png)
选择高级证书申请
![](https://i-blog.csdnimg.cn/blog_migrate/c4ff16f14423909bb940c8f017087787.png)
将之前生成的base64证书文件内容贴进来
![](https://i-blog.csdnimg.cn/blog_migrate/0b7d269b5bc08c55a86db3a4aad3c957.png)
ok,完成
![](https://i-blog.csdnimg.cn/blog_migrate/4875e3ed8020e8b9b3931a9c991d42d5.png)
挂起的申请—所有任务—颁发
在颁发的证书中可以看到我们已经申请好 的证书。
![](https://i-blog.csdnimg.cn/blog_migrate/e4d3d693d0bd8e81b78a27beb3e86792.png)
![](https://i-blog.csdnimg.cn/blog_migrate/27d2fddb23d887675b20e06d8b6bff75.png)
查看挂起的证书申请的状态
![](https://i-blog.csdnimg.cn/blog_migrate/0a4286cee16701af1e7e457fe6401e51.png)
这张证书包含所有的公钥信息,私钥保存在web服务器本机上。
此时使用https可以访问网站了
vim /etc/default/sslh
DAEMON_OPTS=”–user sslh –listen 192.168.199.165:443 –ssh 127.0.0.1:22 –s sl 192.168.199.103:443 –http 127.0.0.1:80 –pidfile /var/run/sslh/sslh.pid”
启动本就的web
service apache2 start
apache2默认侦听tcp6的80端口,修改以下apache2的配置
vim /etc/apache2/ports.conf
Listen 127.0.0.1:80
修改侦听的服务以及端口与sslh一致
启动sslh服务
service sslh start
此时我们使用物理机访问kali的443端口是可以正常访问的,这里的443跑的是http协议数据
![](https://i-blog.csdnimg.cn/blog_migrate/f04de60fe2638da22cd023e412d6d01b.png)
当我们访问https时,sslh根据协议判断会自动将其转发到https网站
![](https://i-blog.csdnimg.cn/blog_migrate/b58def5402869014cd6398959137a062.png)
虽然都使用的443端口,当访问的协议不一样的时候sslh会自动根据协议将请求转发到对应的服务
当我们使用ssh服务连接443端口时sslh会根据协议判断为ssh协议并将请求转发给22端口
一个443端口可以跑HTTP、https、ssh等多种服务。
我们使用nmap对443端口进行扫描探测
nmap -p443 -sV -A 192.168.199.165
可以看到nmap准确的识别了443端口跑的三种协议http、https、ssh