1. Trang chủ
  2. » Luận Văn - Báo Cáo

TRIỂN KHAI PHÂN TÍCH LOG WEB APACHE BẰNG BỘ CÔNG CỤ ELK TẠI VNCERT

38 3,5K 56

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 38
Dung lượng 7,49 MB

Nội dung

Trên đây là bản báo cáo đồ án thực tập tốt nghiệp công nghệ thông tin.Tìm hiểu và triển khai còn khá thiếu sót nhưng hi vọng sẽ giúp các bạn được phần nào. Ngày nay, với tốc độ phát triển chóng mặt của ngành công nghệ thông tin với nhu cầu quá lớn từ nhiều người sử dụng, dẫn đến các hệ thống máy tính trở nên phức tạp, khó quản lý. Nhiều hệ thống không phải ở cùng một nơi, nằm phân tán. Các hệ điều hành, ứng dụng, dịch vụ được tạo ra bởi rất nhiều nguồn khác nhau. Lượng dữ liệu khổng lồ không ngừng gia tăng nhưng lại không tập trung. Vì vậy, chúng ta cần phải ghi lại hoạt động của hệ thống mà ở đây là Log.

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO THỰC TẬP TỐT NGHIỆP

TÊN ĐỀ TÀI

TRIỂN KHAI PHÂN TÍCH LOG WEB APACHE

BẰNG BỘ CÔNG CỤ ELK TẠI VNCERT

Sinh viên thực hiện: Trần Văn Lợi

Trang 2

Ngày nay, với tốc độ phát triển chóng mặt của ngành công nghệ thông tin với nhucầu quá lớn từ nhiều người sử dụng, dẫn đến các hệ thống máy tính trở nên phức tạp,khó quản lý Nhiều hệ thống không phải ở cùng một nơi, nằm phân tán Các hệ điềuhành, ứng dụng, dịch vụ được tạo ra bởi rất nhiều nguồn khác nhau Lượng dữ liệukhổng lồ không ngừng gia tăng nhưng lại không tập trung Vì vậy, chúng ta cần phảighi lại hoạt động của hệ thống mà ở đây là Log Thông thường, các bản ghi được lưutrữ phân tán trên các thiết bị khác nhau Kiểm tra log theo phương pháp truyền thống

là đăng nhập vào từng hệ thống để tìm kiểm tra, tìm kiếm lỗi gây mất thời gian, kémhiệu quả Nhằm giải quyết yêu cầu trên chúng ta nên sử dụng bộ ELK để phân tích logtheo thời gian thực giúp quản lý đăng nhập tập trung, thao tác đơn giản và tăng hiệuquả làm việc Có thể đáp ứng một khối lượng lớn dữ liệu gây ra bởi một phân phối lưutrữ và xử lý, tìm kiếm văn bản đầy đủ, đăng nhập khai thác, thách thức trựcquan Được xây dựng trên phần mềm mã nguồn mở Lucene tìm kiếm toàn văn bảnElasticsearch, không phải chỉ có kích thước khổng lồ của dữ liệu để hoàn thành việclập chỉ mục phân phối và thu hồi, mà còn cung cấp các phân tích tổng hợp số liệu;Logstash đối phó hiệu quả với nhiều nguồn dữ liệu khác nhau từ các thông tin đăngnhập, năng lượng Kibana phân tích kết quả trực quan

Em xin được gửi lời cảm ơn đến Trung tâm Ứng cứu khẩn cấp máy tính Việt NamVNCERT – Chi nhánh Đà Nẵng đã quan tâm, tạo điều kiện cho em có được môitrường thực tập thuận lợi Đặc biệt, em cảm ơn anh Phan Phú Thuận Cán bộ hướngdẫn tại đơn vị thực tập đã cung cấp nhiều tài liệu bổ ích, nhiệt tình hướng dẫn, giúp đỡcho em hoàn thành đồ án thực tập này Sau một tháng thực tập tại Trung tâm em đãđược trải nghiệm môi trường làm việc thực tế, được tìm hiểu, nghiên cứu, trau dồinhiều kiến thức vô cùng bổ ích

Em xin chúc quý lãnh đạo, các anh chị làm việc tại trung tâm luôn dồi dào sứckhỏe, gặt hái được nhiều thành công trong công tác cũng như trong cuộc sống Xinchúc Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam VNCERT – Chi nhánh ĐàNẵng luôn hoàn thành xuất sắc xứ mệnh của mình

Trang 3

MỤC LỤC

LỜI NÓI ĐẦU 1

MỤC LỤC 2

DANH MỤC HÌNH ẢNH 4

CHƯƠNG 1: GIỚI THIỆU VỀ TRUNG TÂM ỨNG CỨU KHẨN CẤP MÁY TÍNH VIỆT NAM 5

1.1 Giới thiệu về Trung tâm ứng cứu khẩn cấp máy tính Việt Nam(VNCERT) 5 1.1.1 Quá trình hình thành và phát triển của VNCERT 5

1.1.2 Cơ cấu tổ chức 5

1.1.3 Nhiệm vụ, chức năng chính và định hướng phát triển của trung tâm 7

1.1.4 Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam (VNCERT) – Chi Nhánh Đà Nẵng 8

1.2 Giới thiệu đề tài 8

1.2.1 Bối cảnh thực hiện đề tài 8

1.2.2 Mục đích thực hiện đề tài 8

1.2.3 Những công việc được giao tại trung tâm 9

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VỀ FILE-LOG VÀ BỘ CÔNG CỤ ELK 10

2.1 Tìm hiểu về File log 10

2.2 Giới thiệu về bộ công cụ ELK (Elasticsearch + Logstash + Kibana) 11

2.2.1 Giới thiệu Elasticsearch 11

2.2.2 Giới thiệu Logstash 11

2.2.3 Giới thiệu Kibana 12

2.2.4 Kiến trúc ngăn xếp ELK 13

CHƯƠNG 3 TRIỂN KHAI PHÂN TÍCH LOG WEB APACHE BẰNG BỘ CÔNG CỤ ELK 14

3.1 Yêu cầu hệ thống: 14

3.2 Kiến trúc hệ thống thực nghiệm: 14

3.3 Mô hình triển khai: 15

3.4 Quá trình cài đặt: 15

3.4.1 Cài đặt Java 8: 15

3.4.2 Cài đặt Logstash 16

3.4.3 Cài đặt ElasticSearch 17

3.4.4 Cài đặt Kibana 21

3.4.5 Cài đặt Nginx 24

CHƯƠNG 4: KẾT LUẬN 37

Trang 4

4.1 Kết luận chung về kết quả đạt được 37 4.2 Đánh giá mức độ hoàn thành 37

4.3 Hướng phát triển cho đề tài 37

Trang 5

DANH MỤC HÌNH ẢNH

Hình 1.1 Mô hình tổ chức Trung tâm VNCERT 9

Hình 2.1 Nội dung trong một file log 12

Hình 2.2 Các thành phần cơ bản của Logstash 14

Hình 2.3 Kiến trúc ngăn sếp ELK 15

Hình 3.1 Kiến trúc hệ thống thực nghiệm 16

Hình 3.2 Mô hình triển khai 17

Hình 3.3 Thêm Oracle Java PPA 17

Hình 3.4 Cài đặt Oracle Java 8 18

Hình 3.5 Cài đặt Logstash 19

Hình 3.6 Nhập Khóa GPG 19

Hình 3.7 Cài đặt Elasticsearch 20

Hình 3.8 Cấu hình cho Elasticsearch 20

Hình 3.9 Khởi động lại dịch vụ Elasticsearch 21

Hình 3.10 Cập nhật Elasticsearch 22

Hình 3.11 Cài đặt Elasticsearch-HQ 22

Hình 3.12 Cài đặt Kibana 23

Hình 3.13 Chỉnh sửa cấu hình Kibana 24

Hình 3.14 Cập nhật và khởi chạy Kibana 25

Hình 3.15 Giao diện Web Kibana 25

Hình 3.16 Khởi động lại dịch vụ Logstash 29

Hình 3.17 Tạo tập tin và thiết lập Filebeat đầu vào 33

Hình 3.18 Chạy cấu hình logstash 10-apache.conf 34

Hình 3.19 Copy File Log 34

Hình 3.20 Tóp 10 địa chỉ ip có lượt truy cập cao 35

Hình 3.21 Tóp 5 giá trị được phản hồi nhiều nhất 35

Hình 3.22 Tóp 5 vị trí địa chỉ Băm có lượt truy cập cao nhất 36

Hình 3.23 Vùng địa chỉ IP trong file log 36

Trang 6

CHƯƠNG 1: GIỚI THIỆU VỀ TRUNG TÂM ỨNG CỨU KHẨN

CẤP MÁY TÍNH VIỆT NAM

1.1 Giới thiệu về Trung tâm ứng cứu khẩn cấp máy tính Việt Nam(VNCERT)

1.1.1 Quá trình hình thành và phát triển của VNCERT

Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam được thành lập theo Quyếtđịnh 339/2005/QĐ-TTG của Thủ tướng Chính phủ; là đơn vị trực thuộc Bộ Thông tin

và Truyền thông, thực hiện chức năng điều phối hoạt động và tổ chức các hoạt độngứng cứu nhanh sự cố máy tính cho mạng trên toàn quốc

Trang 7

Phòng Điều phối và Ứng cứu an toàn mạng:

Phó trưởng phòng kiêm Phụ trách phòng: Ông Hà Hải Thanh

Phòng Tư vấn Đào tạo:

Phó trưởng phòng kiêm Phụ trách phòng: Ông Cao Huy Phương

Email: chphuong@vncert.vn

Phó trưởng phòng: Bà Bùi Thanh Hà

Email:btha@vncert.vn

Phòng Nghiên cứu và Phát triển:

Phó trưởng phòng kiêm Phụ trách phòng: Ông Nguyễn Đức Tuân

Email: ndtuan@vncert.vn

Với hai chi nhánh:

Trang 8

Chi nhánh tại Miền Trung:

- Địa chỉ: Phòng 5.10 tầng 5 số 76-78 đường Bạch Đằng, quận Hải Châu, TP ĐàNẵng

- Điện thoại: 0511.3843228

Chi nhánh tại Miền Nam:

- Địa chỉ: 27 Nguyễn Bỉnh Khiêm, phường Đa Kao, Quận 1, TP Hồ Chí Minh

- Điện thoại: 08 39104925

Và 6 phòng ban chức năng, nhiệm vụ bao gồm: Phòng Hành Chính Tổng Hợp, Phòng Kế Hoạch Tài Chính, Phòng Điều Phối Và Ứng Cứu An Toàn Mạng, Phòng Kĩ Thuật Hệ Thống, Phòng Tư Vấn Đào Tạo, Phòng Nghiên Cứu Và Phát Triển

Hình 1.1 Mô hình tổ chức Trung tâm VNCERT

1.1.3 Nhiệm vụ, chức năng chính và định hướng phát triển của trung tâm

Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam (VNCERT) là tổ chức trực thuộc

Bộ Thông tin và Truyền thông, thực hiện chức năng điều phối hoạt động ứng cứu sự

cố máy tính trên toàn quốc; cảnh báo kịp thời các vấn đề về an toàn mạng máy tính;phối hợp xây dựng, phối hợp xây dựng các tiêu chuẩn, quy chuẩn kỹ thuật về an toànmạng máy tính; thúc đẩy hình thành hệ thống các CERT trong các cơ quan, tổ chức,doanh nghiệp; là đầu mối trong việc hợp tác với các tổ chức ứng cứu máy tính (CERT)nước ngoài

Trang 9

Điều phối các hoạt động ứng cứu sự cố máy tính trên toàn quốc Có các chức năngchính như sau:

- Cảnh báo kịp thời các vấn đề về an toàn mạng máy tính

- Xây dựng và phối hợp xây dựng các tiêu chuẩn kỹ thuật về an toàn mạng máytính

- Là cầu nối hợp tác với các tổ chức CERT nước ngoài

- Thúc đẩy hình thành hệ thống các Trung Tâm Ứng Cứu Khẩn Cấp Máy Tínhtrong cơ quan, tổ chức, doanh nghiệp

- Tham gia vào công tác quản lý an toàn bảo mật trong các hoạt động bưu chính,viễn thông và công nghệ thông tin

1.1.4 Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam (VNCERT) – Chi Nhánh Đà Nẵng

Là chi nhánh trực thuộc Trung tâm Ứng cứu khẩn cấp máy tính Việt NamVNCERT tại Đà Nẵng

Phó trưởng chi nhánh kiêm Phụ trách chi nhánh: Ông Đặng Hải SơnEmail: dhson@vncert.vn

- Địa chỉ: Phòng 5.10 tầng 5 số 76-78 đường Bạch Đằng, quận Hải Châu, TP ĐàNẵng

- Điện thoại: 0511.3843228

1.2 Giới thiệu đề tài

1.2.1 Bối cảnh thực hiện đề tài

Hiện nay, với xu thế phát triển thế kỷ của lĩnh vực công nghệ thông tin, nó xâmnhập vào mọi lĩnh vực đời sống của con người song song với đó, chúng ta phải quản lýtốt các file trên hệ thống máy chủ web hoặc máy chủ proxy để phát hiện kịp thời, ngăn

chặn nguy cơ tiềm ẩn từ các hoạt động web Chính vì thế, em chọn “Triển khai phân

tích file-log bằng bộ công cụ ELK tại VNCERT” làm đề tài thực tập tốt nghiệp

1.2.2 Mục đích thực hiện đề tài

Triển khai phân tích, đánh giá được trạng thái hoạt động và quản lý tốt các log được tạo ra trên máy chủ có chứa tất cả thông tin hoạt động trên máy chủ đó, như

Trang 10

file-thông tin người truy cập, thời gian khách viếng thăm,

1.2.3 Những công việc được giao tại trung tâm

Trong quá trình thực tập tại Trung tâm ứng cứu khẩn cấp máy tính Việt NamVNCERT – Chi nhánh Đà Nẵng, chúng em thực hiện phân tích File log bằng bộ công

cụ ELK (Elasticsearch + Logstash + Kibana) được cung cấp bởi Cán bộ hướng dẫn ởTrung tâm

Trang 11

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VỀ FILE-LOG VÀ BỘ

CÔNG CỤ ELK

2.1 Tìm hiểu về File log

File log là một tập tin được tạo ra bởi một máy chủ web hoặc máy chủ proxy cóchứa tất cả thông tin về các hoạt động trên máy chủ đó, như thông tin người truy cập,thời gian khách viếng thăm, địa chỉ IP, dữ liệu truy vấn File log có rất nhiều tác dụngđối với webmaster như phân tích xem người truy cập vào những phần nào trên trangweb nhiều nhất và chuyển sang xem mục nào trên trang web

Log bao gồm bản ghi hệ thống, các bản ghi ứng dụng, và bản ghi bảo mật Hệthống vận hành và bảo trì, và các nhà phát triển có thể đăng nhập cho phần cứng máychủ và phần mềm thông tin, những lý do cho việc kiểm tra các lỗi cấu hình và các lỗixảy ra Phân tích các log thường có thể hiểu được tại máy chủ, hiệu suất, bảo mật để

có biện pháp khắc phục kịp thời

Ví dụ minh họa:

Hình 2.1 Nội dung trong một file log

Trang 12

2.2 Giới thiệu về bộ công cụ ELK (Elasticsearch + Logstash + Kibana)

2.2.1 Giới thiệu Elasticsearch

Elasticsearch là một công cụ mã nguồn mở tìm kiếm toàn văn bản và phân tíchkhả năng mở rộng Nó cho phép bạn lưu trữ, tìm kiếm và phân tích khối lượng lớn dữliệu một cách nhanh chóng và gần thời gian thực.Nó thường được sử dụng như cáccông cụ / công nghệ cơ bản mà quyền hạn các ứng dụng có tính năng tìm kiếm phứctạp và yêu cầu

Elasticsearch được xây dựng trên một công cụ tìm kiếm toàn văn bản dựa trêncông cụ tìm kiếm của Apache Lucene, viết bằng Java

Các tính năng chính:

- Phân tích thời gian

- Phân phối lưu trữ tập tin theo thời gian thực, và từng lĩnh vực được lập chỉ mục

- Tài liệu định hướng, tất cả các đối tượng là tất cả các tài liệu

- Tính sẵn sàng cao, dễ dàng mở rộng, hỗ trợ cluster (Cluster), phân mảnh và nhân rộng (Shards và bản sao)

- Giao diện thân thiện, hỗ trợ cho JSON

2.2.2 Giới thiệu Logstash

Logstash là một công cụ mã nguồn mở cho việc thu thập, phân tích, và lưu trữ các bản ghi để sử dụng trong tương lai Sử dụng ngôn ngữ Jruby

Các tính năng chính:

- Bạn có thể truy cập vào bất kỳ dữ liệu nào

- Có thể được kết hợp với một loạt các ứng dụng bên ngoài

- Hỗ trợ mở rộng đàn hồi

Các thành phần chính:

- Shipper: gửi dữ liệu đăng nhập

- Broker: thu thập dữ liệu, tích hợp mặc định Redis

- Dữ liệu Indexer: viết

Trang 13

Hình 2.2 Các thành phần cơ bản của Logstash

2.2.3 Giới thiệu Kibana

Kibana là công cụ phân tích mã nguồn mở và trực quan được thiết kể để làm việc với Elasticsearch

Kibana có giao diện web có thể được sử dụng để tìm kiếm, xem và tương tác với

dữ liệu được lưu trữ tại các bản ghi mà Logstash đã lập chỉ mục Cho phép bạn tạo vàchia sẻ nhanh chóng các biểu đồ động hiển thị những thay đổi để Elasticsearch truyvấn trong thời gian thực

Kibana dựa trên Apache giấy phép mã nguồn mở, sử dụng ngôn ngữJavaScript Nó có thể được tìm thấy trong chỉ số Elasticsearch, dữ liệu tương tác và tạo

ra một loạt các kích thước của bảng của FIG

Có thể dễ dàng thực hiện phân tích dữ liệu tiên tiến và hiển thị dữ liệu của bạntrong một loạt các biểu đồ, bảng biểu và bản đồ

Logstash-forwarder (tên gọi trước đây là Lumberjack) là một trong rất nhiều

"shipper" dùng để đẩy log đến server log tập trung, có nhiều tính năng đặc biệt sau:

- Nhẹ và dễ sử dụng (viết bằng Go, không cần JVM)

- Sử dụng mật mã để truyền dữ liệu trên đường truyền

Trang 14

2.2.4 Kiến trúc ngăn xếp ELK

Quá trình hoạt động cơ bản:

Các Shipper có nhiệm vụ thu thập dữ liệu từ các nguồn dữ liệu khác nhau, sau đógửi đến trung gian, Indexer sẽ lưu trữ dữ liệu trong Broker Elasticsearch, Elasticsearchtạo chỉ mục trên dữ liệu đó rồi chuyển đến Kibana phân tích dữ liệu và hiển thị dướidạng đồ họa

Hình 2.3 Kiến trúc ngăn sếp ELK

Quá trình thu thập log diễn ra như sau:

- Các Shipper( như logstash-forwarder,…) từ Client đẩy log đến Broker, sau khi

xử lý xong Broker sẽ đưa log vào một hàng đợi trước khi nó được chuyển tiếp đếnLogstash

- Logstash xử lý các bản tin log vừa chuyển đến và lưu trữ nó dưới dạng JSONdocument vào trong ElasticSearch

- ElasticSearch có nhiệm vụ chính là lưu trữ và tìm kiếm tất cả các dữ liệu

- Sau đó bản tin Log được hiển thị trên Kibana Web Interface

ELK kết hợp giữa ba phần mềm với nhau, sự hội tụ hoàn hảo và hiệu quả để đáp ứng nhiều ứng dụng và được chấp nhận bởi nhiều người dùng như Stackoverflow,…

Trang 15

CHƯƠNG 3 TRIỂN KHAI PHÂN TÍCH LOG WEB APACHE

Trang 16

3.3 Mô hình triển khai:

Hình 3.2 Mô hình triển khai

3.4 Quá trình cài đặt:

3.4.1 Cài đặt Java 8:

Thêm Oracle Java PPA apt:

$sudo add-apt-repository –y ppa:webupd8team/java

Hình 3.3 Thêm Oracle Java PPA

Trang 17

Cập nhật cơ sở dữ liệu gói apt:

$sudo apt-get update

Cài đặt phiên bản mới nhất của Oracle Java 8:

$sudo apt-get –y install oracle-java8-installer

Hình 3.4 Cài đặt Oracle Java 8

Cập nhật cơ sở dữ liệu gói apt:

$sudo apt-get update

Cài đặt Logstash:

$sudo apt-get install logstash

Trang 18

Hình 3.5 Cài đặt Logstash

3.4.3 Cài đặt ElasticSearch

Chạy lệnh sau để nhập khóa GPG công khai Elasticsearch vào apt:

$ wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add –

Hình 3.6 Nhập Khóa GPG

Trang 19

Tạo danh sách nguồn Elasticsearch:

$ echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee

-a /etc/-apt/sources.list.d/el-asticse-arch-2.x.list

Cập nhật cơ sở dữ liệu gói apt:

$ sudo apt-get update

Cài đặt Elasticsearch bằng lệnh sau:

$ sudo apt-get install -y elasticsearch

Hình 3.7 Cài đặt Elasticsearch

Cấu hình Elasticsearch:

$ sudo vi /etc/elasticsearch/elasticsearch.yml

Trang 20

Hình 3.8 Cấu hình cho Elasticsearch

Để hạn chế người ngoài truy cập vào ElasticSearch (port 9200) để đọc dữ liệu

hoặc tắt cụm ElasticSearch thông qua các API HTTP Ta tìm đến dòng network.host,

bỏ ghi chú và thay thế giá trị của nó với localhost

Sau khi thay đổi nội dung sẽ như thế này: network.host: localhost

Lưu và thoát elasticsearch.yml

Khởi động lại dịch vụ:

$ sudo service elasticsearch restart

Hình 3.9 Khởi động lại dịch vụ Elasticsearch

Khi Elasticsearch khởi động lên, ta chạy lệnh sau:

$ sudo update-rc.d elasticsearch defaults 95 10

Trang 21

Hình 3.10 Cập nhật Elasticsearch

Cài đặt elasticsearch-HQ bằng lệnh sau:

Root@ubuntu: /usr/share/elasticsearch/bin# /plugin install HQ

royrusso/elasticsearch-Hình 3.11 Cài đặt Elasticsearch-HQ

Ngày đăng: 10/05/2016, 13:51

w