−25%

Windows รายปี ถึง 31 ต.ค. ดูแพ็กเกจ

EQVPS
เริ่มต้นใช้งาน

วิธีรักษาความปลอดภัย RDP บน Windows VPS: NLA, การล็อกบัญชี และรายการ IP ที่อนุญาต

ห้าขั้นตอนใน PowerShell ที่ทำให้ RDP บน VPS Windows Server 2022 ตอบเฉพาะคุณ: การยืนยันตัวตนระดับเครือข่าย การล็อกบัญชี รายการ IP ที่อนุญาตซึ่งครอบคลุมทุกกฎของพอร์ต 3389 และวิธีดูว่าใครพยายามเข้ามา

พอร์ต RDP ที่ตอบอินเทอร์เน็ตทั้งโลกจะเริ่มเจอการเดารหัสผ่านไม่กี่นาทีหลังเซิร์ฟเวอร์เปิดเครื่อง รหัสผ่านยาว ๆ ทนได้ แต่ทุกครั้งที่เดาก็ยังเป็นการล็อกอิน ทำให้ log เหตุการณ์เต็ม และเปิดทางให้ช่องโหว่ RDP ตัวถัดไป ห้าขั้นตอนนี้แก้ได้ แต่ละขั้นเป็นคำสั่ง PowerShell และเรารันทั้งหมดบนอิมเมจ Windows Server 2022 ของเราก่อนเผยแพร่

เปิด PowerShell ในฐานะผู้ดูแลระบบ ผ่าน RDP (วิธีเชื่อมต่อ) แล้วทำตามลำดับ ทำขั้นที่ 4 เป็นขั้นสุดท้าย เพราะเป็นขั้นเดียวที่อาจล็อกคุณไว้ข้างนอก

1. รหัสผ่านยาวและไม่ซ้ำ

ถ้าคุณยังใช้รหัสผ่านจากการล็อกอินครั้งแรก ให้เปลี่ยนในแดชบอร์ดเป็นรหัสยาว (20 ตัวอักษรขึ้นไป จากโปรแกรมจัดการรหัสผ่าน) ทุกขั้นตอนด้านล่างถือว่ารหัสผ่านเดาไม่ได้

2. เปิดการยืนยันตัวตนระดับเครือข่าย (NLA)

เมื่อเปิด NLA Windows จะตรวจข้อมูลล็อกอิน ก่อน สร้างเซสชันและวาดหน้าล็อกอิน การเชื่อมต่อที่ยังไม่ยืนยันตัวตนจะไม่มีทางถึงโค้ดของเดสก์ท็อป ซึ่งเป็นที่อยู่ของช่องโหว่ RDP ที่โด่งดังที่สุด ตรวจสถานะปัจจุบัน:

(Get-CimInstance -Namespace root/cimv2/TerminalServices -ClassName Win32_TSGeneralSetting -Filter "TerminalName='RDP-tcp'").UserAuthenticationRequired

1 หมายถึง NLA เปิดอยู่ ถ้าเห็น 0 ให้เปิด:

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name UserAuthentication -Value 1

โปรแกรม Remote Desktop รุ่นปัจจุบันบน Windows, macOS และ Linux (xfreerdp) รองรับ NLA การเชื่อมต่อครั้งถัดไปจะถามรหัสผ่านก่อนแสดงหน้าจอระยะไกล

3. ล็อกบัญชีหลังพยายามผิดหลายครั้ง

การติดตั้ง Windows Server 2022 แบบค่าเริ่มต้นจะไม่ล็อกบัญชีเลยไม่ว่าจะใส่รหัสผิดกี่ครั้ง เซิร์ฟเวอร์ที่ติดตั้งจากอิมเมจของเราตั้งแต่วันที่ 24 ตุลาคม 2026 มีขีดจำกัดด้านล่างตั้งไว้แล้ว สำหรับเซิร์ฟเวอร์ที่เก่ากว่า ให้ตั้งเอง:

net accounts /lockoutthreshold:5 /lockoutwindow:15 /lockoutduration:15
net accounts

รหัสผิดห้าครั้งภายใน 15 นาทีจะล็อกบัญชี 15 นาที เราทดสอบแล้ว: หลังผิดห้าครั้ง ทั้งผู้ใช้ทั่วไปและ Administrator ในตัวถูกล็อก การล็อกจะปลดเอง เช้าที่พิมพ์ผิดบ่อยจึงเสียแค่สิบห้านาที ไม่ใช่เสียเซิร์ฟเวอร์

4. อนุญาต RDP เฉพาะจาก IP ของคุณ

ขั้นนี้ตัดสิ่งรบกวนออกเกือบหมด กฎของ Windows Firewall รับรายการที่อยู่ระยะไกลได้ ให้ใส่ที่อยู่ของคุณ ดู IP สาธารณะปัจจุบันจากหน้า "IP ของฉันคืออะไร" หน้าไหนก็ได้ แล้ว:

$myIp = '203.0.113.10'   # your public IP; several: '203.0.113.10','198.51.100.0/24'
Get-NetFirewallPortFilter | Where-Object LocalPort -eq 3389 | Get-NetFirewallRule | Set-NetFirewallRule -RemoteAddress $myIp

คำสั่งนี้หา ทุก กฎขาเข้าบนพอร์ต 3389 ไม่ใช่แค่กลุ่ม "Remote Desktop" ในตัว เรื่องนี้สำคัญ เพราะเซิร์ฟเวอร์ที่ติดตั้งจากอิมเมจของเราก่อนวันที่ 24 ตุลาคม 2026 มีกฎเพิ่มชื่อ "EQVPS RDP 3389" ที่เปิดพอร์ตให้ทุกคน และซอฟต์แวร์อื่นก็เพิ่มกฎของตัวเองได้ ถ้าจำกัดแค่กลุ่มในตัว กฎแบบนี้จะยังเปิดพอร์ตไว้ เราเองก็พลาดแบบนี้ระหว่างทดสอบ ตรวจผล:

Get-NetFirewallPortFilter | Where-Object LocalPort -eq 3389 | Get-NetFirewallRule |
  Select-Object DisplayName, @{n='Remote';e={($_ | Get-NetFirewallAddressFilter).RemoteAddress}}

ทุกบรรทัดต้องแสดงที่อยู่ของคุณ ในการทดสอบของเรา การเชื่อมต่อจากที่อยู่อื่นไม่ได้รับคำตอบ ส่วนที่อยู่ที่อนุญาตเข้าได้

บนแพ็กเกจ NAT ใช้ได้เหมือนกัน การส่งต่อจากพอร์ตส่วนตัวของคุณยังคงที่อยู่จริงของคุณ จึงให้อนุญาต IP สาธารณะของคุณเอง

ถ้า IP ของคุณเปลี่ยน RDP จะไม่ตอบคุณด้วย เปิดคอนโซลบนเบราว์เซอร์จากแดชบอร์ด (ไม่ผ่าน RDP หรือไฟร์วอลล์) ล็อกอิน แล้วรันคำสั่งด้วยที่อยู่ใหม่ ถ้าจะยกเลิกรายการทั้งหมด ใช้ -RemoteAddress Any

5. ดูว่าใครพยายามเข้ามา

การล็อกอินที่ล้มเหลวคือเหตุการณ์ 4625 ใน log Security คำสั่งนี้แสดงชื่อบัญชีและที่อยู่ของแต่ละครั้ง:

Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625} -MaxEvents 20 |
  Select-Object TimeCreated, @{n='User';e={$_.Properties[5].Value}}, @{n='SourceIP';e={$_.Properties[19].Value}}

ก่อนตั้งรายการ IP คุณจะเห็น Administrator, admin, user ไหลเข้ามาไม่หยุดจากที่อยู่ที่ไม่รู้จัก หลังตั้งแล้ว รายการควรเงียบลง

สิ่งที่ไม่คุ้มเสียเวลา

  • เปลี่ยนพอร์ต RDP บนแพ็กเกจที่มี IPv4 ของตัวเอง ช่วยแค่ลดสิ่งรบกวนใน log เครื่องสแกนหาพอร์ตใหม่เจอเร็ว บนแพ็กเกจ NAT จะทำให้เข้าไม่ได้ เพราะการส่งต่อไปที่ 3389
  • ปิดไฟร์วอลล์ "ให้มันใช้ได้" ถ้า RDP ไม่ตอบหลังแก้กฎ ให้แก้กฎผ่านคอนโซลบนเบราว์เซอร์

อัปเดตอยู่เสมอ

เหตุการณ์ RDP ที่ร้ายแรงที่สุดมาจากช่องโหว่ของโปรโตคอล ไม่ใช่รหัสผ่าน Windows Server 2022 ได้รับอัปเดตความปลอดภัยถึง 14 ตุลาคม 2031 จึงควรเปิด Windows Update และรีสตาร์ตเมื่อระบบขอ

อิมเมจคือ Windows Server 2022 กับใบอนุญาตของคุณเอง (BYOL ทำงานอย่างไร) แพ็กเกจเริ่มที่ Windows-Small: 4 vCPU, RAM 4 GB, 50 GB, $11/เดือน แบบ NAT ถ้ามี IPv4 ของตัวเอง Windows Small-IP ราคา $28/เดือน ทั้งสี่แพ็กเกจอยู่ใน หน้า Windows VPS ถ้าต้องการ SSH ควบคู่กับ RDP ดู OpenSSH บน Windows Server

คำถามที่พบบ่อย

เปลี่ยนพอร์ต RDP อย่างเดียวพอไหม

ไม่พอ พอร์ตอื่นช่วยลดสิ่งรบกวนใน log แต่เครื่องสแกนใด ๆ ก็หาเจอภายในไม่กี่ชั่วโมง บนแพ็กเกจ NAT อย่าเปลี่ยนเลย พอร์ตภายนอกส่วนตัวของคุณถูกส่งต่อไปที่ 3389 ภายในเซิร์ฟเวอร์ การย้าย RDP จะทำให้การส่งต่อเสีย รายการ IP ที่อนุญาตทำสิ่งที่การเปลี่ยนพอร์ตแค่แสร้งทำ

รายการ IP ที่อนุญาตใช้ได้บนแพ็กเกจ NAT ไหม

ใช้ได้ การส่งต่อไปยังเซิร์ฟเวอร์ของคุณยังคงที่อยู่ต้นทางจริงของการเชื่อมต่อ Windows Firewall จึงเห็น IP สาธารณะของคุณเองและเปรียบเทียบได้ ให้อนุญาตที่อยู่นั้น ไม่ใช่ที่อยู่ของเซิร์ฟเวอร์

ถ้า IP ที่บ้านเปลี่ยนแล้วฉันเข้าไม่ได้ล่ะ

เปิดคอนโซลบนเบราว์เซอร์จากแดชบอร์ด คอนโซลนี้คุยกับหน้าจอของเซิร์ฟเวอร์โดยตรง ไม่ผ่าน RDP ไฟร์วอลล์จึงไม่บล็อก ล็อกอินที่นั่นแล้วตั้งที่อยู่ใหม่ด้วยคำสั่ง Set-NetFirewallRule เดิม

บอตล็อกบัญชี Administrator ของฉันได้ไหม

ถ้าตั้งนโยบายล็อกไว้ ได้ ครั้งละ 15 นาที: ใน Windows Server 2022 รุ่นปัจจุบัน Administrator ในตัวถูกล็อกเหมือนบัญชีอื่น (เราตรวจแล้ว) รายการ IP จึงสำคัญ บอตที่เข้าไม่ถึงพอร์ต 3389 ก็ทำให้เกิดการล็อกไม่ได้

ถ้าปิด RDP แน่นหนาแล้ว ยังต้องอัปเดต Windows อยู่ไหม

ยังต้อง การโจมตี RDP ที่ร้ายแรงที่สุดใช้ช่องโหว่ของโปรโตคอลเอง ไม่ใช่รหัสผ่าน Windows Server 2022 ได้รับอัปเดตความปลอดภัยถึงวันที่ 14 ตุลาคม 2031 จึงควรเปิด Windows Update ไว้

ความคิดเห็น

ยังไม่มีความคิดเห็น เป็นคนแรกสิ

แสดงความคิดเห็น

ความคิดเห็นจะถูกตรวจสอบก่อนแสดง