Remote Desktop Protocol (RDP) เป็นโปรโตคอลการเข้าถึงระยะไกลที่เป็นกรรมสิทธิ์ของ Microsoft ซึ่งผู้ดูแลระบบ Windows ใช้ในการจัดการระบบ Windows Server จากระยะไกล สิ่งที่ทำให้ RDP แตกต่างจากรีโมต Windows PowerShell หรือ Secure Shell (SSH) คือการมีอยู่ของเดสก์ท็อปกราฟิกแบบเต็ม ดังแสดงในรูปที่ 1
ตามค่าเริ่มต้น คอมโพเนนต์ของเซิร์ฟเวอร์ RDP จะรับฟังการเชื่อมต่อขาเข้าบนพอร์ต TCP 3389 โดยค่าเริ่มต้น แม้ว่าผู้ดูแลระบบสามารถเปลี่ยนแปลงสิ่งนี้ได้ด้วยเหตุผลด้านความปลอดภัย
เพื่อให้แน่ใจว่า การพุชปัจจุบันของ Microsoft มีไว้เพื่อให้ผู้ดูแลระบบลดการพึ่งพา RDP และ (a) ปรับใช้ Windows Servers ในโหมด Server Core หรือ Nano แทน; และ (b) ใช้การดูแลระบบระยะไกลบรรทัดคำสั่ง Windows PowerShell แทน RDP
เหตุผลของ Microsoft สำหรับคำแนะนำนี้คือสองเท่า:
เลเยอร์ GUI ใช้ทรัพยากรระบบที่ไม่จำเป็น
เลเยอร์ GUI ขยายพื้นผิวการโจมตีของเซิร์ฟเวอร์ของคุณ
ไม่ว่าผู้ดูแลระบบจำนวนมากจะคุ้นเคยกับการดูแลระบบระยะไกลบน RDP และพยายามทำเช่นนั้นแม้ในระบบปฏิบัติการ Windows Server 2016 ที่ออกใหม่ มาเรียนรู้วิธีเปิดใช้งาน RDP ใน Server 2016 (tl; dr: กระบวนการนี้เหมือนกับ Windows Server 2012 R2)
ตัวจัดการเซิร์ฟเวอร์
เปิดคอนโซลตัวจัดการเซิร์ฟเวอร์ ไปที่โหนด Local Server แล้วคลิกไฮเปอร์ลิงก์เดสก์ท็อประยะไกลดังแสดงในรูปที่ 2
ไฮเปอร์ลิงก์เดสก์ท็อประยะไกลเป็นเพียงทางลัดไปยังแผ่นคุณสมบัติของระบบจากรายการแผงควบคุมระบบ เลือก อนุญาตการเชื่อมต่อระยะไกลไปยังคอมพิวเตอร์เครื่องนี้ และเลือกเปิดใช้งาน อนุญาตการเชื่อมต่อเฉพาะจากคอมพิวเตอร์ที่ใช้ Remote Destkop พร้อมการรับรองความถูกต้องระดับเครือข่าย (แนะนำ)
Network Level Authentication (NLA) ปกป้อง Windows Server จากการโจมตีแบบปฏิเสธการให้บริการ (DoS) โดยกำหนดให้มีการตรวจสอบสิทธิ์ก่อนที่จะสร้างเซสชันกราฟิกโดยเซิร์ฟเวอร์ NLA ยังอนุรักษ์ทรัพยากรระบบเซิร์ฟเวอร์
Windows PowerShell
จากมุมมองระดับล่าง การเชื่อมต่อ RDP ขาเข้าจะเปิดใช้งานบนเซิร์ฟเวอร์ผ่านค่ารีจิสทรีสองค่าและกฎไฟร์วอลล์ Windows
เปิดเซสชัน Windows PowerShell ที่ยกระดับและเรียกใช้คำสั่งต่อไปนี้ อันแรกนี้สร้างค่า fDenyTSConnections และตั้งค่าเป็น 0 (ปิด) สิ่งนี้สมเหตุสมผลเพราะเราไม่ต้องการปฏิเสธการเชื่อมต่อ Terminal Services (TS)
New-ItemProperty -Path ‘HKLM: SystemCurrentControlSetControlTerminal Server’ -ชื่อ ‘fDenyTSConnections’ -Value 0 -PropertyType dword -Force
คำสั่งถัดไปจะสร้างและเปิดใช้งานค่า UserAuthentication (Network Layer Authentication) NLA เป็นความคิดที่ดี และคุณควรพิจารณาเปิดใช้งานโดยค่าเริ่มต้นบนเซิร์ฟเวอร์ของคุณ
New-ItemProperty -Path ‘HKLM: SystemCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp’ – ชื่อ ‘UserAuthentication’ – ค่า 1 -PropertyType dword -Force
คำสั่งถัดไปเปิดใช้งานกฎไฟร์วอลล์ Windows “เดสก์ท็อประยะไกล” ที่กำหนดไว้ล่วงหน้า จากนั้นเราสามารถเรียกใช้ Get-NetFirewallRule PowerShell cmdlet เพื่อตรวจสอบดังแสดงในรูปที่ 3
Enable-NetFirewallRule -DisplayGroup ‘Remote Desktop’
นโยบายกลุ่ม
มีโอกาสดีที่คุณต้องการสร้างมาตรฐานพฤติกรรม RDP ในเซิร์ฟเวอร์โครงสร้างพื้นฐานทั้งหมดของคุณ ดังนั้นเราจึงหันไปใช้นโยบายกลุ่มเพื่อบรรลุเป้าหมายนี้
เริ่มต้นด้วยการสร้าง เชื่อมโยง และกำหนดขอบเขต Group Policy Object (GPO) ใหม่ที่กำหนดเป้าหมายเซิร์ฟเวอร์ที่ควรแชร์การตั้งค่าเซิร์ฟเวอร์ RDP
ถัดไป ไปที่เส้นทางนโยบายกลุ่มต่อไปนี้ และเพิ่มรายการกลุ่มที่จำกัดใหม่ (แสดงในรูปที่ 4):
Computer ConfigurationPoliciesWindows SettingsSecurity SettingsRestricted Groups
คุณสามารถปรับแต่งการเป็นสมาชิกในกลุ่มผู้ใช้เดสก์ท็อประยะไกลในตัวของเซิร์ฟเวอร์ได้ สมาชิกของกลุ่มนี้สามารถสร้างเซสชัน RDP ไปยังเซิร์ฟเวอร์ได้ โปรดทราบว่ากลุ่มผู้ดูแลระบบภายใน (และตามส่วนขยาย กลุ่มส่วนกลางของ Domain Admins) จะได้รับสิทธิ์นี้โดยอัตโนมัติใน Active Directory
การตั้งค่านโยบายกลุ่มสามรายการต่อไปนี้ควบคุม:
Windows Firewall ข้อยกเว้น RDP ขาเข้า
สิทธิ์ผู้ใช้ในการสร้างเซสชัน RDP
ต้องการ สนช
การกำหนดค่าคอมพิวเตอร์เทมเพลตการดูแลระบบเครือข่ายการเชื่อมต่อเครือข่ายไฟร์วอลล์ Windows โปรไฟล์โดเมนไฟร์วอลล์ Windows: อนุญาตข้อยกเว้นเดสก์ท็อประยะไกลขาเข้า
การกำหนดค่าคอมพิวเตอร์เทมเพลตการดูแลระบบคอมโพเนนต์ของ Windowsบริการเดสก์ท็อประยะไกลRemote Desktop Session HostConnectionsอนุญาตให้ผู้ใช้เชื่อมต่อจากระยะไกลโดยใช้บริการเดสก์ท็อประยะไกล
การกำหนดค่าคอมพิวเตอร์เทมเพลตการดูแลระบบคอมโพเนนต์ของ Windowsบริการเดสก์ท็อประยะไกลโฮสต์เซสชันเดสก์ท็อประยะไกลโฮสต์ความปลอดภัยต้องการการรับรองความถูกต้องผู้ใช้สำหรับการเชื่อมต่อระยะไกลโดยใช้ NLA
การสร้างการเชื่อมต่อไคลเอ็นต์
ไคลเอนต์ Windows และ Windows Server รวมไคลเอนต์ Microsoft RDP ที่เรียกว่าการเชื่อมต่อเดสก์ท็อประยะไกล วิธีที่ฉันชอบในการเรียกใช้เครื่องมือนี้คือ:
กด WINDOWS KEY+R
พิมพ์ mstsc (ซึ่งย่อมาจาก “Microsoft Terminal Services Client”)
กดปุ่มตกลง
ฉันแสดงอินเทอร์เฟซผู้ใช้การเชื่อมต่อเดสก์ท็อประยะไกลให้คุณดูในรูปที่ 5
สิ่งที่ยอดเยี่ยมเกี่ยวกับไคลเอ็นต์ RDP ก็คือมีให้ใช้งานได้เกือบทุกระบบปฏิบัติการบนเดสก์ท็อปหรือมือถือ นี่คือรายชื่อตัวแทน:
Android: Microsoft Remote Desktop
iOS: Microsoft Remote Desktop
Linux: rdesktop
macOS: Microsoft Remote Desktop
Windows Phone: Microsoft Remote Desktop
โปรดทราบว่า Windows Server รองรับเพียงสองเซสชัน RDP พร้อมกันในคราวเดียว หากคุณต้องการมากกว่านั้น คุณจะต้องติดตั้งบทบาทเซิร์ฟเวอร์โฮสต์ของเซสชันบริการเดสก์ท็อประยะไกล (RDS) และซื้อสิทธิ์การใช้งานการเชื่อมต่อ RDS เพิ่มเติมจาก Microsoft
ความคิดสุดท้าย
หากคุณได้กำหนดค่า RDP ใน Windows Server เวอร์ชันก่อนหน้า คุณจะพบว่า Windows Server 2016 ทำงานในลักษณะเดียวกัน อย่างไรก็ตาม พึงระลึกไว้เสมอว่าการใช้มาตรการรักษาความปลอดภัย “สันนิษฐานว่าเป็นการละเมิด” ที่เพิ่มมากขึ้นของ Microsoft และสถานการณ์ไฮบริดคลาวด์และปรัชญา “จัดการฝูงสัตว์ ไม่ใช่สัตว์เลี้ยง” ที่ประกอบกันเข้ามานั้นหมายถึงการเน้นที่ระบบอัตโนมัติของบรรทัดคำสั่งมากกว่าการเปิด-ปิด RDP เซสชัน GUI
10 คุณสมบัติใหม่ที่ดีที่สุดใน Windows Server 2016
Windows 10 สำหรับผู้เชี่ยวชาญด้าน IT: บทช่วยสอน เคล็ดลับและคำแนะนำ
แอพ 6 อันดับแรกของ Windows 10 สำหรับผู้เชี่ยวชาญด้านไอที