Tài liệu này sẽ hướng dẫn bạn cách xây dựng và quản lý hệ thống SIEM (Security Information and Event Management) sử dụng hai công cụ phổ biến: Splunk và Elasticsearch. SIEM là một giải pháp an ninh mạng quan trọng giúp thu thập, phân tích và lưu trữ nhật ký từ nhiều nguồn khác nhau trong môi trường CNTT của bạn. Sử dụng Splunk và Elasticsearch, bạn có thể: Thu thập nhật ký từ nhiều nguồn: Splunk và Elasticsearch hỗ trợ nhiều nguồn nhật ký khác nhau, bao gồm máy chủ, ứng dụng mạng, thiết bị bảo mật và thậm chí cả mạng xã hội. Phân tích nhật ký để phát hiện mối đe dọa: Cả Splunk và Elasticsearch đều có các tính năng phân tích mạnh mẽ giúp bạn xác định các hoạt động đáng ngờ và tiềm ẩn mối đe dọa. Lưu trữ nhật ký để tuân thủ: SIEM có thể giúp bạn đáp ứng các yêu cầu tuân thủ bằng cách lưu trữ nhật ký trong một khoảng thời gian xác định. Tạo báo cáo và bảng điều khiển: Splunk và Elasticsearch cung cấp các công cụ để tạo báo cáo và bảng điều khiển giúp bạn trực quan hóa dữ liệu bảo mật của mình.
Giới thiệu chung
SIEM – viết tắt của Quản lý Sự kiện và Thông tin Bảo mật (Security Information and Event Management), là một hệ thống bao gồm các phần mềm và dịch vụ được tích hợp từ SIM (Quản lý Thông tin Bảo mật) và SEM (Quản lý Sự kiện Bảo mật) SIEM cung cấp các dịch vụ phân tích và cảnh báo bảo mật trong thời gian thực dựa trên dữ liệu thu thập từ các ứng dụng và thiết bị mạng.
Hệ thống SIEM thu thập dữ liệu về các sự kiện an ninh từ nhiều thiết bị trong hệ thống để phân tích, tương quan và cảnh báo về các nguy cơ an ninh cho người quản trị. Ngoài ra, SIEM cung cấp các giải pháp ứng phó với các sự cố an ninh mạng, bao gồm chuẩn hóa, lưu trữ và quản lý dữ liệu an ninh và dữ liệu đăng nhập.
Hình 1: SIEM là sự kết hợp giữa SEM và SIM
SIEM là một giải pháp hoàn chính, đầy đủ cho phép các tổ chức thực hiện việc giám sát các sự kiện an toàn thông tin cho một hệ thống, đảm bảo an ninh thông tin và quản lí các sự kiện an ninh của hệ thống một cách khoa học và hợp lý, giúp quản trị viên có cái nhìn tổng quan và chính xác về tình trạng của hệ thống, ngoài ra còn giúp quản trị viên đưa ra phương án xử lí thích hợp khi xảy sự cố Với những lợi ích thiết thực của mình, hệ thống SIEM ngày càng phát triển và trở nên phổ biến, vì vậy với vai trò là những kỹ sư công nghệ thông tin tương lai, chúng em thực hiện đề tài này với mong mỏi phát triển tri thức, tìm hiểu và thực nghiệm hệ thống này nhằm phục vụ công việc sau này và phát triển hơn về sau.
Một số tính năng mà SIEM cung cấp:
• Tương quan sự kiện an ninh
• Đảm bảo tuân thủ tiêu chuẩn công nghệ thông tin
• Quản lý, giám sát đăng nhập và xác thực
• Kiểm soát truy cập ứng dụng
• Kiểm soát hoạt động của người dùng
• Báo cáo, cảnh báo, thống kê tình trạng hệ thống
• Đảm bảo sự toàn vẹn dữ liệu
• Giám sát hệ thống, đảm bảo an ninh các thiết bị đầu cuối
• Cảnh báo thời gian thực
• Tạo biểu đồ thể hiện tình trạng hệ thống một cách trực quan
• Phát hiện lỗ hổng, nguy cơ và cung cấp giải pháp xử lý, khắc phục sự cố
• Lưu trữ dữ liệu, đánh chỉ mục dữ liệu đảm bảo cho việc tìm kiếm về sau
Hình 2: Các tính năng của SIEM
Từ đó SIEM mang lại nhiều lợi ích cho người dùng:
• Phát hiện mối đe dọa sớm:SIEM cho phép tổ chức phát hiện các mối đe dọa bảo mật một cách sớm nhất bằng cách theo dõi, phân tích và cảnh báo về các hoạt động không bình thường trên hệ thống mạng.
• Tăng cường khả năng phản ứng: SIEM giúp tổ chức phản ứng nhanh chóng và hiệu quả hơn đối với các sự cố bảo mật qua việc tự động hóa quy trình phản ứng và cung cấp thông tin chi tiết về các mối đe dọa.
• Tăng cường tuân thủ và giảm rủi ro:Bằng cách cung cấp khả năng theo dõi và báo cáo liên tục về tuân thủ các quy định bảo mật và luật pháp, SIEM giúp tổ chức giảm thiểu rủi ro và tuân thủ đúng các yêu cầu pháp lý.
• Tối ưu hóa quản lý log:SIEM giúp tổ chức tối ưu hóa quản lý và giám sát log hệ thống, từ việc thu thập dữ liệu nhật ký cho đến phân tích và báo cáo, giúp quản trị viên dễ dàng theo dõi và đánh giá các hoạt động trên hệ thống.
Tự động hóa các nhiệm vụ liên quan đến việc phát hiện và ứng phó với mối đe dọa giúp giảm đáng kể thời gian và công sức, nâng cao hiệu suất hoạt động cho tổ chức Với SIEM, người dùng có thể tự động hóa nhiều công việc quản lý sự kiện và bảo mật, qua đó tăng tốc quá trình xử lý và phản hồi các nguy cơ tiềm ẩn.
Như vậy nhờ có SIEM mà tổ chức không chỉ có thể phát hiện và phản ứng với các mối đe dọa bảo mật một cách hiệu quả, mà còn nâng cao khả năng quản lý và tuân thủ của họ đối với các quy định và luật pháp liên quan.
Các thành phần của hệ thống SIEM
Thiết bị nguồn
Thành phần đầu tiên của SIEM là các thiết bị đầu vào cung cấp dữ liệu cho SIEM. Thiết bị nguồn có thể là một thiết bị thực tế trong hệ thống mạng như Router, Switch hoặc một số loại máy chủ và cũng có thể là các bản ghi Log từ một ứng dụng hoặc chỉ là bất kỳ dữ liệu nào khác Việc biết về những gì có trong hệ thống là rất quan trọng trong việc triển khai SIEM Hiểu rõ những nguồn muốn lấy các bản ghi Log trong giai đoạn đầu sẽ giúp tiết kiệm được công sức, số tiền đáng kể và giảm sự phức tạp trong triển khai.
Thu thập Log
Thành phần tiếp theo trong sơ đồ là thành phần thu thập Log Cơ chế thu thập các bản ghi Log phụ thuộc vào từng thiết bị nhưng cơ bản có hai phương thức như sau: Push Log và Pull Log.
Push Log:Các bản ghi Log sẽ được các thiết bị nguồn gửi về SIEM Phương pháp này có lợi ích: Dễ dàng cài đặt và cấu hình Thông thường, chỉ cần thiết lập một bộ tiếp nhận và sau đó kết nối thiết bị nguồn đến bộ phận tiếp nhận này Ví dụ như SysLog, khi cấu hình thiết bị nguồn sử dụng SysLog, người quản trị có thể thiết lập địa chỉ IP hoặc DNS tên của một máy chủ SysLog trên mạng và thiết bị sẽ tự động gửi các bản ghi của nó thông qua SysLog Tuy nhiên phương pháp nay cũng còn một số nhược điểm.
Ví dụ, sử dụng SysLog trong môi trường UDP Bản chất của việc sử dụng SysLog trong môi trường UDP có thể là không đảm bảo rằng các gói tin đến đích, vì UDP là một giao thức không hướng kết nối Nếu một tình huống xảy ra trên mạng chẳng hạn như khi một loại virus mạnh trên mạng, người quản trị có thể không nhận được gói tin SysLog. Một vấn đề có thể phát sinh là nếu không đặt quyền điều khiển truy cập thích hợp trên máy thu nhận các bản ghi Log thì khi cấu hình sai hoặc có phần mềm độc hại có thể làm tràn ngập các thông tin sai lệch Điều đó làm cho các sự kiện an ninh khó được phát hiện.
Nếu là một cuộc tấn công có chủ ý nhằm chống lại SIEM thì một kẻ xấu có thể làm sai lệch các thông tin và và thêm các dữ liệu rác vào SIEM Do vậy sự hiểu biết về các thiết bị gửi các bản ghi Log cho SIEM là điều rất quan trọng.
Pull Log: Các bản ghi Log sẽ được SIEM lấy về Không giống như phương pháp PushLog, trong đó thiết bị nguồn gửi các bản ghi Log cho SIEM mà không cần bất kỳ sự tương tác từ SIEM Pull Log đòi hỏi SIEM bắt đầu kết nối với các thiết bị nguồn và chủ động lấy các bản ghi từ các thiết bị nguồn đó bằng một phần mềm được cài đặt trên các thiết bị an ninh Một ví dụ nếu các bản ghi Log được lưu trữ trong tập tin văn bản chia sẻ trên một mạng SIEM sẽ thiết lập một kết nối lấy các thông tin được lưu trữ và đọc các file bản ghi từ các thiết bị nguồn.
Phân tích, chuẩn hóa Log
Để đảm bảo tính hữu dụng của bản ghi nhật ký trong hệ thống SIEM, hệ thống này thu thập dữ liệu nhật ký từ các thiết bị và ứng dụng thông qua các giao thức như Syslog, SNMP, SFTP Quá trình chuẩn hóa chuyển đổi dữ liệu nhật ký về một định dạng chuẩn, giúp hệ thống SIEM có thể phân tích dữ liệu hiệu quả hơn Khi các thiết bị không hỗ trợ các giao thức này, hệ thống sử dụng Agent để chuyển đổi dữ liệu nhật ký sang định dạng phù hợp với SIEM Quá trình này mất nhiều thời gian triển khai hơn nhưng mang lại lợi ích cho việc phân tích nhật ký bảo mật từ nhiều thiết bị khác nhau.
Kỹ thuật tương quan sự kiện
Các quy luật trong SIEM cho phép chuẩn hóa các bản ghi sự kiện an ninh từ nhiều nguồn khác nhau để kích hoạt cảnh báo Việc viết quy luật thường bắt đầu đơn giản nhưng có thể trở nên rất phức tạp Người quản trị thường sử dụng biểu thức Boolean Logic để xác định điều kiện cụ thể và kiểm tra sự phù hợp trong dữ liệu Tương quan giữa các sự kiện an ninh là một tập hợp các quy tắc nhằm liên kết các sự kiện từ các nguồn khác nhau thành các sự kiện chính xác Điều này giúp đơn giản hóa thủ tục ứng phó sự cố bằng cách tổng hợp các sự kiện từ nhiều nguồn thành một sự kiện duy nhất.
Thông thường có hai kiểu tương quan sự kiện là dựa trên các quy tắc kiến thức đã biết (Rule- based) và dựa trên phương pháp thống kê (Statistical-based):
Rule – based: Là phương pháp tương quan sự kiện dựa trên các quy tắc và kiến thức đã biết về các cuộc tấn công Các kiến thức đã biết về các cuộc tấn công được sử dụng để liên kết các sự kiện lại với nhau và phân tích trong một bối cảnh chung Các quy tắc được xây dựng vào các mẫu xác định và do các nhà cung cấp phát triển hoặc người quản trị có thể tự xây dựng, phát triển và bổ sung vào hệ thống theo thời gian và kinh nghiệm tích lũy.
Statistical - based: phương thức tương quan không sử dụng bất kỳ kiến thức của các hoạt động cho là nguy hiểm đã biết trước đó Nhưng thay vì dựa vào những kiến thức của các hoạt động bình thường đã được công nhận và tích lũy theo thời gian Các sự kiện đang diễn ra được đánh giá bởi một thuật toán và có thể được so sánh với mẫu bình thường để phân biệt hành vi bình thường và hành vi bất thường Hệ thống phân tích các sự kiện an ninh trong một khoảng thời gian và sử dụng trọng số để đánh giá tài sản, hệ thống Các giá trị trọng này sau đó được phân tích để xác định nguy cơ kiểu tấn công này xảy ra Các hệ thống này cũng thiết lập mức độ hoạt động mạng bình thường và tìm kiếm sai lệch so với những mẫu có hành vi bình thường có thể chỉ ra một cuộc tấn công.
Lưu trữ Log
Với các bản ghi Log gửi tới SIEM cần một cách để lưu trữ chúng để phục vụ các mục đích lưu giữ và truy vấn sau này Có ba cách mà có thể lưu trữ các bản ghi trong SIEM là: Dùng một cơ sở dữ liệu, file Text và dưới dạng file nhị phân.
Lưu trữ các bản ghi Log trong cơ sở dữ liệu là phương pháp phổ biến nhất trong SIEM. Các cơ sở dữ liệu thường là Oracle, MySQL, Microsoft SQL hoặc các ứng dụng khác phổ biến trong doanh nghiệp Phương pháp này cho phép dễ dàng tương tác với dữ liệu và có hiệu suất tốt, nhưng cần tối ưu hóa để chạy với SIEM Tuy nhiên, việc triển khai cơ sở dữ liệu có thể gây ra một số vấn đề, đặc biệt nếu SIEM không tương tác nhiều với cơ sở dữ liệu hoặc không có DBA để quản lý.
Lưu trữ dưới dạng file text:
Một tập tin văn bản là cách thông thường để lưu trữ dữ liệu trong định dạng có thể đọc được Dữ liệu thường được phân cách bằng dấu phẩy, khoảng trắng tab hoặc kí hiệu khác để phân tích và đọc dễ dàng Tuy nhiên, việc này thường chậm hơn so với các phương pháp khác và không được sử dụng thường xuyên Mặc dù không nhiều lợi ích, nhưng việc sử dụng tập tin văn bản làm cho dữ liệu dễ truy cập cho các ứng dụng bên ngoài và dễ đọc cho con người.
Lưu trữ dưới dạng nhị phân: Định dạng tập tin nhị phân là sử dụng một tập tin với định dạng tùy chỉnh để lưu trữ thông tin duới dạng nhị phân SIEM biết làm thế nào để đọc và ghi vào những file này.
Theo dõi và giám sát
Giai đoạn cuối cùng trong quá trình là tương tác với các bản ghi trong SIEM Giao diện điều khiển web hoặc ứng dụng tải về cho phép quản trị viên tương tác với dữ liệu và quản lý SIEM SIEM cung cấp ba cách thông báo về cuộc tấn công hoặc hành vi bất thường: cảnh báo ngay khi phát hiện, thông báo vào thời điểm đã xác định trước, và giám sát thời gian thực qua giao diện web Giao diện này giúp xử lý sự cố và cung cấp cái nhìn tổng quan về môi trường hệ thống, tiết kiệm thời gian so với việc phải kiểm tra từng thiết bị riêng lẻ.
Cơ chế hoạt động của hệ thống SIEM
Thu thập thông tin từ các thiết bị
Mục đích của việc thu thập thông tin là để tổng hợp và chuẩn hóa dữ liệu từ các thiết bị an ninh khác nhau và cung cấp chúng cho máy chủ để tiến hành phân tích Chức năng này là rất quan trọng vì dữ liệu thường có định dạng khác nhau từ các thiết bị và nhà cung cấp khác nhau Khi dữ liệu đã được thu thập và chuẩn hóa, nó có thể được tích hợp với dữ liệu từ các nguồn khác, tăng cường khả năng phát hiện sự kiện an ninh độc hại và chính xác hơn SIEM thu thập các bản ghi Log từ nhiều thiết bị khác nhau thông qua các giao thức như syslog, SNMP, OPSEC, SFTP, IDXP Để đảm bảo tính bảo mật và tin cậy, việc truyền bản ghi log cần được thực hiện thông qua các giao thức an toàn Các bản ghi log sau đó được chuẩn hóa để đưa về cùng một định dạng Nếu thiết bị không hỗ trợ các giao thức này, cần sử dụng các Agent để chuyển đổi dữ liệu sang định dạng mà SIEM có thể hiểu được Mặc dù việc cài đặt các Agent có thể kéo dài quá trình triển khai SIEM, nhưng nó giúp đảm bảo các bản ghi log được lưu trữ theo định dạng chuẩn mong muốn.
Phân tích, chuẩn hóa bản ghi log, tương quan các sự kiện an ninh 8
Mỗi bản ghi log có định dạng riêng biệt, và trong môi trường doanh nghiệp, có thể có hàng trăm hệ thống thu thập và phân tích bản ghi log Mỗi hệ thống và sự kiện có thể chứa thông tin khác nhau Để tìm kiếm các sự kiện liên quan đến một sự cố, chuẩn hóa là cần thiết để ánh xạ các sự kiện từ mọi nguồn log vào chương trình Mỗi loại log có định dạng và nội dung riêng Ví dụ, bản ghi proxy của Web chứa URL, địa chỉ IP nguồn, mã trạng thái, tên và phiên bản trình duyệt, trong khi bản ghi tường lửa chứa địa chỉ IP nguồn và đích, cổng và giao thức Chuẩn hóa giúp đưa các bản ghi về cùng một định dạng mà SIEM có thể hiểu được, với các thông số quan trọng như ngày-tháng, tên người dùng, IP nguồn, IP đích, giao thức, URL yêu cầu Quá trình tương quan sự kiện an ninh kết hợp các bản ghi từ nhiều nguồn để xác định xem có xảy ra tấn công vào hệ thống hay không Quá trình này yêu cầu xử lý tập trung và sâu sắc để hiểu cách tấn công diễn ra và liên kết thông tin với bối cảnh trong mạng SIEM có khả năng học từ sự kiện mới và cập nhật thông tin bối cảnh liên tục.
Theo dõi và giám sát hệ thống
Khi đã có tất cả các bản ghi log trong SIEM và các sự kiện an ninh đã được xử lý, tiếp theo là sử dụng thông tin từ các bản ghi log khác nhau SIEM có giao diện điều khiển web hoặc ứng dụng tải về máy trạm, cho phép tương tác với dữ liệu và quản lý SIEM Giao diện này cũng dùng để xử lý sự cố hoặc cung cấp cái nhìn tổng quan về môi trường Với SIEM đã chuẩn hóa dữ liệu, việc phân tích các bản ghi log trở nên dễ dàng. Trong giao diện điều khiển, chúng ta có thể tìm kiếm thông tin từ các sự kiện an ninh đã được xử lý.
Báo cáo, cảnh báo, lưu trữ dữ liệu
SIEM thông báo về các cuộc tấn công hoặc hành vi bất thường theo ba cách:
1 Phát cảnh báo ngay khi phát hiện sự bất thường.
2 Gửi thông báo vào thời điểm xác định trước của cuộc tấn công.
3 Quản trị viên giám sát SIEM theo thời gian thực qua giao diện web.
Các sản phẩm SIEM có thể tự động ứng phó bằng cách xóa phần mềm độc hại hoặc đóng cổng Báo cáo được lập lịch để cung cấp cái nhìn tổng quan về tình trạng an ninh.
Dữ liệu được lưu trữ trực tuyến và chuyển đi khi không cần thiết để lưu trữ lâu dài.
2 Các công cụ triển khai hệ thống SIEM
Splunk
Cơ chế Splunk Enterprise thu thập thông tin
Splunk hỗ trợ đa dạng loại log từ các hệ thống, thiết bị mạng, phần mềm, Firewall, IDS/IPS, Log Event, Register của máy trạm Nó có khả năng thu thập log từ nhiều nguồn khác nhau như file, thư mục, kết nối UDP, TCP từ các Splunk Server khác, Event Logs, Registry của Windows Splunk liên tục cập nhật dữ liệu thời gian thực, giúp phát hiện và cảnh báo kịp thời Với cơ chế tìm kiếm thông minh, Splunk cho phép truy xuất mọi thứ từ tập dữ liệu lớn, được các chuyên gia mạng gọi là "Splunk toàn năng" hoặc
"Splunk như Google cho các tập tin log".
Splunk Enterprise giám sát hệ thống
Splunk cho phép cảnh báo dựa trên tìm kiếm thông tin người dùng đặt ra Khi phát hiện vấn đề phù hợp với tiêu chí đã đặt, Splunk sẽ cảnh báo qua giao diện hoặc email. Giao diện trực quan của Splunk giúp người dùng dễ dàng đánh giá tình trạng hệ thống và tự động tạo báo cáo chuyên nghiệp.
Splunk Enterprise lưu trữ dữ liệu
Splunk có thể đánh chỉ mục dữ liệu với một khối lượng dữ liệu rất lớn trong một khoảng thời gian ngắn Giúp việc tìm kiếm diễn ra nhanh chóng và thuận tiện.
Splunk Enterprise ứng phó với sự cố
Splunk còn cung câp một cơ chế tự động khắc phục với các vấn đề xảy ra bằng việc tự động chạy các file Script mà người dùng tự tạo (Ví dụ như: Chặn IP, đóng Port ) khi có các cảnh báo xảy ra.
Mở rộng
Splunk được thiết kế để tích hợp với các công cụ khác, giúp nâng cao khả năng giám sát bảo mật và quản lý sự cố của hệ thống Các công cụ thường tích hợp với Splunk bao gồm OSSEC, Juniper, Sourcefire và nhiều công cụ khác.
Elastic
Elastic Security là một phần của nền tảng Elastic Stack được thiết kế đặc biệt cho việc quản lý bảo mật mạng và giám sát hệ thống Elastic Security cung cấp các công cụ và tính năng để phát hiện, đánh giá và phản ứng với các mối đe dọa bảo mật trong một môi trường IT.
Các thành phần chính của Elastic Security bao gồm:
1 Detection Engine: Đây là một công cụ phát hiện mối đe dọa tự động và linh hoạt Nó sử dụng các quy tắc, phân tích hành vi, và machine learning để phát hiện các hoạt động không bình thường hoặc đe dọa tiềm ẩn trong mạng.
2 Endpoint Security: Elastic Security cung cấp giải pháp bảo mật endpoint để bảo vệ các thiết bị cuối khỏi các mối đe dọa như malware, ransomware và các cuộc tấn công khác Nó cung cấp tính năng như phát hiện và phản ứng tự động, quản lý và giám sát endpoints, và thu thập dữ liệu từ các thiết bị.
3 SIEM (Security Information and Event Management): Elastic Security tích hợp SIEM để cung cấp khả năng giám sát, phân tích và báo cáo về các sự kiện và thông tin bảo mật trong hệ thống SIEM giúp tổ chức phát hiện các mối đe dọa, phản ứng nhanh chóng và định hình chiến lược bảo mật dài hạn.
4 Threat Intelligence: Elastic Security tích hợp thông tin đe dọa từ các nguồn bên ngoài để cung cấp thông tin cập nhật về các mối đe dọa mới và cung cấp thông tin liên quan để hỗ trợ quyết định bảo mật.
Elastic Security's integration with the Elastic Stack, comprising Elasticsearch, Kibana, and Beats, enables the collection, storage, and analysis of security data from diverse sources.
Bộ công cụ ELK là tập hợp 3 phần mềm đi chung với nhau, phục vụ cho công việc logging Ba phần mềm này lần lượt là:
Elasticsearch là một cơ sở dữ liệu mở rộng có khả năng lưu trữ, tìm kiếm và truy vấn các log Nó được xây dựng trên nền tảng của Apache Lucene, một công cụ tìm kiếm toàn văn bản viết bằng Java, và được sử dụng phổ biến trong các ứng dụng có yêu cầu phức tạp về tính năng tìm kiếm.
Elasticsearch cho phép lưu trữ, tìm kiếm và phân tích lượng lớn dữ liệu một cách nhanh chóng và gần thời gian thực Các tính năng chính củaElasticsearch bao gồm:
Phân tích thời gian Lưu trữ và chỉ mục tập tin theo thời gian thực, với mỗi lĩnh vực được chỉ mục Tài liệu hướng dẫn, trong đó mọi đối tượng đều là một tài liệu Tính sẵn sàng cao, dễ dàng mở rộng, hỗ trợ cho các cụm (clusters), các phân đoạn (shards) và sao chép (replicas) Giao diện thân thiện, hỗ trợ cho JSON.
Các thành phần chính của Elasticsearch bao gồm:
• Index: Là một tập hợp các tài liệu có điểm tương tự nhau, được sử dụng để tìm kiếm và truy vấn dữ liệu.
• Document: Một đối tượng JSON chứa dữ liệu cụ thể, là đơn vị dữ liệu cơ bản trong Elasticsearch.
• Shard: Là một phần của một index, chứa một tập hợp con các tài liệu Có hai loại shard: primary shard và replica shard.
• Node: Là một điểm trong hệ thốngElasticsearch, chứa dữ liệu và tham gia vào việc tìm kiếm và đánh chỉ mục.
• Cluster: Là một tập hợp các node, chứa toàn bộ dữ liệu và thực hiện các hoạt động tìm kiếm và đánh chỉ mục Mỗi cluster có một node chính (master) và có thể có nhiều node phụ (data nodes) khác.
Hai là Logstash, một công cụ nguồn mở, hữu ích trong việc thu thập, phân tích và lưu trữ bản ghi để sử dụng sau này Nhờ tích hợp với ngôn ngữ Jruby (phiên bản Ruby viết bằng Java), Logstash có thể tiếp nhận dữ liệu từ nhiều nguồn khác nhau trước khi xử lý và ghi dữ liệu vào Elasticsearch.
Các tính năng chính củaLogstash bao gồm:
• Khả năng truy cập vào bất kỳ dữ liệu nào.
• Khả năng tích hợp với nhiều ứng dụng bên ngoài.
• Hỗ trợ mở rộng đàn hồi.
Logstashđược cấu thành từ 3 thành phần chính, tương ứng với 3 bước xử lý chính:
Input: Thành phần này được sử dụng để lấy dữ liệu vào Logstash từ các nguồn khác nhau nhưtệp tin, syslog, redis, hoặc Beats.
Filter:Filter là bước xử lý trung gian trong Logstash Nó cho phép người dùng thực hiện các hoạt động biến đổi hoặc phân tích cú pháp trên dữ liệu, ví dụ như sử dụng Grok để phân tích cú pháp log hoặc thêm thông tin về vị trí địa lý của địa chỉ IP bằng Geoip.
Output: Output là pha cuối cùng của quá trình xử lý trong Logstash Nó ghi dữ liệu đã được xử lý vào các đích đến nhưElasticsearch, tệp tin, Graphite hoặc Statsd. Các thành phần và tính năng của Logstash cung cấp một cách tiếp cận linh hoạt và mạnh mẽ cho việc xử lý và quản lý dữ liệu log.
Ba là Kibana: Giao diện để quản lý, thống kê log Đọc thông tin từElasticsearch. Kibana là một ứng dụng phân tích và trực quan mã nguồn mở được thiết kế để làm việc vớiElasticsearch.
Kibana cung cấp một giao diện web cho phép người dùng tìm kiếm, xem và tương tác với dữ liệu được lưu trữ trong các chỉ mục Elasticsearch màLogstash đã tạo ra.
Thêm dữ liệu
4 Trong thư mục tải xuống của bạn, chọn tệp tutorialdata.zip và nhấp vào Open, sau đó chọnNext.
Lưu ý: Tệp tutorialdata.zip phải được nén để tải tệp lên thành công.
Về tệp dữ liệu tutorialdata.zip: Báo cáo này sử dụng dữ liệu từ một cửa hàng trò chơi hư cấu có tên là Buttercup Games - một cửa hàng trực tuyến bán trò chơi và các mặt hàng liên quan Các tệp dữ liệu bao gồm tệp log truy cập web (access.log file), tệp secure (secure.log file), tệp log bán hàng (vendor_sales.log) và bảng giá trong tệp CSV.
5 Trong phần Input Settings, chọn hướng dẫn cài đặt theo Splunk Cloud Plat- formhoặcSplunk Enterprisevà hệ điều hành thích hợp:
Splunk Enterprise dành cho Linux or Mac OS X
Splunk Enterprise dành cho Windows
• Chọn Regular expression on path.
• Nhập biểu thức chính quy
(.*) để trích xuất giá trị của máy chủ (host) từ đường dẫn.
6 ChọnReview để xem lại các cài đặt ban đầu
7 ChọnSubmit để thêm dữ liệu.
8 ChọnStart Searching để xem dữ liệu trong Search app Đến đây dữ liệu trong tệp tutorialdata.zip đã được lập chỉ mục (index) và các sự kiện (event) đã được tạo.
Thêm dữ liệu bằng cổng TCP
1 ChọnData inputs > chọnTCP> chọn New local TCP > nhậpPort
3 Kiểm tra các cài đặt ban đầu
4 Hoàn thành, bắt đầu quá trình tìm kiếm bằng cách chọnStart Searching
5 Giao tiếp thông qua TCP
Tìm kiếm cơ bản
Bắt đầu một tìm kiếm cơ bản như tìm kiếm tất cả các lỗi đã xảy ra trên trang web Buttercup Games bằng cách đề cập đến các từ khóa như “error”, “fail”, “severe”
1 Nhấp vào Tìm kiếm trên thanh ứng dụng để bắt đầu tìm kiếm mới
2 Thay đổi phạm vi thời gian thành All time Lưu ý: Tệp dữ liệu được sử dụng chứa các sự kiện trong khoảng bảy ngày Ngày của các sự kiện dựa trên ngày người dùng tải xuống tệp dữ liệu Ví dụ, nếu người dùng tải xuống tệp hôm nay (thứ Tư), các sự kiện sẽ bắt đầu từ thứ Tư tuần trước Cho nên các sự kiện cuối cùng là từ hôm qua và không có sự kiện từ hôm nay Mọi tìm kiếm sự kiện sử dụng Today hoặc bất kỳ thời gian nào ít hơn Last 24 hours đối với ví dụ này sẽ không trả về sự kiện nào Tương tự, nếu người dùng tải xuống tệp dữ liệu 3 ngày trước, sẽ không có sự kiện nào từ 3 ngày qua Do đó người dùng cần điều chỉnh phạm vi tìm kiếm trên thời gian tải xuống các tệp dữ liệu như AlltimehoặcPrevious week hoặc Last 7 dayscho ví dụ trên.
3 Tìm kiếm: buttercupgames (error OR fail* OR severe) Kí tự dấu hoa thị (*) được sử dụng làm ký tự đại diện cho các từ fail, failure, failed, failing,
4 Nhấp vào biểu tượng Tìm kiếm
Tìm kiếm này truy xuất 1281 sự kiện phù hợp.
Tìm kiếm bằng các trường (fields)
Để tìm kiếm với các trường, sử dụng cú pháp field-name=field-value
Một ví dụ tìm kiếm các sự kiện từ nhật ký truy cập web như sau:
1 Nhấp vào Tìm kiếm trên thanh ứng dụng để bắt đầu tìm kiếm mới
2 Thay đổi phạm vi thời gian thành All time
Tìm kiếm này sử dụng ký tự đại diện (*) để khớp với nhiều loại nguồn truy cập web Apache Các loại nguồn có thể là access-common, access-combined, hoặc access-combined-wcookie.
4 Nhấp vào biểu tượng Tìm kiếm
Thông qua kết quả tìm kiếm, người dùng có thể thu thập các thông tin về hoạt động truy cập vào web như trên Các thông tin có thể thấy từ kết quả tìm kiếm này bao gồm:
• Địa chỉ IP của người dùng: giúp xác định nguồn gốc của các yêu cầu truy cập.
• Đường dẫn của các trang web được yêu cầu và trang tham chiếu: giúp biết được người dùng đang xem những trang nào và từ đâu họ đến.
Mã trạng thái HTTP khi truy vấn trang thể hiện trạng thái của trang như: trang khả dụng (200 OK), trang không khả dụng (404 Not Found),
• Phương thức yêu cầu trang GET hoặc POS
• Thông tin về các từ khóa và hành động trên trang web, ví dụ như:
– /category.screen : khách hàng đang duyệt danh mục sản phẩm trên web – /cart.do?actiondtocart : khách hàng thêm sản phầm vào giỏ
– /cart.do?action=purchase : khách hàng tiến hành mua hàng
Tìm kiếm bằng ngôn ngữ tìm kiếm Splunk (Splunk search language)
Ví dụ chủ cửa hàng muốn tìm kiếm kết quả về những mặt hàng phổ biến nhất được mua tại cửa hàng trực tuyến Buttercup Games Nếu sử dụng tìm kiếm theo các trường, người chủ cần tìm kiếm kết quả số lượng sản phẩm được bán của từng loại rồi tiến hành so sánh Tuy nhiên, việc này gây tốn thời gian và cần phải thực hiện nhiều truy vấn tách biệt.
Dưới đây là một ví dụ về cách thực hiện một truy vấn bằng ngôn ngữ tìm kiếm Splunk để tìm các mặt hàng phổ biến nhất được mua:
1 Nhấp vào Tìm kiếm trên thanh ứng dụng để bắt đầu tìm kiếm mới,
2 Thay đổi phạm vi thời gian thành All time để đảm bảo rằng tất cả các sự kiện được bao gồm trong tìm kiếm,
3 Tìm kiếm: sourcetypecess-* status 0 action=purchase | top categoryId,
Phần trước dấu | xác định các giao dịch mua sản phầm từ các tập tin log kiểm soát truy cập, có trạng thái thành công (HTTP status là 200) Phần sau dấu | lấy các sự kiện đã xác định và trả về trường categoryId cho các giá trị phổ biến nhất. Các dấu | được sử dụng để xâu chuỗi nhiều lệnh lại với nhau, trong đó đầu ra của một lệnh sẽ trở thành đầu vào cho lệnh tiếp theo.
4 Nhấp vào biểu tượng tìm kiếm Kết quả được trả về theo dạng bảng (tab Statistics) hoặc biểu đồ (tab Visualisation)
Cảnh báo
Sử dụng cảnh báo để theo dõi và phản hồi các sự kiện cụ thể Cảnh báo sử dụng tìm kiếm đã lưu để tìm kiếm các sự kiện theo thời gian thực hoặc theo lịch trình Cảnh báo kích hoạt khi kết quả tìm kiếm đáp ứng các điều kiện cụ thể và kích hoạt cảnh báo bằng sử dụng các hành động cụ thể.
Ví dụ tạo một cảnh báo theo lịch trình mỗi khi trang web Buttercup Games xuất hiện lỗi theo các bước như sau:
1 Nhấp vào Tìm kiếm trên thanh ứng dụng để bắt đầu tìm kiếm mới
2 Thay đổi phạm vi thời gian thànhAll time
3 Tìm kiếm: buttercupgames (error OR fail* OR severe)
5 Nhập tên cảnh báo và mô tả tùy chọn Thiết lập quyền cho ai có thể xem và quản lý cảnh báo này ChọnAlert type làScheduledChọn“Run on Cron Schedule”
Chọn Time Range là All time > Cron Expression: * * * * * Thay đổi cài đặt hết hạn (không bắt buộc)
Lưu ý: Biểu thức cron (Cron Expression) là một chuỗi dữ liệu gồm năm trường được phân tách bằng dấu cách Từ trái sang phải, năm trường cron có các giới hạn giá trị thời gian như sau:Phút(0-59)Giờ(0-23)Ngày(1-31)Tháng(1-12) Thứ(0-6, trong đó 0 = Chủ Nhật) Như vậy biểu thức cron ***** có nghĩa là liên tục mỗi phút, mỗi giờ, mỗi ngày, mỗi tháng, mỗi thứ.
6 Cài đặt Điều kiện kích hoạt và hành động
7 Xem kết quả: Chọn tabActivity > chọnTriggered Alerts
Ngoài ra có thể cài đặt alert gửi về mobile app splunk:
Các bước thực hành với Elastic:
1 Thực hiện build Elastic với docker Mở port 19200, 9300, 5601:
2 Thực hiện câu lệnhmake start để build các image trên docker.
Thực hiện câu lệnhmake elastic để tự động tạo dashboard trên elastic.
3 Theo dõi các sự kiện, các API được gọi sử dụng màn hình discover và màn hìnhStrem log.
4 Theo dõi thống kê hoạt động của hệ thống trên dashboard
• Hiển thị dữ liệu: Biểu đồ và đồ thị cho cái nhìn tổng quan.
• Tổ chức và sắp xếp: Sắp xếp thông tin một cách logic.
• Tương tác và lọc: Lọc và phân tích dữ liệu trong giao diện.
• Chia sẻ và xuất báo cáo: Chia sẻ và xuất báo cáo dễ dàng.
• Giám sát hệ thống: Theo dõi hiệu suất và hoạt động của hệ thống.
5 Gọi các API đã cấu hình từ trước và sau đó quan sát trên hệ thống.
6 Public port 8080 sử dụng ngrok để trup cập API từ ngoài mạng.
Sau đó gọi API từ 1 thiết bị khác ngoài mạng:
Hệ thống trả về IP, thông tin log được từ thiết bị đó:
Như vậy, qua bài tập lớn này, nhóm đã tìm hiểu được các kiến thức cơ bản về SIEM
– Quản lý Sự kiện và Thông tin Bảo mật, các tính năng, lợi ích của nó Đồng thời cũng hiện thực được phần nào các chức năng của SIEM, mang lại cái nhìn tổng quát về hệ thống này.
Dưới đây là bảng phân công công việc của nhóm:
Họ và tên MSSV Công việc Mức độ hoàn thành Nguyễn Thị Ngọc Phim 2070423 Tìm hiểu tài liệu chương 1, tổng hợp viết báo cáo tổng kết
Nguyễn Thị Thanh Uyên 2133187 Lựa chọn đề tài, tìm hiểu công cụ, viết báo cáo chương 2
100%Nguyễn Phương Nam 1910356 Triển khai thực hiện demo 100%