**rdpSafe** Windows RDP 3389端口 实现二次验证
Remote Desktop Protocol 的体验确实好用
安全性也受了很大的挑战, Windows Server 2016以上的版本其实已经支持了MFA
验证功能,但不论是从配置和操作,还是文档 资料上都不太好找,因此想了一个简单的办法,增强安全性.
原理 端口转发
通过转发3389端口的数据,实现类似网关的功能,但在转发数据之前进行通知验证
1.客户端请求RDP服务器端口:12345
2.服务器发送二次验证到管理员手机批准
3.通过批准的请求,进行端口转发, 没有批准的请求直接断开链接
端口转发代码如下:
https://www.cnblogs.com/nanfei/p/14109709.html
class Program
{
static bool resetFlag = true;
static readonly object resetFlagLocker = new object();
static void Main(string[] args)
{
var localSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
localSocket.Bind(new IPEndPoint(IPAddress.Any, 20000));
localSocket.Listen(10);
while (true)
{
try
{
lock (resetFlagLocker)
{
if (!resetFlag)
continue;
resetFlag = false;
}
var client1 = localSocket.Accept();
client1.SendTimeout = 300000;
client1.ReceiveTimeout = 300000;
//-------------改动部分------------
// GetData(ip) 表示向手机端请求确认
do
{
if (DateTime.Now > start.