ภาพรวม
เราเข้าสู่ระบบ Gucamole ด้วยผู้ใช้จาก DomainA โดยที่เราเลือกการเชื่อมต่อ rdp ไปยังเซิร์ฟเวอร์จาก DomainB
ความน่าเชื่อถือ
DomainA ถึง DomainB และในทางกลับกัน:
- ประเภท: ภายนอก
- รองรับการเข้ารหัส Kerberos AES: ไม่
- ทิศทาง: สองทาง
- การเปลี่ยนแปลง: ไม่
- การรับรองความถูกต้อง: ทั่วทั้งโดเมน
สิทธิ์
ผู้ใช้จาก DomainA ได้เข้าร่วมกลุ่มผู้ใช้เดสก์ท็อประยะไกลในเครื่องบนเซิร์ฟเวอร์จาก DomainB ได้ลองชั่วคราวกับกลุ่มผู้ดูแลระบบภายใน
กวากาโมเล่
ฉันไม่ได้เป็นคนตั้งค่าทั้งหมด และฉันไม่มีข้อมูลเชิงลึกมากนักเนื่องจากเป็นการจัดการโดยทีมอื่น สิ่งที่ฉันรู้คือมันใช้งานได้ดีกับผู้ใช้จาก DomainA ไปยังเซิร์ฟเวอร์จาก DomainA
ผู้ใช้เข้าสู่ระบบด้วย upn และใช้ 2FA โดย OpenOTP
ถ้าพวกคุณคิดว่ามันจะช่วยแบ่งปันการกำหนดค่าบางอย่างของ Guacamole ให้ฉันรู้ว่าคุณต้องการดูอะไรและฉันจะตรวจสอบกับทีม
การเชื่อมต่อกับ Guacamole
- โปรโตคอล: rdp
- ชื่อโฮสต์: ip ของเซิร์ฟเวอร์จาก DomainB
- พอร์ต: 3389
- ชื่อผู้ใช้: ${GUAC_USERNAME}
- รหัสผ่าน: ${GUAC_PASSWORD}
- โดเมน: ว่างเปล่า
- โหมดความปลอดภัย: สนช
- ปิดใช้งานการรับรองความถูกต้อง: ไม่
- ละเว้นใบรับรองเซิร์ฟเวอร์: ใช่
- ทุกอย่างถูกตั้งค่าเป็นค่าเริ่มต้น / ไม่ได้กำหนดค่า
แน่นอนว่าเราได้ลองใช้การตั้งค่าต่างๆ
อาการ
นี่คือสิ่งที่เกิดขึ้น
- ฉันเข้าสู่ระบบ Guacamole ด้วยผู้ใช้จาก DomainA
- รับ OpenOTP push และยืนยัน
- ฉันลงชื่อเข้าใช้ Guacamole และเลือกการเชื่อมต่อกับเซิร์ฟเวอร์ของ DomainB
- ได้รับข้อความแสดงข้อผิดพลาด:
ไม่สามารถเข้าถึงเซิร์ฟเวอร์เดสก์ท็อประยะไกลได้ในขณะนี้ หากยังพบปัญหา โปรดแจ้งผู้ดูแลระบบของคุณ หรือตรวจสอบบันทึกระบบของคุณ
- หลังจากลองใหม่ไม่กี่ครั้ง บางครั้งฉันได้รับข้อความนี้:
การเชื่อมต่อนี้ถูกปิดเนื่องจากเซิร์ฟเวอร์ใช้เวลานานเกินไปในการตอบสนอง ซึ่งมักเกิดจากปัญหาเครือข่าย เช่น สัญญาณไร้สายขาดๆ หายๆ หรือความเร็วเครือข่ายช้า โปรดตรวจสอบการเชื่อมต่อเครือข่ายของคุณแล้วลองอีกครั้งหรือติดต่อผู้ดูแลระบบของคุณ
- และตอนนี้ส่วนที่ตลกที่ทำให้ฉันคลั่งไคล้: ฉันสามารถเข้าสู่เซิร์ฟเวอร์ของ DomainB ด้วยผู้ใช้จาก DomainA ผ่าน direct rdp และถ้าฉันทำเช่นนั้น ให้เปิดการเชื่อมต่อไว้และเริ่มการเชื่อมต่อบน Guacamole ฉันสามารถ เข้ารับช่วงต่อ!!
บันทึก
Guacamole Logs ไม่มีประโยชน์อะไรเลย
บันทึกความปลอดภัยของ Windows แสดงเหตุการณ์นี้ในข้อผิดพลาดในการเข้าสู่ระบบ:
EventID 4625 เข้าสู่ระบบ
บัญชีไม่สามารถเข้าสู่ระบบได้
เรื่อง:
รหัสความปลอดภัย: NULL SID
ชื่อบัญชี: -
โดเมนบัญชี: -
ID เข้าสู่ระบบ: 0x0
ประเภทการเข้าสู่ระบบ: 3
บัญชีที่เข้าสู่ระบบไม่สำเร็จ:
รหัสความปลอดภัย: NULL SID
ชื่อบัญชี: ผู้ใช้ (ถูกต้อง)
โดเมนบัญชี: DomainA (ถูกต้อง)
ข้อมูลความล้มเหลว:
สาเหตุความล้มเหลว: เกิดข้อผิดพลาดระหว่างการเข้าสู่ระบบ
สถานะ: 0xC000005E
สถานะย่อย: 0x0
ข้อมูลกระบวนการ:
ID กระบวนการผู้โทร: 0x0
ชื่อกระบวนการผู้โทร: -
ข้อมูลเครือข่าย:
ชื่อเวิร์กสเตชัน: f7054e3b9dd7
ที่อยู่เครือข่ายต้นทาง: Guacamole-Server-IP
พอร์ตต้นทาง: 0
ข้อมูลการรับรองความถูกต้องโดยละเอียด:
กระบวนการเข้าสู่ระบบ: NtLmSsp
แพ็คเกจการรับรองความถูกต้อง: NTLM
บริการเปลี่ยนผ่าน: -
ชื่อแพ็คเกจ (NTLM เท่านั้น): -
ความยาวคีย์: 0
เหตุการณ์นี้ถูกสร้างขึ้นเมื่อคำขอเข้าสู่ระบบล้มเหลว มันถูกสร้างขึ้นบนคอมพิวเตอร์ที่มีการพยายามเข้าถึง
ฟิลด์เรื่องระบุบัญชีในระบบภายในที่ร้องขอการเข้าสู่ระบบ โดยทั่วไปมักเป็นบริการ เช่น บริการเซิร์ฟเวอร์ หรือกระบวนการในเครื่อง เช่น Winlogon.exe หรือ Services.exe
ช่องประเภทการเข้าสู่ระบบจะระบุประเภทการเข้าสู่ระบบที่ได้รับการร้องขอ ประเภทที่พบบ่อยที่สุดคือ 2 (แบบโต้ตอบ) และ 3 (แบบเครือข่าย)
ช่องข้อมูลกระบวนการระบุว่าบัญชีและกระบวนการใดในระบบที่ร้องขอการเข้าสู่ระบบ
ฟิลด์ข้อมูลเครือข่ายระบุว่าคำขอเข้าสู่ระบบระยะไกลเริ่มต้นที่ใด ชื่อเวิร์กสเตชันไม่พร้อมใช้งานเสมอ และอาจเว้นว่างไว้ในบางกรณี
ฟิลด์ข้อมูลการรับรองความถูกต้องให้ข้อมูลโดยละเอียดเกี่ยวกับคำขอเข้าสู่ระบบเฉพาะนี้
- บริการเปลี่ยนผ่านระบุว่าบริการระดับกลางใดบ้างที่เข้าร่วมในคำขอเข้าสู่ระบบนี้
- ชื่อแพ็คเกจระบุว่าโปรโตคอลย่อยใดถูกใช้ในโปรโตคอล NTLM
- ความยาวคีย์ระบุความยาวของคีย์เซสชันที่สร้างขึ้น นี่จะเป็น 0 หากไม่มีการร้องขอคีย์เซสชัน
การแก้ไขปัญหา
ตอนนี้ไม่รู้จะโฟกัสจุดไหนต่อดี เราได้ลองตั้งค่าหลายอย่างบนการเชื่อมต่อ Guacamole rdp ทำการค้นคว้าทางออนไลน์เป็นจำนวนมาก แต่ไม่สามารถหาตัวอย่างที่มีข้อมูลที่มีคนพยายามทำสิ่งเดียวกันกับเราได้ เนื่องจาก rdp ปกติทำงานได้ดี เราคิดว่าความเชื่อใจและการอนุญาตของเราน่าจะใช้ได้
พวกคุณช่วยแนะนำฉันได้ไหมว่าฉันควรตรวจสอบไปในทิศทางใด?
มีคนใช้ Guacamole ในการตั้งค่าที่คล้ายกันหรือไม่?
แก้ไข
ข้อมูล Event Viewer เพิ่มเติมที่แนะนำจาก User Swisstone:
RemoteDesktopServices-RdpCoreTS
08:38:23 ข้อมูล: เซิร์ฟเวอร์ยอมรับการเชื่อมต่อ TCP ใหม่จากไคลเอนต์ *Guacamole-IP*:53494
08:38:23 ข้อมูล: สร้างการเชื่อมต่อ RDP-Tcp#78 แล้ว
08:38:23 ข้อมูล: วิธีการเชื่อมต่อที่เรียกว่า: PrepareForAccept
08:38:23 ข้อมูล: วิธีการเชื่อมต่อที่เรียกว่า: SendPolicyData
08:38:23 ข้อมูล: เซสชัน PerfCounter เริ่มต้นด้วยอินสแตนซ์ ID 78
08:38:23 คำเตือน: ซ็อกเก็ต TCP ถูกยกเลิกอย่างงดงาม
08:38:23 ข้อมูล: วิธีการเชื่อมต่อที่เรียกว่า: OnDisconnected
08:38:23 ข้อมูล: เซิร์ฟเวอร์ได้ยุติการเชื่อมต่อ RDP หลักกับไคลเอนต์
08:38:23 ข้อมูล: ระหว่างการเชื่อมต่อนี้ เซิร์ฟเวอร์ไม่ได้ส่งข้อมูลหรือการอัปเดตกราฟิกเป็นเวลา 0 วินาที (Idle1: 0, Idle2: 0)
08:38:23 ข้อมูล: ช่อง rdpinpt ถูกปิดระหว่างเซิร์ฟเวอร์และไคลเอนต์ในอุโมงค์ขนส่ง: 0
08:38:23 ข้อมูล: ช่อง rdpcmd ถูกปิดระหว่างเซิร์ฟเวอร์และไคลเอ็นต์ในอุโมงค์ขนส่ง: 0
08:38:23 ข้อมูล: ช่อง rdplic ถูกปิดระหว่างเซิร์ฟเวอร์และไคลเอ็นต์ในอุโมงค์ขนส่ง: 0
08:38:23 ข้อมูล: สาเหตุการตัดการเชื่อมต่อคือ 14
TerminalServices-LocalSessionManager
ไม่มีอะไรในช่วงเวลานี้
TerminalServices-RemoteConnectionManager
ไม่มีอะไรในช่วงเวลานี้
ลืมบอกไป เซิร์ฟเวอร์เป็น 2019 เวอร์ชัน 1809
แก้ไข2
ตกลง ตอนนี้ฉันใช้งานได้แล้วโดยเปลี่ยนโหมดความปลอดภัยในการเชื่อมต่อเป็น tls ฉันจำได้ว่าเคยลอง tls มาก่อนเมื่อมันไม่ทำงาน บางทีการเปลี่ยนแปลงบางอย่างที่ฉันทำระหว่างกระบวนการแก้ไขปัญหาทั้งหมดอาจสร้างความแตกต่าง ตอนนี้ฉันไม่สามารถบอกได้ว่ามันคืออะไร
ฉันมาที่ "โซลูชัน" นี้โดยสุ่มลองใช้ตัวเลือกต่างๆ เพื่อเชื่อมต่อโดยใช้ freerdp หลังจากที่ฉันค้นพบว่า guacamole ใช้สำหรับการเชื่อมต่อ rdp
มีคนเห็นข้อกังวลในการใช้ tls แทน nla ในกรณีนี้หรือไม่