博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用可信证书为windows RDP服务提供加密
阅读量:6983 次
发布时间:2019-06-27

本文共 1295 字,大约阅读时间需要 4 分钟。

hot3.png

0x01 前言

在windows server下可以通过配置远程桌面服务为RDP连接提供有效的数字证书以便提高安全性。

可是个人用户或并没有部署域控制器的用户是无法通过这种途径修改RDP所使用的数字证书,在不安全的环境中很容易遭受攻击,同时每次通过RDP协议连接主机都弹出一个危险警告窗口,让人看着觉得很不好:

在这里我使用Encryption Everywhere项目所提供的免费数字证书为我的RDP服务提供有效可靠的数字证书。如果你对Encryption Everywhere项目感兴趣,可以点击以下链接浏览:

0x02 准备

首先你需要拥有一个域名,你需要拥有域名的DNS解析权。在申请Encryption Everywhere项目的数字证书时需要通过CNAME进行验证。

确认域名所有权与控制权后,即可通过阿里云申请Encryption Everywhere的数字证书。如果一切顺利,最快可以在1个小时内收到由symantec签发的数字证书。要注意的是:证书签发后的邮件通知会有延迟,请自行通过阿里云证书管理页面进行查看。

在阿里云页面中请下载适用于Nginx的数字证书:

然后通过以下命令将证书与密钥(key)合并为p12文件:

1

openssl pkcs12 -export -clcerts -in [your_domain_crt.pam] -inkey [your_domain_key.key] -out [your_domain.p12]

将此p12文件复制到系统桌面并进行下一步。

0x03 导入

使用运行窗口(WIN+R)输入mmc打开控制台并单击 文件>添加/删除管理单元:

 

然后添加计算机账户的证书服务到控制台:

在个人证书中将p12文件导入:

然后右击刚才添加的证书>所有任务>管理私钥:

为NETWORK SERVICE服务添加读取密钥的权限:

最后双击刚添加的证书,将证书详细信息中的指纹信息记录备用:

0x04 注册表

再次运行窗口并输入regedit打开注册表编辑器并展开到以下路径:

1

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

然后新建以下内容的项:

  • 名称: SSLCertificateSHA1Hash
  • 类型: REG_BINARY

然后双击打开刚才新建的项并手动输入证书指纹:

完成所有步骤后即可再次通过RDP协议连接,再也不会出现那烦人的警告信息了。

0x05 结语

其实默认情况下也是用数字证书来保护我们数据的,只是这张证书是由windows系统自动生成的,因为在系统中找不到与之相关的CA信息,所以不被信任而导致弹出警告框。使用不被信任的数字证书很容易受到攻击,尤其是中间人攻击。

如果你一般在内网中使用RDP协议连接远程桌面,那么大可放心;如果你的RDP协议是暴露在公网中,则需要在安全方面多加注意。

转载于:https://my.oschina.net/CasparLi/blog/1863014

你可能感兴趣的文章
WPS客户端更新日志留着备用
查看>>
c#获取电脑硬件信息参数说明(内存篇 Win32_PhysicalMemory)
查看>>
LeetCode算法题-Balanced Binary Tree(Java实现)
查看>>
Cocos2dx 3.1.1 将一个2.X的项目改成3.1版本
查看>>
12.12冲刺~!
查看>>
sql知识
查看>>
spring boot
查看>>
核心动画(转场动画和组动画)
查看>>
数的全排列
查看>>
2015年最新手机号码正则表达式
查看>>
public private protected 区别
查看>>
IntelliJ IDEA常用设置及快捷键
查看>>
KVM: 安装Windows virtio半虚拟化驱动
查看>>
hdu2669 扩展欧几里得
查看>>
PHP 基础
查看>>
Delphi判断字符串是否是数字、字母、大小写字母
查看>>
POJ NOI0105-45 金币
查看>>
Project Euler Problem 15 Lattice paths
查看>>
组合模式
查看>>
Python之路番外(第三篇):Pycharm的使用秘籍
查看>>