“Security information and event management (SIEM) là sản phẩm phần mềm kết
hợp dịch vụ services combine security information management (SIM) và security
event management (SIEM), và cung cấp các phân tích thời gian thực các cảnh báo
bảo mật được tạo ra bởi phần cứng mạng và các ứng dụng." (cit. Wikipedia).
Thuật Ngữ Quản Lý Sự Kiện An Ninh Thông Tin được đặt ra bởi Mark Nicolett và
Amrit Williams of Gartner năm 2005 và nó bây giờ được sử dụng để mô tả phạm vi
của
sản phẩm có khả năng bao gồm: dữ liệu tổng hợp từ nhiều nhiều nguồn khác nhau
như mạng, máy chủ, cơ sở dữ liệu, ứng dụng; Tương quan dữ liệu cho phép liên
kết các sự kiện khác nhau; Cảnh báo và thông báo cho người nhận của một vấn đề
ngay lập tức; Dữ liệu tuân thủ an ninh, quản lý và quy trình kiểm định; Lưu giữ dữ
liệu để lưu trữ dữ liệu cho việc tuân thủ các yêu cầu và tạo điều kiện cho các
tương quan dữ liệu qua thời gian; Các biểu đồ để hình dung dữ liệu; Khả năng
phân tích pháp y như các khả năng tìm kiếm trên các bản ghi trên các nút khác
nhau và khoảng thời gian dựa trên tiêu chí cụ thể.
Giới thiệu
Những lý do đằng sau việc thông qua một trong một công ty được đa dạng, nhưng
trong hầu hết trường hợp, khách hàng muốn đạt được: muốn đạt được:
• Tuân thủ PCI-DSS, HIPAA, SOX và
nhiều chứng chỉ KHÁC
• Các hoạt động hỗ trợ với tập hợp dữ liệu
từ các nguồn khác nhau SOURCES/GROUP
như Network Operation Center, Security
Operation Center, các nhóm máy chủ, các nhóm
máy tính để bàn,
vv
• 0 Day hoạt động và nâng cao mối đe dọa liên
tục phát hiện với các phân tích của các sự kiện
liên quan đến cuộc tấn công/dữ liệu bị rò rỉ
Như bạn thấy từ hình bên trên, có rất nhiều giá
trị thương mại SIEMs sản phẩm trên thị trường
nhưng những gì về công nghệ mã nguồn? Có bất
kỳ phần mềm mã nguồn mở có sẵn/framework
mà có thể phù hợp với định nghĩa được đề xuất
của SIEM hay không? Phạm vi chính của bài
viết là để cố gắng trả lời câu hỏi này, ELK opensource framework là một đề xuất có hiệu quả. Nhưng tại sao lại chọn SIEMs?
Trong trường hợp này, ELK stack cung cấp miễn phí và open-source stack đặc
trưng quan trọng nhất mà một SIEM nên có. Mặt khác, so với những bản thương
mại trên thị trường thì nó không tính thêm một khoản phí nào khác. Không được
đánh giá thấp bởi vì nó có thể giúp các công ty nhỏ đến tầm trung thực hiện một
SIEM hiệu quả ngay cả khi họ không có đủ khả năng duy trì giấy phép về mặt
thương mại thường xuyên. Tóm lại, những gì ELK cung cấp là một công cụ tìm
kiếm cụm tên Elasticsearch, một tập hợp bản ghi Logsthash và cuối cùng, một giao
diện mạnh mẽ cho thấy các bản ghi thời gian thực cung cấp một point-and-click để
đăng nhập dữ liệu phân tích. Sự kết hợp của Elasticsearch, Logstash và Kibana
được gọi là "ELK stack",
Chúng tôi sẽ tìm hiểu về các công nghệ cốt lõi và các tính năng đằng sau ELK để
xem nó có thể phù hợp với các định nghĩa SIEM trình bày trước đó, làm nổi bật
những ưu và nhược điểm của nó. Hơn nữa, chúng tôi sẽ trình bày một trường hợp
sử dụng điển hình cho ELK stack như một kịch bản SIEM.
Mục tiêu của dự án;
Để hiểu rõ hơn về các công nghệ cơ bản, chúng tôi sẽ mô tả ngắn gọn mỗi thành
phần ELK stack với một cách tổng quan nhất về các tính năng chính của nó mà
không bao gồm các quá trình cài đặt.
Sau khi mô tả thành phần kỹ thuật, chúng tôi sẽ cố gắng để phân tích, khẳng định
rằng ELK có thể đã được sử dụng như một Security Information and Event
Management system.
Các thành phần
Elasticsearch là một mã nguồn mở (trong các điều khoản giấy phép của Apache)
tìm kiếm máy chủ dựa trên Apache Lucene, một bộ nguồn có hiệu suất cao đầy đủ
tính năng tìm kiếm văn bản
thư viện cơ bản viết hoàn toàn bằng Java. Công cụ tìm kiếm có thể được sử dụng
để chỉ mục bất kỳ loại dữ liệu không đồng nhất, mang lại khả năng phân tích dữ
liệu thời gian thực với giao diện web REST API với JSON output. Elasticsearch
cung cấp truy cập API có thể thực hiện CRUD (Create, Read, Update, Delete) chức
năng với POST, GET, PUT và DELETE phương thức HTTP, tương ứng.
Tạo nội dung:
Trong sáng tạo nội dung dạng đơn giản nhất, chúng tôi có thể xác định các chỉ số
để gửi dữ liệu đến, loại đối tượng được lưu trữ và id của các đối tượng mà chúng
tôi đang lưu trữ:
Các chỉ số có thể được dùng như một cơ sở dữ liệu vì thông tin được lưu trữ trong
các chỉ số khác nhau là tách biệt nhau, cũng giống như cơ sở dữ liệu.
Các loại có thể được bất cứ điều gì sử dụng để nhóm thông tin nhất định với nhau,
bạn có thể nghĩ về nó như một tag được sử dụng để mô tả và nhóm một số yếu tố.
Các id được sử dụng để xác định duy nhất một tài liệu trong các chỉ số; lưu ý id có
thể được tự động tạo ra bằng cách sử dụng động từ POST HTTP thay vì PUT
Đọc Nội Dung
Để truy cập dữ liệu, chúng tôi đã tạo ra, chúng ta sẽ sử dụng phương thức GET để
lấy nó.
Điều này sẽ trả về các thông tin về các tài liệu với id đã chỉ định đại diện trong các
định dạng JSON (bạn có thể thêm? truy vấn để lấy dữ liệu tương tự trong một định
dạng dễ đọc hơn).
Cập nhật nội dung
Để cập nhật nội dung, chúng tôi sẽ sử dụng các lệnh HTTP POST hoặc chúng ta
hoàn toàn có thể thay thế các đối tượng với phương pháp HTTP PUT.
Xóa nội dung
Để xóa một đối tượng, chúng ta phải xác định id của nó trong
HTTP DELETE lệnh:
Trong ví dụ, chúng tôi đã xóa các đối tượng với ID = 42 trong chỉ số chung của
chúng tôi.
Tìm kiếm nội dung
Để tìm một đối tượng, chúng ta có thể vượt qua / _search API
một yêu cầu HTTP GET, ví dụ:
Chúng tôi sẽ tìm kiếm cho bất kỳ đối tượng phù hợp với lĩnh vực "số lượng = 6".
Đây chỉ là một giới thiệu ngắn gọn về Elasticsearch; cho một cái nhìn tổng quan
chi tiết hơn, xin vui lòng tham khảo kỹ thuật số Digital Ocean hoặc ElasticSearch
chính thức.
Logstash là phần mềm mã nguồn mở được sử dụng để thu thập, xử lý với
các sự kiện chuyển tiếp và ghi các thông điệp.
Như các bạn có thể nhìn thấy trong hình 5, Logstash khá đơn giản nhưng hiệu qua.
Trong thực tế, Nó bao gồm một cấu trúc dữ liệu khai thác(Pha lọc) từ điểm đầu
vào bất kỳ.
Cách thức làm việc của Logstash:
Nhận được các bàn ghi(logs) thông qua cấu hình đầu vào các phần bộ
trợ(bao gồm, các ví dụ nguyên ổ cắm/ gói thông tin liên lạc, các tập tin phần
cuối…)
Các dữ liệu thu thập thông qua các client đầu vào sau đó được chuyển đổi và
làm giàu thông qua tùy chỉnh bộ lọc(rất giống như biến đổi trong Splunk).
Ở bước cuổi cùng, dữ liệu được định tuyến và chuyển tiếp đến một loạt các
chương trình bên ngoài bao gồm ElasticSearch, các tập tin local…
Cấu hình ví dụ(Configuration Example)
Để hiểu rõ hơn các tập tin bên trong của , Chúng ta sẽ khám các tập tin cấu
hình Logstash.
Cấu trúc chính của nó bao gồm
Đầu vào(input).
Kết quả đầu ra(Outputs)
Bộ lọc.
Trong thư mục logstash conf.d(thường thì, /etc/logstash/conf.d),
chúng ta có thể tìm thấy một số các tập tin conf.
Ví dụ:
Như các bạn có thể thấy, chúng ta có một cấu hình các tập tin cho mỗi công
nghệ/ ứng dụng chúng ta muốn tiếp nhận và phân tích các bản ghi. Mỗi tập tin cấu
hình sẽ chứa input cần thiết, output và các bộ lọc (filters) để tích hợp thành công
với logstash.
Một tập tin cấu hình Logstash điển hình sẽ được nhìn thấy trong hình 6.
Trong phần input, chúng ta đang nói đến logstash để kéo các bản ghi (logs)
từ Apache access.log và đánh dấu tất sự kiện loại truy cập apache. Thiết lập chính
xác loại là một nhiệm vụ cơ bản vì nó sẽ được sử dụng sau này để chọn lọc áp
dụng bộ lọc (filters) trong suốt đời của sự kiện.
Trong phần bộ lọc (filters), chúng ta có thể xem định nghĩa của một bộ lọc
(filter) grok có điều kiện sẽ đảm bảo rằng chỉ các bản ghi(log) truy cập apache này
sẽ được phân tích. Đây là tính năng lọc quan trọng nhất bởi vì nó làm cho Logstash
một bộ tiếp nhận để xây dựng một SIEM hiểu quả.
Chúng ta có thể đọc trong các tài liệu chính thức, Grok có thể “Phân tích bất
kỳ và bản và cấu trúc của nó” làm cho các dữ liệu “có cấu trúc và có thể truy vấn”
Kibana
Kibana là một công cụ mà nguồn mở dữ liệu trực quan lập chỉ mục dữ liệu
cho ElasticSearch. Một khi chúng ta đã cài Kibana và import một vài dữ liệu vào
nó, chúng ta có thể bắt đầu khám phá giao diện Web để nhận được nhiều sự tin
tưởng với các tính năng của nó.
Giao diện Kibana được chia làm 4 thành phần chính:
Discover (Khám phá)
Visualize (Hình dung)
Dashboard (Bảng điều khiển)
Settings (Cài đặt)
Discover (Khám phá)
Theo mặc định, trang này sẽ hiển thị tất cả các bản ghi nhận mới nhất.
Quan trọng hơn, nó có thể xác định một bộ lọc (filter) và tìm thấy các thông điệp
ghi cụ thể dựa trên truy vấn tìm kiếm (Search Queries) và thời gian lọc(Time
Filter)
Ví dụ, Trong hình dưới, bạn có thể thấy một truy vấn tìm kiếm cho sự kiện
HTTP 302
Như các bạn thấy, các cú pháp tìm kiếm đơn giản và selfexplanatory vì nó chp
phép sử dụng các toán tử logic(boolean operators), các ký hiệu (wildcards) và các
trường lọc (field filtering)
Visualize
Cho phép bạn tạo, chỉnh sữa, xem tùy chỉnh kiểu trực quan của dữ
liệu.
Sự trực quan(ở dạng Vertical bar, Pie, Chart…) có thể dựa trên một
trong những nguồn dữ liệu sau đây
- Tìm kiếm một tương tác mới.
- Lưu tìm kiếm.
- Một trực quan(visualization) đã lưu.
Mỗi kiểu trực quan được thực hiện bởi các tập hợp các tính năng được
giới thiệu trong ElasticSearch 1.x.
Dashboard
Trong bảng điều khiển Kibana, người sử dụng được quyền tạo, chỉnh
sữa và tùy chỉnh bảng điều khiển để hình dùng dữ liệu trong thời gian thực.
Với một bảng điều khiển, nó có thể có kết hợp có hiểu quả một số
hiển thị trong một trang và cũng thêm một bộ lọc để tìm kiếm và nhấp vào sự kiện
cụ thể. Điều này cung cấp một cái nhìn tổng quan về at-a-glance và có cái nhìn sâu
sắc để phát hiện ra và hình dung dữ liệu trong thời gian thực. Như các bạn có thể
nhìn thấy, từ các hình ảnh dưới đây, với một trang duy nhất, chúng ta có thể chủ
động kiểm tra , tìm kiếm và lọc các sự kiện liên quan đến tường lửa.
Một khi chúng ta đã phát hiện ra các vai trò cơ bản và các tính năng của các thành
phần Elasticsearch, Logstash và Kibana, chúng ta có thể di chuyển trên và cố gắng
để thiết kế một ELK cơ bản cơ sở hạ tầng phù hợp như là một SIEM.
Hình 10 ELK ngăn xếp cơ sở hạ
tầng tiêu biểu thực hiện
Bước đầu tiên, chúng ta xác định một cơ sở hạ tầng ELK tổng quát được thiết
kế như sau:
• ELK Logstash server với ELK ngăn xếp được cài đặt và cấu hình đúng
• một số khách hàng với các đại lý Filebeat được cài đặt và cấu
hình để chuyển tiếp dữ liệu để Logstash Server
• một bảng điều khiển tùy chỉnh để hình dung dữ liệu chúng ta cần phải phân
tích
Chúng ta đã nói trước để phân loại một người quản lý sự kiện hơn chung vào một
SIEM, nó có thể cung cấp ít dữ liệu tập hợp, tương quan, tuân thủ và dữ liệu duy trì
khả năng, cũng như các biểu đồ để hình dung và tương tác với các dữ liệu pháp
y khả năng có thể hữu ích. Hơn nữa, SIEM tốt nên được cấu hình với một động
cơ mạnh mẽ cảnh báo để nhanh chóng đáp ứng với mối đe dọa có
thể. Hiện ELK đáp ứng tất cả những điều kiện tiên quyết, và do đó có
thể được thành công được sử dụng như một SIEM?
..
Data Aggregation
Liên quan đến các tập hợp dữ liệu, chúng tôi có thể tận dụng Logstash khả
năng để thu thập, làm phong phú thêm và tổng hợp dữ liệu từ nhiều nguồn khác
nhau.
Data Correlation
Với việc sử dụng các bộ lọc Logstash grok và
tìm kiếm Elasticsearch powerful , chúng tôi có thể quản lý để tổng hợp và tương
quan dữ liệu khác nhau và các sự kiện.
Alerting
ELK không có tính năng cảnh báo bản xứ, nhưng chúng tôi có thể tích
hợp các chương trình bên thứ ba để đạt được tự động cảnh báo và thông báo
cho các chức năng. Ví dụ, chúng tacó thể sử dụng Riemann, một "mạng sự
kiện dòng bộ xử lý. Dành cho phân tích, số liệu và cảnh báo; và để keo các hệ
thống giám sát với nhau"đểxây dựng quy định cảnh báo mạnh mẽ. Thay vào
đó, chúng tôi có thể thiết
lập ElastAlert (https://github.com/Yelp/elastalert), một Yelp phát triển khuôn
khổ cho các cảnh báo trên dị thường, gai hoặc các mẫu khác của lợi ích từ dữ
liệu tại ElasticSearch.
Data Compliance
Không có không có tính năng out-of-the-box để bảo vệ dữ liệu ELK xử
lý, do đó, việc tuân thủ phải được cấu hình thủ
công. Ví dụ, có một cách không được xác định trước để bảo vệ dữ
liệu buộc người sử dụng một giải pháp tùy chỉnh như sử
dụng nginx ngược proxy để truy cập vào bảng điều khiển Kibana.
Data Retention
Chúng ta có thể tự do cấu hình các chỉ số bao nhiêu, chúng tôi muốn đến cửa
hàng để được tuân thủ để PCI-DSS hay bất kỳ quản trị khác. Chúng tôi có thể đặt
cấu hình người phụ trách ElasticSearch (người phụ trách
https://github.com/elastic/) để tự động xóa danh mục cũ và duy trì hiệu suất
tốt. Thêm vào đó, để không tuân thủ,chúng tôi có thể làm cho một bản sao của bản
ghi gốc vào một lưu trữ bên ngoàinhư Amazon S3. Lưu ý rằng các bản
ghi phải được sao chép trước khi họ được phân tích bởi Logstash.
Dashboards
Bảng Kibana sẽ hiển thị một tập hợp các kiểu trực quan trong các nhóm có
thể được sắp xếp một cách tự do bởi người dùng. Ví dụ, với bảng điều sau
đây, chúng tacó thể suy ra rằng một tình trạng DOS xảy ra thông qua các sự kiện từ
chối một số lượng ngày.
Forensic Analysis capabilities
ELK không có nguồn gốc Forensics khả năng như một nền tảng trung
tâm hoạt động an ninh, nhưng chúng tôi có thể xây dựng adhoc forensics Kibana biểu đồ để hình dung và phân tích dữ liệu pháp y. Trong dự
án ELKforensics, bạn có thể tìm thấy tập hợp mẫu Kibana biểu đồ và một hướng
dẫn để thiết lập một chồng ELK đầy đủ chức năng cho các mục đích pháp y.
Use cases
Trong văn bản này, chúng tôi sẽ bao gồm các trường hợp sử dụng điển
hình cho ELK là XIÊM sử dụng kịch bản và cũng hiển thị trường hợp thực tế sử
dụng của các công ty thực sự có thể sử dụng các nai sừng TẤM để bảo vệ cơ sở hạ
tầng
NOC/SOC
Mạng hoạt động Trung tâm và Trung tâm hoạt động an ninh là cả hai đơn
vị cơ bản để trực thuộc Trung ương quản lý an ninh trong công ty.
Một NOC là một đơn vị đặc biệt chịu trách nhiệm về trung tâm mạng giám sát và
quản lý.
Ví dụ, một NOC có thể thiết kế và xây dựng một NOC bảng điều khiển để hình
dung Top 10 của các nguồn và địa chỉ IP đích, lưu lượng mạng gõ và thông lượng
liên quan, như bạn có thể nhìn thấy qua Hình 12.
Khái niệm tương tự được áp dụng cho SOC kịch bản, nơi nó có thể thu thập các
bản ghi từ một số thiết bị an ninh, chẳng hạn như Firewall, IPS, IDS, ProxY, vv
CERT
CERT là viết tắt của Computer Emergency Response Team and indicates "các
nhóm chuyên gia có thể xử lý sự cố an ninh máy tính ". Có một bài báo thú vị
ENISA có tiêu đề "Thông tin hữu ích cho sự An ninh Incident Response ". Như
chúng ta có thể đọc trong tài liệu, nó là điều cần thiết cho một CERT để có thể:
• Sử dụng các chỉ số để tăng cường khả năng quốc phòng
• Nâng cao nhận thức tình huống thông qua giám sát mạng botnet
• Trao đổi dữ liệu hiệu quả ở cấp độ quốc gia
Các thành phần Logstash của ngăn xếp ELK được sử dụng để phân tích các bản
ghi nguyên do đó thể hiện như thế nào mạnh mẽ và hiệu quả đó là làm giàu dữ
liệu /kết hợp / tương quan
Real Use cases
Cùng với một số trường hợp sử dụng các tình huống điển hình, chúng tôi cũng giới
thiệu trường hợp sử dụng thực sự của hai công ty lớn sử dụng thành công trong
việc ngăn xếp ELK trong tổ chức của họ.
Mozilla
Nền tảng quốc phòng Mozilla hay còn gọi là MozDef "tìm cách tự động hóa quá
trình xử lý sự cố an ninh và tạo điều kiện cho các hoạt động thực tế của bộ xử lý vụ
việc ".
Các đội Mozilla đã chủ động xây dựng một phòng vệ nền tảng nhằm phát triển một
lớp phủ SIEM cho Elasticsearch với các tính năng sau:
• Ứng phó sự cố
• Quản lý sự kiện
• Tương quan tổ chức sự kiện / báo động
• Quản lí mối đe dọa
• Tương tác thời gian thực giữa các hậu vệ
• Tích hợp vào cơ sở hạ tầng phòng thủ
Trong hình tiếp theo, bạn có thể xem các MozDef thực tế nền tảng mà dường như
tích hợp ELK ngăn xếp như SIEM:
Chúng tôi sẽ không bao gồm cách thức các cơ sở hạ tầng phòng thủcông trình
nhưng chúng ta có thể thấy rằng:
• Có nhiều Elastic Công cụ tìm kiếm
• Logstash được sử dụng để lọc nhật ký, phân tích cú pháp và làm phong phú
Những gì nó có vẻ là thiếu là một bảng điều khiển Kibana nhưng chúng ta có thể
thấy rằng một nhóm nghiên cứu Mozilla cũng phát triển một Dashboard Kibana
ad-hoc:
BlueLiv
Blueliv là nhà cung cấp hàng đầu về các mối đe dọa mạng nhắm mục tiêu tình báo
và phân tích cho các doanh nghiệp lớn, các nhà cung cấp dịch vụ, và các nhà cung
cấp an ninh.
Những gì Blueliv đạt được khi sử dụng ELK stack là:
• Logstash có thể phân tích và lọc dữ liệu từ số nhà cung cấp thông tin tình báo mối
đe dọa mạng
• Elasticsearch cho phép lập chỉ số và tổng hợp số liệu này
• Cuối cùng, Kibana có các công cụ hiển thị mà làm cho việc phân tích mối đe dọa
và phòng ngừa dễ dàng và chắc chắn hơn
Trong hình 15, bạn có thể thấy, trên thực tế, địa lý nguồn IP xấu và cũng nhận được
các thông tin này được sắp xếp bằng cách sử dụng các đồ thị biểu đồ hình tròn.
Blueliv đã phát triển một Logstash tự do có sẵn plugin để thu thập và phân tích các
bản ghi từ một số nguồn Intelligence Threat Cyber. Để biết thêm thông tin vui lòng
tham khảo tại https://www.blueliv.com/corporate/ empowering-your-elk-stackwith-blueliv-plugin/
Phần kết luận
Trong kết luận, ELK ngăn xếp có thể được sử dụng như SIEM?
Câu trả lời là tất nhiên, chủ quan và nó phụ thuộc rất nhiều vào nhu cầu thực tế và
tính năng gì sẽ là quan trọng nhất. Một tính năng lớn còn thiếu là một bản địa báo
động và động cơ báo cáo, như khả năng này là cần thiết cho bất kỳ thiết lập SIEM.
Chúng tôi có thể tích hợp Riemman vào ELK để cung cấp tiên tiến khả năng cảnh
báo, như bạn có thể thấy trong những điều sau đây qua hình ảnh:
Bên cạnh đó, không có bảo mật dữ liệu và tính năng truy cập dạng hạt và đó có thể
là sự thiếu hụt nghiêm trọng đối với bất kỳ SIEM. Nhưng từ những gì chúng ta đã
thấy trong trường hợp sử dụng ví dụ thực tế , ELK có thể sử dụng thành công và
tích hợp trong bất kỳ cơ sở hạ tầng như một hợp lệ và SIEM hiệu quả cho SOC /
NOC và Incident xử lý nhắm mục tiêu. Tóm lại, nếu bạn nhận thức được ngăn
ELK ưu và khuyết điểm, nó có thể sử dụng thành công như một SIEM, trên thực
tế, nó có thể điều chỉnh tốt để hoàn toàn phù hợp vào các tổ chức của cơ sở hạ
tầng phát triển ELK plugins và tùy chỉnh biểu đồ (như các plugin Logstash cho
Blueliv và cơ sở hạ tầng và tùy chỉnh Kibana bảng điều khiển cho MozDef).
- Xem thêm -