Báo cáo đồ án tập trung vào khai thác các vấn đề về các hệ thống quản lý dữ liệu sự kiện tập trung và giới thiệu về chương trình quản lý log tập trung Graylog. Các nội dung bao gồm: chương 01 tìm hiểu về các những hệ thống quản lý sủ kiện tập trung, chương 02 tìm hiểu về Graylog và chương 03 triển khai hệ thống quản lý log bằng Graylog
Trang 1BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG THƯƠNG TP HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
-ĐỒ ÁN CHUYÊN NGÀNH ỨNG DỤNG VÀ TRIỂN KHAI HỆ THỐNG LƯU TRỮ VÀ XỬ LÝ LOG TẬP TRUNG BẰNG
GRAYLOG
GVHD : ThS TRẦN ĐẮC TỐT
TP Hồ Chí Minh, ngày … tháng … năm 2023
Trang 2BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG THƯƠNG TP HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
-ĐỒ ÁN CHUYÊN NGÀNH ỨNG DỤNG VÀ TRIỂN KHAI HỆ THỐNG LƯU TRỮ VÀ XỬ LÝ LOG TẬP TRUNG BẰNG
GRAYLOG
GVHD : ThS TRẦN ĐẮC TỐT
TP Hồ Chí Minh, ngày … tháng … năm 2023
Trang 3LỜI CAM ĐOAN
Chúng em xin cam đoan đây là công trình nghiên cứu của riêng chúng tôi Các
số liệu, kết quả nêu trong bài báo cáo Đồ án chuyên ngành là trung thực và chưa từngđược ai công bố trong bất kì công trình nào khác
Chúng em xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện bài báo cáo Đồ
án chuyên ngành đã được cảm ơn và các thông tin trích dẫn trong bài báo cáo Đồ án đãđược chỉ rõ nguồn gốc
Nhóm sinh viên thực hiện Đồ án
(Đại diện ký và ghi rõ họ tên)
Trang 4LỜI CẢM ƠN
Trong quá trình thực hiện đề tài đồ án chuyên ngành, chúng em đã nhận đượcrất nhiều sự giúp đỡ, đóng góp ý kiến và sử chỉ bảo tận tình của thầy cô, bạn bè và củagia đình
Chúng em muốn bày tỏ lòng cảm ơn sâu sắc và chân thành đến thầy Trần ĐắcTốt, là giảng viên của khoa Công nghệ thông tin và đồng thời cũng là người tận tìnhhướng dẫn, chỉ bảo nhóm chúng em trong khoảng thời gian thực hiện đề tải Đồ ánchuyên ngành Chúng em cũng xin gửi lời cảm ơn đến các thầy, cô của khoa Côngnghệ thông tin nói chung, các thầy cô thuộc chuyên ngành bộ môn An toàn thông tinnói riêng đã cung cấp những kiến thức thuộc cơ bản từ những kiến thức đại cương đếnnhững kiến thức chuyên ngành., giúp chúng em có được cơ sở lý thuyết vững chắc để
có thể thực hiện được báo cáo Đồ án chuyên ngành
Cuối cùng, chúng em cũng xin chân thành gửi lời cảm ơn đến gia đình và bạn
bè, đã luôn tạo điều kiện, quan tâm, giúp đỡ và đồng viên trong quá trình học tập vàhoàn thành bài báo cáo Đồ án chuyên ngành
Nhóm sinh viên thực hiện
(Đại diện ký và ghi rõ họ tên)
Trang 5TÓM TẮT
Theo thống kê đến từ trang panther, khoảng 70% những dữ liệu sử kiện chứathông tin mang tính rủi ro cao tốn thời gian cả tháng để thu thập Đến 44% khách hàngcho rằng những hệ thống SIEM trở nên phức tạp trong việc tích hợp và triển khai vào
hệ thống của mình, quá trình triển khai từ việc thu thập dữ liệu từ nhiều nguồn để pháthiện mối đe dọa và lỗ hổng, việc này dẫn đến tốn thời gian, nhất là các hệ thống chưađược tối ưu để tích hợp vào SIEM Ngoài ra, các con số khác như thị trường dành chocác hệ thống quản lý sự kiện cũng mang tính đặc biệt như lên đến 3.788 tỉ đô la Mỹtrong năm 2023 và dự báo có thể lên đến 7.167 tỉ đô la Mỹ trong năm 2030, tức là tăngkhoảng 10.47% từ năm 2023 đến 2030 Đứng trước nhu cầu cần thiết để thiết lập một
hệ thống giám sát dành cho vấn đề về bảo, các ứng dụng nổi tiếng đáp ứng được nhữngnhu cầu có thể kể đến như Splunk, Logmatic, Logstash và nhiều ứng dụng khác Trong
số những cái tên được kể đến, Graylog là một trong những hệ thống quản lý sự kiện tậptrung đáp ứng những tính năng cơ bản cũng như nâng cao của một hệ thống quản lý tậptrung về dữ liệu sự kiện, tìm hiểu và triển khai hệ thống lưu trữ và tập trung xử lý dữliệu sự kiện (log) của Graylog cũng là đề tài thực hiện trong bài báo cáo Đồ án chuyênnghành
Graylog là một nền tảng mã nguồn mở cho phép quản lý dễ dàng các dữ liệu cáccấu trúc và không cấu trúc dựa trên sự kết hợp giữa các thành phần như Elasticsearch(có thể thay thế bằng Opensearch), MongoDB và Graylog Server Một trong nhữngđiểm nổi bật của Graylog là khắc phục được tính rời rạc và bảo mật trong những bộứng dụng mang tính kết hợp nhiều ứng dụng khác để phục vụ một mục đích, Graylogđảm nhận việc thu thập và xử lý thông tin, Elasticsearch sẽ thực hiện việc tìm kiếmthông qua các lệnh truy vấn và các thông tin thiết lập được lưu trữ trong MongoDB.Ngoài ra, đáp ứng nhu cầu nâng cao của các hệ thống quản lý Log tập trung, Graylog
Trang 6 Chương 01 – Tỉm hiểu về những hệ thống quản lý dữ liệu sự kiện tập trung
Chương 02 – Tìm hiểu tổng quan về Graylog
Chương 03 – Triển khai hệ thống quản lý Log bằng Graylog
Trang 7MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
TÓM TẮT iii
MỤC LỤC v
CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG QUẢN LÝ LOG 2
1.1 Tổng quan về bản ghi sự kiện (log) 2
1.1.1 Khái niệm về log 2
1.1.1.1 Các bản ghi sự kiện bảo mật của thiết bị 2
1.1.1.2 Các bản ghi sự kiện của hệ điều hành 4
1.1.1.3 Các bản ghi sự kiện của ứng dụng 5
1.2 Tổng quan về hệ thống quản lý log 6
1.2.1 Kiến trúc chung của hệ thống quản lý log 6
1.2.2 Giao thức gửi và nhận nhật kí hệ thống Syslog (System Logging Protocol) 7
1.2.3 Hệ thống quản lý dự liệu và sự kiện tập trung SIEM (Security Information and Event Management Software) 8
1.2.4 Các hệ thống quản lý log hiện nay 9
CHƯƠNG 2 TỔNG QUAN VỀ GRAYLOG 10
2.1 Tổng quan về Graylog 10
2.2 Kiến trúc của Graylog 11
2.3 Quá trình hoạt động Graylog 13
2.4 Sử dụng Graylog để phân tích và tìm kiếm 15
Trang 82.4.1 Quá trình phân tích log sau khi thu thập từ các nguồn trong Graylog 15
2.4.2 Quá trình tìm kiếm dữ liệu sự kiện trong Graylog 16
2.5 Sử dụng Graylog để giám sát và cảnh báo 17
2.6 Mô hình triển khai Graylog 18
2.6.1 Mô hình dạng cơ bản dành cho quy mô nhỏ 18
2.6.2 Mô hình mở rộng dành cho nhu cầu nâng cao 20
CHƯƠNG 3 TRIỂN KHAI HỆ THỐNG QUẢN LÝ BẰNG GRAYLOG 22
3.1 Giới thiệu vấn đề 22
3.2 Mô hình thực nghiệm 22
3.3 Kịch bản thực nghiệm 23
3.4 Các bước thực hiện 24
3.4.1 Thiết lập tường lửa với pfsense 24
3.4.1.1 Tổng quan các bước thực hiện 24
3.4.1.2 Thiết lập IP cho máy Web Server (192.168.2.15/24) 26
3.4.1.3 Thiết lập IP cho máy Graylog Server (192.168.131.15/24) 28
3.4.1.4 Thiết lập IP trên máy Window Server 2016 (192.168.131.16/24) 29
3.4.2 Thiết lập máy Graylog Server 30
3.4.2.1 Tổng quan nội dung thực hiện 30
3.4.2.2 Cài đặt MongoDB (phiên bản 6.x) 30
3.4.2.3 Cài đặt OpenSearch (phiên bản 6.x, thay thế cho Elasticsearch) 35
3.4.2.4 Cài đặt Graylog Server (phiên bản 5.7) 43
3.4.3 Thiết lập Syslog trên pfsense (gửi log về Graylog Server) 50
Trang 93.4.4 Thiết lập Syslog và Beats trên Web Server (gửi log về Graylog Server) 58
3.4.4.1 Thiết lập Input cho Syslog của Web Server (sử dụng rsyslog) 59
3.4.4.2 Thiết lập Input cho Graylog Sidecar của Web Server 62
3.4.5 Triển khai các hình thức tấn công trên Kali vào Web Server 74
KẾT LUẬN 77
TÀI LIỆU THAM KHẢO 78
Trang 10DANH MỤC HÌNH ẢNH
Hình 1-1 Ví dụ về một bản ghi sự kiện của tường lửa tích hợp trên hệ điều hànhWindows 3Hình 1-2 Một ví dụ khác về bản ghi sự kiện của ứng dụng phát hiện và phòng chốngxâm nhập Snort 3Hình 1-3 Ví dụ về một bản ghi sự kiện của tường lửa mã nguồn mở pfsense 3Hình 1-4 Ví dụ minh họa cho bản ghi sự kiện của Windows, được sử dụng thông quaWindows Event Log 4Hình 1-5 Ví dụ minh cho bản ghi sự kiện access của ứng dụng apache trongaccess.log, thể hiện thông tin của thiết bị sử dụng trang web truy cập 5Hình 1-6 Ví dụ minh họa cho các bản ghi sự kiện dành cho ứng dụng, thể hiện thôngqua Window Event Log 5Hình 1-7 Ví dụ minh họa của ứng dụng Kiwi Syslog, máy chủ Syslog tiếp nhận cácthông báo sự kiện từ nhiều nguồn 7Hình 2-1 Mô hình kiến trúc của Graylog, bao gồm 3 thành phần chính : GraylogServer tiếp nhận các Log, thực hiện phân tích; Elasticsearch thực hiện việc tìm kiếm vàMongoDB 12Hình 2-2 Mô hình quá trình hoạt động của Graylog 14Hình 2-3 Sơ đồ hoạt động việc phân tích dữ liệu sự kiện trong Graylog, các dữ liệusau khi được thu thập sẽ được chuyển vào các stream, quá trình phân tích dựa vào cácrule và extrator để cụ thể hóa dữ liệu trong log và chuyển tiếp qua các hoạt động khác 15Hình 2-4 Ví dụ một Extractor phân tích các trường dữ liệu để định nghĩa các thànhphần của pfsesne log 16
Trang 11Hình 2-5 Bảng Dashboard trống: 17
Hình 2-6 tạo Event Defination: 18
Hình 2-7 Mô hình triển khai dạng tổng hợp cho Graylog 19
Hình 2-8 Mô hình triển khai cho môi trường đòi hỏi các yêu cầu cao về tính sẵn sàng và độ mở rộng cao 20
Hình 2-9 Mô hình triển khai gồm nhiều node chứa các Elasticsearch chung một Cluster 21
Hình 2-10 Mô hình triển khai gồm nhiều thành phần trên môi trường ảo hóa Docker và sử dụng điều phối Container là k8s 21
Hình 3-1 Mô hình thực hiện bài thực nghiệm triển khai quản lý tập trung log bằng Graylog 22
Hình 3-2 Thiết lập tường lửa pfsense thành công với 3 giao diện mạng bao gồm WAN (192.168.38.x/24), LAN (192.168.131.10/24) và DMZ (192.168.2.10/24) 25
Hình 3-3 Truy cập giao diện Dashboard của pfsense tại IP của máy LAN 26
Hình 3-4 Thay đổi IP trong tập tin 00-installer-config.yaml 27
Hình 3-5 Thực hiện kiểm tra Ping thành công đến Google, tức là máy có thể ra được Internet 27
Hình 3-6 Tùy chỉnh thiết lập cho máy ảo Graylog, kết nối vmnet vào mạng LAN 28
Hình 3-7 Thay đổi thông tin về mạng trong /etc/netplan/00-installer-config.yaml 28
Hình 3-8 Kết quả có thể ping được google thành công 28
Hình 3-9 Thiết lập tùy chỉnh cho máy ảo, kết nối với Vmnet1 cùng nhóm mạng với LAN 29
Hình 4.68 Có thể ping thành công đến Google.com 29
Trang 12Hình 3-10 Cài đặt gnupg và curl trên Ubuntu Server 22.04.3 32
Hình 3-11 Thực hiện thêm key vào bằng pipeline 32
Hình 3-12 Thêm mongodb list vào source list của apt 33
Hình 3-13 Cài đặt mongoDB bằng lệnh thông qua apt 33
Hình 3-14 Kiểm tra bằng lệnh apt list 33
Hình 3-15 Khởi động các lệnh liên quan đến dịch vụ 34
Hình 3-16 Thêm khóa GPG để xác thực chữ kí của APT Repository 36
Hình 3-17 Sử dụng lệnh để thêm repo vào source file tại máy Local 37
Hình 3-18 Sử dụng lệnh “sudo apt update” để cập nhập các Source File tại Local 37
Hình 3-19 Thưc hiện tải OpenSearch, file tải gần 1 GB nên có thể đợi một lát tùy theo tốc độ tải để hoàn thành 38
Hình 3-20 Thay đổi cluster.name và node.name 39
Hình 3-21 Tùy chọn path chứa các data và logs 40
Hình 3-22 Tùy chọn cách thức Discovry cho OpenSearch phát hiện node 40
Hình 3-23 Tùy chọn dãy mạng để OpenSearch hoạt động thu thập dữ liệu 40
Hình 3-24 Thay đổi các thông số cho runtime, nếu lỗi phân quyền thì sử dụng tài khoản root để thiết lập 41
Hình 3-25 Sử dụng các câu lệnh để khởi động dịch vụ 42
Hình 3-26 Cũng có thể kiểm tra bằng lễnh curl để lấy dữ liệu đang có từ OpenSearch 42
Hình 3-27 Tải tập tin deb từ trang chủ bằng wget 45
Hình 3-28 Thực hiện cài đặt deb bằng dpkg 45
Hình 3-29 Cập nhập apt và tải Graylog Server 45
Trang 13Hình 3-30 Thiết lập mật khẩu cho Graylog Server 46
Hình 3-31 Tùy chỉnh thiết lập mật khẩu trong file cấu hình graylog 46
Hình 3-32 Tùy chỉnh IP Address để sử dụng IP hoặc Port khác khi truy cập 47
Hình 3-33 Nếu bị lỗi về message_journal_max_size thì thay đổi thiết lập cho phù hợp 47
Hình 3-34 Thực hiện khởi động lại các dịch vụ 48
Hình 3-35 Thực hiện xem trạng thái hoạt động của dịch vụ 48
Hình 3-36 Truy cập graylog Server qua IP address được thiết lập 49
Hình 3-37 Giao diện khi xác thực thành công 49
Hình 3-38 Thiết lập một inputs trong system 50
Hình 3-39 Chọn dạng input là một syslog UDP, vì mặc định pfsense dùng syslog gửi qua UDP 51
Hình 3-40 Thiết lập tối thiểu 2 thông số, Bind Address thì có thể giữ nguyên và Port thì thay bằng một Port chưa dùng, mặc định là 514 51
Hình 3-41 Sau khi thiết lập xong sẽ hiển thị một input dành cho pfsense 52
Hình 3-42 Thiết lập trong Status > System Logs 52
Hình 3-43 Di chuyển đến mục Settings 53
Hình 3-44 Bật “Enable Remote Logging” và nhập IP:Port của máy Graylog 53
Hình 3-45 Sau khi thiết lập thì có thể để ý những thông số cho thấy có dữ liệu đang nhận về 54
Hình 3-46 Kiểm tra trong mục Search hay nhấn vào “Show Received message” để xem những log hiển thị và gửi về từ pfsense trên Graylog 54
Trang 14Hình 3-47 Hiển thị thông tin chi tiết khi nhập vào event, hình là trường hợp nhập
thành công tài khoản admin 55
Hình 3-48 Chọn tìm kiếm Snort và cài đặt 55
Hình 3-49 Có thể kiểm tra các log gửi về có event cho thấy cài đặt gói Snort 56
Hình 3-50 Bật thêm tính năng “Send Alerts to System Log” để pfsense có thể gửi log của Snort về Graylog 56
Hình 3-51 Ví dụ đặt một Rule phát hiện Ping trên LAN, kết quả các Alert hiển thị trong mục Alert của pfsense, thiết lập thì các cảnh báo này sẽ chuyển đến Graylog 57
Hình 3-52 Các log cảnh báo của Snort trên pfsense được hiển thị trên Graylog 57
Hình 3-53 Kiểm tra sẽ thấy một input mới dành cho máy Web Server thông qua Syslog 60
Hình 3-54 Thay đổi nội dung trong tập tin cấu hình rsyslog.conf 60
Hình 3-55 Thử đăng nhập sai nhiều lần trong quá trình xác thực của SSH 61
Hình 3-56 Kiểm tra trong phần Search sẽ thấy những thông báo về đăng nhập sai 61
Hình 3-57 Thiết lập một Inputs, chọn Beats 62
Hình 3-58 Thiết lập tên và Port 63
Hình 3-59 Có thể tắt xác thực TLS để đơn giản 63
Hình 3-60 Input mới tạo ra cho Beats 63
Hình 3-61 Tạo Sidecar trong System > Sidecars 64
Hình 3-62., Tạo Token bằng nhấn vào “Create or Reuse a token for the graylog sidecar user” 64
Hình 3-63 Tạo một Token 65
Trang 15Hình 3-64 Một token mới tạo cho web server sidecar, nên ghi nhớ lại vì nó không
hiển thị lại nữa đâu 65
Hình 3-65 Tải gói tin deb chứa thông tin về key và thêm vào source list file 66
Hình 3-66 Thực hiện cài đặt gói deb bằng dpkg 66
Hình 3-67 Thực hiện cập nhập local repository và thực hiện tải graylog-sidecar 66
Hình 3-68 Thiết lập nội dung về server_url và server_api_token 67
Hình 3-69 Thực hiện kiểm tra tình trạng hoạt động của Graylog Sidecar 67
Hình 3-70 Nếu làm đúng thì trở lại bên Overview sẽ thấy status là running 68
Hình 3-71 Dùng curl để lấy tập tin deb 68
Hình 3-72 Cài đặt file deb bằng dpkg 69
Hình 3-73 Chọn Create Configuration 69
Hình 3-74 Cái này thì chỉ cần chọn Collector là Filebeat trên Linux, các thiết lập sẽ được tạo ra, lúc này chỉ cần thay đổi nội dung là dc 70
Hình 3-75 Configuration được tạo cho filebeats 71
Hình 3-76 Chọn filebeat > Assign Configuration 71
Hình 3-77 Chọn configuration về filebeats 72
Hình 3-78 Sau khi thiết lập thì sidecar sử dụng configuration vừa thiết lập 72
Hình 3-79 Các log hiển thị trong access.log và error.log 73
Hình 3-80 Bật tính năng rule cộng đồng trên Snort và Emergin Threats 74
Hình 3-81 Bật giám sát trên interface cho WAN 74
Hình 3-82 Máy Kali sử dụng Zenmap để quét Port và các Scripts tổng hợp khác 75
Hình 3-83 Các cảnh báo hiển thị trên Snort 75
Trang 16Hình 3-84 Graylog có thể giám sát và phát hiện hình thức tấn công bằng quét port, cụthể là dùng các script quét trong nmap 76
Trang 17Mục tiêu chính của chúng em là ứng dụng và triển khai hệ thống quản lý log tậptrung bằng Graylog để cải thiện khả năng theo dõi và phân tích log Chúng em hy vọng
sẽ hình thành một giải pháp giúp rút ngắn thời gian phản ứng đối với sự cố bảo mật, tối
ưu hóa tài nguyên hệ thống và tăng cường khả năng giám sát
Tập trung khai thác các vấn đề tổng quan liên quan đến các hệ thống quản lý lognói chung và ứng dụng Graylog nói nói riêng Đối tượng chính trong quá trình thựchiện là Graylog, các thông tin tổng quan, kiến trúc, quá trình thu thập và phân tích, xử
lý Log cũng như cách thức triển khai hệ thống quản lý Log tập trung bằng Graylog.Graylog là một nền tảng quản lý và phân tích dữ liệu sự kiện mã nguồn mở miễnphí đáp ứng được những nhu cầu cơ bản và nâng cao trong việc phân tích, xử lý và truycập dữ liệu sự kiện Việc thực hiện tìm hiểu để tài mang lại nhiều ý nghĩa cho khoa học
và thực tiễn Việc nghiên cứu, tìm hiểu cho các nhìn tổng quan cũng như tăng thêmhiểu biết về cách thức hoạt động của các hệ thống quản lý dữ liệu sự kiện, việc tối ưuhóa quá trình thu thập và phân tích các sự kiện cũng như giám sát, đưa ra các sự kiệncảnh báo để cho ra một cái nhìn trực quan về cách thức cũng như quá trình hoạt độngcủa các hệ thống quản lý sự kiện nói chung và của Graylog nói riêng
Trang 18CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG QUẢN LÝ LOG
1.1 Tổng quan về bản ghi sự kiện (log)
1.1.1 Khái niệm về log
Log (hay còn gọi là bản ghi sự kiện) là bản ghi lại các sự kiện xảy ra trong hệthống và mạng của tổ chức Nhật ký là bao gồm các mục nhật ký; mỗi mục chứa thôngtin liên quan đến một sự kiện cụ thể đã xảy ra trong một hệ thống hoặc mạng Ban đầu,nhật ký được sử dụng chủ yếu để khắc phục sự cố, nhưng nhật ký hiện phục vụ nhiềuchức năng trong hầu hết các tổ chức, chẳng hạn như tối ưu hóa hệ thống và mạng hiệusuất, ghi lại hành động của người dùng và cung cấp dữ liệu hữu ích để điều tra hoạtđộng độc hại Trong một tổ chức, nhiều nhật ký chứa các bản ghi liên quan đến bảomật máy tính; ví dụ phổ biến về các nhật ký bảo mật máy tính này là nhật ký kiểm tratheo dõi các nỗ lực xác thực của người dùng và nhật ký thiết bị bảo mật ghi lại cáccuộc tấn công có thể xảy ra
1.1.1.1 Các bản ghi sự kiện bảo mật của thiết bị
Các thiết bị thường sử dụng hay được triển khai trong hệ thống mạng đều hoạtđộng theo dạng Network-based hay Host-based với mục đích chính là giám sát quátrình hoạt động của hệ thống mạng, các thiết bị trong môi trường mạng nhằm bảo vệ dữliệu và phản ứng nếu xảy ra các tình huống rủi ro an ninh đến hệ thống các thiết bị cóthể kể đến như tường lưa (Firewall), các hệ thống phát hiện và phòng chống xâm nhập(IDS, IPS), thiết bị định tuyến (Router), các thiết bị xác thực (Authentication Servers)
và nhiều thiết bị khác trong hệ thống mạng
Trang 201.1.1.2 Các bản ghi sự kiện của hệ điều hành
Hệ điều hành (hay Operating System) là một phần mềm hệ thống quản lý tàinguyên và phần cứng của mính tính, đóng vai trò là cầu nối quan trọng trong quá trìnhgiao tiếp giữa phần cứng và phần mềm Các bản ghi sự kiện của hệ điều hành thườngchứa những thông tin liên quan đến các vấn đề về bảo mật, thường nằm trong hai vấn
đề là : sự kiện hệ thống (System Events) và hồ sơ kiểm toán (Audit Records)
Sự kiện hệ thống (hay là System Events) : là các hoạt động được thực thi bởi các
thành phần của OS, các sự kiện đều có thời gian, nội dung hoạt động và dịch vụhay thành phần liên quan tạo nên sự kiện ấy
Các hồ sơ kiểm toán (Audit Records) : thường là chứa các thông tin về sự kiện
an ninh hệ thống về thất bại hay thành công của xác thực và nhiều hoạt độngkhác
Hình 1-4 Ví dụ minh họa cho bản ghi sự kiện của Windows, được sử dụng thông qua
Windows Event Log
Trang 211.1.1.3 Các bản ghi sự kiện của ứng dụng
Các ứng dụng khi thiết kế hoặc hoạt động có thể tạo ra các bản ghi sự kiện riênghay theo các chuẩn thiết kế dành cho các bản ghi Các thông tin trong bản ghi thường làtình trạng hoạt động của chức năng mà chương trình đó thực thi, có thể như : tình trạngcủa tài khoản, bộ nhớ sử dụng, tình trạng các hoạt động và nhiều hoạt khác
Hình 1-5 Ví dụ minh cho bản ghi sự kiện access của ứng dụng apache trong access.log, thể hiện thông tin của thiết bị sử dụng trang web truy cập.
Trang 22Hình 1-6 Ví dụ minh họa cho các bản ghi sự kiện dành cho ứng dụng, thể hiện thông
qua Window Event Log.
1.2 Tổng quan về hệ thống quản lý log
1.2.1 Kiến trúc chung của hệ thống quản lý log
Một kiến trúc chung của một hệ thống quản lý Log thường sẽ có 3 thành phầnchính: nguồn khởi tạo Log, Bộ phận quản lý và phân tích log, bộ phận giám sát hoạtđộng của Log
Bộ phận khởi tạo Log : thường là các nơi tạo nên các Log, hệ điều hành, ứng
dụng, chương trình, dịch vụ và nhiều hình thức khác Các log được tạo nên và
sử dụng các dịch vụ để chuyển các bản ghi sự kiện thu thập được đến một bộphận thu thập Log, đây thường là chức năng chính của các hệ thống quản lý Logtập trung
Bộ phận quản lý Log (phân tích và lưu trữ) : thành phần tiếp nhận các Log từ
các nguồn được thiết lập Đây có thể là bộ phận quan trọng nhất trong hệ thống,các dữ liệu sau khi được tiếp nhận sẽ được phân tích tùy theo thiết lập, phân loạitheo nhu cầu và lưu trữ trong các cơ sở dữ liệu Thành phần này cũng được tíchhợp các biện pháp an ninh để tăng cường tính xác thực của các dự liệu được gửi
đi và về, đảm bảo hạn chế ít nhất khả năng xảy ra tình trạng mất hoặc dữ liệu bịthay đổi
Bộ phận giám sát Log : thường sẽ là các hoạt động tiếp theo sau khi tiếp nhận
Log và phận tích, ví dụ như có thể thiết lập các cảnh báo tùy theo luật áp dụng,nếu như Log thu thập các yếu tố trùng khớp với các bộ luật thì cảnh báo có thểphát ra và hiển thị cho người quản trị Ngoài ra thì bộ phận giám sát còn tổnghợp và tạo nên các bản báo cáo, góp phần nâng cáo tính kiểm soát cho ngườiquản trị
Trang 23 PRI : là phần thể hiện mức độ nghiêm trọng và là đại diện cho cơ sở sinh ra log.
Có 8 bit (3 bit thể hiện tính nghiêm trong và 5 bit thể hiện nơi tạo ra log) Thựchiện theo công thức PRI = Facility Number (tức nơi sinh ra log) * 8 + SecurityNumber (tức mức độ)
HEADER : là phần chứa thông tin định dạng, gồm 2 thành phần chính :
TIMESTAMP và HOSTNAME, TIMESTAMP là thời gian tạo nên Log, thường
là được đồng bộ với một máy chủ thời gian (NTP Server), HOSTNAME là tênhay IP của máy tạo ra Log
MSG : là nơi chứa lời nhắn, thông tin về quá trình tạo ra log, gồm Tag Field và
Content Field
Trang 24Hình 1-7 Ví dụ minh họa của ứng dụng Kiwi Syslog, máy chủ Syslog tiếp nhận các
thông báo sự kiện từ nhiều nguồn.
1.2.3 Hệ thống quản lý dự liệu và sự kiện tập trung SIEM (Security
Information and Event Management Software)
SIEM (hay là Security Information and Event Management) là Thông tin bảomật và quản lý sự kiện (SIEM) là một tiểu mục trong lĩnh vực bảo mật máy tính, nơicác sản phẩm và dịch vụ phần mềm kết hợp quản lý thông tin bảo mật (SIM) và quản
lý sự kiện bảo mật (SEM), cung cấp phân tích thời gian thực về các cảnh báo bảo mật
do các ứng dụng và phần cứng tạo ra.Các tính năng cơ bản như :
Quản lý nhật ký: Tập trung vào việc thu thập và lưu trữ đơn giản các thông báo
nhật ký và các dấu vết kiểm tra
Quản lý thông tin bảo mật (SIM): Lưu trữ lâu dài cũng như phân tích và báo cáo
dữ liệu nhật ký
Trình quản lý sự kiện bảo mật (SEM): Giám sát thời gian thực, mối tương quan
của các sự kiện, thông báo và chế độ xem bảng điều khiển
Thông tin bảo mật và quản lý sự kiện (SIEM): Kết hợp SIM và SEM và cung
cấp phân tích thời gian thực về các cảnh báo bảo mật do phần cứng và ứng dụngmạng tạo ra
Với tính năng đầu là tiếp nhận các Log từ nhiều nguồn nên hướng tiếp cận cóthể thông qua 2 hướng chính, Agent-based hay Agenless Agent-based là một hướngthu thập các Log từ các máy được giám sát thông qua một ứng dụng hay chương trìnhđược cài đặt trên máy hay hệ thống được giám sát Chương trình này sẽ tiếp nhận cácnguồn tạo ra Log và thực hiện việc gửi các Log ấy về lại bộ phận quản lý tập trung,việc gửi đi sẽ theo 2 dạng, tự động gửi đi nếu các Log có sự thay đổi (tức là có sự kiệnmới trong Log) hay là được gửi đi nếu có yêu cầu của máy chủ quản lý tập trung Còn
Trang 25Agentless là một hình thức thực hiện trong trường hợp mà thiết bị không cài đặt đượccác chương trình Agent, nên cần có một hình thức thay thế khác, thường là sử dụnggiao thức gửi thông báo Syslog
Một vấn đề khác cũng là tính năng nhưng cũng là thử thách trong các hệ thốngquản lý Log tập trung, đó là giai đoạn tiền xử lý và chuẩn hóa Log trước khi tiếp nhận
và bắt đầu quá trình phân tích Quá trình tiền xử lý (hay làm sạch dữ liệu) là quá trìnhloại bỏ các dữ liệu thừa trong dữ liệu log thô thu thập được mà không mất mát thôngtin, đồng thời giúp làm giảm lượng dữ liệu log Quá trình chuẩn hóa log là khâu chuyển
dữ liệu log sau làm sạch và hợp nhất về dạng chuẩn nhằm thuận tiện cho quá trình xử
lý, phân tích chuyên sâu Các Log khi gửi đến từ nhiều nguồn khác nhau với nhiềudạng được thiết kế tùy theo dịch vụ và chức năng, điều này tạo ra sự phân hóa lớn khithực hiện tổng hợp, nên quá trình tiền xử lý và chuẩn hóa sẽ loại bỏ những thành phầnkhông cần thiết (trong nhu cầu chính của hệ thống quản lý tập trung) và thực hiện đua
về một dạng thống nhất mà chỉ máy quản lý tập trung mới có thể hiểu Điều này là đơngiản quá trình phân tích cũng như tắng tính bảo mật
1.2.4 Các hệ thống quản lý log hiện nay
Các hệ thống quản lý Log nổi tiếng có thể kế đến như :
ELK Stack: Bao gồm Elasticsearch, dùng để lưu trữ và tìm kiếm log.; Logstash,
dùng để thu thập, xử lý và chuyển dữ liệu log và Kibana, giao diện người dùng
đồ họa để tạo biểu đồ và báo cáo từ dữ liệu log
Splunk : là một giải pháp log management và SIEM (Security Information and
Event Management) phổ biến
Và nhiều hệ thống quản lý Log
Trang 26dữ liệu từ các Client (được cài đặt trên các máy chủ khác nhau), hiển thị qua giao diệnweb, trực quan hóa dữ liệu và cho phép làm việc với các bản ghi được tổng hợp bởimáy chủ chính.
Graylog được xây dựng là một ứng dụng mã nguồn mở (sau này thì phát triểnthêm những phiên bản tính phí nhưng phiên bản miễn phí và mã nguồn mở vẫn đượccập nhập và phát triển), được xây dựng dựa trên một mục đích là quản lý, thu thập,phân tích và tìm kiếm nên có thể xem đây là điểm khác biệt đầu tiên nếu so với các hệthống quản lý tập trung dạng Stack (ví dụ là ELK Stack) Một vài tính năng chính đượcthiết kế và cũng như thể hiện trong phần thực nghiệm có thể kể đến như :
Stream : hiểu như việc gán nhãn vào các thông báo được gửi về để phân loại tùy
vào mục đích thông qua các bộ luật (rule), nói một cách khác là khi tiếp nhậncác thông báo thời gian thực thì sẽ điều hướng các thông báo ấy vào các bộ phậnkhác tùy theo phân loại, thường là định hướng để vào chỉ mục (index củaElasticsearch)
Graylog Search Page : đây là trang dùng để thực hiện việc tìm kiếm thông qua
các lệnh truy vấn, việc tìm kiếm này cũng có thể được lưu lại để giao diện hóatrong phần Dashboard
Alert : tức là phần cảnh báo Có thể thiết lập từ định nghĩa sự kiện (Event
definitions), tức là có thể định nghĩa một điều kiện, nếu điều kiện thỏa thì cảnhbáo được phát ra
Trang 27 Graylog Sidecar : hiểu như là một chương trình cài đặt trên máy cần giám sát,
hoạt động trong môi trương Agent-based, thực hiện việc chuyển tiếp các Logđến Graylog Server
Graylog cũng giới thiệu một định dạng của riêng bản thân, gọi là Graylog
Exetended Log Format có nhiều ưu điểm hơn so với một syslog thông thường Các ưu
điểm thể hiện như giới hạn độ dài đến 1024 bytes, không có phân biệt loại dữ liệu, sốhay chữ trong cấu trúc và nhiều chức năng thay đổi khác Sự cải tiến này theo Graylogthì là một lựa chọn tốt cho việc ghi lại sự kiện cho ứng dụng
2.2 Kiến trúc của Graylog
Gryalog bản chất là một chương trình được xây dựng cho mục địch quản lý nhật
kí (Log Management System, có thể gọi tắt là LMS) ngay từ ban đầu và khắp phụcđược một nhược điểm là xây dựng một giao diện quản lý trên một cơ sở dữ liệu haymột chương trình tìm kiếm dạng từ khóa Một hệ thống quản lý nhật kí cần phải đápứng được 3 yếu tố trong việc giải quyết dữ liệu, đó là xử lý (processing), lập chỉ mục(cách sắp xếp dữ liệu trên nhiều trường, gọi là indexing) và truy cập (access) Một yếu
tố khác cần lưu ý hơn là việc mở rộng hệ thống tùy vào mục đích sử dụng và cũng nhưcác thiết bị và môi trường triển khai
Với những yêu cầu cần thiết cho một hệ thống quản lý sử kiện, Graylog đượcthiết kế với kiến trúc gần giống nhất với thiết kế của Splunk, cụ thể thì sẽ là xây dựngdựa trên 3 thành phần chính, thể hiện như : Graylog Server, Elasticsearch vàMongoDB
Graylog Server sẽ thu thập và xử lý dữ liệu sự kiện
Elasticsearch (hay Opensearch) dùng để tìm kiếm và lập chỉ mục.
MongoDB dùng để lưu trữ metadata và các tập tin cấu hình.
Trang 28sự kiện mà không cần phải thiết lập các tác vụ như chọn chỉ số và lập các bộ lọc, cáccông việc này có thể thiết lập tùy vào môi trường nhưng cơ bản, chỉ cần cung cấp mộtlệnh truy vấn thì Graylog Server sẽ xử lý và đưa ra kết quả
Một thành phần không thể thiết lập một cơ sở dữ liệu, tương tự như Wordpressdùng MySQL, Graylog sử dụng Elasticsearch để ghi lại sự kiện Một yếu tố khác làGraylog không xây dựng một giao diện (hay gọi là GUI) lên Elasticsearch mà dùngGraylog Server để thực thi chức năng của Elasticsearch, mục đích chính là chỉ sử dụng
Trang 29tính năng lập chỉ mục và tìm kiếm dữ liệu, vốn dĩ là tính năng mạnh nhất màElasticsearch cung cấp Tính chất khác là tính bảo mật và khả năng mở rộng.Elasticsearch không cung cấp các cơ chế bảo mật như xác thực (authentication) vàphân quyền (authorization), khi thực thi truy vấn dữ liệu thì có rủi ro là dữ liệu có thể
bị đánh cắp hay thay đổi Với những lý do bất cập nên Graylog Server mới xây dựng làmột thành phần đứng trước Elasticsearch để thực hiện các tác vụ xử lý và bảo mật,những gì Elasticsearch cần làm là thực thi đúng tính năng của nó, lập chỉ mục và tìmkiếm dữ liệu
2.3 Quá trình hoạt động Graylog
Graylog hoạt động có thể chia thành 3 giai đoạn chính : giai đoạn thu thập log từcác nguồn tạo ra Log, giai đoạn xử lý, phân tích và tìm kiếm và giai đoạn thực hiện cácchức năng tùy theo mục đích
Giai đoạn thu thập Log từ nhiều nguồn : dây là giai đoạn thể hiện tính năng
trong tên gọi của hệ thống quản lý tập trung, các thiết bị tạo ra Log sẽ được gửi
về máy Server quản lý tập trung bằng Agent hay hoặc các phương thứcAgentless
Giai đoạn xử lý và phân tích sự kiện : Giai đoạn xử lý và phân tích dữ liệu sự
kiện : các dữ liệu được gửi về sẽ thực hiện việc tiền xử lý và chuẩn hóa, doGraylog đã hỗ trợ phần lớn các thiết bị nên giai đoạn này có thể bỏ qua (tùytrường hợp theo nhu cầu riêng) Các dữ liệu sau khi thui thập thông qua phầnInput, sẽ được thêm vào các Stream dựa vào các Rule và Extractor
Giai đoạn thực hiện chức năng : Giai đoạn thực hiện chức năng : giai đoạn này
sẽ thực hiện các tính năng tìm kiếm (sử dụng lệnh truy vấn), thường thì kết quảcủa truy vấn tìm kiếm có thể ứng dụng để tạo giao diện quản lý Dashboard, tạocác cảnh báo dựa trên định nghĩa về điều kiện
Trang 3014
Trang 31Hình 2-9 Mô hình quá trình hoạt động của Graylog.
2.4 Sử dụng Graylog để phân tích và tìm kiếm
2.4.1 Quá trình phân tích log sau khi thu thập từ các nguồn trong Graylog
Hình 2-10 Sơ đồ hoạt động việc phân tích dữ liệu sự kiện trong Graylog, các dữ liệu sau khi được thu thập sẽ được chuyển vào các stream, quá trình phân tích dựa vào các rule và extrator để cụ thể hóa dữ liệu trong log và chuyển tiếp qua các hoạt động khác.
Các dữ liệu log khi được thu thập sẽ được điều hướng vào các Stream Streamđược tạo ra thông qua các Rule, một Rule thường có 2 thành phần chính : mức độ(level) và Source, nguồn sẽ thiết lập trùng khớp với yếu tố của các dữ liệu sự kiện Giai đoạn này có thể áp dụng Extractor, hiểu như là một file json chứa các điều kiệnkhác phù hợp với dữ liệu đầu vào Việc áp dụng Extractor sẽ khiến các Log được phântích rõ hơn trong quá trình sử dụng
Trang 32Hình 2-11 Ví dụ một Extractor phân tích các trường dữ liệu để định nghĩa các thành
phần của pfsesne log.
2.4.2 Quá trình tìm kiếm dữ liệu sự kiện trong Graylog
Việc tìm kiếm có thể thực hiện thông qua trang Seach (Search Page) trên giaodiện web của Graylog Sử dụng cấu trúc truy vấn để thực hiện việc tìm kiếm dữ liệu vàkết quả có thể xem thông qua các bảng hoặc có thể chuyển thành giao diện hóa củaDashboard Cấu trúc truy vấn thì gần giống với cấu trúc của Lucene, tức là sử dụng chỉmục để tìm kiếm, các ví dụ thể hiện như :
Nếu tìm kiếm các thông báo có kí tự ssh : nhập ssh
Nếu tìm kiếm các thông báo các dạng (type) là ssh và login : nhập type(ssh OR
login)
Nếu tìm kiếm thông báo chính xác chuỗi ssh login : nhập “ssh login”
Khi nhập truy vấn thì khả năng xảy ra lỗi khi nhập sai cấu trúc Nội dung hiểnthị thông báo lổi bao gồm các nội dung như : Parse Exception, tức là nhập sai cấu trúctruy vấn, Invalid Operator, tức là toán tử sai hoặc không tồn tại, Unknow Field, là lỗitruy vấn nội dung từ một trường (field) không tồn tại Parameter Error, tham số nhập
có thể bị lỗi
Trang 332.5 Sử dụng Graylog để giám sát và cảnh báo (Alert)
Dashboard cho phép bạn xây dựng các tìm kiếm được định nghĩa sẵn trên dữliệu của mình, giúp bạn dễ dàng truy cập thông tin quan trọng chỉ bằng một cú nhấpchuột Dashboard bao gồm một loạt các tính năng bổ sung không có trong các tìm kiếm
đã lưu Sự khác biệt chính là khả năng định nghĩa các tiêu chí tìm kiếm cụ thể cho từngWidget, như truy vấn hoặc kiểm soát phạm vi thời gian Bảng điều khiển cũng chophép tạo nhiều tab cho các trường hợp sử dụng khác nhau, hiển thị kết quả ở chế độtoàn màn hình và chia sẻ kết quả với những người khác
Hình 2-12 Bảng Dashboard trống:
Alert được kích hoạt khi phát hiện một Event được xác định Event là một điềukiện khớp một log với một khoảng thời gian hoặc tổng hợp Sự kiện có thể được ghi lạikhi có thay đổi nội dung trường hoặc tạo nội dung trường mới để sử dụng Nếu chưa có
Sự kiện nào được định nghĩa, trang Alerts & Events sẽ trông như thế này: Mức độ ưutiên của Event là một phân loại dành cho mục đích của người dùng Mức độ ưu tiên của
sự kiện sẽ được hiển thị dưới dạng biểu tượng đồ thị trang tổng quan và sẽ được ghi
Trang 34vào thông báo Bằng cách kết hợp Filter và Aggregation, bạn có thể mô tả cụ thể cáctiêu chí của một sự kiện Xác định Filter bằng cách sử dụng truy vấn tìm kiếm ChọnStream mà tin nhắn có thể được tìm thấy Xác định khung thời gian mà Filter sẽ tìmkiếm ngược lại để khớp với các tin nhắn Tìm kiếm sẽ được thực thi theo khoảng thờigian nhất định Nếu Filter khớp, sự kiện có thể được tạo Tuy nhiên, có thể hữu ích khităng cường dữ liệu đã lọc bằng Aggregation
Hình 2-13 tạo Event Defination:
2.6 Mô hình triển khai Graylog
2.6.1 Mô hình dạng cơ bản dành cho quy mô nhỏ
Đây là một dạng mô hình cơ bản trong việc triển khai hệ thống quản lý sự kiệntập trung Graylog, cụ thể là các thành phần cần thiết trong mô hình được xây dựng trênmột thiết bị hay một vùng cố định Điểm mạnh của mô hình triển khai này là yếu tốđơn giản, tất cả dịch vụ đều được cài đặt và thiết lập trên một thiết bị, dễ triển khai, đạidiện là việc kết hợp công nghệ ảo hóa dạng phần mềm Docker để triển khai Graylog.Nhưng nhược điểm lớn nhất là tính chất cá thể, vì mọi thứ được xây dựng trên một
Trang 362.6.2 Mô hình mở rộng dành cho nhu cầu nâng cao
Nhược điểm của mô hình triển khai tổng hợp là tính chất sẵn sàng cũng như khảnăng khôi phục, xử lý trong một môi trường đòi hỏi các yêu cầu cao về các tính chấttrên, để khắc phục nhược điểm ấy, mô hình sẽ triển khai dựa trên tối thiểu 2 cá thể,thường gọi là node Mô hình bao gồm nhiều Graylog Node được thiết kế đằng sau một
bộ phận điều phối cân bằng tải Bộ phận cân bằng tải sẽ làm nhiệm vụ giao tiếp giữacác Client và thu thập các dữ liệu sự kiện để phân phối cho các Graylog Server làmnhiệm vụ phân tích và xử lý
Hình 2-15 Mô hình triển khai cho môi trường đòi hỏi các yêu cầu cao về tính sẵn
sàng và độ mở rộng cao.
Trang 373.2 Mô hình thực nghiệm
Hình 3-16 Mô hình thực hiện bài thực nghiệm triển khai quản lý tập trung log bằng
Graylog.
3.3 Bảng địa chỉ IP và thiết bị
Trang 38Bảng 3-1 Bảng mô tả địa chỉ IP cho các thiết bị.
3.4 Kịch bản thực nghiệm
3.4.1 Tổng quan nội dung thực hiện
Phiên bản sử dụng là Graylog Open, tức bản mã nguồn mở miễn phí nên chỉ hỗtrợ tính năng giám sát quản lý log tập trung Mô hình sẽ có 3 nhóm mạng, một nhómLAN (Local), 1 nhóm vùng DMZ và 1 nhóm vùng WAN, trong đó:
Vùng WAN chứa các thiết bị mô phỏng vùng Internet, chứa thiết bị của Clienthoặc Attacker
Vùng LAN chứa các thiết bị như Windows Server 2016 và máy Graylog
Vùng DMZ chứa thiết bị máy Web Server, sử dụng DVWA để làm đối tượngkiểm thử
Trang 39Do nhiệm vụ chính của Graylog là quản lý tập trung log nên nhiệm vụ là thiếtlập các cách thức để có thể gửi log hệ thống hay log ứng dụng từ các thiết bị (các máyServer và pfsense) về lại máy Graylog Server Ngoài ra thì thực hiện thêm các chứanăng quản lý log như giám sát, theo dõi, tạo dashboard và đưa ra các cảnh báo (alert)
3.4.2 Các bước thực hiện bao gồm :
Bước 01 : Thiết kế mô hình
Bước 02 : Thiết lập thiết bị tường lửa pfsense, tùy chỉnh IP của các máy Server,đảm bảo các máy có thể ra được Internet
Bước 03 : Thiết lập máy Graylog Server, sử dụng Graylog Open với phiên bản5.2
Bước 04 : Thiết lập đẩy log từ pfsense về Graylog Server
Bước 05 : Thiết lập máy Web Server, thiết lập đẩy các dạng log về GraylogServer để quản lý
Bước 06 : Thiết lập máy Windows Server, thiết lập việc đẩy log về GrayloyServer để quản lý
Bước 07 : Thực hiện tác vụ kiểm thử và quản lý log trên Graylog Server
3.5 Các bước thực hiện
3.5.1 Thiết lập tường lửa với pfsense
3.5.1.1 Tổng quan các bước thực hiện
Trang 40- Thực hiện trên Web Interface
- Bước này cũng không cần nhưng mặc định khitruy cập thì giữ mặc định các yếu tố cơ bản
Kiểm tra kết quả - Kiểm tra bằng cách ping đến google.com phải
thành công
Bảng 3-2 Bảng tổng quan các bước thực hiện
Hình 3-17 Thiết lập tường lửa pfsense thành công với 3 giao diện mạng