วิธีการทำให้การเข้าถึงที่ไม่พึงประสงค์กับ SQL Server 2005 โดยผู้ดูแลระบบปฏิบัติยาก


บทนำ


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

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

กลุ่ม Windows ที่คุณสร้างขึ้นสำหรับ SQL Server 2005 รายงานบริการ (SSRS) และ สำหรับบริการการค้นหาแบบเต็มหน่วย จะได้รับการล็อกอินของ SQL Server นอกจากนี้ อย่างไรก็ตาม บริการรายงานและบริการการค้นหาแบบเต็มหน่วยจะไม่จัดสรรในเซิร์ฟเวอร์ถาวรหน้าที่

SQL Server 2005 ผู้ดูแลต้องบทบาทหน้าที่ ของผู้ดูแลฐานข้อมูล และดูแลระบบปฏิบัติการจะคั่นเคร่งครัด ผู้ดูแลเหล่านี้ต้องการป้องกันการเข้าถึงที่ไม่พึงประสงค์โดยผู้ดูแลระบบปฏิบัติการ SQL Server 2005

ข้อมูลเพิ่มเติม


วิธีการทำให้การเข้าถึงที่ไม่พึงประสงค์กับ SQL Server 2005 โดยผู้ดูแลระบบปฏิบัติยาก

เมื่อต้องการทำให้ไม่เป็นที่ต้องการเข้าถึง SQL Server 2005 โดยผู้ดูแลระบบปฏิบัติยาก คุณต้องเอาสิทธิ์เข้าสู่ระบบที่ได้รับอนุญาตให้กับกลุ่ม\ผู้ดูแลระบบ แล้ว คุณต้องอนุญาตให้เข้าสู่ระบบโดยตรงกับบัญชีบริการ สำหรับ SQL Server 2005 และ SQL Server แทน ถัดไป คุณต้องเตรียมใช้ล็อกอินในหน้าที่ถาวรของเซิร์ฟเวอร์ ในตอนท้าย คุณต้องลบการล็อกอินที่ถูกมอบให้กับกลุ่มของ Windows ตามลำดับ เมื่อต้องการทำเช่นนี้ ให้ทำตามขั้นตอนเหล่านี้
  1. ตรวจสอบให้แน่ใจว่า คุณมีบัญชีผู้ใช้ที่เป็นสมาชิกของ sysadmin เซิร์ฟเวอร์ถาวร บัญชีนี้จะไม่ได้รับสิทธิ์ในการเข้าสู่ระบบ SQL Server 2005 โดยการเป็นสมาชิกของกลุ่ม\ผู้ดูแลระบบเท่านั้น
  2. เอาสิทธิ์การเข้าสู่ระบบที่ได้รับสิทธิให้กับกลุ่ม\ผู้ดูแลระบบ เมื่อต้องการทำเช่นนี้ ให้ทำตามขั้นตอนเหล่านี้
    1. เข้าสู่ระบบ SQL Server 2005 โดยใช้บัญชีผู้ใช้ที่มีสิทธิ์ในการเข้าสู่ระบบใด ๆ ที่เปลี่ยนแปลง
    2. ขยายความปลอดภัยล็อกอินขยาย กขวา\ผู้ดูแลระบบนั้นแล้ว คลิกลบ
    3. ในกล่องโต้ตอบลบวัตถุคลิกตกลง
    หมายเหตุ หลังจากที่คุณลบการเข้าสู่ระบบที่ได้รับไปยังกลุ่ม\ผู้ดูแลระบบ บัญชีใด ๆ ที่ขึ้นกับการเป็นสมาชิกในกลุ่มนี้เข้าสู่ระบบ SQL Server 2005 เท่านั้น จะไม่สามารถเข้าถึง SQL Server 2005

    สำหรับข้อมูลเกี่ยวกับบัญชีผู้ใช้บริการบริการคลัสเตอร์ Microsoft (MSCS) ดูส่วน "บัญชีบริการบริการคลัสเตอร์ Microsoft (MSCS)"
  3. ใช้บัญชีผู้ใช้ที่มีสิทธิ์เข้าสู่ระบบใด ๆ ที่เปลี่ยนแปลงไปอย่างชัดเจนให้ล็อกอินของ SQL Server 2005 โดยตรงไปยังบัญชีบริการที่ใช้ โดย SQL Server 2005 และ SQL Server แทน เมื่อต้องการทำเช่นนี้ ดำเนินการคำสั่ง SQL ต่อไปนี้
    CREATE LOGIN [<Domain Name>\<SQL Server Service Account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master]CREATE LOGIN [<Domain Name >\<SQL Server Agent Service Account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master]

  4. ใช้แอคเคาท์ที่เป็นสมาชิกของ SYSADMIN แบบถาวรบทบาทเซิร์ฟเวอร์การเตรียมใช้งานการล็อกอินที่คุณเพิ่มลงในขั้นตอนที่ 2 ใน SYSADMIN แบบถาวรบทบาทเซิร์ฟเวอร์
    EXEC master..sp_addsrvrolemember @loginame = N'<Domain Name>\<SQL Server Service Account> ', @rolename = N'sysadmin'EXEC master..sp_addsrvrolemember @loginame = N'<Domain Name>\<SQL Server Agent Service Account> ', @rolename = N'sysadmin'

  5. ใช้แอคเคาท์ที่มีสิทธิ์เข้าสู่ระบบใด ๆ ที่เปลี่ยนแปลงเพื่อลบการล็อกอินที่มอบให้ กับกลุ่ม SQL Server 2005 และกลุ่ม Windows ตัวแทนของเซิร์ฟเวอร์ SQL
    DROP LOGIN [<Computer Name>\<SQLServer2005SQLServerUser>$<Computer Name>$MSSQLSERVER]DROP LOGIN [<Computer Name>\<SQLServer2005AgentUser>$<Computer Name>$MSSQLSERVER]

แม้หลังจากที่คุณทำตามขั้นตอนเหล่านี้ รหัสผ่าน สำหรับบัญชีผู้ใช้บริการ SQL Server 2005 และ สำหรับบัญชีผู้ใช้บริการของบริษัทตัวแทนการเซิร์ฟเวอร์ SQL ต้องถูกเก็บไว้เป็นความลับจากผู้ดูแลระบบปฏิบัติการ ถ้าบัญชีผู้ใช้บริการ MSCS ถูกจัดสรรใน SYSADMIN แบบถาวรบทบาทเซิร์ฟเวอร์ รหัสผ่านของบัญชีบริการ MSCS ต้องยังเก็บอยู่ลับจากผู้ดูแลระบบปฏิบัติการ ถ้าผู้ดูแลระบบปฏิบัติการที่ทราบรหัสผ่าน สำหรับบัญชีผู้ใช้บริการ SQL Server 2005 หรือ สำหรับบัญชีผู้ใช้บริการของบริษัทตัวแทนการเซิร์ฟเวอร์ SQL ผู้ดูแลระบบปฏิบัติการที่สามารถใช้บัญชีผู้ใช้บริการเข้าสู่ระบบคอมพิวเตอร์ หลังจากที่ผู้ดูแลของระบบปฏิบัติการเข้าสู่ระบบคอมพิวเตอร์ ดูแลระบบปฏิบัติการสามารถเชื่อมต่อกับอินสแตนซ์ของ SQL Server 2005 เป็นผู้ดูแลเซิร์ฟเวอร์ SQL

เพื่อป้องกันไม่ให้ผู้ดูแลระบบปฏิบัติการเรียนรู้รหัสผ่านของบัญชีบริการที่ใช้ โดย SQL Server 2005 และบริษัทตัว แทนการเซิร์ฟเวอร์ SQL, SQL Server ผู้ดูแลระบบต้องสามารถตั้งค่ารหัสผ่านใหม่สำหรับบัญชีผู้ใช้บริการ ในกรณีส่วนใหญ่ ผู้ดูแลระบบ SQL Server 2005 ไม่ใช่ระบบปฏิบัติการที่ผู้ดูแล ดังนั้น จึง ต้องเขียนโปรแกรมอรรถประโยชน์พิเศษวัตถุประสงค์เพื่อให้ฟังก์ชันการทำงานนี้ ตัวอย่างเช่น คุณสามารถสร้างบริการเชื่อถือได้ที่ SQL Server 2005 ผู้ดูแลระบบสามารถใช้เพื่อเปลี่ยนรหัสผ่านสำหรับบัญชีบริการที่ใช้ โดย SQL Server 2005 Microsoft กำลังให้บริการนี้

บัญชีผู้ใช้บริการบริการคลัสเตอร์ Microsoft (MSCS)

ในการติดตั้งคลัสเตอร์ล้มเหลว SQL Server 2005 บัญชีบริการซิ MSCS อาศัยเป็นสมาชิกในกลุ่ม\ผู้ดูแลระบบเข้าสู่ระบบ SQL Server 2005 เพื่อรันการตรวจสอบ IsAlive ถ้าคุณสามารถเอากลุ่ม\ผู้ดูแลระบบจากคลัสเตอร์ล้มเหลว คุณต้องให้สิทธิการอนุญาต MSCS บัญชีบริการเข้าสู่ระบบคลัสเตอร์ล้มเหลว SQL Server 2005 อย่างชัดเจน เมื่อต้องการทำเช่นนี้ ดำเนินการคำสั่ง SQL ต่อไปนี้ในอินสแตนซ์ของ SQL Server 2005
CREATE LOGIN [<Domain Name>\<MSCS Service Account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
SQL Server 2005 Service Pack 2 เพิ่มความสามารถในการวินิจฉัยใหม่สำหรับคลัสเตอร์ล้มเหลว SQL Server 2005 การวินิจฉัยการจับสถานะของทรัพยากรคลัสเตอร์ SQL Server 2005 โดยอัตโนมัติก่อนที่คลัสเตอร์ล้มเหลวเหนือ ใน SQL Server 2005 ทรัพยากรแบบไดนามิกเชื่อมโยงไลบรารี (DLL) ทำการรวบรวมข้อมูลการวินิจฉัยนี้ง่ายขึ้น ดังนี้:
  • ทรัพยากรของ SQL Server 2005 เริ่มต้นอินสแตนซ์ของโปรแกรมอรรถประโยชน์นี้ Sqlcmd.exe ภายใต้บริบทความปลอดภัยของบัญชีผู้ใช้บริการ MSCS แล้ว ทรัพยากร SQL Server 2005 เรียกใช้สคริปต์ SQL ที่ผ่านการเชื่อมต่อเฉพาะผู้ดูแลระบบ (DAC) ซึ่งตัวอย่างมุมมองแบบไดนามิกจัดการต่าง ๆ (DMV)
  • ทรัพยากรของ SQL Server 2005 รวบรวมแฟ้มการถ่ายโอนข้อมูลผู้ใช้ของกระบวนการ SQL Server 2005 ก่อนคลัสเตอร์ล้มเหลวเหนือ
เนื่องจากการเชื่อมต่อเฉพาะผู้ดูแลระบบใช้เพื่อรวบรวมข้อมูลการวินิจฉัยบางอย่าง บัญชีบริการ MSCS ต้องพร้อมใช้งานในหน้าที่ถาวรของเซิร์ฟเวอร์ ถ้าวิธีปฏิบัติการรักษาความปลอดภัยขององค์กรของคุณมีความหมาย ว่า ไม่สามารถเตรียมใช้งานบัญชีผู้ใช้บริการ MSCS ใน SYSADMIN แบบถาวรบทบาทเซิร์ฟเวอร์ บัญชีบริการซิ MSCS จะได้รับการล็อกอินของ SQL Server ที่ถูกเตรียมใช้งานใน SYSADMIN แบบถาวรบทบาทเซิร์ฟเวอร์ ในสถานการณ์สมมตินี้ การวินิจฉัยซึ่งมักจะจับภาพ โดยใช้โปรแกรมอรรถประโยชน์ Sqlcmd.exe นี้จะล้มเหลวเนื่องจากโปรแกรมอรรถประโยชน์ Sqlcmd.exe นี้ไม่สามารถเข้าสู่ระบบ SQL Server 2005 ทรัพยากรของ SQL Server 2005 DLL ควรสามารถรวบรวมแฟ้มการถ่ายโอนข้อมูลผู้ใช้โดยไม่คำนึงถึงว่าบัญชีผู้ใช้บริการของ SQL Server 2005 ทรัพยากร DLL ถูกเตรียมใช้งานใน SYSADMIN แบบถาวรบทบาทเซิร์ฟเวอร์

ถ้าคุณต้องการ เข้าสู่ระบบ SQL Server 2005 โดยใช้แอคเคาท์ที่เป็นสมาชิกของ SYSADMIN แบบถาวรบทบาทเซิร์ฟเวอร์ ดำเนินการคำสั่ง SQL ต่อไปนี้เพื่อเพิ่มบัญชีผู้ใช้บริการ MSCS เซิร์ฟเวอร์ถาวรหน้าที่แล้ว
EXEC master.sp_addsrvrolemember @loginame = N'<Domain Name>\<MSCS Service Account> ', @rolename = N'sysadmin'

วิธีการเปลี่ยนบัญชีบริการ

แม้ว่าขั้นตอนก่อนหน้านี้อาจทำให้ยากสำหรับผู้ดูแลระบบปฏิบัติการเพื่อเชื่อมต่อกับ SQL Server 2005 ขั้นตอนก่อนหน้าทำยุ่งยากมากขึ้นเมื่อต้องการเปลี่ยนบัญชีบริการ สำหรับ SQL Server 2005 และ SQL Server แทน เมื่อต้องการเปลี่ยนบัญชีบริการ สำหรับ SQL Server 2005 และ SQL Server Agent ให้ทำตามขั้นตอนเหล่านี้:
  1. เพิ่มบัญชีผู้ใช้บริการใหม่หรือบัญชีบริการไปยังกลุ่มของ Windows หรือกลุ่มที่คุณสร้างขึ้น สำหรับ SQL Server และ SQL Server แทน
  2. ใช้แอคเคาท์ที่มีสิทธิ์ล็อกอินใด ๆ ที่มีการเปลี่ยนแปลงในการสร้างล็อกอิน SQL Server 2005 สำหรับบัญชีการบริการใหม่ เมื่อต้องการทำเช่นนี้ ดำเนินการคำสั่ง SQL ต่อไปนี้จากบัญชีที่มีสิทธิ์ในการเข้าสู่ระบบใด ๆ ที่เปลี่ยนแปลง
    CREATE LOGIN [<Domain Name>\<New SQL Server Service Account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master]CREATE LOGIN [<Domain Name>\<New SQL Server Agent Service Account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master]

  3. ใช้บัญชีผู้ใช้ที่ถูกเตรียมใช้งานในเซิร์ฟเวอร์ถาวรหน้าที่สามารถดำเนินการคำสั่ง SQL ต่อไปนี้
    EXEC master..sp_addsrvrolemember @loginame = N’ <Domain Name>\<New SQL Server Service Account> ', @rolename = N'sysadmin'EXEC master..sp_addsrvrolemember @loginame = N’ <Domain Name>\<New SQL Server Agent Service Account> ', @rolename = N'sysadmin'

    หมายเหตุ คำชี้แจงนี้เพิ่มบัญชีผู้ใช้บริการ SQL Server 2005 และบัญชีการบริการบริษัทตัวแทนการเซิร์ฟเวอร์ SQL เพื่อ SYSADMIN แบบถาวรบทบาทเซิร์ฟเวอร์
  4. เปลี่ยนบัญชีบริการสำหรับบริการที่เหมาะสม โดยใช้โปรแกรมจัดการการตั้งค่าคอนฟิกเซิร์ฟเวอร์ SQL เมื่อต้องการทำเช่นนี้ ให้ทำตามขั้นตอนเหล่านี้
    1. ใน SQL Server จัดการการตั้งค่า คลิกบริการ SQL Server 2005
    2. คลิกขวาบริการที่คุณต้องการแก้ไข และจากนั้น คลิกคุณสมบัติ
    3. คลิกแท็บการเข้าสู่ระบบและจากนั้น ป้อนข้อมูลบัญชีผู้ใช้ที่คุณต้องการใช้บริการ
    4. คลิกตกลงเมื่อคุณเสร็จสิ้นการป้อนข้อมูลบัญชีผู้ใช้
    หมายเหตุ เมื่อคุณเปลี่ยนบัญชีผู้ใช้บริการ โปรแกรมจัดการการตั้งค่าคอนฟิกเซิร์ฟเวอร์ SQL พร้อมท์ให้คุณเริ่มการทำงานการบริการ
  5. ใช้แอคเคาท์ที่มีสิทธิ์เข้าสู่ระบบใด ๆ ที่เปลี่ยนแปลงเพื่อลบการล็อกอินที่ถูกใช้ โดยบัญชีผู้ใช้บริการ SQL Server 2005 และบัญชีการบริการบริษัทตัวแทนการเซิร์ฟเวอร์ SQL เมื่อต้องการทำเช่นนี้ ดำเนินการคำสั่ง SQL ต่อไปนี้
    DROP LOGIN [<Domain Name>\<Old SQL Server Service Account>]DROP LOGIN [<Domain Name>\<Old SQL Server Agent Service Account>]

หมายเหตุ คุณไม่มีการให้สิทธิ์ใหม่ของ Windows NT หรือสิทธิ์ไปยังบัญชีบริการใหม่ใด ๆ ได้เนื่องจากคุณเพิ่มบัญชีการบริการใหม่ลงในกลุ่ม Windows เกี่ยวข้องในขั้นตอนที่ 1

คำแนะนำเกี่ยวกับการใช้กระบวนการตรวจสอบ

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

บัญชีผู้ใช้ NT AUTHORITY\SYSTEM

บัญชีผู้ใช้ NT AUTHORITY\SYSTEM ยังได้รับการเข้าสู่ระบบ SQL Server บัญชีผู้ใช้ NT AUTHORITY\SYSTEM ถูกเตรียมใช้งานในหน้าที่ถาวรของเซิร์ฟเวอร์ ลบบัญชีผู้ใช้นี้ หรือเอาออกจากเซิร์ฟเวอร์ถาวร SYSADMIN บทบาท บัญชี NTAUTHORITY\SYSTEM ถูกใช้ โดย Microsoft Update และ Microsoft SMS service pack และโปรแกรมแก้ไขด่วนที่นำไปใช้กับการติดตั้ง SQL Server 2005 นอกจากนี้ยังมีใช้บัญชี NTAUTHORITY\SYSTEM โดยบริการตัวเขียน SQL

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

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแนวทางปฏิบัติด้านความปลอดภัยสำหรับ SQL Server 2005 ดูหัวข้อ "ความปลอดภัยข้อควรพิจารณาสำหรับการติดตั้ง SQL Server" ใน SQL Server 2005 Books Online

ข้อมูลอ้างอิง


สำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อควรพิจารณาด้านความปลอดภัยสำหรับการติดตั้ง SQL Server แวะไป Microsoft TechNet เว็บไซต์ต่อไปนี้: