ค้นหาเว็บไซต์

วิธีเปิดใช้งานการตรวจสอบเซิร์ฟเวอร์ SQL และตรวจสอบบันทึกการตรวจสอบ


การตรวจสอบ Microsoft SQL Server มีความสำคัญอย่างยิ่งต่อการระบุปัญหาด้านความปลอดภัยและการละเมิด นอกจากนี้ การตรวจสอบ SQL Server ยังเป็นข้อกำหนดสำหรับการปฏิบัติตามกฎระเบียบ เช่น PCI DSS และ HIPAA

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

  • การตรวจสอบ C2
  • เกณฑ์การปฏิบัติตามข้อกำหนดทั่วไป
  • การตรวจสอบเข้าสู่ระบบ
  • การตรวจสอบเซิร์ฟเวอร์ SQL
  • ติดตาม SQL
  • กิจกรรมขยาย
  • เปลี่ยนการเก็บข้อมูล
  • ทริกเกอร์ DML, DDL และการเข้าสู่ระบบ

บทความนี้มีไว้สำหรับผู้ดูแลระบบฐานข้อมูล (DBA) ที่กำลังมองหาการใช้การตรวจสอบ C2, เกณฑ์การปฏิบัติตามข้อกำหนดทั่วไป และการตรวจสอบเซิร์ฟเวอร์ SQL เราจะไม่มองหาเครื่องมือตรวจสอบจากบุคคลที่สาม แม้ว่าเครื่องมือเหล่านี้จะช่วยได้มาก โดยเฉพาะในสภาพแวดล้อมขนาดใหญ่และในอุตสาหกรรมที่ได้รับการควบคุม

เปิดใช้งานการตรวจสอบ C2 และการปฏิบัติตามเกณฑ์ทั่วไป

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

Common Criteria Compliance เป็นมาตรฐานใหม่ที่เข้ามาแทนที่การตรวจสอบ C2 ได้รับการพัฒนาโดยสหภาพยุโรปและสามารถเปิดใช้งานได้ใน SQL Server 2008 R2 รุ่น Enterprise และ Datacenter และใหม่กว่า แต่อาจทำให้เกิดปัญหาด้านประสิทธิภาพได้หากเซิร์ฟเวอร์ของคุณไม่มีข้อมูลจำเพาะเพียงพอที่จะรับมือกับค่าใช้จ่ายเพิ่มเติม

ต่อไปนี้เป็นวิธีเปิดใช้งานการตรวจสอบ C2 ใน SQL Server 2017:

1. เปิด Studio จัดการเซิร์ฟเวอร์ SQL

2. เชื่อมต่อกับกลไกฐานข้อมูลที่คุณต้องการเปิดใช้งานการตรวจสอบ C2 ในกล่องโต้ตอบเชื่อมต่อกับเซิร์ฟเวอร์ ตรวจสอบให้แน่ใจว่าได้ตั้งค่า ประเภทเซิร์ฟเวอร์ เป็น เครื่องมือฐานข้อมูล แล้วคลิก เชื่อมต่อ

3. ในแผง Object Explorer ทางด้านซ้าย คลิกขวาที่อินสแตนซ์ SQL Server ของคุณที่ด้านบน และเลือก คุณสมบัติ จากเมนู

4. ในหน้าต่างคุณสมบัติเซิร์ฟเวอร์ คลิก ความปลอดภัย ใต้ เลือกหน้า

5. บนหน้าความปลอดภัย คุณสามารถกำหนดค่าการตรวจสอบการเข้าสู่ระบบได้ ตามค่าเริ่มต้น ระบบจะบันทึกเฉพาะการเข้าสู่ระบบที่ล้มเหลวเท่านั้น หรือคุณสามารถตรวจสอบการเข้าสู่ระบบที่สำเร็จเท่านั้น หรือทั้งการเข้าสู่ระบบที่ล้มเหลวและสำเร็จทั้งคู่

รูปที่ 1. การกำหนดค่าการตรวจสอบการเข้าถึง

6. เลือกเปิดใช้งานการติดตามการตรวจสอบ C2 ใต้ ตัวเลือก

7. หากคุณต้องการเปิดใช้งานการตรวจสอบการปฏิบัติตามเกณฑ์ทั่วไปของ C2 ให้เลือกเปิดใช้งานการปฏิบัติตามเกณฑ์ทั่วไป

การปฏิบัติตามเกณฑ์ทั่วไป (CC) เป็นมาตรฐานที่ยืดหยุ่นซึ่งสามารถนำไปใช้กับระดับการรับประกันการประเมิน (EAL) ที่แตกต่างกันได้ตั้งแต่ 1 ถึง 7 EAL ที่สูงกว่าจะมีกระบวนการตรวจสอบที่มีความต้องการมากขึ้น เมื่อคุณเลือก เปิดใช้งานการปฏิบัติตามเกณฑ์ทั่วไป ใน SQL Server คุณกำลังเปิดใช้งาน CC Compliance EAL1 คุณสามารถกำหนดค่า SQL Server ด้วยตนเองสำหรับ EAL4+ ได้

การเปิดใช้งานการปฏิบัติตาม CC จะเปลี่ยนพฤติกรรมของ SQL Server ตัวอย่างเช่น สิทธิ์ DENY ระดับตารางจะมีความสำคัญเหนือกว่า GRANT ระดับคอลัมน์ และการเข้าสู่ระบบทั้งที่สำเร็จและล้มเหลวจะได้รับการตรวจสอบ นอกจากนี้ ยังมีการเปิดใช้งาน Residual Information Protection (RIP) ซึ่งจะเขียนทับการจัดสรรหน่วยความจำด้วยรูปแบบบิตก่อนที่ทรัพยากรใหม่จะใช้

8. คลิก ตกลง

9. ขึ้นอยู่กับตัวเลือกที่เลือก คุณอาจได้รับแจ้งให้รีสตาร์ท SQL Server หากคุณได้รับข้อความนี้ ให้คลิก ตกลง ในกล่องโต้ตอบคำเตือน หากคุณเปิดใช้งานการปฏิบัติตามเกณฑ์ทั่วไปของ C2 ให้รีบูตเซิร์ฟเวอร์ หรือคลิกขวาที่อินสแตนซ์ SQL Server ของคุณใน Object Explorer อีกครั้ง และเลือก รีสตาร์ท จากเมนู ในกล่องโต้ตอบคำเตือน คลิก ใช่ เพื่อยืนยันว่าคุณต้องการรีสตาร์ท SQL Server

การเปิดใช้งานการตรวจสอบเซิร์ฟเวอร์ SQL

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

สร้างวัตถุการตรวจสอบเซิร์ฟเวอร์

มาสร้างออบเจ็กต์การตรวจสอบ SQL Server ระดับเซิร์ฟเวอร์กันดีกว่า:

1. ในแผง Object Explorer ทางด้านซ้าย ให้ขยาย ความปลอดภัย

2. คลิกขวาที่ การตรวจสอบ และเลือก การตรวจสอบใหม่… จากเมนู ซึ่งจะสร้างวัตถุการตรวจสอบเซิร์ฟเวอร์ SQL ใหม่สำหรับการตรวจสอบระดับเซิร์ฟเวอร์

3. ในหน้าต่างสร้างการตรวจสอบ ให้ตั้งชื่อการตั้งค่าการตรวจสอบใน ชื่อการตรวจสอบ

4. ระบุสิ่งที่จะเกิดขึ้นหากการตรวจสอบ SQL Server ล้มเหลวโดยใช้ On Audit Log Failure คุณสามารถเลือก ดำเนินการต่อ หรือเลือกที่จะปิดเซิร์ฟเวอร์หรือหยุดการทำงานของฐานข้อมูลที่ได้รับการตรวจสอบ หากคุณเลือก การดำเนินการล้มเหลว การทำงานของฐานข้อมูลที่ไม่ได้รับการตรวจสอบจะยังคงทำงานต่อไป

รูปที่ 2 การสร้างออบเจ็กต์การตรวจสอบ SQL Server ระดับเซิร์ฟเวอร์

5. ในเมนูแบบเลื่อนลง ปลายทางการตรวจสอบ คุณสามารถเลือกเขียนเส้นทางการตรวจสอบ SQL ลงในไฟล์หรือตรวจสอบเหตุการณ์ในบันทึกการรักษาความปลอดภัยของ Windows หรือบันทึกเหตุการณ์ของแอปพลิเคชันได้ หากคุณเลือกไฟล์ คุณต้องระบุเส้นทางสำหรับไฟล์

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

6. คลิก ตกลง

7. ตอนนี้คุณจะพบการกำหนดค่าการตรวจสอบใหม่ใน Object Explorer ด้านล่างการตรวจสอบ คลิกขวาที่การกำหนดค่าการตรวจสอบใหม่ และเลือก เปิดใช้งานการตรวจสอบ จากเมนู

8. คลิก ปิด ในกล่องโต้ตอบเปิดใช้งานการตรวจสอบ

สร้างวัตถุการตรวจสอบฐานข้อมูล

ในการสร้างออบเจ็กต์การตรวจสอบ SQL Server สำหรับการตรวจสอบระดับฐานข้อมูล กระบวนการจะแตกต่างออกไปเล็กน้อย และคุณต้องสร้างออบเจ็กต์การตรวจสอบระดับเซิร์ฟเวอร์อย่างน้อยหนึ่งรายการก่อน

1. ขยายฐานข้อมูลใน Object Explorer และขยายฐานข้อมูลที่คุณต้องการกำหนดค่าการตรวจสอบ

2. ขยายโฟลเดอร์ ความปลอดภัย คลิกขวา ข้อกำหนดการตรวจสอบฐานข้อมูล และเลือก ข้อกำหนดการตรวจสอบฐานข้อมูลใหม่… จากเมนู

รูปที่ 3 การสร้างข้อกำหนดการตรวจสอบเซิร์ฟเวอร์สำหรับการตรวจสอบระดับฐานข้อมูล

3. ในหน้าต่างคุณสมบัติภายใต้การดำเนินการ ใช้เมนูแบบเลื่อนลงเพื่อกำหนดค่าประเภทการดำเนินการตรวจสอบตั้งแต่หนึ่งรายการขึ้นไป เลือกคำสั่งที่คุณต้องการตรวจสอบ (เช่น DELETE หรือ INSERT) คลาสอ็อบเจ็กต์ที่ดำเนินการดำเนินการ และอื่นๆ .

4. เมื่อดำเนินการเสร็จแล้ว คลิก ตกลง จากนั้นเปิดใช้งานออบเจ็กต์การตรวจสอบโดยคลิกขวาและเลือก เปิดใช้งานข้อกำหนดการตรวจสอบฐานข้อมูล

การดูบันทึกการตรวจสอบเซิร์ฟเวอร์ SQL

การตรวจสอบ C2 บันทึกการตรวจสอบ SQL Server จะถูกจัดเก็บไว้ในไดเร็กทอรีข้อมูลเริ่มต้นของอินสแตนซ์ SQL Server แต่ละไฟล์บันทึกสามารถมีได้สูงสุด 200 เมกะไบต์ ไฟล์ใหม่จะถูกสร้างขึ้นโดยอัตโนมัติเมื่อถึงขีดจำกัด

โซลูชันเนทิฟที่แนะนำเพื่อดูบันทึกการตรวจสอบ SQL Server ที่เรียกว่า Log File Viewer หากต้องการใช้งาน ให้ทำตามขั้นตอนต่อไปนี้:

1. ใน SQL Server Management Studio ในแผง Object Explorer ให้ขยาย ความปลอดภัย และ

2. คลิกขวาที่ออบเจ็กต์การตรวจสอบที่คุณต้องการดู และเลือก ดูบันทึกการตรวจสอบ จากเมนู

3. ใน Log File Viewer บันทึกจะแสดงทางด้านขวา ไม่ว่าบันทึกจะถูกเขียนลงในไฟล์หรือบันทึกเหตุการณ์ของ Windows โปรแกรมดูไฟล์บันทึกจะแสดงบันทึกนั้น

4. ที่ด้านบนของ Log File Viewer คุณสามารถคลิก ตัวกรอง เพื่อปรับแต่งรายการบันทึกที่จะแสดง บันทึกไฟล์ SQL Server จะถูกบันทึกในรูปแบบ .sqlaudit และไม่สามารถอ่านได้ ดังนั้น Log File Explorer จึงอนุญาตให้คุณคลิก ส่งออก เพื่อบันทึกบันทึกเป็นรูปแบบไฟล์ .log ที่คั่นด้วยเครื่องหมายจุลภาค .

รูปที่ 4 การตรวจสอบการบันทึกการตรวจสอบ SQL Server ใน Log File Viewer

บทความที่เกี่ยวข้อง