จำกัด การเข้าถึงสำหรับผู้ดูแลระบบ Windows


11

ตามแนวทางปฏิบัติที่ดีที่สุดของSQL Serverกล่าวว่า " โหมดการตรวจสอบ Windows มีความปลอดภัยมากกว่าการรับรองความถูกต้องของ SQL " และตอนนี้ฉันอยากรู้ว่า: มีวิธีปกป้อง SQL Server จากผู้ใช้ด้วยสิทธิ์ผู้ดูแลระบบ Windows หรือไม่?


4
กฎหมายความปลอดภัยฉบับที่ 6: "คอมพิวเตอร์มีความปลอดภัยเท่ากับผู้ดูแลระบบที่ไว้ใจได้" กฎหมายที่ 2 และ 10 มีความเกี่ยวข้องเช่นกันที่นี่ technet.microsoft.com/library/cc722487.aspx
Dan Is Fiddling โดย Firelight

คำตอบ:


15

เลขที่

หากผู้ใช้เป็นผู้ดูแลระบบ Windows ของกล่องสมมติว่าพวกเขาเป็นเจ้าของทุกอย่างในกล่อง (รวมถึง SQL Server) ด้วยสิทธิ์ของผู้ดูแลของ Windows มันไม่ได้เป็นเรื่องที่จะข้ามการป้องกันการกำหนดเป้าหมายที่คุณใช้ (เช่นทริกเกอร์เข้าสู่ระบบที่ระบุชื่อผู้ใช้ของพวกเขา) โดยแอบอ้างเป็นคนอื่น (รวมทั้งNT AUTHORITY\SYSTEMที่ได้รับพฤตินัยสิทธิผู้ดูแลระบบในทุกกรณี SQL Server ท้องถิ่น ) การตรวจสอบจะไม่ช่วยอะไรมากนักเนื่องจากสามารถปิดได้ง่าย แต่คุณควรมีไว้ในกรณี

หากคุณไม่เชื่อใจใครสักคนอย่าให้สิทธิ์ผู้ดูแลระบบ Windows กับพวกเขาเป็นระยะเวลา


2
+1 สิ่งใดก็ตามที่อ้างว่าจะปฏิเสธ builtin \ administrator คือน้ำมันงู
Remus Rusanu

1

ไม่ไม่สามารถป้องกันผู้ดูแลระบบภายในจากการsysadminเข้าถึง SQL Server ได้

หากมีการเริ่มต้นอินสแตนซ์ใหม่ในโหมดผู้ใช้คนเดียว SQL Server จะถูกกำหนดค่าตายตัวเพื่อให้sysadminสิทธิ์ผู้ดูแลระบบภายในแม้ว่าจะไม่มีการเข้าสู่ระบบที่ชัดเจน เหตุผลที่มีอยู่นี้มีวัตถุประสงค์เพื่อการกู้คืนเพราะเป็นไปได้ที่จะล็อคตัวเองออกจากอินสแตนซ์

ที่กล่าวว่าการ จำกัด การเข้าถึงในขณะที่อินสแตนซ์กำลังทำงานในโหมดผู้ใช้หลายคน (โดยไม่มีการหยุดชะงักของบริการ) นั้นไม่ยาก ตามที่กล่าวไว้ใน Aaron ผู้ดูแลระบบในท้องถิ่นสามารถเลียนแบบNT AUTHORITY\SYSTEMซึ่งโดยค่าเริ่มต้นจะมีการsysadminเข้าสู่ระบบระดับที่สร้างขึ้นใน SQL Server 2008 ซึ่งสามารถนำไปใช้เพื่อกู้คืนsysadminการเข้าถึงในขณะที่เซิร์ฟเวอร์กำลังทำงานอยู่ (หมายเหตุ: ใน SQL Server 2012 การเข้าสู่ระบบนี้ไม่มีอีกต่อไปsysadmin) ฉันไม่รู้ว่าการเข้าสู่ระบบนี้ใช้สำหรับอะไร (การอัพเกรด / การแก้ไขที่น่าสนใจ / ฯลฯ ซึ่งสันนิษฐานได้) แต่ฉันคิดว่ามันปลอดภัยที่จะปิดใช้งานยกเว้นในระหว่าง เหตุการณ์เหล่านั้น หากไม่มีการเข้าสู่ระบบที่ไม่มีตัวตนอื่น ๆ นั่นน่าจะเพียงพอที่จะปฏิเสธการเข้าถึง อีกครั้งเฉพาะในกรณีเช่นกำลังทำงานอย่างต่อเนื่อง


0

โดยค่าเริ่มต้นใน SQL 2008 และ 2012 ไม่มีการเข้าถึงเริ่มต้นสำหรับผู้ดูแลระบบ Windows ไปยัง SQL Server สำหรับผู้ดูแลระบบ Windows (เช่นใครบางคนที่เป็นทั้งผู้ดูแลโดเมนหรือผู้ดูแลท้องถิ่น) เพื่อให้สามารถเข้าถึงการเข้าสู่ระบบของพวกเขาจะต้องได้รับสิทธิ์การเข้าถึงอย่างชัดเจนหรือกลุ่มที่พวกเขาอยู่ในการเข้าถึงที่ได้รับสิทธิ์ คุณจะต้องทำการตั้งค่าอินสแตนซ์เพื่อระบุการเข้าสู่ระบบ Active Directory หนึ่งครั้งหรือกลุ่มในฐานะผู้ดูแลระบบ แต่การเข้าสู่ระบบ / กลุ่มนั้นสามารถเป็นใครก็ได้ในโดเมนของคุณ

ใน SQL 2005 มีBUILTIN\Administratorsกลุ่มที่มีสิทธิ์การเข้าถึงดูแลระบบ กลุ่มนี้จะช่วยให้ผู้ดูแลระบบท้องถิ่นดูแลระบบการเข้าถึง SQL Server กลุ่มนี้สามารถลบออกจาก SQL Server และได้รับการพิจารณาว่าเป็นแนวทางปฏิบัติที่ดีที่สุด

อย่างที่กล่าวไว้ไม่มีวิธีใดที่จะป้องกัน Windows (ภายในหรือโดเมน) ไม่ให้กระทบกับเซิร์ฟเวอร์ที่ SQL Server ใช้งานอยู่ ซึ่งหมายความว่าผู้ดูแลระบบยังสามารถส่งผลกระทบต่อบริการและการกำหนดค่าระดับระบบปฏิบัติการเปลี่ยนการรักษาความปลอดภัยไดเรกทอรีและงานระดับระบบปฏิบัติการอื่น นี่คือเหตุผลว่าทำไมพวกเขาถึงเป็นผู้ดูแลระบบ Windows

โดยทั่วไปคุณควรเชื่อถือผู้ดูแลระบบของคุณทั้ง SQL Server และ Windows ในขณะที่ผู้ดูแลระบบ Windows ไม่สามารถทำงานหรือเข้าถึงข้อมูล (โดยค่าเริ่มต้น) ภายใน SQL Server เองพวกเขายังคงควบคุมสภาพแวดล้อมที่ SQL Server ของคุณอาศัยอยู่ คุณต้องดูแลกับคนที่คุณมอบหมายให้กับบทบาทเหล่านั้น


3
อย่าใช้ความสะดวกสบายมากเกินไปในสิ่งนี้ - ในขณะที่การเปลี่ยนแปลงที่ Microsoft ทำไว้ทำให้มีความปลอดภัยมากขึ้นเล็กน้อย มันเป็นเรื่องเล็กน้อยสำหรับผู้ดูแลระบบท้องถิ่นที่ปลอมตัวและทำการประมูลโดยตรงกับอินสแตนซ์ของ SQL Server ใด ๆ ในพื้นที่ - ดังนั้นคุณต้องกังวลเกี่ยวกับอิทธิพลทางอ้อมมากกว่าในระดับระบบปฏิบัติการ
Aaron Bertrand

ฉันต้องถามว่า - อะไรคือเหตุผลที่สมควรให้สิทธิ์แก่ผู้ดูแลระบบของผู้ใช้ที่ไม่น่าเชื่อถือในการเข้าถึงเซิร์ฟเวอร์
Mark Allen

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