Database Security


16/Jun/2021
Database

    ปัจจุบันหลายองค์กรคงโฟกัสไปที่เรื่องของ PDPA เป็นหลัก ในการกำหนดเรื่องการไม่ละเมิดข้อมูลส่วนบุคคล แต่ในความเป็นจริงแล้วนั้น การเก็บข้อมูล (Data) ก็ยังสามารถเก็บไว้ได้ในหลากหลายรูปแบบ ทั้งแบบ Structure และ Unstructured Data


    ดังนั้นการเก็บข้อมูลข้างต้น ข้อมูลที่เป็นส่วนบุคคลก็อาจจะอยู่ในรูปแบบของ วิดีโอ หรือ เสียงด้วยก็ได้ ซึ่งก็ต้องหาวิธีป้องกันให้ได้ในกรณีนั้น แต่วันนี้เราจะมาพูดถึงวิธีการรักษาข้อมูลที่เก็บไว้ในรูปแบบของ ฐานข้อมูล หรือ Database ทั้งเรื่องของการจัดการ PDPA และการรักษาระบบของฐานข้อมูลทั้งหมด ไว้ในบทความนี้

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

    มาดูวิธีการปกป้องดูแลฐานข้อมูลกันว่าสามารถจัดการอย่างไรได้บ้าง

    1. การสร้างฐานข้อมูล หรือ ตัวระบบฐานข้อมูล

  • อย่าตั้งชื่อฐานข้อมูลที่สามารถเดาได้ง่าย หรือ ใช้ชื่อมาตรฐานตามทั่วไป
  • เลือกความเหมาะสมให้ดีว่าระบบฐานข้อมูลควรอยู่ภายใน หรือ ใช้บนระบบคราวด
       - เพราะการใช้งานบนระบบคลาวน์ต้องตั้งค่าการเชื่อมต่อและยืนยันตัวตนให้ดี

    2. แยกประเภท หรือ จำแนกข้อมูลในฐานข้อมูล เพื่อ จัดทำนโยบายด้านความปลอดภัย

  • นโยบายการเข้าถึง (Access Control)
        - ระบุเครื่อง หรือ IP Address ที่จะสามารถเข้าเชื่อมต่อที่ฐานข้อมูลตามการจำแนก
  • ระบุตัวตนก่อนเข้าถึง (Identification)
        - ระบุตัวตนก่อนเข้าถึง (Identification)
  • สิทธิในการเข้าถึง (Authorization)
        - ระบุสิทธิในการอ่าน การเปิด ลบ แก้ไข ข้อมูลในฐานข้อมูล

    3. การวางระบบเฝ้าระวังและปกป้องภัยคุกคามในระดับ Network และ ที่ระบบฐานข้อมูล

  • วางระบบ Database Firewall ในการตรวจสอบการเชื่อมต่อไปที่ระบบฐานข้อมูล โดยระบบ Database Firewall นั้นจะทำการตรวจสอบการการเชื่อมต่อที่เหมาะสม เช่น คำสั่ง (Sql Query) ที่เหมาะสม , แอปพลิเคชัน ในการใช้เชื่อมต่อที่เหมาะสม ( Navicat , Altibase)
  • วางระบบความปลอดภัยที่ระบบฐานข้อมูล (Database Agent) เพื่อเฝ้าระวังการเชื่อมต่อตรงไปที่ฐานข้อมูล และเฝ้าระวังการลบข้อมูลการเชื่อมต่อ (Audit log) ที่มีการเชื่อมต่อ เพื่ออำพรางข้อมูล
  • การติดตั้งระบบปกป้องฐานข้อมูลจาก Virus หรือ Ransomware ด้วย NGAV หรือ EDR
  • ปกป้อง Database Attack เช่น Sql Injection หรือ DDOS เป็นต้น

    4. กำหนดมาตการ Database Access Policy

  • โดยประยุกต์ใช้ Database Firewall ในการกำหนดคำสั่งที่เหมาะสม สำหรับแต่ละผู้ใช้งาน เช่น
        - ผู้ใช้งานทั่วไป สามารถ Select Data ได้อย่างเดียว
        - ผู้ดูแลระบบ สามารถ Drop table , Create table ได้

    5. การเพิ่มเติมการรักษาข้อมูลความลับด้วยการทำ Database Masking หรือ Database Encryption

    6. สำรองข้อมูลของระบบฐานข้อมูลที่มีอยู่ โดยเลือกลำดับความสำคัญของฐานข้อมูลว่าควรจะเริ่มทำการสำรองข้อมูลของระบบใดก่อน เพราะระยะเวลาในการใช้สำรองข้อมูลมีระยะเวลาเช่นกันดังนั้นควรจะเลือกลำดับฐานข้อมูลที่มีความสำคัญในการจัดการก่อน

    7. หมั่นตรวจสอบช่องโหว่ของระบบฐานข้อมูลและอัพเดทระบบให้ใหม่เพื่อปกปิดช่องโหว่ต่างๆที่ระบบพบเจอ เพื่ลดความเสี่ยงจากระบบภายนอก (Database Assessment)

    8. ตรวจสอบ Life Cycle management ของผู้ใช้งานและผู้ดูแลควรตรวจสอบ บัญชีผู้ใช้ที่ไม่ได้ใช้งานนานเกิน 3 เดือนลบออก หรือ บัญชีผู้ใช้ หรือ ผู้ดูแลที่อาจจะลาออกไปแล้ว ไม่ได้ดูแลโครงการนั้นๆแล้วเป็นต้น