49
การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน Log collection system with user สาธิต บุญเทือง สารนิพนธ์นี้เป็นส่วนหนึ่งของการศึกษา หลักสูตรวิทยาศาสตรมหาบัณฑิต สาขาวิชาความมั่นคงทางระบบสารสนเทศ คณะวิทยาการและเทคโนโลยีสารสนเทศ มหาวิทยาลัยเทคโนโลยีมหานคร ปีการศึกษา 2559

Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

Log collection system with user

สาธิต บุญเทอืง

สารนพินธ์นี้เป็นส่วนหนึง่ของการศึกษา

หลักสูตรวิทยาศาสตรมหาบัณฑิต สาขาวิชาความมั่นคงทางระบบสารสนเทศ

คณะวิทยาการและเทคโนโลยีสารสนเทศ

มหาวิทยาลยัเทคโนโลยมีหานคร

ปีการศึกษา 2559

Page 2: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

I

หัวข้อ การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

Log collection system with user

ชื่อนักศึกษา สาธิต บุญเทือง

รหัสนักศึกษา 5417810015

หลักสูตร หลักสูตรวิทยาศาสตรมหาบัณฑิต สาขาวิชาความมั่นคงทางระบบ

สารสนเทศ

ปีการศึกษา 2559

อาจารย์ท่ีปรึกษา ผศ.ดร.วรพล ลีลาเกียรติสกุล

บทคัดย่อ

โครงงานเรื่องการจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน เพ่ือให้การจัดเก็บ

ข้อมูลจราจรคอมพิวเตอร์ ไปเป็นอย่างมีประสิทธิภาพและสามารเรียกดู หรือตรวจสอบย้อนหลังได้

ง่าย เนื่องจากเห็นชื่อผู้ใช้งานในเนื้อล็อก ท าให้สามารถระบุวัน เวลาที่ผู้ใช้งานนั้นๆ เข้าใช้งาน รวมถึง

ข้อมูลรายละเอียดการใช้งานต่างๆ เพ่ือเป็นข้อมูลในการวิเคราะห์ได้อย่างถูกต้อง

วิธีการด าเนินงานประกอบด้วยการน าเครื่องมือจาก Open source มาพัฒนาเพ่ิมเติม เพ่ือ

ใช้ในการพัฒนาระบบได้อย่างมีประสิทธิภาพ และไม่เสียค่าใช้จ่าย

Page 3: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

II

กิตติกรรมประกาศ

โครงงานเรื่องการจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน โดยได้รับค าแนะน า

รวมถึงแนวทางการด าเนินงานและองค์ความรู้ต่างๆ จาก ผศ.ดร.วรพล ลีลาเกียรติสกุล ซึ่งเป็น

อาจารย์ที่ปรึกษาของโครงงาน รวมถึงคณะอาจารย์ ทุกท่าน ที่คอยให้ค าแนะน ามาโดยตลอด

สุดท้ายนี้ขอขอบคุณผู้มีพระคุณทุกท่านที่คอยให้ค าปรึกษาและก าลังใจ และหากโครงงาน

ฉบับนี้มีข้อผิดพลาดประการใด ข้าพเจ้าผู้จัดท าต้องขออภัยมา ณ ที่นี้ด้วย

สาธิต บุญเทือง

กรกฎาคม 2560

Page 4: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

III

สารบัญ

หน้า

บทคัดย่อ ............................................................................................................................................. I

กิตติกรรมประกาศ.............................................................................................................................. II

สารบัญ .............................................................................................................................................. III

สารบัญรูป ........................................................................................................................................ VI

สารบัญตาราง .................................................................................................................................. VII

บทที่ 1 .............................................................................................................................................. 1

1.1 ปัญหาและแรงจูงใจ .................................................................................................................... 1

1.2 แนวทางการแก้ปัญหา ................................................................................................................. 1

1.3 วัตถุประสงค์ ............................................................................................................................... 1

1.4 ภาพรวมของระบบที่จัดท า .......................................................................................................... 2

1.5 ขอบเขตของการท างานระบบ ..................................................................................................... 2

1.6 โครงสร้างของสารนิพนธ์ ............................................................................................................. 3

บทที ่2 .............................................................................................................................................. 4

2.1 ระบบพิสูจน์ตัวตน ...................................................................................................................... 4

2.2 โครงสร้างและส่วนประกอบของระบบล็อก ................................................................................. 5

2.2.1 Log Source หรือ Log Generator ........................................................................... 5

2.2.2 Log Transmission หรือ Log Agent ........................................................................ 6

2.2.3 Log Parser ................................................................................................................ 6

2.2.4 Log Server หรือ Log Storage ................................................................................ 6

2.2.5 Log Management ................................................................................................... 6

2.3 ซอฟต์แวร์ที่เลือกใช้ .................................................................................................................... 7

2.3.1 Bro [2] ...................................................................................................................... 7

2.3.2 ELK และ Filebeat [3] .............................................................................................. 9

บทที่ 3 ............................................................................................................................................ 10

3.1 ภาพรวมของระบบ.................................................................................................................... 10

Page 5: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

IV

สารบัญ (ต่อ)

หน้า

3.1.1 Bro .......................................................................................................................... 10

3.1.2 Filebeat .................................................................................................................. 11

3.1.3 Logstash ................................................................................................................. 11

3.1.4 Elastisearch ........................................................................................................... 11

3.1.5 Kibana .................................................................................................................... 11

3.1.6 Report Generator ................................................................................................. 11

3.2 การออกแบบ ............................................................................................................................ 12

3.2.1 การออกแบบระบบระบบบันทึกชื่อผู้ใช้งานเพ่ิมเติม [4] ............................................ 12

3.2.2 การออกแบบระบบจัดเก็บ ค้นหาและแสดงผลข้อมูลจราจรคอมพิวเตอร์ ................. 15

3.2.3 การออกแบบระบบจัดท ารายงาน ............................................................................. 16

บทที่ 4 ............................................................................................................................................ 18

4.1 วิธีการทดลอง ........................................................................................................................... 18

4.1.1 การทดลองระบบบันทึกข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน ..................... 19

4.1.2 การทดลองระบบจัดเก็บ ค้นหาและแสดงผลข้อมูลจราจรคอมพิวเตอร์ .................... 20

4.1.3 การทดลองระบบจัดท ารายงาน ................................................................................ 20

4.2 สภาพแวดล้อมของการทดลอง.................................................................................................. 20

4.3 ผลการทดลอง ........................................................................................................................... 21

4.3.1 ผลการทดสอบระบบบันทึกข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน ................ 21

4.3.2 ผลการทดสอบระบบจัดเก็บ ค้นหาและแสดงผลข้อมูลจราจรคอมพิวเตอร์ ............... 24

4.3.3 ผลการทดสอบระบบจัดท ารายงาน .......................................................................... 26

บทที่ 5 ............................................................................................................................................ 28

5.1 สรุปผลการด าเนินงาน .............................................................................................................. 28

5.2 ปัญหาและอุปสรรคของการด าเนินการ ..................................................................................... 28

5.3 แนวทางในการแก้ปัญหา ........................................................................................................... 28

5.4 ข้อจ ากัดของโครงงาน ............................................................................................................... 28

Page 6: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

V

สารบัญ (ต่อ)

หน้า

5.5 ข้อเสนอแนะในการพัฒนาโครงงานต่อไปในอนาคต .................................................................. 29

เอกสารอ้างอิง ................................................................................................................................. 30

ภาคผนวก

การติดตั้ง Bro ................................................................................................................................... 1

การติดตั้ง Elasticsearch .................................................................................................................. 2

การติดตั้ง Kibana ............................................................................................................................. 3

การติดตั้ง Logstash ......................................................................................................................... 5

การติดตั้ง Filebeat .......................................................................................................................... 8

การติดตั้ง PhantomJS ..................................................................................................................... 8

การปิดระบบการสลับชื่อผู้ใช้งาน (Switch User) ส าหรับ Windows 7 ............................................ 9

การตั้งค่าส าหรับเทียบเวลากับเซิร์ฟเวอร์ NTP .................................................................................. 9

Page 7: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

VI

สารบัญรูป

หน้า

รูปที่ 1.1 ภาพรวมของระบบที่จัดท า .................................................................................................. 2

รูปที่ 2.1 ขั้นตอนการท างานของ Kerberos ...................................................................................... 5

รูปที่ 2.2 ขั้นตอนการท างานของซอฟต์แวร์ Bro ................................................................................ 7

รูปที่ 3.1 แผนผังโครงสร้างเครือข่ายของโครงงาน ........................................................................... 10

รูปที่ 3.2 แผนผังแสดงการท างานของระบบบันทึกชื่อผู้ใช้งานเพิ่มเติม ............................................ 12

รูปที่ 3.3 ขั้นตอนการท างานของโปรแกรมบันทึกชื่อผู้ใช้งานเพ่ิมเติม............................................... 14

รูปที่ 3.4 ขั้นตอนการท างานของระบบจัดเก็บข้อมูลจราจรคอมพิวเตอร์ ......................................... 15

รูปที่ 3.5 ขั้นตอนการท างานของระบบค้นหาและแสดงผลข้อมูลจราจรคอมพิวเตอร์ ....................... 16

รูปที่ 3.6 ขั้นตอนการท างานของระบบ Capture หน้าจอแสดงผล .................................................. 17

รูปที่ 4.1 แผนผังเครือข่ายของโครงงาน ........................................................................................... 18

รูปที่ 4.2 ข้อมูลล็อกของ kerberos.log .......................................................................................... 21

รูปที่ 4.3 ข้อมูลล็อกของ auth.log .................................................................................................. 22

รูปที่ 4.4 ข้อมูลล็อกของ conn.log ................................................................................................. 22

รูปที่ 4.5 ข้อมูล kerberos.log การสลับการใช้งานระหว่างผู้ใช้งาน ................................................ 23

รูปที่ 4.6 ข้อมูล conn.log การสลับการใช้งานระหว่างผู้ใช้งาน ...................................................... 23

รูปที่ 4.7 หน้าจอแสดงผลการค้นหาข้อมูลและผลการจัดเรียงข้อมูล ................................................ 24

รูปที่ 4.8 หน้าจอแสดงผล ............................................................................................................... 25

รูปที่ 4.9 ผลการท า capture หน้าจอส าเร็จ ................................................................................... 26

รูปที่ 4.10 ไฟล์รูปภาพที่ได้จากการ capture หน้าจอส าเร็จ ........................................................... 26

รูปที่ 4.11 ผลการการท า capture หน้าจอไม่ส าเร็จ ....................................................................... 27

รูปที่ 4.12 ผลของรายงานที่สร้างได้ในรูปแบบ pdf ......................................................................... 27

Page 8: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

VII

สารบัญตาราง

หน้า

ตารางที่ 2.1 แสดงข้อมูลล็อกที่ซอฟต์แวร์ Bro จัดเก็บได้ .................................................................. 8

Page 9: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

1

บทที่ 1

บทน า

1.1 ปัญหาและแรงจูงใจ

เนื่องจากระบบการจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบ Open source ทั่วไปนั้น ไม่ได้ท า

การจัดเก็บชื่อผู้งาน ไว้ในเนื้อล็อกโดยตรง มีเพียงหมายเลข IP Address เท่านั้น ที่จะสามารถระบุตัว

ผู้ใช้งานแบบอ้อมๆ ได้ ท าให้จะต้องท าการเทียบเคียงกับข้อมูลล็อกการพิสูจน์ตัวตนผู้ใช้งาน

(Authentication log) เพ่ือระบุว่าหมายเลข IP Address ดังกล่าว เป็นของบุคคลใด ท าให้เกิดความ

ยุ่งยากและล่าช้า ในการระบุตัวตนของผู้ใช้งาน จึงได้เกิดแนวคิดโครงงานนี้เพ่ือพัฒนาระบบการ

จัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งานขึ้นเพ่ือให้ตอบโจทย์ต่อการใช้งาน และการ

จัดเก็บข้อมูลจราจรคอมพิวเตอร์ ให้ง่ายต่อการบริหารจัดการและประหยัดค่าใช้จ่าย

1.2 แนวทางการแก้ปัญหา

จากปัญหาและแรงจูงใจ จึงได้ศึกษาวิธีการแก้ปัญหา โดยการน าซอฟต์แวร์ Bro ซึ่งเป็น

ซอฟแวร์ Open source ซึ่งเป็นซอฟต์แวร์ที่ใช้ในการตรวจจับผู้บุกรุกทางเครือข่าย (Intrusion

Detection System) ที่สามารถจัดเก็บข้อมูลจราจรคอมพิวเตอร์และสามารถเขียนโปแกรมเพ่ิมเติม

เพ่ือให้สามารถบันทึกข้อมูลจราจรคอมพิวเตอร์เพ่ิมเติม เพ่ือท าการเพ่ิมชื่อผู้ใช้งานลงไปในข้อมูล

จราจรคอมพิวเตอร์นั้นๆ มาประยุกต์ใช้ นอกจากนี้เพ่ือให้ผู้ดูแลระบบ สามารถบริหารจัดการข้อมูล

จราจรคอมพิวเตอร์ได้ง่ายขึ้นจึงมีการน าซอฟแวร์ ELK มาใช้เพ่ือให้สามารถจัดเก็บ ค้นหา และ

แสดงผลข้อมูลดังกล่าว ได้ง่ายและสะดวกมากขึ้น นอกจากนี้ยังสามารถจัดท าระบบสร้างรายงานได้

อีกด้วย

1.3 วัตถุประสงค์

เพ่ือน าองค์ความรู้ต่างๆ ทางด้านเทคโนโลยี สารสนเทศ ที่ได้ศึกษา มาพัฒนาระบบ การ

จัดเก็บข้อมูลจราจรคอมพิวเตอร์ ให้ตอบโจทย์ตามความต้องการในการใช้งานและแก้ปัญหาที่เกิดขึ้น

อย่างมีประสิทธิภาพ ประหยัดค่าใช้จ่าย และปัญหาลิขสิทธิ์ เช่น การน าระบบปฏิบัติการ Linux มาใช้

งานเป็นระบบปฏิบัติการ การน าซอฟแวร์ Bro มาใช้งานเพ่ือให้บันทึกข้อมูลจราจรคอมพิวเตอร์และ

ท าการพัฒนาเพ่ิมเติมเพ่ือให้สามารถเพ่ิมชื่อผู้ใช้งานระบบสารสนเทศลงไปได้อย่างถูกต้อง และ

Page 10: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

2

ซอฟแวร์ ELK เพ่ือมาเป็นเครื่องมือในการช่วยบริหารจัดการข้อมูล จัดเก็บ ค้นหา และท าระบบ

แสดงผล (Dashboard) ได้ง่ายขึ้น

1.4 ภาพรวมของระบบท่ีจัดท า

ระบบที่จัดท าข้ึนประกอบด้วย การใช้ซอฟต์แวร์ Bro ท าบันทึกข้อมูลจราจรคอมพิวเตอร์การ

จากนั้นท าการเขียนโปแกรมเพ่ิมเติมเพ่ือสั่งการให้ ซอฟต์แวร์ Bro ท าการเพ่ิมชื่อผู้ใช้งานที่ท าการ

ล็อกอินส าเร็จลงไปในข้อมูลจราจรคอมพิวเตอร์นั้นๆ

จากนั้นท าการส่งข้อมูลจราจรคอมพิวเตอร์ดังกล่าว ไปยังระบบ ELK มาใช้เพ่ือให้สามารถ

จัดเก็บ ค้นหา และแสดงผลข้อมูลดังกล่าว ได้ง่ายและแสดงมากขึ้น พร้อมทั้งจัดท าระบบสร้างรายงาน

แบบ ดังรูปที่ 1.1

รูปที่ 1.1 ภาพรวมของระบบที่จัดท า

1.5 ขอบเขตของการท างานระบบ

1.5.1 จัดท าระบบบันทึกข้อมูลจราจรคอมพิวเตอร์ ที่พัฒนาเพ่ิมเติมจาก ซอฟแวร์ Bro

เพ่ือให้สามารถท าการบันทึกชื่อผู้ใช้งานเพ่ิมเติม ลงบนล็อกข้อมูลจราจรคอมพิวเตอร์ที่บันทึกได้

1.5.2 ท าการจัดเก็บข้อมูลจราจรคอมพิวเตอร์ เพ่ือให้สามารถจัดเก็บ ค้นหาได้ง่าย และมีหน้า

แสดงผล

1.5.3 จ าท าระบบการจัดท ารายงาน เพ่ือให้สารถรวบรวมข้อมูลของระบบแสดงผล มาอยู่ใน

รูปของรายงานได้อย่างอัตโนมัติ

Page 11: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

3

1.6 โครงสร้างของสารนิพนธ์

โครงสร้างสารนิพนธ์ฉบับนี้มีทั้งหมด 5 บทด้วยกัน กล่าวถึงภาพรวมของแต่ละบทดังนี้

บทที่ 2 กล่าวถึง พ้ืนฐานและทฤษฎีต่างๆ ที่เก่ียวข้อง

บทที่ 3 กล่าวถึง ระบบที่น าเสนอ ภาพรวมของระบบโครงงานที่ออกแบบและพัฒนา เพ่ือ

เพ่ิมประสิทธิภาพในการจัดเก็บ และบริหารจัดการข้อมูลจราจรคอมพิวเตอร์

บทที่ 4 กล่าวถึง ผลการทดลอง ที่ได้ท าทดสอบการใช้งานในระบบจ าลอง

บทที่ 5 กล่าวถึง สรุปผลการด าเนินงาน ในการทดลองและประเมินผลใช้งานในระบบจ าลอง

และแนวทางในการศึกษาและพัฒนาระบบต่อไป

Page 12: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

4

บทที่ 2

พื้นฐานและทฤษฎีที่เกี่ยวข้อง

2.1 ระบบพิสูจน์ตัวตน

Kerberos และ Active Directory (AD) [1]

Kerberos เป็นการพิสูจน์ตัวตนรูปแบบหนึ่ง ถูกสร้างมาเพ่ือแก้ปัญหาความไม่ปลอดภัยใน

การพิสูจน์ตัว โดยระบบประกอบด้วย Kerberos Key Distribution Center (KDC) ซึ่งภายใน

ประกอบด้วย Authentication service (AS) ใช้ส าหรับการพิสูจน์ตัวตนของผู้ใช้งาน และ Ticket

Granting Service (TGS) ซึ่งท าหน้าบริหารจัดการ Ticket เพ่ือให้ผู้ใช้งานน าไปใช้งานเพ่ือเข้าถึง

ระบบต่างๆ ซึ่งระบบ Active Directory (AD) ก็มีการใช้หลักการท างาน Kerberos ในการท างาน

โดยกระบวนการท างานของ Kerberos มีการท างานดังนี้

1) AS Request คือกระบวนการ เมื่อผู้ใช้งานท าการร้องขอการเข้าถึงกับระบบ AS

ที่อยู่ภายใน Kerberos

2) AS Reply คือกระบวนการ เมื่อระบบ AS ได้รับการร้องขอ จากผู้ใช้งาน จะท า

การตรวจสอบกับฐานข้อมูลภายในว่าผู้ใช้งานดังกล่าว มีสิทธิหรือไม่ ถ้ามีระบบ

จะท าการสร้าง Session และ Ticket Granting Ticket (TGT) ที่ถูกเข้ารหัสลับ

ด้วย TGS Key ซึ่งมีแต่ TGS เท่านั้นที่ถอดรหัสได้ จากนั้นเข้ารหัสลับอีกครั้ง ด้วย

รหัสลับที่ถูกสร้างจากรหัสผ่านของผู้ใช้งานที่อยู่ในฐานข้อมูลอีกครั้งหนึ่งด้วย

แล้วส่งข้อมูลดังกล่าวกลับไปให้ผู้ใช้งาน ผู้ใช้งานได้รับ Session และ TGT จะท า

การถอดรหัสลับ ด้วยรหัสลับ ที่สร้างขึ้นจากรหัสผ่านของตัวเอง จากนั้นจะเก็บ

Session และ TGT ไว้ใช้งานต่อไป

3) TGS Request คือกระบวนการ เมื่อผู้ใช้งานต้องการใช้งาน Service ต่างๆ จะ

ท าการส่ง Service ที่ต้องการเข้าถึง, TGT และ Authenticator ที่สร้างขึ้น ซึ่ง

ภายในประกอบด้วย ชื่อผู้ใช้งาน หมายเลข IP address และ time stamp แล้ว

ท าการเข้ารหัสลับด้วย Session ไปยังระบบ TGS

4) TGS Reply คือกระบวนการ เมื่อ TGS ได้รับข้อมูลการร้องขอจากผู้ใช้งาน จะท า

ถอดรหัสลับออก แล้วท าการตรวจสอบ TGT แล้วท าการตรวจสอบข้อมูล TGT

ดังกล่าว ถ้าข้อมูลถูกต้อง ก็จะส่งข้อมูล Service Ticket และ Service Session

Page 13: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

5

Key ถูกเข้ารหัสลับด้วย Session Key ไปให้กับผู้ใช้งาน ผู้ใช้งานก็จะท าการ

ถอดรหัสลับ Service Ticket และ Service Session Key ด้วย Session Key ที่

ตนเองถืออยู่ และเก็บไว้ใช้งานต่อไป

5) AP Request คือกระบวนการ ผู้ใช้งานส่ง Service Ticket และ Service

Session Key ไปให้กับ Application Server ที่ต้องการร้องขอการเข้าถึง เมื่อ

Application Server ได้รับการร้องขอแล้วก็จะท าการใช้ Service Key ของ

ตนเอง ในการถอดรหัสลับ Service Ticket และ Service Session key เพ่ือ

ตรวจสอบการพิสูจน์ตัวตนจากผู้ใช้งาน

6) AP Reply เมือ่พิสูจน์ตัวตนส าเร็จ ผู้ใช้งานกับ Application Server ก็จะท าการ

เชื่อมต่อกันได้

ดังรูปที่ 2.1

รูปที่ 2.1 ขั้นตอนการท างานของ Kerberos

Active Directory (AD) เป็นระบบที่พัฒนามาจาก Kerberos รุ่นที่ 5 ท าให้มีหลักการ

ท างานเหมือนกัน

2.2 โครงสร้างและส่วนประกอบของระบบล็อก

2.2.1 Log Source หรือ Log Generator

คือ แหล่งก าเนิดของข้อมูลล็อก จากอุปกรณ์สารสนเทศต่างๆ เช่น อุปกรณ์เครือข่ายอุปกรณ์

เซิร์ฟเวอร์ ระบบปฏิบัติการต่างๆ หรือจากแอพพลิเคชั่นที่มีการบันทึกข้อมูลล็อก โดยในบางอุปกรณ์

Page 14: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

6

หรือแอพพลิเคชั่น สามารถท าการส่งข้อมูลล็อกไปยังล็อกเซิร์ฟเวอร์ (Log Server) ได้โดยตรงหรือ

อาจจะต้องอาศัย Log Transmission หรือ Log Agent ในการท าการส่งข้อมูล

2.2.2 Log Transmission หรือ Log Agent

คือ ระบบส าหรับใช้ส าหรับส่งข้อมูลล็อก จากแหล่งก าเนิดของข้อมูลล็อก (Log Source) ไป

ยังล็อกเซิร์ฟเวอร์โดย Log Agent บางตัวยังสามารถส่งข้อมูล บางอย่างให้กับล็อกเซิร์ฟเวอร์ได้ เช่น

สถานการณ์ท างานของ Log Agent ขนาดของไฟล์ข้อมูล ที่อยู่ในโฟลเดอร์ รวมทั้งยังสามารถรับค าสั่ง

บางอย่าง จากล็อกเซิร์ฟเวอร์ได้ เช่น ค าสั่ง เริ่มและหยุดการท างาน แม้กระทั้งสามารถท าการสั่ง

Deploy Script จากเครื่อง Log Server ต้นทางไปยังเครื่องปลายทางที่ Log Agent ติดตั้งอยู่

2.2.3 Log Parser

คือ ระบบส าหรับจัดรูปแบบ หรือแปลงข้อมูลล็อก ก่อนที่จะส่งไปท าการจัดเก็บ เพ่ือให้อยู่ใน

รูปที่แบบที่เอาไว้จัดเก็บในได้ง่ายขึ้น เก็บไว้เป็นชนิดเดียว กันเช่น การตัดข้อมูลล็อกออกเป็นชุดๆ

ตามแบบของข้อมูล เพ่ือให้ง่ายต่อการจัดเก็บและค้นหา

ในบางชนิดสามารถเขียนค าสั่งต่างๆ ผ่าน regular expression เพ่ือท าการจัดเรียงข้อมูล

ตามเงื่อนไขที่ต้องการ

2.2.4 Log Server หรือ Log Storage

คือ เซิร์ฟเวอร์ส าหรับรับและจัดเก็บข้อมูลล็อก จากแหล่งก าเนิดของข้อมูลล็อก (Log

Source) เพ่ือจัดเก็บและแปลงข้อมูลล็อกให้อยู่ในรูปแบบที่ก าหนด เพ่ือให้สามารถค้นหาหรือน าไป

วิเคราะห์ได้ต่อไป

2.2.5 Log Management

คือ ระบบบริหารจัดการส าหรับการค้นหาข้อมูลล็อก แสดงผล รวมทั้งระบบสร้างรายงาน

เพ่ือให้ผู้ดูแลระบบหรือผู้ที่หน้าที่รับผิดชอบสามารถวิเคราะห์ข้อมูลล็อก ได้อย่างสะดวก รวดเร็ว

รวมถึงความสามารถในการส ารองข้อมูล นอกจากนี้บางระบบยังสามารถท าหน้าที่เป็น Log Analyzer

เพ่ือใช้ในการเฝ้าระวัง และแจ้งเตือนเหตุการณ์ต่างๆ ที่เกิดขึ้นบนระบบ จากข้อมูลล็อกไฟล์ ที่ได้รับมา

Page 15: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

7

2.3 ซอฟต์แวร์ที่เลือกใช้

2.3.1 Bro [2]

Bro เป็นระบบตรวจจับผู้บุกรุกทางเครือข่ายชนิดหนึ่ง หรือที่เรียกกันว่า IPS (Intrusion

Detection System) สามารถติดตั้งได้ระบบ Unix และ Linux สามารถท าการดักจับข้อมูลเครือข่าย

ผ่าน libpcap โดย Bro จะต่างกับ IPS ชนิดอ่ืนๆ เช่น Snort หรือ Suricata ตรงที่ IPS ชนิดอ่ืนเป็น

แบบ Rule Based ในขณะที่ Bro เป็นแบบ Script Based ผ่านภาษาของตัวเอง ท าให้ผู้ใช้งาน

สามารถท าการเขียนโปรแกรมให้ Bro ท างานได้ตามต้องการ ท าให้มีการประยุกต์ใช้หลากหลาย แถม

ยังมีการเก็บข้อมูลจราจรคอมพิวเตอร์ที่บันทึกได้จากเครือข่าย ลงบนไฟล์ล็อก ได้อย่างหลากหลาย

ดังรูปที่ 2.2

รูปที่ 2.2 ขั้นตอนการท างานของซอฟต์แวร์ Bro

การที่ซอฟต์แวร์ Bro สามารถบันทึกข้อมูลเครือข่ายที่ดักจับได้ลงบนไฟล์ล็อก ได้อย่าง

หลากหลายและครอบคลุมนั้น ท าให้สามารถน ามาใช้งานเป็น Log Generator ได้เป็นอย่างดี โดยมี

รายละเอียดล็อกไฟล์ชนิดต่างๆ ที่ซอฟต์แวร์ Bro สามารถจัดเก็บได้ ที่น่าสนใจและสามารถน ามา

วิเคราะห์ข้อมูลการจราจรคอมพิวเตอร์ได้ ตามตารางที่ 2.1 โดยซอฟต์แวร์ Bro มีลิขสิทธิ์แบบ BSD

License ท าให้สามารถใช้งานได้ฟรี

Page 16: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

8

ตารางที่ 2.1 แสดงข้อมูลล็อกที่ซอฟต์แวร์ Bro จัดเก็บได้

ชนิดของล็อกไฟล์ รายละเอียด conn.log ล็อกการใช้งาน TCP/UDP/ICMP

dhcp.log ล็อกการใช้งาน DHCP dns.log ล็อกการใช้งาน DNS

ftp.log ล็อกการใช้งาน FTP

http.log ล็อกการใช้งาน HTTP irc.log ล็อกการใช้งาน IRC (commands และ responses)

kerberos.log ล็อกการใช้งาน Kerberos

know-service.log ล็อกการใช้งานเซอร์วิสที่ bro รู้จัก mysql.log ล็อกการใช้งานโปรแกรม MySQL

ntlm.log ล็อกการใช้งาน NTLM notice_alarm.log ล็อกการแจ้งเตือนต่างๆ ที่ Bro ตรวจจับได้

radius.log ล็อกการใช้งาน RADIUS

rdp.log ล็อกการใช้งาน RDP sip.log ล็อกการใช้งาน SIP

smb_cmd.log ล็อกการใช้งาน SMB commands

smb_files.log ล็อกการใช้งานไฟล์ผ่าน SMB smb_mapping.log ล็อกการใช้งาน SMB mapping

smtp.log ล็อกการใช้งาน SMTP

snmp.log ล็อกการใช้งาน SNMP socks.log ล็อกการใช้งาน SOCKS proxy (requests)

software.log ล็อกการใช้งานซอฟต์แวร์ต่างๆ ผ่านทางเครือข่าย ssh.log ล็อกการใช้งาน SSH

ssl.log ล็อกข้อมูลการ handshake ของ SSL/TLS

stats.log ล็อกสรุปข้อมูลการใช้งานต่างๆ บนเครือข่าย traceroute.log ล็อกการใช้งาน traceroute

tunnel.log ล็อกการใช้งานผ่าน tunnel

weird.log ล็อกการใช้งานเครือข่ายแบบผิดปกติ x509.log ล้อกข้อมูลของ Certificate x.509

Page 17: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

9

2.3.2 ELK และ Filebeat [3]

ELK (Elasticsearch Logstash Kibana) เป็นชุดซอฟต์แวร์ ที่ถูกออกแบบมาให้สามารถ

ท างานรวมกันเป็นระบบจัดเก็บข้อมูล ระบบจัดเรียงข้อมูล และระบบแสดงผล ตามล าดับ ส่วน

Filebeat เป็นซอฟต์แวร์ที่ท าหน้าที่เป็น Log Agent ในการส่งข้อมูลล็อก ท าให้สามารถน ามาท าเป็น

ระบบจัดเก็บข้อมูลจราจรคอมพิวเตอร์ได้เป็นอย่างดี โดยมีรายละเอียด ดังนี้

Elasticsearch คือ ระบบฐานข้อมูลแบบ NoSQL แบบหนึ่ง ที่สามารถท าการ

ค้นหาข้อมูลได้แบบ distributed search โดยระบบจ าท าการ index ข้อมูลที่

เก็บไว้ ท าให้สามารถท าการค้นหาข้อมูลได้อย่างรวดเร็ว ถูกพัฒนาต่อยอดมาก

Apache lucene

Logstash คือ ระบบ log parser ชนิดหนึ่ง สามารถจากแหล่งๆ ต่างๆ ท าการ

แยกแยะ กรองข้อมูล แปลงข้อมูล ก่อนจะท าการจัดเก็บสู่ระบบฐานข้อมูล สู่

syslog server หรือระบบอ่ืนๆ ได้อย่างหลากหลายชนิด

Kibana คือ ระบบแสดงผลและค้นหาข้อมูลแบบเว็บไซต์ ที่ถูกออกแบบมาให้

ท างานร่วมกับ Elasticsearch และ Logstash โดยเฉพาะ ท าให้สามารถค้นหา

จัดการข้อมูล และแสดงผลข้อมูลแบบ Dashboard โดยสามารถแสดงผลได้

หลากหลาย

Filebeat คือ Log Agent ชนิดหนึ่ง ที่ถูกออกแบบมาให้ท างานร่วมกับ

Elasticsearch และ Logstash โดยเฉพาะ เมื่อใดก็ตามที่ข้อมูลมีขนาดเยอะ

มาก ทั้ง Elasticsearch และ Logstash สามารถส่งข้อมูลบอกให้ Filebeat

ชะลอการอ่านและส่งข้อมูลล็อกได้

เป็นซอฟต์แวร์แบบ Open source ที่มีลิขสิทธิ์แบบ Apache License 2.0 ท าให้สามารถใช้

งานได้ฟรี ถูกพัฒนาโดยบริษัท Elasticsearch BV

Page 18: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

10

บทที่ 3

ระบบที่น าเสนอ

3.1 ภาพรวมของระบบ

การออกแบบและพัฒนาระบบ เนื่องจากระบบการจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบ

Open source ทั่วไปนั้น ไม่ได้ท าการจัดเก็บชื่อผู้งาน ไว้ในเนื้อ Log โดยตรง มีเพียงหมายเลข IP

Address เท่านั้นที่จะสามารถระบุตัวผู้ใช้งานแบบอ้อมๆ ได้ ท าให้จะต้องท าการเทียบเคียงกับ

Authentication log เพ่ือระบุว่าหมายเลข IP Address ดังกล่าว ผู้ใช้งานผู้ใด เป็นผู้ใช้งาน ท าให้เกิด

ความยุ่งยากและล่าช้า ในการระบุตัวตนของผู้ใช้งาน จึงได้เกิดแนวคิดโครงงานนี้เพ่ือพัฒนาระบบ

การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งานขึ้นเพ่ือให้ตอบโจทย์ต่อการใช้งาน และการ

จัดเก็บข้อมูลจราจรอย่างไรให้ง่ายต่อการบริหารจัดการและประหยัดค่าใช้จ่าย

โดยมีการออกแบบแผนผังโครงสร้างเครือข่ายต่างๆ ออกเป็นส่วนๆ ดังรูปที่ 3.1

ประกอบด้วย

รูปที่ 3.1 แผนผังโครงสร้างเครือข่ายของโครงงาน

3.1.1 Bro

ท าหน้าที่แหล่งก าเนิดของข้อมูลล็อก หรือที่เรียกว่า Log Generator โดย Bro จะท าการ

ดักจับข้อมูลของเครือข่าย และน ามาสร้างเป็นล็อกข้อมูลจราจรทางคอมพิวเตอร์ได้หลายชนิด ล็อก

ไฟล์ที่ส าคัญที่สุดคือ conn.log เป็นล็อกไฟล์ที่บันทึกไฟล์ข้อมูลจราจรทางคอมพิวเตอร์ ทั้งหมดของ

เครือข่าย

Bro จะถูกติดตั้งแบบ Out-of-Band เพ่ือคอยดักจับข้อมูลของเครือข่าย ฉะนั้นจึงไม่ขวางการ

รับส่งข้อมูลภายในเครือข่าย ท าให้ระบบเครือข่ายยังคงท างานได้อย่างรวดเร็วตามปกติ

Page 19: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

11

3.1.2 Filebeat

ท าหน้าที่ในการส่งข้อมูลล็อก จากแหล่งก าเนิดของข้อมูลล็อกไปยังล็อกเซิร์ฟเวอร์ หรือที่

เรียกว่า Log Agent

3.1.3 Logstash

ท าหน้าที่ระบบส าหรับจัดรูปแบบ หรือแปลงข้อมูลล็อก ก่อนที่จะส่งไปท าการจัดเก็บใน

ฐานข้อมูล เพ่ือให้อยู่ในรูปแบบชนิดเดียว และสร้างแท็ก (tag) แบ่งชนิดข้องข้อมูล เพ่ือให้ง่ายต่อการ

จัดเก็บและค้นหาข้อมูล แล้วยังท าหน้าที่แปลงของมูลเวลาในล็อกไฟล์ จากเดิมที่อยู่ในรูปเวลา

epoch ให้อยู่ในรูปของเวลาที่มนุษย์ สามารถเข้าใจได้ง่าย เช่น เวลาในแบบ epoch เป็น

1500017596 สามารถแปลงเป็นเวลาแบบทั่วไปคือ July 14, 2017

นอกจากความสารถข้างต้นแล้ว Logstash ยังสามารถท าส่งข้อมูลให้กับ Filebeat เพ่ือท า

การชะลอการส่งข้อมูล ในกรณีที่ข้อมูลล็อกมีปริมาณมาและ Logstash ท าการประมวลผลไม่ทัน

3.1.4 Elastisearch

ท าหน้าที่เป็นระบบส าหรับรับจัดเก็บข้อมูลล็อก หรือที่เรียกว่า Log Storage หลังจาก

ข้อมูลล็อกได้รับการจัดการเรียงข้อมูลจาก Logstash แล้ว จะถูกส่งมาจัดเก็บบน Elastisearch

3.1.5 Kibana

ท าหน้าระบบบริหารจัดการส าหรับการค้นหาข้อมูลล็อก แสดงผล (Dashboard) หรือที่

เรียกว่า Log Management เพ่ือให้ผู้ดูแลระบบหรือผู้ที่หน้าที่รับผิดชอบสามารถวิเคราะห์ข้อมูลล็อก

ได้อย่างสะดวก รวดเร็ว

3.1.6 Report Generator

ท าหน้าในการสร้างรายงานตามรูปแบบที่ก าหนด โดยน ารูปภาพ

Page 20: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

12

3.2 การออกแบบ

3.2.1 การออกแบบระบบระบบบันทึกชื่อผู้ใช้งานเพ่ิมเติม [4]

การออกแบบขั้นตอนการท างานของระบบบันทึกชื่อผู้ใช้งานเพ่ิมเติม ลงบนล็อกข้อมูลจราจร

คอมพิวเตอร์ที่ Bro สร้างข้ึน โดยมีขั้นตอน ดังรูปที่ 3.2

รูปที่ 3.2 แผนผังแสดงการท างานของระบบบันทึกชื่อผู้ใช้งานเพิ่มเติม

1) เมื่อผู้ใช้งานจะเข้าใช้งานเครื่องคอมพิวเตอร์ จะต้องท าการล็อกอิน (Login)

ก่อนเข้าสู่เครื่องคอมพิวเตอร์ ด้วยชื่อผู้ใช้งานที่มีอยู่ในระบบ AD โดยระบบ

AD ท าหน้าที่เป็นเซิร์ฟเวอร์ Authentication Service (AS) โดยกฎพ้ืนฐาน

ตามปกติของ AD จะก าหนดไว้ ผู้ใช้งานทุกคนที่มีชื่ออยู่บนระบบ ถ้าท าการ

พิสูจน์ตัวตนส าเร็จ จะสามารถเข้าใช้งานเครื่องคอมพิวเตอร์ได้ ฉะนั้นถ้าท า

การ ล็อกอินส าเร็จ จึงจะสามารถท าการเข้าใช้งานเครื่องคอมพิวเตอร์ได้

เข้าถึงระบบต่างๆ ภายในองค์กร และเข้าถึงอินเทอร์เน็ตได้

ในขณะนั้นระบบ Bro ที่ถูกติดตั้งแบบ Out-of-Band จะดักจับ

ข้อมูลภายในเครือข่ายที่เกิดขึ้นเรียกว่า event และท าการบันทึกข้อมูล ลง

บนล็อกไฟล์ต่างๆ ฉะนั้นการ ล็อกอินด้วยชื่อของผู้ใช้งานกับระบบ AD ก็จะ

ถูกบันทึก อยู่บนระบบจ านวนสองส่วนคือ Connection Event (ส่วนจัดเก็บ

ข้อมูลการใช้งานเครือข่าย) แล้วท าการบันทึกข้อมูลลงบนล็อกไฟล์ที่ชื่อว่า

conn.log อีกส่วนคือ Kerberos Event (ส่วนจัดเก็บข้อมูลการใช้งาน

Page 21: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

13

เครือข่ายผ่านโพรโตคอล Kerberos) แล้วท าการบันทึกข้อมูลลงบนล็อกไฟล์

ที่ชื่อว่า kerberos.log ไม่ว่าผู้ใช้งานจะ ล็อกอินส าเร็จ หรือไม่ ตามรูปที่ 3.1

ขั้นตอนที่ 1.1 และ 1.2 ตามล าดับ

2) ระบบที่พัฒนาขึ้น จะท าการจัดเก็บข้อมูลการล็อกอิน Kerberos event ที่

ส าเร็จ (True) และเป็น AS มาท าการจัดเก็บ ลงบนตาราง Auth

(Authentication) ดังรูปที่ 3.1 ขั้นตอนที่ 2

3) ระบบที่พัฒนาขึ้น ก็จะท าการดึงข้อมูลของตาราง Auth มาจัดเก็บไว้บน

ตารางระบบ Get Client อีกทีหนึ่ง และเมื่อมี Connection Event ใด

เกิดขึ้นบนระบบ แล้วมีหมายเลข IP Address ตรงกับข้อมูลตาราง Get

Client ก็จะท าการดึงข้อมูลผู้ใช้งานของหมายเลข IP Address นั้นๆ ไปเพ่ิม

ลงบนระบบ Connection Event ที่มีหมายเลข IP Address ตรงกัน เป็น

เป็นผลท าให้ conn.log จะถูกเพ่ิมชื่อผู้ใช้งานลงไปด้วย ดังรูปที่ 3.1 ขั้นตอน

ที่ 3 ท าให้เราได้ล็อกไฟล์ที่เห็นชื่อผู้ใช้งาน เพ่ือน าไปใช้งานต่อไป

การออกแบบโปรแกรมส าหรับบันทึกชื่อผู้ใช้งานเพิ่มเติม ลงบนล็อกข้อมูลจราจรคอมพิวเตอร์

ที่ Bro สร้างขึ้น เนื่องจากระบบ Kerberos Event ที่ใช้ในการดักจับไม่สามารถ ท าการดักจับ ข้อมูล

การล็อกเอาท์ได้อย่างละเอียด เห็นเป็นเพียงข้อมูล TGS ท าให้ไม่สามารถท าการออกแบบฟังก์ชันที่

ท างานเม่ือผู้ใช้งานล็อกเอาท์ได้ จึงได้ใช้การล้างข้อมูลเก่าในกรณีที่มี IP address ตรงกับข้อมูลเก่าใน

ตาราง Auth Index แทน โดยมีขั้นตอนการท างานของโปรแกรม ดังรูป 3.3 ดังนี้

Page 22: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

14

รูปที่ 3.3 ขั้นตอนการท างานของโปรแกรมบันทึกชื่อผู้ใช้งานเพ่ิมเติม

Page 23: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

15

3.2.2 การออกแบบระบบจัดเก็บ ค้นหาและแสดงผลข้อมูลจราจรคอมพิวเตอร์

1) ระบบการจัดเก็บข้อมูลจราจรคอมพิวเตอร์

ส่งข้อมูลล็อกท่ีเกิดข้ึนจาก Bro เซริฟ์เวอร์ ด้วยซอฟต์แวร์ Filebeat

ซอฟต์แวร์ Logstash จะท าการจัดเรียงข้อมูลตามลักษณะที่ก าหนดไว้

พร้อมท าการแปลงข้อมูลบางอย่าง ก่อนท าการส่งข้อมูลต่อไปยัง

ซอฟต์แวร์ Elasticsearch

ซอฟต์แวร์ Elasticsearch จะท าการจัดเก็บข้อมูลลงในฐานข้อมูล

การท างานขึ้นตอนต่างๆ ของระบบ ดังรูปที่ 3.4

รูปที่ 3.4 ขั้นตอนการท างานของระบบจัดเก็บข้อมูลจราจรคอมพิวเตอร์

Page 24: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

16

2) ระบบค้นหาและแสดงผลข้อมูลจราจรคอมพิวเตอร์

ซอฟต์แวร์ Kibana จะท าการดังข้อมูลจากฐานข้อมูลของ ซอฟต์แวร์

Elasticsearch มาแสดงผลผู้ใช้สามารถค้นหาข้อมูลได้ตามต้องการ

รวมถึงสามารถท าระบบแสดงผลได้ตามต้องการ ดังรูปที ่3.5

รูปที่ 3.5 ขั้นตอนการท างานของระบบค้นหาและแสดงผลข้อมูลจราจรคอมพิวเตอร์

3.2.3 การออกแบบระบบจัดท ารายงาน

1) ท าการสร้างโปรแกรมเพ่ือท าการ Capture หน้าจอแสดงผลของ Kibana

ออกมาเป็นไฟล์รูปภาพ โดยใช้ โปรแกรมภาษา PhantomJS โดยต้องท าการตั้ง

ค่า ต าแหน่งของหน้าจอแสดงผล url ของหน้าจอแสดงผลที่ต้องการ ชื่อไฟล์

ตามท่ีต้องการ ดังรูปที่ 3.6

Page 25: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

17

รูปที่ 3.6 ขั้นตอนการท างานของระบบ Capture หน้าจอแสดงผล

2) ท าการสร้างโปรแกรมเพ่ือท าการสร้างรายงาน เป็นไฟล์ pdf โดยใช้โปรแกรม

ภาษา php [5] โดยต้องท าการตั้งค่าชื่อไฟล์รูปภาพ ข้อความต่างๆ ในรายงาน

Page 26: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

18

บทที่ 4

ผลการทดลอง

4.1 วิธีการทดลอง

จากการออกแบบผังโครงสร้างเครือข่ายของโครงงาน ดังรูปที่ 3.1 และการออกแบบระบบ

ต่างๆ ตามบทที่ 3 ท าให้เราสามารถออกแบบแผนผังเครือข่ายเพ่ือท าการทดลองตามโครงงานได้ ดัง

รูปที่ 4.1 ดังนี้

INTERNET

Bro & Filebeat

ELK & Report Generator

Gateway

Normal Connect Mode Promiscuous Mode

PC Client

Active Directory

รูปที่ 4.1 แผนผังเครือข่ายของโครงงาน

Page 27: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

19

แต่ละเซิร์ฟเวอร์จะต้องท าการเทียบเวลากับเซิร์ฟเวอร์ NTP ที่อยู่ภายนอก เพ่ือให้มีเวลาที่

ตรงกัน โดยแต่ละเครื่องมีการติดตั้งซอฟต์แวร์ ดังนี้

1) เซิร์ฟเวอร์ Active Directory

Windows Server 2008 64 bit

2) Active Directoryเซิร์ฟเวอร์ Bro & Filebeat

Ubuntu Server รุ่น 14.04

Bro รุ่น 2.5

Filebeat รุ่น 5.3

3) เซิร์ฟเวอร์ ELK & Report Generator

Ubuntu Server รุ่น 14.04

Elasticsearch รุ่น 5.4

Logstash รุ่น 5.4

Kibana รุ่น 5.4

php รุ่น 5.5.9

phantomJS รุ่น 1.9

4) PC Client

Windows Desktop ทุกรุ่นที่สามารถ Join Domain ได้ แต่ในการ

ทดลองนี้ใช้ Windows 7

4.1.1 การทดลองระบบบันทึกข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

ท าการจ าลองการใช้งานของผู้ใช้งาน โดยให้ผู้ ใช้งานท าการล็อกอินเพ่ือใช้งานเครื่อง

คอมพิวเตอร์ จากนั้นท าการตรวจสอบข้อมูลจราจรคอมพิวเตอร์ที่เกิดขึ้น ถ้าผู้ใช้งานล็อกอินส าเร็จ

ระบบที่จัดท าสามารถเพ่ิมชื่อผู้ใช้งานลงบน conn.log ตามการใช้งานของผู้ใช้งานนั้นๆ ได้ตาม

วัตถุประสงค์หรือไม่

Page 28: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

20

4.1.2 การทดลองระบบจัดเก็บ ค้นหาและแสดงผลข้อมูลจราจรคอมพิวเตอร์

ท าการทดสอบข้อมูลที่จัดเก็บว่าสามารถ จัดเรียงข้อมูล ได้ตรงตามที่ต้องการ

หรือไม่

ท าการค้นหาข้อมูลว่าสามารถค้นหาข้อมูลได้ตามต้องการหรือไม่

ท าการสร้างหน้าแสดงผล ว่าสามารถสร้างหน้าแสดงผลต่างๆ ตามต้องการได้

หรือไม ่

4.1.3 การทดลองระบบจัดท ารายงาน

ท าการ capture หน้าจอแสดงผลไดห้รือไม ่

ท าการสร้างรายงานแสดงผลไดห้รือไม ่

4.2 สภาพแวดล้อมของการทดลอง

ระบบจ าลองที่ท าการทดลองในโครงงานนี้ จ าลองสภาวะเหมือนการใช้งานจริง เกือบทุก

ประการ แต่มีเง่ือนไขบางอย่างเพ่ือให้ระบบที่ออกแบบ ท างานได้อย่างมีประสิทธิภาพ ดังนี้

การตั้งค่า AD ก าหนดให้ผู้ใช้งานทุกคนที่มีชื่ออยู่บนระบบ ถ้าท าการพิสูจน์ตัวตนส าเร็จ

จะสามารถเข้าใช้งานเครื่องคอมพิวเตอร์ได้ ในโครงงานนี้จึงท าการดักจับข้อมูลการพิสูจน์

ตัวตนของผู้ใช้งาน จากข้อมูลการจราจรคอมพิวเตอร์ในส่วนของ Kerberos AS

ระบบตั้งค่าไม่ให้ผู้ใช้งานสามารถท าการสลับผู้ใช้งานได้ (Switch User) เพ่ือป้องกันไม่ให้

ระบบที่ออกแบบส าหรับการบันทึกชื่อผู้ใช้งานลงบนข้อมูลล็ อกไฟล์เพ่ิมเติมท างาน

ผิดพลาด เนื่องจากเมื่อผู้ใช้งานคนแรก เข้าใช้งานเครื่อง แล้วเมื่อเลิกใช้งานไม่ท าการ

ล็อกเอาท์ออกจากระบบ แต่ท าเพียงแค่ล็อคหน้าจอเครื่องคอมพิวเตอร์ ระบบ

แอพพลิเคชั่นต่างๆ ที่เปิดค้างเอาไว้ อาจจะมีการเข้าใช้งานเครือข่ายอยู่ ท าให้เมื่อผู้ใช้งาน

คนที่สองเข้าใช้งานเครื่องคอมพิวเตอร์ได้ส าเร็จ ระบบที่ออกแบบไว้ส าหรับการบันทึกชื่อ

ผู้ใช้งาน จะท าการเก็บข้อมูลการพิสูจน์ตัวตนของผู้ใช้งานคนที่สองไปแทนที่ของเดิม

จากนั้นล็อกข้อมูลจราจรคอมพิวเตอร์ ที่มาจาก IP address นั้นจะถูกเพ่ิมชื่อของผู้ใช้งาน

คนที่สองลงไป ซึ่งความจริงแล้วข้อมูลจราจรคอมพิวเตอร์ที่เกิดขึ้นอาจจะเป็นของ

Page 29: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

21

แอพพลิเคชั่นที่ผู้ใช้งานคนที่หนึ่งเปิดใช้งานอยู่ ซึ่งจะท าให้ระบบบันทึกข้อมูลล็อกไฟล์

ผิดพลาดไปจากความเป็นจริงได ้

ในกรณีที่ผู้ใช้งานต้องการติดตั้งแอพพลิเคชั่นหรือโปแกรมเพ่ิมเติมอ่ืนๆ นอกเหนือจากที่

ระบบติดตั้งไว้ จะไม่สามารถท าการติดตั้งเองได้ จะต้องให้ผู้ดูแลระบบ (administrator)

ท าการติดตั้งให้ ซึ่งผู้ดูแลระบบจะต้องท าการล็อกอิน เพ่ือพิสูจน์ตัวตนกับระบบ เป็นผล

ท าให้ระบบบันทึกชื่อผู้ใช้งานที่จัดท าขึ้น จะท าการบันทึกชื่อของผู้ดูแลระบบลงไปในล็อก

ไฟล์แทน จนกว่าจะมีการมีพิสูจน์ตัวตนผู้ใช้งานใหม่อีกครั้ง

4.3 ผลการทดลอง

4.3.1 ผลการทดสอบระบบบันทึกข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

การทดสอบระบบบันทึกข้อมูลจราจรคอมพิวเตอร์ ที่พัฒนาเพ่ิมเติมจาก ซอฟแวร์ Bro

เพ่ือให้สามารถท าการจัดเก็บตัวตนของผู้ใช้งาน

ท าการทดสอบการเข้าใช้งานเครื่องคอมพิวเตอร์ด้วย ชื่อผู้ใช้งาน user1 ตามรูปที่

แล้วเมื่อท าการเข้าใช้งานเป็นผลส าเร็จ จะเห็นข้อมูลล็อก kerberos.log ว่ามีการ

เข้าใช้งานส าเร็จ ผ่าน Kerberos AS ท าให้สามารถเข้าใช้งานเครื่อง test3-pc ได้

จากการที่ได้สิทธิผ่าน Kerberos TGS โดยสามารถอ้างอิงได้จากผลการทดลอง

ดังรูปที่ 4.2

รูปที่ 4.2 ข้อมูลล็อกของ kerberos.log

Page 30: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

22

เมื่อท าการตรวจสอบ auth.log จะเห็นข้อมูลล็อกท่ีสอดคล้องกัน โดยสามารถอ้างอิงได้จากผลการ

ทดลอง ดังรูปที่ 4.3

รูปที่ 4.3 ข้อมูลล็อกของ auth.log

เมื่อท าการตรวจสอบ conn.log จะเห็นข้อมูลล็อกการใช้งานที่ถูกเพ่ิมด้วยชื่อของผู้ใช้งาน นับตั้งแต่

ผู้ใช้งานท าการล็อกอินส าเร็จ โดยสามารถอ้างอิงได้จากผลการทดลอง ตามรูปที่ 4.4

รูปที่ 4.4 ข้อมูลล็อกของ conn.log

ท าการทดสอบการเข้าใช้งาน โดยการให้ user1 แล้วออกจากระบบ จากนั้นเข้าใช้

งานด้วย user2 เมื่อเวลา แล้วท าการตรวจสอบ Kerberos.log ดังรูปที่ 4.5

จากนั้นเมื่อท าการตรวจสอบ conn.log จะเห็นข้อมูลที่สอดคล้องกัน ว่าหลังจากท่ี

user2 ท าการล็ออกอินส าเร็จ conn.log จ าท าการเพิ่มชื่อ user2 แทนที่ user1

ดังรูปที่ 4.6

Page 31: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

23

รูปที่ 4.5 ข้อมูล kerberos.log การสลับการใช้งานระหว่างผู้ใช้งาน

รูปที่ 4.6 ข้อมูล conn.log การสลับการใช้งานระหว่างผู้ใช้งาน

Page 32: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

24

4.3.2 ผลการทดสอบระบบจัดเก็บ ค้นหาและแสดงผลข้อมูลจราจรคอมพิวเตอร์

ท าการค้นหาข้อมูล ด้วยการค้นหาข้อมูลล็อกที่มีค าว่า user1 อยู่ ว่าสามารถค้นหาได้อย่าง

ถูกต้อง และท าการตรวจสอบการจัดเรียงข้อมูล ว่ามีความถูกต้อง โดยสามารถอ้างอิงได้จากผลการ

ทดลอง ดังรูปที่ 4.7

รูปที่ 4.7 หน้าจอแสดงผลการค้นหาข้อมูลและผลการจัดเรียงข้อมูล

Page 33: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

25

ท าการสร้างหน้าแสดงผล (Dashboard) ว่าสามารถสร้างหน้าแสดงผลต่างๆ ตาม

ต้องการได ้โดยสามารถอ้างอิงได้จากผลการทดลอง ดังรูปที่ 4.8

รูปที่ 4.8 หน้าจอแสดงผล

Page 34: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

26

4.3.3 ผลการทดสอบระบบจัดท ารายงาน

ท าการทดลอง Capture หน้าจอแสดงผล ระบบแจ้งว่า Status Loading url:

success และไม่มีผลการท างานที่ผิดพลาด โดยสามารถอ้างอิงได้จากผลการ

ทดลอง ดังรูปที ่4.9 และรูปที่ 4.10

รูปที่ 4.9 ผลการท า capture หน้าจอส าเร็จ

รูปที่ 4.10 ไฟล์รูปภาพที่ได้จากการ capture หน้าจอส าเร็จ

Page 35: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

27

ท าการทดลอง Capture หน้าจอแสดงผล ระบบแจ้งว่า “Status Loading url:

fail” และ “Fail to load the url!”แสดงว่าไม่สามารถเข้าถึง url ดังกล่าวได้โดย

สามารถอ้างอิงได้จากผลการทดลอง ดังรูปที ่รูปที่ 4.11

รูปที่ 4.11 ผลการการท า capture หน้าจอไมส่ าเร็จ

ท าการทดลองสร้างรายงานเป็นไฟล์ pdf จากไฟล์รูปภาพที่ capture หน้า

จอแสดงผล โดยสามารถอ้างอิงได้จากผลการทดลอง ดังรูปที่ 4.12

รูปที่ 4.12 ผลของรายงานที่สร้างได้ในรูปแบบ pdf

Page 36: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

28

บทที่ 5

สรุปผลการด าเนินงาน

5.1 สรุปผลการด าเนินงาน

โครงงานนี้ได้ท าการจัดท าระบบจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งานขึ้น เพ่ือให้ผู้ใช้งาน

ระบบสามารถค้นหา ตรวจสอบข้อมูล และแสดงผลข้อมูลล็อก ได้อย่างสะดวกรวดเร็วและมี

ประสิทธิภาพ รวมถึงประหยัดค่าใช้จ่าย เนื่องจากผู้ศึกษาได้มีการน าซอฟท์แวร์ Open source ต่างๆ

มาประยุกต์ใช้ในการพัฒนาระบบ โดยสรุปเป็นข้อๆ ได้ดังนี ้

5.1.1 สามารถบันทึกข้อมูลชื่อผู้ใช้งาน เพ่ิมเติมลงบนล็อกข้อมูลจราจรคอมพิวเตอร์ได ้

5.1.2 สามารถจัดเก็บ ค้นหา และแสดงผลข้อมูลจราจรคอมพิวเตอร์ได ้

5.1.3 สามารถจัดท ารายงานได ้

5.2 ปัญหาและอุปสรรคของการด าเนินการ

เนื่องจากซอฟต์แวร์ Bro ไม่เป็นที่นิยมใช้งานแพร่หลายมากนัก ท าให้คู่มือการเขียนภาษา

Bro และแหล่งค้นคว้าข้อมูลมีจ านวนน้อยมาก และ ตัวคู่มือเองก็ไม่ได้มีการเขียนอธิบายอย่างละเอียด

โดยส่งผลให้เป็นปัญหาหลักในการพัฒนาระบบดังกล่าว

5.3 แนวทางในการแก้ปัญหา

ท าการค้นคว้าข้อมูลจาก source code ต้นฉบับของซอฟต์แวร์ Bro และจากของผู้พัฒนา

ท่านอ่ืนๆ เพ่ือเป็นแนวทางในการศึกษาต่อยอด และพัฒนาระบบให้สมบูรณ์มากขึ้นต่อไปในอนาคต

5.4 ข้อจ ากัดของโครงงาน

ระบบมีข้อก าจัดในกรณีที่ มีผู้ใช้งานพร้อมกันสองคน โดยผู้ใช้งานคนแรก ยังไม่ได้ล็อกเอาท์

ออกจากระบบ แค่เพียงล็อคหน้าจอเครื่องคอมพิวเตอร์ หรือท าการสลับผู้ใช้งาน (Switch User)

ระบบแอพพลิเคชั่นต่างๆ ที่เปิดค้างเอาไว้ อาจจะยังมีการเข้าใช้งานเครือข่ายอยู่ ท าให้เมื่อผู้ใช้งานคน

ที่สองเข้าใช้งานเครื่องคอมพิวเตอร์ได้ส าเร็จ ระบบที่ออกแบบไว้ส าหรับการบันทึกชื่อผู้ใช้งาน จะท า

การเพ่ิมชื่อของผู้ใช้งานคนที่สอง ซึ่งเป็นผู้ใช้งานคนสุดท้ายที่ท าการพิสูจน์ตัวตนเพ่ือเข้าใช้งานเครื่อง

คอมพิวเตอร์ เครื่องนั้นๆ ส าเร็จเป็นคนสุดท้าย ลงไปในข้อมูลล็อกไฟล์ที่มาจาก IP address นั้นๆ

Page 37: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

29

แทน ซึ่งความจริงแล้วข้อมูลจราจรคอมพิวเตอร์ที่เกิดขึ้นอาจจะเป็นของแอพพลิเคชั่นที่ผู้ใช้งานคนที่

แรกเปิดใช้งานอยู่ ซึ่งจะท าให้ระบบบันทึกข้อมูลล็อกไฟล์ผิดพลาดไปจากความเป็นจริงได้

เพ่ือป้องกันปัญหาดังกล่าว จึงต้องท าการตั้งค่าไม่ให้ผู้ใช้งานสามารถท าการสลับผู้ใช้งานได้

เพ่ือป้องกันไม่ให้ระบบที่ออกแบบส าหรับการบันทึกชื่อผู้ใช้งานลงบนข้อมูลล็อกไฟล์เพ่ิมเติมท างาน

ผิดพลาด

5.5 ข้อเสนอแนะในการพัฒนาโครงงานต่อไปในอนาคต

เนื่องจากโครงงานฉบับนี้ จัดท าขึ้นเพ่ือศึกษาการจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็น

ชื่อผู้ใช้งาน แต่ยังมีบางส่วนไม่สมบูรณ์หรือยังสามารถพัฒนาเพ่ิมเติมต่อได้ ผู้ศึกษาจึงเห็นว่าควรมีการ

พัฒนาระบบเพิ่มเติม ดังนี้

5.5.1 ปรับปรุงสคลิปต์ ที่ใช้ในการตรวจจับข้อมูลจราจรคอมพิวเตอร์ ของ Kerberos เพ่ือให้

เพ่ือให้ระบบสามารถตรวจจับข้อมูลการล็อกเอาท์ ของผู้ใช้งาน เพ่ือน าไปพัฒนาฟังก์ชันล็อกเอาท์ของ

โปรแกรมท่ีพัฒนาในโครงงานต่อไป

5.5.2 เพ่ิมความสามารถในการบันทึกชื่อผู้ใช้งาน ในล็อกของ Bro เพ่ิมเติมส่วนอ่ืนๆ เพ่ือ

ประโยชน์ในการวิเคราะห์และตรวจสอบข้อมูลจราจร ได้ละเอียดมากขึ้น เช่น

http.log คือล็อกข้อมูลการจราจรเพิ่มเติมส าหรับโพรโทคอล http

dns.log คือล็อกข้อมูลการจราจรเพิ่มเติมส าหรับการใช้งานโพรโทคอล dns

5.5.3 ท าการพัฒนาระบบแสดงผล (Dashboard) และระบบจัดท ารายงานเพ่ิมเติม เพ่ือให้

สามารถแสดงผลข้อมูลจราจรคอมพิวเตอร์ ได้ละเอียด ครบถ้วน และสวยงามมากข้ึน

Page 38: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

30

เอกสารอ้างอิง

[1] About Kerberos Authentication. [Online] Available:

https://docs.oracle.com/cd/E37670_01/E41138/html/ol_kerberosauth_sec.html

[2] The Bro Network Security Monitor. [Online] Available: https://www.bro.org/

[3] The Open Source Elastic Stack. [Online] Available: https://www.elastic.co/products

[4] hosom, Authentication framework for Bro IDS. [Online] Available:

https://github.com/hosom/bro-auth

[5] FPDF Generator Library. [Online] Available: http://www.fpdf.org/

Page 39: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

ภาคผนวก

การติดตั้งระบบ

Page 40: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

1

การติดตั้ง Bro

การติดตั้ง Bro เพ่ือใช้ในการบันทึกข้อมูลจราจรทางคอมพิวเตอร์

1. ติดตั้ง Bro ด้วยค าสั่ง

#sudo apt-get install bro

2. ท าการตั้งค่า network interface ให้ท างานแบบ promiscuous mode ด้วยค าสั่ง

# sudo ifconfig eth0 promisc

3. แก้ไขไฟล์ /opt/bro/etc/network.cfg โดยระบุ network interface ที่จะท าการดักจับ

ข้อมูล ดังนี้

#sudo vi /opt/bro/etc/network.cfg

[bro]

type=standalone

host=localhost

interface=eth1

4. แก้ไขไฟล์ /opt/bro/share/bro/site/local.bro โดยท าการเพิ่ม @load Auth เพ่ือชี้ไปยัง

script ที่เราติดตั้งเพ่ิมเติม ดังนี้

#vi /opt/bro/share/bro/site/local.bro

@load Auth

5. น า script ไปใส่ใน folder /opt/bro/share/bro/site/Auth/

6. เริ่มต้นการท างานของ Bro ด้วยค าสั่ง

#sudo /opt/bro/bin/broctl start

Page 41: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

2

การติดตั้ง Elasticsearch

การติดตั้ง E lasticsearch เพ่ือใช้ในการจัดเก็บข้อมูลจราจรทางคอมพิวเตอร์

1. ติดตั้ง Elasticsearch ด้วยค าสั่ง

#wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key

add -

#sudo apt-get install apt-transport-https

#echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo

tee -a /etc/apt/sources.list.d/elastic-5.x.list

#sudo apt-get update && sudo apt-get install elasticsearch

2. แก้ไขไฟล์ /etc/elasticsearch/elasticsearch.yml โดยระบุ network.host เป็น

localhost ดังนี้

network.host: localhost

3. ท าการตั้งค่าให้ Elasticsearch ท างานเม่ือเปิดเครื่อง ด้วยค าสั่ง

#sudo update-rc.d elasticsearch defaults 95 10

4. เริ่มต้นท างาน Elasticsearch ด้วยค าสั่ง

#sudo service elasticsearch start

Page 42: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

3

การติดตั้ง Kibana

การติดตั้ง Kibana เพ่ือใช้เป็นระบบค้นหาและแสดงผล

1. ติดตั้ง Elasticsearch ด้วยค าสั่ง

# sudo apt-get install kibana

2. แก้ไขไฟล์ /etc/kibana/kibana.yml โดยระบุ network.host เป็น localhost ดังนี้

network.host: localhost

3. ท าการตั้งค่าให้ Kibana ท างานเมื่อเปิดเครื่อง ด้วยค าสั่ง

sudo update-rc.d kibana defaults 95 10

4. ท าการตั้งค่ารหัสผ่านหน้า Login kibana ด้วยค าสั่ง

#sudo apt-get install nginx

#sudo apt-get install apache2-utils

#sudo htpasswd -c /etc/nginx/conf.d/.htpasswd admin

5. ท าการตั้งค่าให้ kibana ใช้งาน https ด้วยค าสั่ง

#sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout

/etc/ssl/private/elk.key -out /etc/ssl/certs/elk.crt

6. สร้างและตั้งค่าไฟล์ การตั้งค่าของ nginx ชื่อ /etc/nginx/sites-available/kibana.conf

ด้วยค าสั่งและตั้งค่า ดังนี้

#sudo vi /etc/nginx/sites-available/kibana.conf

server {

listen 80;

listen 443 ssl;

ssl_certificate /etc/ssl/certs/elk.crt;

ssl_certificate_key /etc/ssl/private/elk.key;

Page 43: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

4

ssl on;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;

ssl_prefer_server_ciphers on;

location / {

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-NginX-Proxy true;

proxy_http_version 1.1;

proxy_set_header Connection "";

auth_basic "Restricted";

auth_basic_user_file /etc/nginx/conf.d/.htpasswd;

proxy_pass http://localhost:5601;

proxy_redirect off;

}

}

7. ท าการสร้าง softlink ด้วยค าสั่ง

#sudo ln -s /etc/nginx/sites-available/kibana.conf /etc/nginx/sites-enabled/

8. เริ่มต้นท างาน Nginx ด้วยค าสั่ง

#sudo service nginx start

9. เริ่มต้นท างาน Kibana ด้วยค าสั่ง

#sudo service kibana start

Page 44: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

5

การติดตั้ง Logstash

การติดตั้ง Logstash เพ่ือใช้เป็นระบบ Log parser และ Indexing

1. ติดตั้ง Logstash ด้วยค าสั่ง

#sudo sudo apt-get install logstash

2. สร้างและตั้งค่าไฟล์ การตั้งค่าของ Logstash ชื่อ /etc/logstash/conf.d/01-bro.conf

ด้วยค าสั่งและตั้งค่า ดังนี้

#sudo # vi /etc/logstash/conf.d/01-bro.conf

tcp syslog stream via 5044

input {

beats {

port => 5044

}

}

filter {

if [message] =~ /^#/ {

drop { }

}

else {

# bro_conn_log ######################

if [source] == "/opt/bro/logs/current/conn.log" {

csv {

columns =>

["ts","uid","orig_ip","orig_port","resp_ip","resp_port","proto","service","duration","or

ig_bytes","resp_bytes","conn_state","local_orig","local_resp","missed_bytes","hist

Page 45: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

6

ory","orig_pkts","orig_ip_bytes","resp_pkts","resp_ip_bytes","tunnel_parents","orig

_users","resp_users"]

separator => " "

}

mutate {

convert => [ "orig_port", "integer" ]

convert => [ "resp_port", "integer" ]

convert => [ "orig_bytes", "integer" ]

convert => [ "resp_bytes", "integer" ]

convert => [ "missed_bytes", "integer" ]

convert => [ "orig_pkts", "integer" ]

convert => [ "orig_ip_bytes", "integer" ]

convert => [ "resp_pkts", "integer" ]

convert => [ "resp_ip_bytes", "integer" ]

}

}

}

date {

match => [ "ts", "UNIX" ]

target => "time"

}

}

filter {

if [type] == "bro" {

if [resp_ip] {

if ![resp_ip_resolved] {

mutate {

Page 46: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

7

add_field => [ "resp_ip_resolved", "%{resp_ip}" ]

}

dns {

reverse => [ "resp_ip_resolved" ]

action => "replace"

}

}

}

if [orig_ip] {

if ![orig_ip_resolved] {

mutate {

add_field => [ "orig_ip_resolved", "%{orig_ip}" ]

}

dns {

reverse => [ "orig_ip_resolved" ]

action => "replace"

}

}

}

}

}

output {

elasticsearch {

hosts => ["localhost:9200"]

3. เริ่มต้นท างาน Logstash ด้วยค าสั่ง

sudo service logstash start

Page 47: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

8

การติดตั้ง Filebeat

การติดตั้ง Filebeat เพ่ือใช้เป็นระบบ Log agent ท าหน้าที่ส่ง Log ให้กับระบบ Logstash

1. ติดตั้ง Filebeat ด้วยค าสั่ง

# sudo wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-

5.4.0-amd64.deb

#sudo dpkg -i filebeat-5.4.0-amd64.deb

2. แก้ไขไฟล์ การตั้งค่าของ /etc/filebeat/filebeat.yml ด้วยค าสั่งและตั้งค่าดังนี้

#sudo vi /etc/filebeat/filebeat.yml

filebeat.prospectors:.

- input_type: log

# Paths that should be crawled and fetched. Glob based paths.

paths:

- /opt/bro/logs/current/conn.log

tags: ["conn"]

document_type: bro

output.logstash:

# The Logstash hosts

hosts: ["192.168.99.84:5044"]

3. เริ่มต้นท างาน Logstash ด้วยค าสั่ง

#sudo service logtash start

การติดตั้ง PhantomJS

การติดตั้ง PhantomJS เพ่ือใช้เป็นระบบ Capture หน้าแสดงผล

ติดตั้ง PhantomJS ด้วยค าสั่ง

# sudo apt-get install phantomjs

Page 48: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

9

การปิดระบบการสลับชื่อผู้ใช้งาน (Switch User) ส าหรับ Windows 7

1. เข้าสู่เมนูการตั้งค่า Local Group Policy Editor หรือเข้าสู่เมนู Run แล้วพิมพ์ค าสั่ง

gpedit.msc

2. เมื่อเข้าสู่เมนูการตั้งค่า Local Group Policy Editor ได้แล้ว ให้เลือก

Local Computer Policy>Computer Configuration>Administrative

Templates>System>Logon

3. ท าการตั้งค่า Hide entry points for Fast User Switching เป็น Enabled

การตั้งค่าส าหรับเทียบเวลากับเซิร์ฟเวอร์ NTP

การตั้งค่าส าหรับเครื่อง Ubuntu 14

1. ติดตั้ง NTP service ด้วยค าสั่ง

#sudo apt-get install ntp

2. แก้ไขไฟล์ /etc/ntp.conf โดยระบุเซิร์ฟเวอร์ NTP ทีจ่ะท าการเทียบเวลา สามารถก าหนด

ได้หลายแหล่ง ดังนี้

#sudo vi /etc/ntp.conf

time1.nimt.or.th

time2.nimt.or.th

time.navy.mi.th

clock.nectec.or.th

3. เริ่มต้นการท างานของ Bro ด้วยค าสั่ง

#sudo service ntp start

Page 49: Log collection system with user - msit.mut.ac.thMISS) การจัดเก็บ... · การจัดเก็บข้อมูลจราจรคอมพิวเตอร์แบบเห็นชื่อผู้ใช้งาน

10

การตั้งค่าส าหรับเครื่อง Windows Server 2008

1. หยุดการท างานของระบบเวลาด้วยค าสั่ง

#net stop w32time

2. ท าการตั้งค่า โดยระบเุซิร์ฟเวอร์ NTP ทีจ่ะท าการเทียบเวลา สามารถก าหนดได้หลายแหล่ง

ดังนี้

#w32tm /config /syncfromflags:manual /manualpeerlist:"time1.nimt.or.th,0x1

time2.nimt.or.th,0x1 time.navy.mi.th,0x1 clock.nectec.or.th,0x1"

3. เริ่มต้นการท างานของระบบเวลาด้วยค าสั่ง

#net start w32time