ELK #09 Anomaly Detection (Case Study)

ระบบ PSU Email ให้บริการผู้ใช้ของมหาวิทยาลัยสงขลานครินทร์ ซึ่งมีการใช้งานจากทั่วโลก ทั้งระบบประกอบขึ้นจากคอมพิวเตอร์หลายเครื่อง การจะตรวจสอบ Log เมื่อเกิด Incident ขึ้น อาจจะต้องใช้ระยะเวลานาน และเป็นการยากพอสมควรที่จะเชื่อมโยงความสัมพันธ์ของเหตุการณ์ และสรุปออกมาเป็นรายงานได้ จึงเริ่มใช้ ELK สำหรับรวบรวม Log ของทั้งระบบไว้ที่ส่วนกลาง และพัฒนาต่อยอดเพื่อการตรวจจับความผิดปรกติต่าง ๆ ได้ ในบทความนี้ จะนำเสนอวิธีการใช้ ELK เพื่อตรวจจับ การ Login ที่ผิดปรกติบน PSU Email โดยจะสนใจ ผู้ใช้ที่มีการ Login จากนอกประเทศเป็นหลัก การส่ง Log จาก Server เข้า ELK ที่เครื่อง Server แต่ละเครื่อง กำหนดให้ส่ง Log จาก /etc/rsyslog.d/50-default.conf เข้าไปที่ your.logstash.server:port ตามที่กำหนดไว้ การสร้าง Logstash Filter ที่ … Read more

ELK #08 Oracle Audit Trail

ต่อจา ELK #07 – Logstash คราวนี้ มาใช้งานจริง โดยใช้ ELK เพื่อเก็บ Log ของ Oracle Audit Trail Oracle Audit Trail บน Database Server เก็บ Log ในรูปแบบ XML โดยแต่ละ Event จะมี tag <AuditRecord> … </AuditRecord> คุมอยู่ ที่แตกต่างจาก Log ทั่วไปคือ ในแต่ละ Event จะมีเครื่องหมาย CRLF (การขึ้นบรรทัดใหม่) เป็นระยะ ๆ ออกแบบให้ Logstash รับข้อมูล (Input Plugin) จาก TCP Port 5515 ซึ่งต้องใช้ Codec ในการรวบ … Read more

ELK #07 LogStash

จากที่ได้กล่าวถึงมายาวนานในเรื่อง ELK  และ  ELK #02 ที่ได้กล่าวถึงการติดตั้ง LogStash ไว้เบื้องต้น ในบทความนี้จะมาลงลึก ถึงกระบวนการทำงานของ LogStash ซึ่งเป็นส่วนสำคัญในการเปลี่ยนข้อมูล Unstructured ให้เป็น Structured ตอนนี้ เราจะทำงานใน /etc/logstash/conf.d/ Simple input – output plugin สร้างไฟล์ 01-input-file.conf มีเนื้อหาดังนี้ input { file { path => [“/tmp/input.txt”] mode => “tail” } } ในส่วนนี้ เป็นการกำหนดว่า ให้ LogStash อ่านไฟล์ /tmp/input.txt โดยให้อ่านบรรทัดล่าสุด (ต่อจาก Checkpoint ก่อนหน้า) เข้ามา โดยถ้าไม่กำหนด mode => “tail” ระบบจะอ่านไฟล์ก็ต่อเมื่อ มีการสร้างไฟล์ใหม่เท่านั้น สร้างไฟล์ 98-output-file.conf มีเนื้อหาดังนี้ … Read more

ELK #6 วิธีการติดตั้ง ELK และ Geoserver แบบ Docker ให้ทำงานร่วมกัน

จาก ELK #5 การประยุกต์ใช้ ELK ในงานด้าน GIS และ การสร้าง Web Map Service (WMS) บน Geoserver ก็จะเห็นถึงการนำไปใช้เบื้องต้น >> ขอบคุณ คุณนพัส กังวานตระกูล สถานวิจัยสารสนเทศภูมิศาสตร์ทรัพยากรธรรมชาติและสิ่งแวดล้อม ศูนย์ภูมิภาคเทคโนโลยีอวกาศและภูมิสารสนเทศ (ภาคใต้) สำหรับความรู้มากมายครับ <<   ต่อไปนี้ จะเป็นขั้นตอนการติดตั้ง ELK และ Geoserver แบบ Docker โดยผมได้สร้าง Github Repository เอาไว้ ซึ่งได้แก้ไขให้ระบบสามารถเก็บข้อมูลไว้ภายนอก Prerequisite ถ้าเป็น Windows ก็ต้องติดตั้ง Docker Toolbox หรือ Docker for Windows ให้เรียบร้อย ถ้าเป็น Linux ก็ติดตั้ง docker-ce ให้เรียบร้อย (เรียนรู้เกี่ยวกับ Docker ได้จาก ติดตั้ง docker … Read more

ELK #5 การประยุกต์ใช้ ELK ในงานด้าน GIS

คราวนี้ มาดูการประยุกต์ใช้ ELK ในงานด้าน GIS ต่อจาก ELK #01 > ELK #02 > ELK #03 > ELK #04 ซึ่งเป็นการติดตั้งทั้งหมด คราวนี้มาดูการประยุกต์ใช้งานกันบ้าง โจทย์มีอยู่ว่า มีการไปเก็บข้อมูลในภาคสนาม แล้วมีการบันทึก พิกัดด้วย GPS เป็น Latitude กับ Longitude พร้อมกับค่าบางอย่าง ทั้งหมดถูกเก็บไว้ในฐานข้อมูล MySQL การนำข้อมูลเข้า ELK ก็เลย Export ข้อมูลจาก MySQL มาเป็น CSV File ประกอบด้วย id,LATITUDE,LONGITUDE,something ตัวอย่างข้อมูล มีดังนี้ id,LATITUDE,LONGITUDE,something 1,6.97585,100.448963,100 2,6.975627,100.450841,19 3,6.973472,100.449196,65 4,6.973468,100.449104,53 5,6.973455,100.449135,33 6,6.973252,100.44888,13 7,6.985862,100.45292,85 8,6.993386,100.416214,90 9,7.005465,100.447984,1 นำข้อมูลเข้า ELK ผ่านทาง Logstash ใน  ELK #2 ได้อธิบายขั้นตอนการติดตั้ง Logstash ไว้แล้วนั้น … Read more