ค้นหาเว็บไซต์

การติดตั้ง Remote Desktop Gateway บน Windows Server


เกตเวย์เดสก์ท็อประยะไกล คือบทบาทบริการเดสก์ท็อประยะไกลบน Windows Server ที่ใช้เพื่อให้การเข้าถึงเดสก์ท็อประยะไกลอย่างปลอดภัยและเผยแพร่ RemoteApps จากอินเทอร์เน็ตผ่านเกตเวย์ HTTPS เซิร์ฟเวอร์ที่มีบทบาท RD Gateway ทำหน้าที่เป็นตัวกลางระหว่างไคลเอนต์ RDP ภายนอกและบริการ RD ภายใน เมื่อใช้ RDGW ผู้ใช้ไม่จำเป็นต้องกำหนดค่า VPN เพื่อเชื่อมต่อกับ RDS ในเครือข่ายองค์กร ไคลเอนต์การเชื่อมต่อเดสก์ท็อประยะไกลมาตรฐาน (mstsc.exe) ใช้เพื่อเชื่อมต่อ ในบทความนี้ มาดูวิธีการปรับใช้ Remote Desktop Gateway บน Windows Server 2019 (คำแนะนำนี้ใช้ได้กับ Windows Server 2022/2016 และ 2012 R2 ด้วย)

ปรับใช้บทบาท RDS-Gateway บน Windows Server

บริการ Remote Desktop Gateway เป็นส่วนประกอบเสริมฟาร์ม RDS ดังนั้นคุณต้องติดตั้งแยกต่างหาก ในกรณีส่วนใหญ่ ขอแนะนำให้ใช้เซิร์ฟเวอร์เฉพาะเพื่อปรับใช้ RDGW หรือรวมเข้ากับ RD Web Access

สันนิษฐานว่า Active Directory และฟาร์ม RDS ได้รับการปรับใช้ในเครือข่ายของคุณแล้ว

คุณสามารถติดตั้งบทบาท เกตเวย์เดสก์ท็อประยะไกล ผ่านตัวจัดการเซิร์ฟเวอร์ (เพิ่มบทบาทและคุณลักษณะ -> บทบาทเซิร์ฟเวอร์ -> บริการเดสก์ท็อประยะไกล) หรือด้วย PowerShell

เมื่อคุณติดตั้งบริการ RDGW เว็บเซิร์ฟเวอร์ IIS และบทบาท NPS (Network Policy Server) จะถูกติดตั้งด้วย

ตรวจสอบให้แน่ใจว่าได้ติดตั้งบทบาท RDS-Gateway แล้ว:

Get-WindowsFeature RDS*

หรือติดตั้งบทบาทบน Windows Server โดยใช้คำสั่ง Install-WindowsFeature:

Install-WindowsFeature RDS-Gateway -IncludeAllSubFeature -IncludeManagementTools

สร้างกลุ่มการเข้าถึงใน Active Directory โดยใช้คอนโซล ADUC (dsa.msc) หรือด้วย PowerShell:

  • rdgwExtUsers - กลุ่มผู้ใช้ที่ได้รับอนุญาตให้ตรวจสอบสิทธิ์บน RDGW

  • rdgwExternalAdmins - กลุ่มสำหรับเข้าถึงโฮสต์ RDS ภายในผ่าน RDGW

  • mun-rdsfarm — ต้องรวมโฮสต์ RDS ทั้งหมดและนายหน้าการเชื่อมต่อ RD ที่คุณต้องการอนุญาตการเชื่อมต่อผ่านเกตเวย์เดสก์ท็อประยะไกล

กำหนดค่านโยบายการอนุญาตเกตเวย์เดสก์ท็อประยะไกล

RD Gateway Manager (

tsgateway.msc

) ใช้คอนโซลเพื่อจัดการนโยบายการให้สิทธิ์ RDGW และกฎการเข้าถึง กำหนดค่านโยบายสองประเภทที่นี่:

  • Connection Authorization Policies (RD CAP) - กำหนดผู้ที่ได้รับอนุญาตให้รับรองความถูกต้องบนเกตเวย์ RDS

  • นโยบายการให้สิทธิ์ทรัพยากร (RD RAP)- ระบุผู้ใช้และทรัพยากร (คอมพิวเตอร์) บนเครือข่ายภายในที่ได้รับอนุญาตให้เชื่อมต่อผ่าน RDGW

สร้าง RD CAP ก่อน:

  1. ขยายนโยบาย -> นโยบายการอนุญาตการเชื่อมต่อ และเลือกสร้างนโยบายใหม่ -> ตัวช่วยสร้าง

  2. ป้อนชื่อนโยบาย (rdgwExtUsers);

  3. เลือกประเภทการรับรองความถูกต้อง (รหัสผ่านและ/หรือสมาร์ทการ์ด) และระบุกลุ่มผู้ใช้ที่ได้รับอนุญาตให้ตรวจสอบความถูกต้องบน RDGW

  4. ในหน้าต่าง เปิดหรือปิดการเปลี่ยนเส้นทางอุปกรณ์ คุณอาจระบุอุปกรณ์ที่ได้รับอนุญาตให้เปลี่ยนเส้นทางไปยังเซสชัน RDP (คลิปบอร์ด เครื่องพิมพ์ ไดรฟ์ในเครื่อง ฯลฯ)

  5. จากนั้นคุณสามารถกำหนดค่าการหมดเวลาสำหรับเซสชัน RDP

  6. ยืนยันการสร้างนโยบาย

คุณยังสามารถสร้างนโยบายการเชื่อมต่อ RDGW โดยใช้ PowerShell:

Import-Module -Name RemoteDesktopServices
New-Item -Path 'RDS:\GatewayServer\CAP' -Name 'rdgwAllowAutht-CAP' -UserGroups rdgwExtUsers -AuthMethod '1'

หลังจากนั้นสร้างนโยบาย RD RAP:

  1. ในคอนโซล RD Gateway Manager คลิก Policies -> Resource Authorization Policies และเลือก Create New Policy -> Wizard;

  2. ป้อนชื่อนโยบาย: rdgwExternalAdmins;

  3. ระบุชื่อกลุ่มผู้ใช้ที่ได้รับอนุญาตให้เชื่อมต่อกับทรัพยากร RDS ภายใน

  4. บนแท็บทรัพยากรเครือข่าย ระบุว่าเซิร์ฟเวอร์ RDS ใดที่ผู้ใช้ภายนอกของคุณได้รับอนุญาตให้เชื่อมต่อด้วย (mun-rdsfarm)

  5. จากนั้นระบุหมายเลขพอร์ตที่คุณต้องการอนุญาตการเชื่อมต่อ ตามค่าเริ่มต้น ขอแนะนำให้เปิดเฉพาะพอร์ต RDP เริ่มต้น TCP/3389 แต่คุณสามารถเปิดพอร์ตเพิ่มเติมได้เช่นกัน

  6. นโยบายพร้อมแล้ว

คุณสามารถเพิ่มกฎ RAP นี้โดยใช้ PowerShell:

New-Item -Path RDS:\GatewayServer\RAP -Name allowextAdminMunRDS -UserGroups rdgwExternalAdmins@a-d.site -ComputerGroupType 1 -ComputerGroup mun-rdsfarm@a-d.site

ติดตั้งใบรับรอง SSL สำหรับเกตเวย์เดสก์ท็อประยะไกล

ในการรักษาความปลอดภัยการเชื่อมต่อกับเกตเวย์ RDS คุณต้องติดตั้งใบรับรอง SSL บนเกตเวย์ ควรใช้ใบรับรองการค้าที่ออกโดยหน่วยงานออกใบรับรองภายนอก (CA) คุณสามารถใช้ใบรับรอง Let’s Encrypt SSL ฟรี (กำหนดค่าใบรับรอง Let’s Encrypt บน IIS สำหรับ Remote Desktop Gateway) หรือใบรับรอง Windows SSL ที่ลงนามด้วยตนเอง แต่โปรดทราบว่าไคลเอ็นต์ภายนอกต้องเชื่อถือใบรับรองดังกล่าว หากไคลเอนต์ไม่เชื่อถือใบรับรองบนเซิร์ฟเวอร์ RDGW ก็จะไม่สามารถเชื่อมต่อกับเกตเวย์ได้ (คุณสามารถนำเข้าใบรับรอง SSL ที่ลงนามด้วยตนเองไปยังไคลเอนต์ด้วยตนเองหรือใช้ GPO)

ต้องระบุชื่อ FQDN (DNS) ของเซิร์ฟเวอร์ RDGW ของคุณในช่อง Subject Name (CN) หรือ Subject Alternative Name ของใบรับรอง มันจะใช้สำหรับการเชื่อมต่อโดยไคลเอนต์ภายนอก (หาได้จากเว็บ)

  1. เปิดคุณสมบัติเซิร์ฟเวอร์ RDGW ในคอนโซลเกตเวย์ RD และไปที่แท็บ ใบรับรอง SSL

  2. ในตัวอย่างนี้ เรากำลังใช้ใบรับรองที่ลงนามเอง เลือก สร้างใบรับรองที่ลงนามเอง -> สร้างและนำเข้าใบรับรอง

  3. ป้อนชื่อใบรับรอง (ไคลเอ็นต์ของคุณจะใช้ชื่อนี้เพื่อเชื่อมต่อกับ RDGW) และเลือกไดเร็กทอรีที่คุณต้องการบันทึกใบรับรอง (แจกจ่ายใบรับรองนี้ไปยังไคลเอ็นต์ RD ของคุณ)

พอร์ตต่อไปนี้ใช้เพื่อเชื่อมต่อกับ RDGateway บน Windows Server 2019:

  • HTTPPort (ค่าเริ่มต้น) — 443 TCP

  • UDPPort (ค่าเริ่มต้น) — 3391 UDP (การใช้โปรโตคอลการขนส่ง UDP เป็นทางเลือก อย่างไรก็ตาม จะช่วยให้สามารถปรับปรุงประสิทธิภาพช่องสัญญาณและคุณภาพของภาพในเซสชัน RDP ได้อย่างมาก)

อย่าลืมเปิด (ส่งต่อ) พอร์ตเหล่านี้จาก IP สาธารณะของคุณไปยังโฮสต์ RDGW ของคุณบนฮาร์ดแวร์เครือข่าย

เปิด RDGW Manager และตรวจสอบให้แน่ใจว่าไม่มีข้อผิดพลาดและรายการทั้งหมดมีไอคอนสีเขียว

การกำหนดค่าไคลเอนต์ RDP เพื่อใช้เกตเวย์ RDS

จากนั้น คุณสามารถกำหนดค่าไคลเอ็นต์การเชื่อมต่อเดสก์ท็อประยะไกลเพื่อเชื่อมต่อกับโฮสต์ RDS ภายในของคุณผ่านเกตเวย์เดสก์ท็อประยะไกล

หากคุณใช้ใบรับรองที่ลงนามเองใน RDGW ของคุณ ให้นำไปที่ Trusted Root Certification Authorities บนไคลเอ็นต์ของคุณ ดูบทความเกี่ยวกับวิธีอัปเดตใบรับรองหลักบน Windows

  1. เรียกใช้

    mstsc.exe

    ลูกค้า;

  2. ในแท็บ ทั่วไป ให้ป้อนชื่อโฮสต์ RDS แบบสแตนด์อโลน ฟาร์ม RDS หรือคอมพิวเตอร์ที่คุณต้องการเชื่อมต่อผ่าน RDP (คุณอาจระบุชื่อผู้ใช้และใช้ข้อมูลประจำตัวที่บันทึกไว้สำหรับการเชื่อมต่อ RDP );

  3. จากนั้นไปที่แท็บ ขั้นสูง และคลิก การตั้งค่า ในส่วน เชื่อมต่อจากทุกที่ (กำหนดการตั้งค่าเพื่อเชื่อมต่อผ่าน Remote Desktop Gateway เมื่อฉันทำงานจากระยะไกล) ;

  4. เลือก ใช้การตั้งค่าเซิร์ฟเวอร์เกตเวย์ RD เหล่านี้ และระบุชื่อ DNS ภายนอกของเซิร์ฟเวอร์ RDGW ของคุณ (โปรดทราบว่าต้องระบุชื่อนี้ในใบรับรอง) หากคุณใช้พอร์ตอื่นสำหรับ RDGW ให้ป้อนตามหลังชื่อเซิร์ฟเวอร์ที่คั่นด้วยเครื่องหมายทวิภาค เช่น

    gw.a-d.site:4443

    .

  5. หากต้องการป้องกันการป้อนรหัสผ่านซ้ำสองครั้งเมื่อเชื่อมต่อ ให้เลือกตัวเลือก ใช้ข้อมูลรับรองเกตเวย์ RD ของฉันสำหรับคอมพิวเตอร์ระยะไกล

  6. คลิก เชื่อมต่อ และป้อนข้อมูลรับรองผู้ใช้เพื่อเชื่อมต่อกับเซิร์ฟเวอร์เกตเวย์ RD

  7. ไคลเอนต์จะสร้างการเชื่อมต่อกับโฮสต์ RDS/RDP ในเครือข่ายท้องถิ่นของคุณ

  8. เปิดตัวจัดการเกตเวย์ RD ไปที่ส่วนการตรวจสอบ และตรวจสอบให้แน่ใจว่าการเชื่อมต่อของไคลเอ็นต์ของคุณแสดงอยู่ในรายการ

หากคุณใช้ RDCMan สำหรับการเชื่อมต่อ RDP คุณสามารถตั้งค่าพารามิเตอร์ RD Gateway ได้ในแท็บ GatewaySetting เลือก ใช้เซิร์ฟเวอร์ TS Gateway และตั้งค่าตัวเลือกการเชื่อมต่อ

คุณสามารถตรวจสอบการเชื่อมต่อกับ RDGW ที่สำเร็จหรือล้มเหลวได้ใน Event Viewer (Applications and Services Logs -> Microsoft -> Microsoft-Windows-TerminalServices-Gateway -> Operational)

บันทึกเหล่านี้มีประโยชน์ จากนั้นคุณจะต้องวิเคราะห์บันทึกการเชื่อมต่อ RDP

หากผู้ใช้เชื่อมต่อกับ RDGW สำเร็จ รหัสเหตุการณ์ 205 จะปรากฏขึ้นจากต้นทาง TerminalServices-Gateway

The user "a-d\maxadmin", on client computer "xx.xx.xx.xx", successfully connected to the remote server "mun-rdsgw.a-d.site" using UDP proxy. The authentication method used was: "Cookie".

หากคุณต้องการเรียกใช้ RemoteApps ผ่านเกตเวย์ RD ให้เพิ่มบรรทัดต่อไปนี้ใน RemoteApp

*.rdp

ไฟล์:

gatewayhostname:s:gw.a-d.site
gatewayusagemethod:i:1

ในบทความนี้ เราได้แสดงวิธีกำหนดค่าบทบาท Remote Desktop Gateway บน Windows Server เพื่อใช้การเข้าถึงระยะไกลที่ปลอดภัยไปยังเครือข่ายของคุณโดยใช้ RDP ผ่าน HTTPS

บทความที่เกี่ยวข้อง