Tag: audit

  • ELK #08 Oracle Audit Trail

    ต่อจา ELK #07 – Logstash คราวนี้ มาใช้งานจริง โดยใช้ ELK เพื่อเก็บ Log ของ Oracle Audit Trail

    1. Oracle Audit Trail บน Database Server เก็บ Log ในรูปแบบ XML โดยแต่ละ Event จะมี tag <AuditRecord> … </AuditRecord> คุมอยู่ ที่แตกต่างจาก Log ทั่วไปคือ ในแต่ละ Event จะมีเครื่องหมาย CRLF (การขึ้นบรรทัดใหม่) เป็นระยะ ๆ
    2. ออกแบบให้ Logstash รับข้อมูล (Input Plugin) จาก TCP Port 5515 ซึ่งต้องใช้ Codec ในการรวบ Multiline ในแต่ละ Event เข้าด้วยกัน โดยหา pattern “<AuditRecord>” เป็นจุดเริ่มต้น ส่วนบรรทัดที่ไม่เจอ Pattern ดังกล่าวนั้นการตั้งค่า negate => “true” เป็นการบอกว่า “ให้ดำเนินการต่อไป” โดยจะเอาบรรทัดที่ตามมาจากนี้ ต่อท้าย ด้วยการตั้งค่า what=> “previous”
    3. ในส่วนของ Filter Plugin จะอ่านค่าจาก “message” และ ส่งสิ่งที่ถอดจาก XML ได้ ไปยัง “doc”
    4. ในส่วของ Output Plugin จะส่งออกไปยัง ElasticSearch ที่ TCP port 9200

    ดัง Configuration ต่อไปนี้

    input {
       syslog {
          port => 5515
          codec => multiline {
               pattern => "<AuditRecord>"
               negate  => "true"
               what    => "previous"
          }
       }
    }
    filter {
       xml {
          source => "message"
          target => "doc"
       }
    }
    output {
      elasticsearch {
         hosts => ["elk.server:9200"]
      }
    }

    จากนั้น ทาง Oracle Database Server ทำการเปิด Audit Trail แล้วเขียน Log ลงไฟล์ แล้วเขียน Cron เพื่อ Netcat ไฟล์ส่งมาให้ Lostash ที่เปิด Port TCP 5515 ไว้รอรับ

    ผลที่ได้คือ

    โดยวิธีนี้ จะเป็นการนำ Log ซึ่งจากเดิมเป็น Text Format นำมาเป็น NoSQL ได้ ซึ่งจะสามารถ Query ข้อมูลได้ง่ายยิ่งขึ้น

    หวังว่าจะเป็นประโยชน์ครับ

  • วิธีการเปิด Audit Log ของ Windows 2012 เพื่อให้บันทึกการเปลี่ยนแปลงเกี่ยวกับ Account Management ต่างๆ

    บน Microsoft Windows 2012 โดยปรกติจะไม่ทำการบันทึกการเปลี่ยนแปลงต่างๆเกี่ยวกับ Account ขั้นตอนต่อไปนี้จะทำให้เกิดการบันทึกใน Event Log เพื่อให้ Administrator ทราบว่า ใคร เปลี่ยนแปลงอะไร  เมื่อไหร่

    1. ไปที่ Start Menu ค้นหา Group Policy Management
      2559-06-03 10_02_40-Program Manager
    2. เลือก
      Computer Configuration
      Policies
      Windows Settings
      Security Settings
      Local Policies
      Audit Policy
      จากนั้น Double Click “Audit account management”
      2559-06-03 10_03_26-Start
    3. คลิกที่
      Define these policy settings
      และเลือก Success
      แล้วคลิกปุ่ม OK
      2559-06-03 10_11_13-Start
    4. จะได้ผลดังนี้
      2559-06-03 10_13_01-windows2012 [Running] - Oracle VM VirtualBox
    5. เมื่อเปิด Event Viewer > Security Log จะได้ผลดังนี้ เมื่อมีการเปลี่ยนแปลงเกี่ยวกับ Account จะเกิด Task Category “User Account Management” มี Event ID 4738 ดังภาพ
      2559-06-03 10_13_54-Program Manager
    6. จะเห็นรายละเอียดว่า ใคร แก้ไข Account Name ใด เมื่อไหร่
      2559-06-03 10_15_23-windows2012 [Running] - Oracle VM VirtualBox
    7. และแก้ไข Attribute ใด เป็นอะไร
      2559-06-03 10_17_13-Start

    หวังว่าจะเป็นประโยชน์ครับ

    Reference:

    1. https://technet.microsoft.com/en-us/library/cc731607(v=ws.10).aspx
    2. https://support.microsoft.com/en-us/kb/977519