Windows Remote Desktop /console หายไปตั้งแต่ version 2008

Windows Server มีความสามารถให้เราทำ Remote เข้าเครื่องได้ ใน mode ที่เรียกว่า Remote Desktop for Administrator ที่ช่วยให้ system administrator ทำงานได้สะดวก โดยมีข้อจำกัดว่า ให้ logon พร้อมๆ กันได้เพียง 2 connection ตอนนี้เราจะมาทำความรู้จักับเรื่อง /console และ sesion 0 ใน version ของ Windows Server 2003 มันมี option พิเศษ อันหนึ่งคือ /console ที่ช่วยให้ session remote เข้าไปอยู่ใน session พิเศษ ที่เรียกว่า session 0

 

รู้จักกับ MSTSC และ Query session

Windows Server มี คำสั่ง mstsc เพื่อใช้เป็น remote desktop client ไปยังเครื่อง server ปลายทาง รูปแบบคำสั่ง (syntax) ใน version 6.1  มีดังนี้

mstsc [<connection file>] [/v:<server[:port]>] [/admin] [/f[ullscreen]] [/w:<width>] [/h:<height>] [/public] | [/span] [/edit “connection file”] [/migrate] [/?]

เวลาใช้งาน ถ้าเป็น GUI ก็เรียก mstsc ไม่ต้องใส่ parameter สำหรับการทดสอบนี้ ใช้ parameter /v และ /console ซึ่งไม่ต้องแปลกใจว่า syntax ไม่มี เพราะจะเปรียบเทียบกับ mstsc ของเก่าใน Windows Server 2003 เค้ามี แต่ /console ได้ยกเลิกใน Windows Server 2008

อีกคำสั่งคือ query session จะใช้แสดง remote desktop session

การทดลองต่อไปนี้ให้สังเกตที่ช่อง ID ซึ่งหมายถึง session

ตัวอย่าง บน Windows Server 2003  [Before]

image

 

image

ตัวอย่าง บน Windows Server 2008 [After]

image

จากการทดลอง แสดงให้เห็นว่าใน

1. Windows Server 2003 มี /console ที่ทำให้ใช้ session 0 ได้ แต่ใน Windows Server 2008 ที่ session 0 ไม่สามารถใช้ได้

2. แม้ว่าจะ logon ที่ console หน้าเครื่อง จะได้ session ที่ชื่อว่า console แต่ก็ไม่ได้ session 0 เหมือนข้อ 1

 

Session 0 Isolation

ใน Windows Server 2003 และ version ก่อนหน้านี้ การ logon ที่ console จะได้ session 0 แล้ว service ต่างๆ ก็ run อยู่ใน session เดียวกัน ในเวลาต่อมาก็พบว่าการปล่อยให้ user ไป run งานใน session เดียวกับ service นั้น มีความเสี่ยงในเรื่อง security เนื่องจากสิทธิ (privilege) ที่ใช้ run service นั้นยิ่งใหญ่ แต่มาอยู่ใน session เดียวกับผู้ใช้งาน จึงเป็นเป้าหมายที่จะโดนโจมตีจาก malicious code ได้ง่าย  ใน Windows Server 2008 ได้ จัดกาารลดความเสี่ยงโดย

1. กำหนดให้ service ใช้ session 0 และกำหนดให้เป็น non-interactive

2. กำหนดให้ user คนแรกที่ logon เข้าระบบได้ session 1 แล้วก็เรียงลำดับต่อไปเรื่อยๆ

 

ทำไมต้องใช้ /console

หากเราใช้คำสั่ง query session จะเห็นว่า Windows มีลำดับความสำคัญของ session ไม่เท่ากัน ในช่วงที่มี remote desktop ช่วงแรก นั้น

1. การ install application หรือ run application ต้องเรียกใช้ service ที่ run อยู่ใน session 0 หรือการแสดงผล(UI [User Interaction]) ออกไปที่ session 0

2. ต้องการให้การ remote ไปที่ server กลับไปหน้าจอเดิมทุกครั้ง หากไม่ใช้ /console ก็อาจได้ session เลขอื่นๆ แล้วเป็นจอใหม่

 

คิดใหม่ตาม Windows Server 2008

Windows ได้รับการปรับปรุงเรื่อง compatability ที่ยอมให้ application เก่าๆ วิธีใหม่คือ

1. การติดต่อกับ service ที่อยู่ใน session 0 ได้ ถ้ามี service ที่ใช้ UI ของ session 0 นั้น ระบบ Windows Server 2008 จะทำให้ผู้ใช้ทำงาน (interact) กับ session 0 จาก session ของผู้ใช้งานได้ ในเมื่อ session 0 ถูกทำให้เป็น non-interact กับผู้ใช้งาน ก็หมดความจำเป็นที่ต้องใช้ session 0

2. ถ้าอยากจะ remote กลับไปได้จอเดิมที่เคย logon ค้างไว้ ให้ config ระบบได้ ผ่าน policy, registry หรือจะทำผ่าน GUI ก็ได้ การทำผ่าน group policy ใน Windows Server 2008 R2 ให้ไปที่ Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Connections กำหนดค่าที่ Restrict Remote Desktop Services users to a single remote session

mstsc /admin ไม่ได้มาแทน /console

Parameter /admin ใช้เพื่อทำงาน admin บนเครื่อง Remote Desktop Server (ต้องเปิด enable role) แต่ถ้าเครื่องไม่ได้ enable role นั้น การใส่ /admin จะมีผลต่อไปนี้

  • Disable Terminal Services client access licensing.
  • Disable time zone redirection.
  • Disable TS Session Broker redirection.
  • Disable TS EasyPrint.

Reference

1. Changes to Remote Administration in Windows Server 2008

2. Limit users to one remote session

3. Restrict Users to a Single Session

4. Application Compatibility: Session 0 Isolation

5. Remote Desktop for Administration

Advertisements

One thought on “Windows Remote Desktop /console หายไปตั้งแต่ version 2008

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s