Log in

Login to your account

Username *
Password *
Remember Me

MariaDB แนะ 5 แนวทางเบื้องต้นสำหรับ Database Security

  • STEEP Category :
    Technology
  • Event Date :
    25 August 2017
  • Created :
    23 November 2017
  • Status :
    Current
  • Submitted by :
    Worachart Wongsamphan
Description :

ใน Blog ของ MariaDB ได้มีการสรุปถึง 5 แนวทางพื้นฐานสำหรับ Database Security เอาไว้ ทางทีมงาน TechTalkThai เห็นว่าน่าสนใจดี จึงขอหยิบยกมาสรุปให้ได้อ่านกันดังนี้

1. ป้องกันการโจมตีด้วยการใช้ Database Proxy

การใช้ Database Proxy เป็นกลางคั่นระหว่าง Application และ Database ก่อนจะทำให้สามารถควบคุมและเสริมความมั่นคงปลอดภัยในการเข้าถึง Database ได้ โดยทาง MariaDB แนะนำให้ใช้ MaxScale ที่จะช่วยคัดกรองการเข้าถึง, รองรับการติดตั้งโมดูลเสริมสำหรับความสามารถต่างๆ เช่น การเพิ่มความมั่นคงปลอดภัย, การเพิ่มความทนทาน, การรองรับการเพิ่มขยาย และการเสริมประสิทธิภาพของระบบ เป็นต้น

MaxScale Database Firewall Filter เป็นความสามารถหนึ่งที่ทาง MariaDB แนะนำเป็นอย่างมาก โดยผู้ใช้งานสามารถทำการกำหนด Whitelist ของ Query รูปแบบต่างๆ เอาไว้ได้ ทำให้ Query ที่ผิดไปจากที่กำหนดไม่สามารถเข้าถึง Database ได้เลย อีกทั้ง MaxScale ยังสามารถใช้ปกป้อง Database จากการถูก DDoS ได้อีกด้วย

2. ตั้งค่าระบบ Audit Log ให้เรียบร้อย

การเปิด Audit Log จะช่วยให้มีข้อมูลในการตรวจสอบค้นหาพฤติกรรมต้องสงสัยและวิเคราะห์ต้นเหตุของปัญหาต่างๆ ได้มากขึ้น อีกทั้งยังตอบโจทย์การทำ Compliance อย่างเช่น GDPR, PCI, HIPAA และ SOX ได้ โดยทาง MariaDB แนะนำให้ใช้ MariaDB Audit Plugin ที่สามารถช่วยบันทึกข้อมูลจำนวนมากได้ ไม่ว่าจะเป็น Incoming Connection, Query Execution และการเข้าถึง Table ทั้งหมด ทำให้ทราบข้อมูลทั้งหมดว่าใครทำอะไรกับฐานข้อมูลบ้าง และยังสามารถเลือกได้ว่าจะบันทึก Log ทั้งหมดนี้ลง File หรือจะส่งออกไปทาง Syslog ก็ได้

3. จัดการกับ Account ของผู้ใช้งานให้ดี

ประเด็นนี้เป็นสิ่งที่ทาง MariaDB แนะนำว่าให้ทำอย่างระมัดระวัง โดยใช้หลักการเหมือนกับการจัดการ User Account อย่างมั่นคงปลอดภัยตามวิธีมาตรฐาน และแบ่งคำแนะนำออกเป็น 4 ข้อหลักๆ ด้วยกัน ดังนี้

  • อนุญาตให้เกิด Root Access ได้จากเฉพาะใน Local Client เท่านั้น
  • ตั้งรหัสผ่านให้เข้มแข็ง มั่นคงปลอดภัย
  • สร้าง User Account แยกสำหรับแต่ละ Application ให้ชัดเจน
  • จำกัด IP Address ที่สามารถเชื่อมต่อมายัง Database Server ได้ให้เหลือเท่าที่จำเป็น

4. หมั่นอัปเดต Database และ OS ให้เป็นรุ่นล่าสุดอยู่เสมอ

MariaDB กล่าวว่าการอัปเดตระบบเหล่านี้ให้เป็นรุ่นล่าสุดอยู่เสมอ เป็นหนทางเดียวที่จะปกป้องระบบจากภัยคุกคามล่าสุดที่ปรากฏขึ้นมาใหม่ได้ โดยการอัปเดตนี้ต้องทำทั้ง Database Software และที่ Operating System (OS) เลย รวมถึง Server Software อื่นๆ ที่มีการใช้งานอยู่ด้วยเช่นกัน

5. เข้ารหัสข้อมูลสำคัญทั้งหมด ตั้งแต่ภายใน Application, ระหว่างส่งผ่านเครือข่าย และการเข้ารหัสสำหรับ Data at Rest

ข้อนี้เป็นข้อที่ MariaDB เห็นว่ามีคนนำไปปฏิบัติน้อยที่สุด แต่ก็ถือว่ามีความสำคัญเพราะทำให้ Hacker นั้นทำงานได้ยากขึ้นมาก และถึงแม้จะขโมยข้อมูลไปได้สำเร็จ ก็ต้องวุ่นวายกับการหาทางถอดรหัสข้อมูลเหล่านั้นอีกอยู่ดี โดย MariaDB ได้แบ่งการเข้ารหัสในระบบ Database ออกเป็น 3 ส่วนด้วยกัน ได้แก่

  1. การเข้ารหัสภายใน Application ตั้งแต่ก่อนถูกบันทึกลงไปยัง Database ทำให้ถึงแม้ Hacker จะเจาะระบบ Database ได้สำเร็จ ก็จะยังเข้าถึงข้อมูลที่แท้จริงไม่ได้อยู่ดี
  2. การเข้ารหัสที่ระบบเครือข่าย เพื่อให้การส่งข้อมูลจาก Client ไปยัง Database นั้นมีความมั่นคงปลอดภัยมากขึ้น
  3. การเข้ารหัสสำหรับ Data at Rest เช่น การเข้ารหัส InnoDB Table Space, InnoDB Redo Log และ Binary Log ซึ่งความสามารถเหล่านี้สนับสนุนใน MariaDB 10.1 เป็นต้นไป

สำหรับผู้ที่ยังต้องการศึกษาข้อมูลเพิ่มเติมเกี่ยวกับ Database Security ทาง MariaDB ก็ได้ทิ้งท้ายเอาไว้ว่าให้ไปโหลด Whitepaper ที่ http://go.mariadb.com/GLBL-WC2017AdvancedSecurityWhitePaper_LP-Registration.html อ่านเพิ่มเติมครับ โดยในนี้จะสรุปถึงแนวโน้มเกี่ยวกับการโจมตี Database, การเข้ารหัสข้อมูล, เทคโนโลยี Database Firewall และ Data Masking, การป้องกัน DoS, การนำ RBAC/PAM และ User/Group Mapping มาใช้, การทำ Audit และการทำ Database Event Monitoring ครับ