EnableLinkedConnections การตั้งค่ารีจิสทรีทำอะไรได้บ้างในระดับเทคนิค


15

หมายเหตุ: ปัญหาพื้นฐานสำหรับฉันคือการเข้าถึงเครือข่ายที่ฉันใช้ร่วมกัน (ผู้ใช้ผู้ดูแลระบบ Win 7) ได้ตั้งค่าเมื่อฉันเรียกใช้โปรแกรมยกระดับ โดยปกติโปรแกรมที่ยกระดับจะไม่สามารถเข้าถึงเครือข่ายที่ไม่ได้รับการยกระดับของฉันได้

ตามที่ไมโครซอฟท์รีจิสทรี EnableLinkedConnections การตั้งค่าจะช่วยยกระดับกระบวนการในการเข้าถึงเครือข่ายร่วมกันของที่ล็อกอินในปัจจุบันในกระบวนการ Explorer (ไม่ใช่สูง)

คำอธิบายนี้สมเหตุสมผล:

[... ] เมื่อคุณเป็นสมาชิกของกลุ่มผู้ดูแลระบบและคุณลงชื่อเข้าใช้บัญชีของคุณจะถูกระงับโดย UAC บริบทที่รันอยู่นี้แยกจากบริบทที่คุณได้รับเมื่อคุณคลิกขวาที่ Command Prompt และเรียกใช้ในฐานะผู้ดูแลระบบ ดังที่คุณอาจสังเกตเห็นไดรฟ์เครือข่ายที่เชื่อมต่อในบริบทหนึ่งจะมองไม่เห็นในอีกด้านหนึ่ง [ ... ]

กระทู้ในฟอรัมนี้ถามถึงช่องโหว่ที่เปิดโดยการตั้งค่านี้ คำตอบที่ให้ลิงค์ไปยังบทความเกี่ยวกับการปิดใช้งานการแจ้งเตือนของ UAC (หรือฉันเข้าใจ)

คำถามนี้เป็นสิ่งที่ไม่ EnableLinkedConnections การตั้งค่ารีจิสทรีไม่หรืออนุญาตให้บนระบบ Windows 7 ที่กำหนดว่าเราจะไม่ได้ทำงานในสภาพแวดล้อมของโดเมน


แก้ไข: สิ่งหนึ่งที่ฉันสนใจเป็นพิเศษคือการตั้งค่านี้มีผลเฉพาะกับไดรฟ์เครือข่าย (มองเห็นได้) หรือมีผลกระทบอื่น ๆ หรือไม่


ที่เกี่ยวข้องคือคำถามอื่น ๆ เกี่ยวกับ ELC ที่ไม่ทำงานในบางกรณี: serverfault.com/questions/780639/…
UuDdLrLrSs

คำตอบ:


18

การไม่มีแหล่งที่มาของ Windows มันเป็นการยากที่จะพูดอะไรที่ไม่มีการเก็งกำไร ข้อจำกัดความรับผิดชอบนั้นนอกเหนือจากนี้คือสิ่งที่ฉันสามารถรวบรวมได้โดยอ่านข้อมูลนี้:

UAC สร้างโทเค็นการรักษาความปลอดภัยที่สองในการเข้าสู่ระบบ: โทเค็นที่ยกระดับประกอบด้วยสมาชิกเต็มกลุ่มของผู้ใช้และโทเค็นที่ จำกัดซึ่งมีสมาชิกของกลุ่ม "ผู้ดูแลระบบ" ลอกออก แต่ละโทเค็นมี ID เฉพาะที่ไม่ซ้ำกันในท้องถิ่น (LUID) ที่ระบุเซสชันการเข้าสู่ระบบ เป็นเซสชันการเข้าสู่ระบบที่แยกต่างหากและแตกต่างกันสองเซสชัน

เริ่มต้นใน Windows 2000 Server SP2 ไดรฟ์ที่แมป (ซึ่งจะแสดงเป็น symlinks ใน namespace ผู้จัดการวัตถุ) จะติดแท็กด้วย LUID ของโทเค็นที่สร้างพวกเขา (คุณสามารถพบการอ้างอิง Microsoft บางพฤติกรรมนี้ในบทความ KBase นี้และคุณสามารถ เรียนรู้เพิ่มเติมเกี่ยวกับกลไกของคุณสมบัติในการโพสต์บล็อกนี้ ) ส่วนสำคัญของฟีเจอร์นี้คือไดรฟ์ที่แมปซึ่งสร้างขึ้นโดยเซสชันการเข้าสู่ระบบครั้งเดียวจะไม่สามารถเข้าถึงเซสชันการเข้าสู่ระบบอื่นได้

การตั้งค่าEnableLinkedConnectionsทำให้เกิดพฤติกรรมในบริการ LanmanWorkstation และระบบความปลอดภัย LSA (LSASS.EXE) เพื่อให้ LSA คัดลอกไดรฟ์ที่แมปจากโทเค็นของผู้ใช้คนใดคนหนึ่งในบริบทของโทเค็นอื่น สิ่งนี้ช่วยให้ไดรฟ์ที่แมปด้วยโทเค็นที่ยกระดับสามารถมองเห็นโทเค็นที่ถูก จำกัด และการสนทนา ไม่มีความผิดปกติใด ๆ ของพฤติกรรมของคุณลักษณะนี้โดยไม่เกี่ยวข้องกับโดเมนเมื่อเทียบกับสภาพแวดล้อมที่ไม่ใช่โดเมน หากผู้ใช้ของคุณกำลังทำงานกับบัญชี "ผู้ดูแลระบบ" ในสภาพแวดล้อมที่ไม่ใช่โดเมนโทเค็นที่ จำกัด และโทเค็นที่ยกระดับโดยค่าเริ่มต้นจะมีการจับคู่ไดรฟ์อิสระ

ในแง่ของความเสี่ยงเอกสารอย่างเป็นทางการจาก Microsoft ดูเหมือนจะไม่เพียงพอ ฉันพบความคิดเห็นและคำตอบจากพนักงาน Microsoft ที่ถามถึงช่องโหว่ที่อาจเกิดขึ้นในการสนทนาเกี่ยวกับ UAC ตั้งแต่ปี 2550 เนื่องจากคำตอบนั้นมาจาก Jon Schwartz ซึ่งในเวลานั้นมีชื่อว่า "สถาปนิก UAC" ฉันต้องการ มักจะพิจารณาคำตอบของเขาที่มีความน่าเชื่อถือ นี่คือส่วนสำคัญของคำตอบของเขาสำหรับคำถามต่อไปนี้: "... ฉันไม่พบข้อมูลใด ๆ เพื่ออธิบายสิ่งที่เกิดขึ้นจริงในทางเทคนิคหรือหากนี่เป็นการเปิดช่องโหว่ UAC ใด ๆ คุณสามารถแสดงความคิดเห็นได้หรือไม่"

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

โดยส่วนตัวฉันคิดไม่ออกว่าจะ "เอาเปรียบ" ช่องโหว่นี้ตราบเท่าที่ "การเพาะ" โทเค็นที่ยกระดับด้วยการแมปไดรฟ์จะยังต้องการให้ผู้ใช้ยกระดับและดำเนินการสิ่งที่เป็นอันตรายจากการทำแผนที่ไดรฟ์ แม้ว่าฉันไม่ใช่นักวิจัยด้านความปลอดภัยและฉันอาจไม่ได้เข้าใกล้สิ่งนี้ด้วยความตั้งใจที่ดีเพื่อหาช่องโหว่ที่อาจเกิดขึ้น

ฉันหลบการใช้ค่าEnableLinkedConnectionsในเว็บไซต์ลูกค้าของฉันโดยดำเนินการตามแนวโน้มที่เราเริ่มเมื่อลูกค้าเริ่มปรับใช้ Windows NT 4.0 - ให้ผู้ใช้เข้าสู่ระบบด้วยบัญชีผู้ใช้ที่ จำกัด มันใช้งานได้ดีสำหรับเรามาหลายปีและยังคงทำงานได้ดีใน Windows 7


RE: "ฉันหลบโดยใช้ค่า EnableLinkedConnections ... [โดย] การที่ผู้ใช้เข้าสู่ระบบด้วยบัญชีผู้ใช้ที่ จำกัด " - บัญชีผู้ใช้ จำกัด สามารถเรียกใช้แอปพลิเคชันในฐานะผู้ดูแลระบบได้หรือ ฉันคิดว่าพวกเขาทำไม่ได้ (ถ้าพวกเขาทำไม่ได้ฉันก็ไม่เห็นว่าสิ่งนี้จะทำให้เกิดปัญหาได้หรือไม่ - ฉันหมายความว่าถ้าฉันบ่นกับช่างซ่อมเครื่องยนต์ว่าเครื่องยนต์ของฉันเมื่อขับรถ 80 ไมล์ต่อชั่วโมงฉันจะไม่ยอมรับการแก้ไขของเขา ยางแบนของฉัน [ในขณะที่มันเป็นไปไม่ได้ที่จะขับ 80 ไมล์ต่อชั่วโมงมันจะไม่แก้ไขปัญหาที่เกิดขึ้นจริง].)
BrainSlugs83

1
@ BrainSlugs83 - คุณกำลังแก้ไขความคิดเห็นในย่อหน้าเล็ก ๆ ของคำตอบยาว ๆ คำตอบให้ OP สิ่งที่พวกเขาต้องการ (ฉันถือว่าเนื่องจากพวกเขายอมรับ): คำอธิบายของค่ารีจิสตรี ฉันได้แสดงความคิดเห็นทันทีว่าจะบอก OP ว่ามีวิธีหลีกเลี่ยงที่จำเป็นต้องใช้ EnableLinkedConnections - เพียงแค่ไม่ให้บัญชีผู้ดูแลระบบแก่ผู้ใช้ บัญชีผู้ใช้จำนวน จำกัด - เป็นคำแนะนำของ Microsoft มาเกือบ 10 ปีแล้ว การเปรียบเทียบรถ / ช่างของคุณเครียดแล้ว IMO นี่ไม่ใช่ "ปัญหา" กับระบบปฏิบัติการ - เป็นคุณลักษณะด้านความปลอดภัย
Evan Anderson

โอ้ฉันกำลังตรึงอยู่อย่างแน่นอน ในกรณีที่มีความสับสน: ฉันไม่เถียงว่าคำตอบของคุณไม่ถูกต้อง มันเป็นเรื่องที่ดีมากฉันยังลงคะแนนมัน! - แต่ฉันกำลังแก้ไขปัญหาที่แท้จริงที่ฉันมี - ดังนั้นคำถามที่ฉันถามคุณเพื่อตรวจสอบว่าโซลูชันทางเลือกนี้จะใช้งานได้สำหรับฉันหรือไม่: "บัญชีผู้ใช้ที่ จำกัด สามารถเรียกใช้แอปพลิเคชันในฐานะผู้ดูแลระบบได้หรือไม่" ; ฉันรับมันจากคำตอบของคุณว่าข้อสันนิษฐานเบื้องต้นของฉันนั้นถูกต้อง
BrainSlugs83

นอกจากนี้ฉันไม่เห็นด้วยอย่างยิ่งว่าการเปรียบเทียบนั้นยืดออกไป การละทิ้งความสามารถในการเรียกใช้แอพในฐานะผู้ดูแลระบบจะเหมือนกับการทำให้ยางแบนราบกับคอมพิวเตอร์ของฉัน ฉันมีโครงการ Microsoft Visual Studio ที่ไม่สามารถคอมไพล์ได้ในระหว่างขั้นตอนการเซ็นชื่อหาก Visual Studio ไม่ได้เปิดตัวด้วย "Run as Administrator" ฉันได้พยายามแก้ไขปัญหานี้แล้ว แต่ไม่พบวิธีแก้ปัญหาไม่ว่าจะเป็นบน google บล็อกหรือสแต็กมากเกินไป (นี่ไม่ใช่เหตุการณ์ที่แยกต่างหาก) ความสามารถในการใช้งานแอพในฐานะผู้ดูแลระบบเป็นสิ่งที่จำเป็นสำหรับผู้ใช้บางคน (แม้เมื่อใช้ซอฟต์แวร์ Microsoft เท่านั้น)
BrainSlugs83

3
หากคุณต้องการเรียกใช้แอปในฐานะผู้ดูแลระบบฉันขอแนะนำให้คุณมีบัญชีผู้ใช้ที่สองและใช้แอปนี้เพื่อเรียกใช้แอปพลิเคชันที่ยกระดับด้วย "เรียกใช้ในฐานะผู้ดูแลระบบ" นั่นเป็นทางเลือกเดียวที่ฉันเห็น หากแอปพลิเคชันทำงานไม่ถูกต้องด้วย "Run As" แสดงว่าแอปพลิเคชันนั้นมีข้อบกพร่อง (ฉันขอยืนยันว่าแอปพลิเคชันใด ๆ ที่ต้องการสิทธิ์ของผู้ดูแลระบบและไม่ใช่แอปพลิเคชันการดูแลระบบเครือข่ายหรือคอมพิวเตอร์ก็มีข้อบกพร่องเช่นกัน - ซอฟต์แวร์ MSFT หรือไม่) ฉันพบซอฟต์แวร์ที่มีข้อบกพร่องอย่างใดอย่างหนึ่ง สามารถเข้าใจความคับข้องใจของคุณได้เช่นกัน ฉันหวังว่าจะมีทางออกที่ดี
Evan Anderson

1

ใส่เพียงแค่มันเชื่อมโยงข้อมูลประจำตัวของผู้ใช้ super กับข้อมูลประจำตัวปกติของคุณ แน่นอนว่ามีความซับซ้อนมากขึ้น แต่โดยทั่วไปแล้วแม้แต่บัญชี "ผู้ดูแลระบบ" ของคุณใน windows 7 ก็ไม่ใช่ผู้ดูแลระบบ แต่จำเป็นต้องเทียบเท่า SUDO บน linux เพื่อดำเนินการที่หลากหลาย เมื่อคุณแมปไดรฟ์เครือข่ายคุณต้องทำเช่นนี้ แต่ไดรฟ์เครือข่ายจะถูกแมปเฉพาะผู้ใช้ระดับสูงไม่ใช่ผู้ใช้ปกติ การตั้งค่ารีจิสทรีนี้เชื่อมโยงข้อมูลรับรองผู้ใช้ขั้นสูงกับมาตรฐานของคุณเพื่อวัตถุประสงค์ของไดรฟ์ที่แมป วิธีนี้ทั้งสองสามารถเข้าถึงไดรฟ์ที่แมปแทนผู้ใช้ระดับสูง


คุณช่วยอธิบายได้ไหมว่าการตั้งค่านี้มีผลเฉพาะไดรฟ์เครือข่ายหรือไม่ หรือมีผลกระทบอื่น ๆ ? (ดูการแก้ไข q)
Martin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.