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

Báo cáo An toàn hệ điều hành. ELK Stack

15 202 1
Tài liệu đã được kiểm tra trùng lặp

Đ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 15
Dung lượng 680,31 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Kinh tế ngày càng phát triển, nhu cầu hội nhập ngày càng cao, thương mại điện tử là không thể thiếu trong thời kì 4.0 như hiện nay, việc hiện đại hóa giao tiếp và trao đổi là không thể thiếu. Việc hiện đại hóa này giúp cho con người thuận tiện hơn khi trao đổi tuy nhiên bản thân nó cũng mang lại thách thức lớn. Một trong những thách thức đó là làm sao chúng ta có thể đảm bảo được thông tin cá nhân cũng như hệ thống thông tin được an toàn trước thế lực tin tặc đông đảo và ngày càng tinh vi. Để giải quyết vấn đề này, chúng ta cùng tiến hành tìm hiểu và nghiên cứu về một trong số các phương pháp đảm bảo an toàn hệ thống đó là thu thập, phân tích log hệ thống.

Trang 1

HÀ NỘI, 2020

BÁO CÁO BÀI TÂP LỚN AN TOÀN HỆ ĐIỀU HÀNH

TÌM HIỂU, NGHIÊN CỨU VỀ HỆ THỐNG THU THẬP VÀ GIÁM SÁT LOG

BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ

——————————

Trang 2

MỤC LỤC

DANH MỤC HÌNH ẢNH 3

MỞ ĐẦU 4 NỘI DUNG 5 CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG THU THẬP VÀ GIÁM SÁT LOG 5

1 Tổng quan về log 5

2 Các khâu cơ bản của hệ thống phân tích log 6 CHƯƠNG 2 NGHUYÊN LÝ, CÁCH THỨC HOẠT ĐỘNG CỦA ELK

STACK 7

1 Tổng quan về Elk stack 7

2 Nguyên lý hoạt động của Elk stack 7 CHƯƠNG 3 (THỰC NGHIỆM) SỬ DỤNG ELK STACK ĐỂ PHÂN TÍCH, GIÁM SÁT LOG 12 KẾT LUẬN 15

Trang 3

DANH MỤC HÌNH ẢNH

Hình 1 Màn hình Management của Elasticseach 12

Hình 2 Tạo index pattern trên Kibana 13

Hình 3 Tạo index pattern trên Kibana (bước 2) 13

Hình 4 Giao diện hiển thị quan sát các log được ghi lại 14

Trang 4

MỞ ĐẦU

Kinh tế ngày càng phát triển, nhu cầu hội nhập ngày càng cao, thương mại điện

tử là không thể thiếu trong thời kì 4.0 như hiện nay, việc hiện đại hóa giao tiếp và trao đổi là không thể thiếu Việc hiện đại hóa này giúp cho con người thuận tiện hơn khi trao đổi tuy nhiên bản thân nó cũng mang lại thách thức lớn Một trong những thách thức đó là làm sao chúng ta có thể đảm bảo được thông tin cá nhân cũng như

hệ thống thông tin được an toàn trước thế lực tin tặc đông đảo và ngày càng tinh vi

Để giải quyết vấn đề này, nhóm chúng em tiến hành tìm hiểu và nghiên cứu về một trong số các phương pháp đảm bảo an toàn hệ thống đó là thu thập, phân tích log hệ thống

Mục tiêu đề ra khi thực hiện đề tài này là:

1 Tìm hiểu tổng quan về hệ thống thu thập và giám sát log

2 Nguyên tắc hoạt động của một hệ thống thu thập và giám sát log

3 Cách thức vận hành của ELK Stack

4 Thực nghiệm sử dụng ELK Stack để thu thập và phân ticha log

Qua quá trình thưc hiện, mục tiêu cơ bản đã đạt được, tuy nhiên do quỹ thời gian hạn hẹp và vốn kiến thức hạn chế nên đề tài còn nhiều thiếu sót trong cách trình bày và đề xuất ý kiến chúng em rất mong nhận được sự góp ý từ phía thầy và các bạn

Nhóm sinh viên thực hiện

Trang 5

NỘI DUNG CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG THU THẬP VÀ GIÁM

SÁT LOG

1 Tổng quan về log

Để một hệ thống hoạt động tốt gồm nhiều thành phần, hoạt động trên nhiều nền tảng và môi trường khác nhau như các máy trạm, máy chủ, các thiết bị hạ tầng mạng (như router, switch), các thiết bị phát hiện và phòng chống xâm nhập (IDS/IPS), các ứng dụng chạy trên máy chủ và máy trạm

Log truy nhập hay nhật ký, hoặc vết truy nhập (gọi tắt là log) là một danh sách các bản ghi mà một hệ thống ghi lại khi xuất hiện các yêu cầu truy nhập các tài nguyên của hệ thống Chẳng hạn log truy cập web (gọi tắt là web log) chứa tất cả các yêu cầu truy nhập các tài nguyên của một website

Log hệ thống là một thành phần quan trọng trong hệ thống mạng Log hệ thống giúp lưu lại một cách chính xác mọi hoạt động của hệ thống; tình trạng hoạt động của hệ thống; các ứng dụng, các thiết bị đã và đang hoạt động trong hệ thống

Log hệ thống có ba loại:

- Log access: ghi lại toàn bộ thông tin truy cập của người dùng tới hệ thống, thông tin truy cập của ứng dụng tới cơ sở dữ liệu

- Log event: ghi lại chi tiết những sự kiện mà hệ thống đã thực hiện Log ứng dụng và log hệ điều hành

- Log device: ghi lại tình trạng hoạt động của các thiết bị phần cứng, phần mềm đang được sử dụng (router, switch, IDS, IPS)

Log hệ thống là thành phần cực kì hữu hiệu cho việc giám sát, khắc phục sự cố trong hệ thống mạng Tuy nhiên, với những hệ thống lớn, chạy nhiều ứng dụng, lượng truy cập cao thì việc phân tích log là vô cùng khó khăn Chính vì vậy, xây dựng hệ thống giám sát, thu thập và phân tích log là vô cùng cần thiết

Hệ thống thu thập, phân tích và giám sát log thực hiện các chức năng chính sau:

- Phát hiện kịp thời các tấn công mạng xuất phát từ Internet cũng như các tấn công từ nội bộ

Trang 6

- Phát hiện kịp thời các điểm yếu, lỗ hổng bảo mật của các thiết bị, ứng dụng

và các dịch vụ của hệ thống

- Phát hiện kịp thời sự lây nhiễm mã độc trong hệ thống mạng, các máy tính bị nhiễm mã độc cũng như các máy tính là thành viên của mạng Botnet

- Giám sát việc tuân thủ chính sách an ninh trong hệ thống

- Cung cấp bằng chứng số phục vụ công tác điều tra sau sự cố

2 Các khâu cơ bản của hệ thống phân tích log

Thu thập, xử lý và phân tích Log truy nhập là các khâu cơ bản của một hệ thống phân tích log Các khâu xử lý gồm:

 Collection of log data: các bản ghi log thô từ các nguồn sinh log được thu thập

và chuyển về trung tâm xử lý

 Cleaning of Data: các bản ghi log thô được làm sạch để giảm bớt dữ liệu nhiễu

 Convert into Structured form: chuẩn hóa dữ liệu log

 Analysis of data: là khâu quan trọng nhất trong quá trình phân tích log Đây

là khâu được áp dụng để trích xuất ra các thông tin quan trọng ứng dụng cho đảm bảo an toàn thông tin và các ứng dụng khác

 Obtained Results: là khâu kết suất kết quả ra giao diện người dùng

Trang 7

CHƯƠNG 2 NGHUYÊN LÝ, CÁCH THỨC HOẠT ĐỘNG CỦA ELK

STACK

1 Tổng quan về Elk stack

Elk stack là bộ công cụ giám sát tập trung mã nguồn mở mạnh, có thể xử lý nhiều bài toán quản lý hệ thống mạng nên được nhiều công ty, tổ chức tin dùng Elk stack được phát triển từ đầu những năm 2000, phiên bản mới nhất hiện nay là Elk 6.4

Elk stack có các ưu điểm sau:

- Đây là bộ công cụ mã nguồn mở, không tốn nhiều chi phí khi triển khai

- Elk stack vừa được phát triển gần đây, rất được ưa dùng nên cộng đồng hỗ trợ đông đúc, mạnh mẽ

- Có thể thu thập log từ nhiều nguồn khác nhau: log hệ thống, log ứng dụng, log thiết bị mạng, log hệ thống API (application programing interface)

- Có khả năng tương thích cao, dễ dàng tích hợp với các hệ thống khác mà không gặp khó khăn

- Giao diện Kibana trực quan, sinh động

- Phương tiện cảnh báo đa dạng, tích hợp Email, Sms, các ứng dụng OTP (one time password) như Telegram, Whatsapp

- Hiệu năng xử lý cao, có thể chịu tải một lượng lớn dữ liệu đẩy về mà không cần quá phụ thuộc vào khả năng xử lý của các thiết bị phần cứng

- Giải quyết được hầu hết các bài toán trong giám sát hệ thống mạng (như giám sát hạ tầng, giám sát dịch vụ, giám sát an ninh, giám sát người dùng) Đây là

ưu điểm chính giúp Elk stack trong tương lai sẽ được các công ty, tổ chức triển khi giám sát tập trung trong hệ thống mạng của họ

Bộ công cụ Elk stack gồm bốn thành phần:

- Elasticseach: tìm kiếm và truy vấn log

- Logstash: tiếp nhận log từ nhiều nguồn, xử lý và ghi vào cơ sở dữ liệu

- Kibana: giao diện để quản lý, thống kê log Đọc thông tin từ Elasticseach

- Beats: tập công cụ chuyên dụng để thu thập dữ liệu

2 Nguyên lý hoạt động của Elk stack

Đầu tiên, thông tin cần giám sát sẽ được đưa đến máy chủ Elk thông qua nhiều con đường

Trang 8

Ví dụ: server gửi UDP request chứa log tới URL của Logstash, hoặc Beats thu thập các thông tin từ các bộ công cụ chuyên dụng cài trên các server và gửi lên Logstash hoặc Elasticsearch

- Logstash sẽ đọc những log này, thêm những thông tin như thời gian, IP, parse

dữ liệu từ log (server nào, độ nghiêm trọng, nội dung log) ra, sau đó ghi xuống database là Elasticsearch

- Khi muốn xem log, người dùng vào URL của Kibana Kibana sẽ đọc thông tin log trong Elasticsearch, hiển thị lên giao diện cho người dùng query và xử

lý Kibana hiển thị thông tin từ log cho người dùng

Elasticsearch

ElasticSearch là một công cụ tìm kiếm cấp doanh nghiệp (enterprise-level

search engine) Mục tiêu của ElasticSearch là tạo ra một công cụ, nền tảng hay kỹ thuật tìm kiếm và phân tích trong thời gian thực nhanh chóng và chính xác, cũng như cách để có thể áp dụng hay triển khai một cách dễ dàng vào nhiều nguồn dữ liệu (data sources) khác nhau Nguồn dữ liệu nói ở trên trên bao gồm các cơ sở dữ liệu nổi tiếng như MS SQL, PostgreSQL, MySQL,

Một số đặc điểm về ElasticSearch:

- Elasticsearch là một search engine

- Elasticsearch được xây dựng để hoạt động như một server cloud

- Phát triển bằng ngôn ngữ Java

- Là phần mềm open-source được phát hành theo giất phép của Apache License

- Elasticsearch có thể tích hợp được với tất cả các ứng dụng sử dụng các loại ngôn ngữ: Java, JavaScript, Groovy, NET, PHP, Perl, Python, Ruby

Cơ chế hoạt động của ElasticSearch:

- Có khả năng trả về kết quả tìm kiếm một cách nhanh chóng và chính xác trong một nguồn dữ liệu lớn (big data source)

- Elasticsearch không chỉ tìm kiếm được các nguồn cơ sở dữ liệu nổi tiếng như MySQL, MS SQL, PostgreSQL, mà có thể là văn bản (text), pdf, doc

Theo như cách thông thường tìm kiếm trong cơ sở dữ liệu database đều biết thì

có hai cách là:

Trang 9

- Cách 1: Lật từng trang để tìm kiếm (No index)

- Cách 2: Lật tới phần mục lục để tìm kiếm

ElasticSearch cũng áp dụng giải pháp giống Index Tuy nhiên về mặt cơ chế xử

lý và tìm kiếm thì có sự khác biệt, Index trong ElasticSearch được gọi là Inverted Index.kỹ thuật thay vì index theo từng đơn vị row (document) giống như mysql thì chúng ta sẽ biến thành Index theo đơn vị term Cụ thể hơn, Inverted Index là một cấu trúc dữ liệu, nhằm mục đích map giữa term và các document chứa term đó, giúp gia tăng khả năng tìm kiếm

Logstash

Logstash là một công cụ thu thập dữ liệu mã nguồn mở với khả năng pipelining thời gian thực Logstash có thể tự động thu thập dữ liệu từ nhiều nguồn khác nhau

và chuẩn hóa dữ liệu đó phụ thuộc vào đích đến của dữ liệu

Logstash có một số lượng plugin đồ sộ (hơn 200) có thể đáp ứng bất kỳ dữ liệu nào được đưa đến đầu vào Đơn giản nhất là log, metrics Với web, logstash có thể biến các requests HTTP thành các sự kiện để phân tích Hay có thể làm việc với

NoSQL thông qua giao diện JDBC, cung cấp các cảm biến và IoT,…

Logstash thường sử dụng giao thức Syslog hay SNMP để có thể thu thập log Đây là 2 giao thức chính thường được sử dụng trong các hệ thống giám sát nhằm thu

thập các thông tin và đẩy dữ liệu về máy chủ giám sát

Syslog là một giao thức client/server Đây là giao thức dùng để chuyển log và thông điệp đến máy nhận log Máy nhận log thường được gọi là syslogd, syslog daemon hoặc syslog server Syslog có thể gửi qua UDP hoặc TCP Các dữ liệu được

gửi dạng cleartext Syslog dùng cổng 514

Syslog được phát triển năm 1980 bởi Eric Allman, nó là một phần của dự án Sendmail, và ban đầu chỉ được sử dụng duy nhất cho Sendmail Nhưng syslog hiện nay trở thành giải pháp khai thác log tiêu chuẩn trên Unix-Linux cũng như trên hàng loạt các hệ điều hành khác và thường được tìm thấy trong các thiết bị mạng như

switch, router

Syslog ban đầu sử dụng UDP, điều này đương nhiên không đảm bảo cho việc truyền tin Tuy nhiên sau đó IETF đã ban hành RFC 3195 Reliable Delivery cho syslog Nó giúp đảm bảo tin cậy cho syslog và RFC 6587 Transmission of Syslog Messages over TCP giúp truyền tải thông báo syslog qua TCP Điều này có nghĩa là

Trang 10

ngoài UDP thì giờ đây syslog cũng đã sử dụng TCP để đảm bảo an toàn cho quá

trình truyền tin

Trong chuẩn syslog, mỗi thông báo đều được dán nhãn và được gán các mức

độ nghiêm trọng khác nhau Các loại phần mềm sau có thể sinh ra thông báo: auth, authPriv, daemon, cron, ftp, dhcp, kern, mail, syslog, user, Với các mức độ nghiêm trọng từ cao nhất trở xuống Emergency, Alert, Critical, Error, Warning, Notice, Info,

and Debug

SNMP viết tắt của Simple Network Management Protocol, là một giao thức chuyên được sử dụng trong vấn đề quản lý, giám sát hệ thống mạng SNMP có những quy định riêng, những thành phần riêng để các thành phần trong hệ thống mạng có thể tuân theo, từ đó thu thập được các log trong hệ thống mạng để quản lý, giám sát

SNMP sử dụng UDP, chạy trên cổng 161 hoặc 162

Một số các chức năng của các phần mềm sử dụng giao thức SNMP gồm:

- Theo dõi tốc độ đường truyền, lưu lượng truyền và nhận

- Lấy thông tin về phần cứng của máy chủ (RAM, Chip, Ổ cứng,…)

- Tự động cảnh báo (gửi mail, sms) khi có sự cố

SNMP được thiết kế chạy trên nền TCP/IP và quản lý các thiết bị có nối mạng TCP/IP Nếu thiết bị cần giám sát có nối mạng, sử dụng IP và hỗ trợ SNMP thì hoàn toàn có thể giám sát, quản lý nó từ xa thông qua SNMP

Đặc điểm của giao thức SNMP:

- Thiết kế đơn giản hóa quá trình quản lý các thành phần trong mạng Các phần mềm sử dụng SNMP có thể được phát triển nhanh và tốn ít chi phí

- Có thể mở rộng các chức năng quản lý, giám sát

- Có thể thiết kế để hoạt động độc lập với các kiến trúc và cơ chế của các thiết bị hỗ trợ SNMP

Kibana

Kibana là một nền tảng phân tích và trực quan mã nguồn mở được thiết kế để làm việc với Elasticsearch Kibana để tìm kiếm, xem và tương tác với dữ liệu được lưu trữ trong Elasticsearch Từ đó dễ dàng thực hiện phân tích dữ liệu và trực quan hóa dữ liệu của mình thông qua biểu đồ, bảng

Trang 11

Kibana giúp nắm bắt nhanh chóng các dữ liệu có khối lượng lớn Giao diện đơn

giản, dựa vào trình duyệt cho phép nhanh chóng hiển thị các thay đổi khi truy vấn

Elasticsearch trong thời gian thực

Beats

Beats là một tập hợp các công cụ thu thập thông tin chuyên dụng, được biết đến

như là các Shipper (người vận chuyển) giúp thu thập và gửi dữ liệu từ Client tới máy

chủ ELK Ngoài ra, các beat này có thể được gửi thẳng trực tiếp lên Elasticsearch

do bản thân các công cụ đã được chuẩn hóa sẵn, việc kết nối các beat đến logstash

thường mang ý nghĩa bảo mật đối với các hệ thống tầm lớn khi họ muốn bảo vệ dịch

vụ elasticsearch

Trong Beats có rất nhiều các Beat “con”, cụ thể:

- Filebeat: đây là công cụ chuyên dùng để thu thập log và gửi log về cho hệ

thống ELK Filebeat có một điểm mạnh mà cách thu thập thông thường không

thể có được, chính là khả năng theo dõi tình trạng của ELK và điều chỉnh

lượng log đẩy về Nếu hệ thống ELK đang gặp tình trạng quá tải về khối lượng

cần xử lý, Filebeat sẽ quan sát và giảm lượng log đổ về bằng cách sử dụng

hàng chờ

- Metricbeat: đây là công cụ chuyên dùng để thu thập hiệu năng của máy chủ

Ngoài hiệu năng phần cứng máy chủ, Metricbeat có thể khai thác thông tin

các dịch vụ web (Apache, Nginx) hay của database (MySQL, MongoDB)

- Packetbeat: công cụ này sử dụng để giám sát lưu lượng và băng thông trên

các máy chủ Packetbeat sẽ thu thập thông tin về lưu lượng gói tin vào và ra

của máy chủ, từ đó tổng kết và gửi về cho hệ thống ELK

- Winlogbeat: khác với các hệ điều hành mã nguồn mở Linux, Windows có một

cấu trúc hoàn toàn khác, và khó can thiệp vào sâu trong hệ thống để thu thập

thông tin Winlogbeat ra đời nhằm thu thập những sự kiện xảy ra bên trong hệ

điều hành Windows

- Auditbeat: Winlogbeat dành cho hệ điều hành Windows, thì Auditbeat được

dành riêng cho hệ điều hành linux Auditbeat giúp quản lý các folder, các tập

tin hệ thống trong hệ điều hành Linux

- Heartbeat: công vụ Heartbeat được sử dụng nhằm giúp cho hệ thống giám sát

có thể biết được trạng thái dịch vụ đó có còn hoạt động hay không

Ngày đăng: 27/05/2021, 09:22

TỪ KHÓA LIÊN QUAN

w