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.
BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ —————————— 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 HÀ NỘI, 2020 MỤC LỤC DANH MỤC HÌNH ẢNH MỞ ĐẦU NỘI DUNG CHƯƠNG TỔNG QUAN VỀ HỆ THỐNG THU THẬP VÀ GIÁM SÁT LOG Tổng quan log Các khâu hệ thống phân tích log CHƯƠNG NGHUYÊN LÝ, CÁCH THỨC HOẠT ĐỘNG CỦA ELK STACK Tổng quan Elk stack Nguyên lý hoạt động Elk stack CHƯƠNG (THỰC NGHIỆM) SỬ DỤNG ELK STACK ĐỂ PHÂN TÍCH, GIÁM SÁT LOG 12 KẾT LUẬN 15 DANH MỤC HÌNH ẢNH Hình Màn hình Management Elasticseach 12 Hình Tạo index pattern Kibana 13 Hình Tạo index pattern Kibana (bước 2) 13 Hình Giao diện hiển thị quan sát log ghi lại 14 MỞ ĐẦU Kinh tế ngày phát triển, nhu cầu hội nhập ngày cao, thương mại điện tử thiếu thời kì 4.0 nay, việc đại hóa giao tiếp trao đổi thiếu Việc đại hóa giúp cho người thuận tiện trao đổi nhiên thân mang lại thách thức lớn Một thách thức đảm bảo thông tin cá nhân hệ thống thông tin an tồn trước lực tin tặc đơng đảo ngày tinh vi Để giải vấn đề này, nhóm chúng em tiến hành tìm hiểu nghiên cứu số phương pháp đảm bảo an tồn hệ thống thu thập, phân tích log hệ thống Mục tiêu đề thực đề tài là: Tìm hiểu tổng quan hệ thống thu thập giám sát log Nguyên tắc hoạt động hệ thống thu thập giám sát log Cách thức vận hành ELK Stack Thực nghiệm sử dụng ELK Stack để thu thập phân ticha log Qua trình thưc hiện, mục tiêu đạt được, nhiên quỹ thời gian hạn hẹp vốn kiến thức hạn chế nên đề tài cịn nhiều thiếu sót cách trình bày đề xuất ý kiến chúng em mong nhận góp ý từ phía thầy bạn Nhóm sinh viên thực NỘI DUNG CHƯƠNG TỔNG QUAN VỀ HỆ THỐNG THU THẬP VÀ GIÁM SÁT LOG Tổng quan log Để hệ thống hoạt động tốt gồm nhiều thành phần, hoạt động nhiều tảng môi trường khác máy trạm, máy chủ, thiết bị hạ tầng mạng (như router, switch), thiết bị phát phòng chống xâm nhập (IDS/IPS), ứng dụng chạy máy chủ máy trạm Log truy nhập hay nhật ký, vết truy nhập (gọi tắt log) danh sách ghi mà hệ thống ghi lại xuất yêu cầu truy nhập tài nguyên hệ thống Chẳng hạn log truy cập web (gọi tắt web log) chứa tất yêu cầu truy nhập tài nguyên website Log hệ thống thành phần quan trọng hệ thống mạng Log hệ thống giúp lưu lại cách xác hoạt động hệ thống; tình trạng hoạt động hệ thống; ứng dụng, thiết bị hoạt động hệ thống Log hệ thống có ba loại: - Log access: ghi lại tồn thơng tin truy cập người dùng tới hệ thống, thông tin truy cập ứng dụng tới sở liệu - Log event: ghi lại chi tiết kiện mà hệ thống thực Log ứng dụng log hệ điều hành - Log device: ghi lại tình trạng hoạt động thiết bị phần cứng, phần mềm sử dụng (router, switch, IDS, IPS) Log hệ thống thành phần hữu hiệu cho việc giám sát, khắc phục cố hệ thống mạng Tuy nhiên, với hệ thống lớn, chạy nhiều ứng dụng, lượng truy cập cao việc phân tích log vơ khó khăn Chính vậy, xây dựng hệ thống giám sát, thu thập phân tích log vơ cần thiết Hệ thống thu thập, phân tích giám sát log thực chức sau: - Phát kịp thời công mạng xuất phát từ Internet công từ nội - Phát kịp thời điểm yếu, lỗ hổng bảo mật thiết bị, ứng dụng dịch vụ hệ thống - Phát kịp thời lây nhiễm mã độc hệ thống mạng, máy tính bị nhiễm mã độc máy tính thành viên mạng Botnet - Giám sát việc tuân thủ sách an ninh hệ thống - Cung cấp chứng số phục vụ công tác điều tra sau cố Các khâu hệ thống phân tích log Thu thập, xử lý phân tích Log truy nhập khâu hệ thống phân tích log Các khâu xử lý gồm: Collection of log data: ghi log thô từ nguồn sinh log thu thập chuyển trung tâm xử lý Cleaning of Data: ghi log thô làm để giảm bớt liệu nhiễu Convert into Structured form: chuẩn hóa liệu log Analysis of data: khâu quan trọng q trình phân tích log Đây khâu áp dụng để trích xuất thông tin quan trọng ứng dụng cho đảm bảo an tồn thơng tin ứng dụng khác Obtained Results: khâu kết suất kết giao diện người dùng CHƯƠNG NGHUYÊN LÝ, CÁCH THỨC HOẠT ĐỘNG CỦA ELK STACK Tổng quan Elk stack Elk stack công cụ giám sát tập trung mã nguồn mở mạnh, xử lý nhiều toán quản lý hệ thống mạng nên nhiều công ty, tổ chức tin dùng Elk stack phát triển từ đầu năm 2000, phiên Elk 6.4 Elk stack có ưu điểm sau: - Đây công cụ mã nguồn mở, khơng tốn nhiều chi phí triển khai - Elk stack vừa phát triển gần đây, ư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ả tương thích cao, dễ dàng tích hợp với 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, ứng dụng OTP (one time password) Telegram, Whatsapp - Hiệu xử lý cao, chịu tải lượng lớn liệu đẩy mà không cần phụ thuộc vào khả xử lý thiết bị phần cứng - Giải hầu hết toán 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 ưu điểm giúp Elk stack tương lai công ty, tổ chức triển giám sát tập trung hệ thống mạng họ Bộ công cụ Elk stack gồm bốn thành phần: - Elasticseach: tìm kiếm truy vấn log - Logstash: tiếp nhận log từ nhiều nguồn, xử lý ghi vào sở 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 liệu Nguyên lý hoạt động Elk stack Đầu tiên, thông tin cần giám sát đưa đến máy chủ Elk thông qua nhiều đường Ví dụ: server gửi UDP request chứa log tới URL Logstash, Beats thu thập thông tin từ công cụ chuyên dụng cài server gửi lên Logstash Elasticsearch - Logstash đọc log này, thêm thông tin thời gian, IP, parse liệu từ log (server nào, độ nghiêm trọng, nội dung log) ra, sau ghi xuống database Elasticsearch - Khi muốn xem log, người dùng vào URL Kibana Kibana đọc thông tin log Elasticsearch, hiển thị lên giao diện cho người dùng query xử lý Kibana hiển thị thông tin từ log cho người dùng Elasticsearch ElasticSearch cơng cụ tìm kiếm cấp doanh nghiệp (enterprise-level search engine) Mục tiêu ElasticSearch tạo công cụ, tảng hay kỹ thuật tìm kiếm phân tích thời gian thực nhanh chóng xác, cách để áp dụng hay triển khai cách dễ dàng vào nhiều nguồn liệu (data sources) khác Nguồn liệu nói trên bao gồm sở liệu tiếng MS SQL, PostgreSQL, MySQL, Một số đặc điểm ElasticSearch: - Elasticsearch search engine - Elasticsearch xây dựng để hoạt động server cloud - Phát triển ngôn ngữ Java - Là phần mềm open-source phát hành theo giất phép Apache License - Elasticsearch tích hợp với tất ứng dụng sử dụng loại ngôn ngữ: Java, JavaScript, Groovy, NET, PHP, Perl, Python, Ruby Cơ chế hoạt động ElasticSearch: - Có khả trả kết tìm kiếm cách nhanh chóng xác nguồn liệu lớn (big data source) - Elasticsearch khơng tìm kiếm nguồn sở liệu tiếng MySQL, MS SQL, PostgreSQL, mà văn (text), pdf, doc Theo cách thơng thường tìm kiếm sở liệu database biết có hai cách là: - Cách 1: Lật 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 áp dụng giải pháp giống Index Tuy nhiên mặt chế xử lý tìm kiếm có khác biệt, Index ElasticSearch gọi Inverted Index.kỹ thuật thay index theo đơn vị row (document) giống mysql biến thành Index theo đơn vị term Cụ thể hơn, Inverted Index cấu trúc liệu, nhằm mục đích map term document chứa term đó, giúp gia tăng khả tìm kiếm Logstash Logstash công cụ thu thập liệu mã nguồn mở với khả pipelining thời gian thực Logstash tự động thu thập liệu từ nhiều nguồn khác chuẩn hóa liệu phụ thuộc vào đích đến liệu Logstash có số lượng plugin đồ sộ (hơn 200) đáp ứng liệu đưa đến đầu vào Đơn giản log, metrics Với web, logstash biến requests HTTP thành kiện để phân tích Hay làm việc với NoSQL thơng qua giao diện JDBC, cung cấp cảm biến IoT,… Logstash thường sử dụng giao thức Syslog hay SNMP để thu thập log Đây giao thức thường sử dụng hệ thống giám sát nhằm thu thập thông tin đẩy liệu máy chủ giám sát Syslog giao thức client/server Đây giao thức dùng để chuyển log thông điệp đến máy nhận log Máy nhận log thường gọi syslogd, syslog daemon syslog server Syslog gửi qua UDP TCP Các liệu gửi dạng cleartext Syslog dùng cổng 514 Syslog phát triển năm 1980 Eric Allman, phần dự án Sendmail, ban đầu sử dụng cho Sendmail Nhưng syslog trở thành giải pháp khai thác log tiêu chuẩn Unix-Linux hàng loạt hệ điều hành khác thường tìm thấy thiết bị mạng switch, router Syslog ban đầu sử dụng UDP, điều đươ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 RFC 6587 Transmission of Syslog Messages over TCP giúp truyền tải thông báo syslog qua TCP Điều có nghĩa ngồi UDP syslog sử dụng TCP để đảm bảo an tồn cho q trình truyền tin Trong chuẩn syslog, thông báo dán nhãn gán mức độ nghiêm trọng khác Các loại phần mềm sau sinh thơng báo: auth, authPriv, daemon, cron, ftp, dhcp, kern, mail, syslog, user, Với mức độ nghiêm trọng từ cao trở xuống Emergency, Alert, Critical, Error, Warning, Notice, Info, and Debug SNMP viết tắt Simple Network Management Protocol, giao thức chuyên sử dụng vấn đề quản lý, giám sát hệ thống mạng SNMP có quy định riêng, thành phần riêng để thành phần hệ thống mạng tuân theo, từ thu thập log hệ thống mạng để quản lý, giám sát SNMP sử dụng UDP, chạy cổng 161 162 Một số chứ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 nhận - Lấy thông tin phần cứng máy chủ (RAM, Chip, Ổ cứng,…) - Tự động cảnh báo (gửi mail, sms) có cố SNMP thiết kế chạy TCP/IP quản lý 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 hỗ trợ SNMP hồn tồn giám sát, quản lý từ xa thông qua SNMP Đặc điểm giao thức SNMP: - Thiết kế đơn giản hóa q trình quản lý thành phần mạng Các phần mềm sử dụng SNMP phát triển nhanh tốn chi phí - Có thể mở rộng chức quản lý, giám sát - Có thể thiết kế để hoạt động độc lập với kiến trúc chế thiết bị hỗ trợ SNMP Kibana Kibana tảng phân tích trực quan mã nguồn mở thiết kế để làm việc với Elasticsearch Kibana để tìm kiếm, xem tương tác với liệu lưu trữ Elasticsearch Từ dễ dàng thực phân tích liệu trực quan hóa liệu thơng qua biểu đồ, bảng Kibana giúp nắm bắt nhanh chóng 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ị thay đổi truy vấn Elasticsearch thời gian thực Beats Beats tập hợp công cụ thu thập thông tin chuyên dụng, biết đến Shipper (người vận chuyển) giúp thu thập gửi liệu từ Client tới máy chủ ELK Ngoài ra, beat gửi thẳng trực tiếp lên Elasticsearch thân cơng cụ chuẩn hóa sẵn, việc kết nối beat đến logstash thường mang ý nghĩa bảo mật hệ thống tầm lớn họ muốn bảo vệ dịch vụ elasticsearch Trong Beats có nhiều Beat “con”, cụ thể: - Filebeat: công cụ chuyên dùng để thu thập log gửi log cho hệ thống ELK Filebeat có điểm mạnh mà cách thu thập thông thường có được, khả theo dõi tình trạng ELK điều chỉnh lượng log đẩy Nếu hệ thống ELK gặp tình trạng tải khối lượng cần xử lý, Filebeat quan sát giảm lượng log đổ cách sử dụng hàng chờ - Metricbeat: công cụ chuyên dùng để thu thập hiệu máy chủ Ngoài hiệu phần cứng máy chủ, Metricbeat khai thác thông tin dịch vụ web (Apache, Nginx) hay database (MySQL, MongoDB) - Packetbeat: công cụ sử dụng để giám sát lưu lượng băng thông máy chủ Packetbeat thu thập thông tin lưu lượng gói tin vào máy chủ, từ tổng kết gửi cho hệ thống ELK - Winlogbeat: khác với hệ điều hành mã nguồn mở Linux, Windows có cấu trúc hồn tồn khác, khó can thiệp vào sâu hệ thống để thu thập thông tin Winlogbeat đời nhằm thu thập kiện xảy bên hệ điều hành Windows - Auditbeat: Winlogbeat dành cho hệ điều hành Windows, Auditbeat dành riêng cho hệ điều hành linux Auditbeat giúp quản lý folder, tập tin hệ thống hệ điều hành Linux - Heartbeat: công vụ Heartbeat sử dụng nhằm giúp cho hệ thống giám sát biết trạng thái dịch vụ có cịn hoạt động hay khơng CHƯƠNG (THỰC NGHIỆM) SỬ DỤNG ELK STACK ĐỂ PHÂN TÍCH, GIÁM SÁT LOG Trong phần thực nghiệm nhóm, chúng em tập trung làm rõ cách quan sát cách hoạt động phần mềm Elk Stack Sau cài đặt ELK máy Truy cập vào Kibana theo địa IP ELK, ví dụ http://192.168.1.104:5601, nhấn vào phần Discover, chọn mục Index Management Elasticsearch, bạn thấy index có tiền tố filebeat-*, index lưu liệu log Filebeat gửi đến Logstash Logstash để chuyển lưu Elasticsearch Cách cài đặt filebeat-* sudo apt update sudo apt upgradewget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.listsudo apt-get install apt-transport-https sudo apt updatesudo apt install filebeatsudo filebeat modules enable systemsudo systemctl start filebeatsudo systemctl enable filebeat Sau cài đặt, cấu hình để gửi log đến Logstash Tương tự muốn dùng metricbeat cài đặt yum -y install metricbeat Hình Màn hình Management Elasticseach Để truy vấn Kibana ta tạo Index patterns, truy vấn thơng tin index có tiền tố filebeat-, nhấn vào Index patterns Kibana, bấm vào Create index pattern Điền filebeat-* vào index pattern, nhấn Next Step Hình Tạo index pattern Kibana - Chọn @timestamp mục Time Filter field name, nhấn Create Index Pattern Hình Tạo index pattern Kibana (bước 2) Cuối cùng, bấm vào Discover, để xem thông tin log Mặc định liệt log 15 phút cuối Hình Giao diện hiển thị quan sát log ghi lại Kịch thực nghiệm: - Bước 1: Cài đặt phần mềm ELK máy - Bước 2: Vào Kibana để cấu hình chi tiết - Bước 3: Cài đặt thông số hiển thị Dashbroads - Bước 4: Cấu hình: filebeat-* Cấu hình: metricbeat - Bước 5: Tạo Index patterns Cài đặt Apache : yum install httpd Kích hoạt apache : systemctl start http Truy cập apache : 192.168.100.10 thử tạo lỗi để ghi lại log - Bước 6: Sử dụng Kibana để quan sát log lỗi Để thu thập từ Client khác, cài đặt tương tự nạp file filebeat-* để quan sát log gửi tới từ Client KẾT LUẬN Hai chương chuyên đề mục tiêu đặt thực chuyên đề đạt Cụ thể là: Chương đưa khái niệm log hệ thống, loại log hệ thống Đồng thời chương nayc đề cập đến chức hệ thống thu thập, phân tích giám sát log cách thức hoạt động Chương tập trung tìm hiểu Elk Stack Cụ thể là: - Cấu trúc Elk Stack - Cách thức hoạt động Elk Stack Chương sử dụng Elk Stack để thực thu thập, phân tích giám sát log hệ thống Tuy nhiên, xu tất yếu ngành Công nghệ thơng tin nói riêng chun ngành An tồn thơng tin nói chung, ngày có nhiều phương thức công vào hệ thống tinh vi Hạn chế chuyên đề tìm hiểu mức hệ thống thu thập giám sát log, phạm vi bó hẹp hệ thống định Elk Stack Việc giải hạn chế hướng phát triển đề tài ... NGHUYÊN LÝ, CÁCH THỨC HOẠT ĐỘNG CỦA ELK STACK Tổng quan Elk stack Nguyên lý hoạt động Elk stack CHƯƠNG (THỰC NGHIỆM) SỬ DỤNG ELK STACK ĐỂ PHÂN TÍCH, GIÁM SÁT LOG... kiện xảy bên hệ điều hành Windows - Auditbeat: Winlogbeat dành cho hệ điều hành Windows, Auditbeat dành riêng cho hệ điều hành linux Auditbeat giúp quản lý folder, tập tin hệ thống hệ điều hành.. . stack Elk stack công cụ giám sát tập trung mã nguồn mở mạnh, xử lý nhiều toán quản lý hệ thống mạng nên nhiều công ty, tổ chức tin dùng Elk stack phát triển từ đầu năm 2000, phiên Elk 6.4 Elk stack