Tossapol Susaereedumrong
Sirisoft
Published in
3 min readDec 26, 2017

--

Database Security with IBM Guardium ในปัจจุบันการทำงานของ Application นั้นจะมี Database หรือฐานข้อมูลเป็นส่วนประกอบซึ่ง Database นั้นมีหน้าที่จัดเก็บของข้อมูลต่างๆ ที่มีความสัมพันธ์ซึ่งกันละกันเอาไว้ เช่น ข้อมูลเงินเดือนของพนักงาน, ข้อมูลวันลา, ข้อมูลส่วนตัวของลูกค้า หรือข้อมูลบัตรเครดิต เป็นต้น

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

จากรูปเป็นการแสดงภาพรวมเมื่อเราทำการ Install Agent เพื่อใช้งาน Guardium โดยที่เส้นที่ 1 เป็นการติดต่อกันระหว่างเครื่อง Collector Guardium กับ Database Server ที่ต้องทำการลง Agent เพื่อให้เครื่อง Collector Guardium สามารถติดกับเครื่อง Database Server ได้ และเส้นที่ 2 เป็นการติดต่อระหว่างเครื่อง application Server or Client กับเครื่อง Database Server

Guardium Installation Manager (GIM) เป็น Agent ที่ต้องติดตั้งเอาไว้บนเครื่อง Database Server เพื่อให้เครื่อง Collector Guardium สามารถ Monitor เครื่อง Databse Server นั้นได้และเป็น Agent ที่สามารถปิดเปิดการทำงานของ Guardium บนเครื่อง Database Server ได้เมื่อไม่ต้องการใช้งาน

Configuration Auditing System (CAS) มีหน้าที่เก็บการเปลี่ยนแปลง Environment หรือ Registry Variables หรือ Database ต่างๆ ที่มาลงในเครื่องที่ถูกลง Agent เอาไว้ รวมถึงมีหน้าที่เก็บ Configuration ของตัว Guardium

S-TAP เป็น Agent ที่มีหน้าที่ Monitor Network Traffic ของตัวเครื่อง Database Server

เป็นการปกปิดข้อมูลบางส่วนเอาไว้ไม่ให้เห็นข้อมูลทั้งหมด เพื่อให้ User ที่ต้องการใช้ข้อมูลยังคงสามารถใช้ข้อมูลบางส่วนต่อไปได้ จากรูปจะเห็นได้ว่าข้อมูลตัวเลข 3 ชุดแรกของ CREDITCARD จะถูกใส่เครื่องหมาย * เอาไว้

อีกทั้งยังสามารถปกปิดข้อมูลกับ “SYS” User ที่มีสิทธิ์สูงสุดใน Database เอาไว้ได้อีกด้วย เหมือนในรูปภาพด้านล่างนี้

เป็นการป้องกันผู้ใช้งานไม่ให้เข้าถึงข้อมูลที่กำหนดไว้ จากรูปจะเป็นการแสดงการป้องกัน Peter User ไม่ให้เข้าถึงข้อมูล Creditcard Table ที่มีเจ้าของเป็น Joe User

อีกทั้งยังสามารถป้องกันการ Export Data ออกไปจาก Database ได้อีกด้วย ไม่ว่าจะเป็นการ Export Data ออกไปด้วย User อะไรก็ตาม

เป็นการแจ้งเตือนเมื่อมี User มาละเมิด Policy ที่เรากำหนดเอาไว้โดยสามารถดูได้จาก Collector Guardium จากรูปจะมีข้อมูลของ User ที่เข้ามาใช้งาน Database ด้วย SQL อะไรบ้างโดย Client IP กับ Server IP เป็นตัวบอกว่าเข้ามากเครื่องไหนและไปยัง Database เครื่องไหน เราสามารถปรับความสำคัญของ Policy ได้สามารถดูได้จากช่อง Severity

อีกทั้งยังสามารถแจ้งเตือนผ่าน E-mail ได้อีกด้วย ดั้งตัวอย่างด้านล่างนี้

อีก Function หนึ่งที่สามารถตรวจจับได้ว่ามี Query ไหนที่มีการ Return มากว่า 10 Record ให้มีการแจ้งเตือนไปยัง E-Mail สามารถดูได้ดั้งรูปด้านล่าง

เราสามารถดูรายละเอียดข้อมูลของ Query ได้จากหน้า Activity Reports ของตัว Collector Guardium ซึ่งจากรูปเป็นการแสดงข้อมูลของ Timestamp, Client IP, DB User Name, Records Affected และ Full Sql

--

--