2.1. GIỚI THIỆU
2.1.1. Các khái niệm
Thường người dùng phải sử dụng đến các thành phần/ thiết bị khác nhau, do đó trong hệ thống Prelude SIEM, việc xác định chúng là cần thiết. Hầu hết các thành phần/ thiết bị này được chuẩn hóa bởi IDMEF (Intrusion Detection Message Exchange Format)
Một số thiết bị chuẩn hóa quan trọng ở Prelude như sau:
Đây là cấu trúc dữ liệu mô tả cảnh bào về sự cố an ninh. Nó chứa thông tin về:
Nó có thể là một cảnh báo đơn giản hoặc nhóm các cảnh báo có liên quan thành một "cảnh báo tương quan - correlation alert ".
Là thông báo được gửi trong một khoảng thời gian nhất định bởi nhà phân tích đến người quản lý, để cho biết rằng họ đang hoạt động.
Nếu thông báo này được gửi đi bị ngắt quãng có nghĩa là có vấn đề ở máy phân tích hoặc kết nối mạng của nó.
Nguồn truyền của các cảnh báo. Định nghĩa này có thể được sử dụng không chỉ ở Prelude (Prelude-LML, Prelude-Correlator, Snort, Samhain ...) mà còn cả các dịch vụ (máy chủ web, PAM, ssh, antivirus ...) ghi vào nhật ký thay vì phát ra cảnh báo.
Điểm đến của các cảnh báo. Người quản lý có thể xử lý dữ liệu đã nhận và các ví dụ như gửi dữ liệu đến cơ sở dữ liệu. Nó cũng có thể hoạt động chuyển tiếp, tức là chuyển tiếp tin nhắn đến người quản lý khác.
Ví dụ: Prelude-Manager.
Đây là một chương trình sử dụng libprelude. Nó có thể là một máy phân tích hoặc một người quản lý.
Ví dụ: Prelude-LML, Prelude-Manager ...
Đây là một thiết bị lưu trữ hoặc một máy phân tích / quản lý, được xác định bằng địa chỉ mạng hoặc tên.
Ví dụ: 192.0.2.1
Vị trí của 1 node hoặc nhiều node.
Ví dụ : Paris
2.1.2. Thành phần Prelude
Hệ thống Prelude Universal SEM bao gồm nhiều phần tử mô-đun.
Prelude Manager
Prelude-Manager là một máy chủ có tính sẵn sàng cao chấp nhận các kết nối bảo mật từ các nhà quản lý khác nhau và lưu các cảnh báo nhận được vào một phương tiện được người dùng chỉ định (cơ sở dữ liệu, tệp nhật ký, thư, v.v.). Máy chủ lên lịch và thiết lập các ưu tiên của việc điều trị theo nhân vật quan trọng và nguồn gốc của các cảnh báo .
Prelude Manager có khả năng xử lý số lượng lớn các kết nối và xử lý một lượng lớn các cảnh báo. Nó sử dụng một hàng đợi lập kế hoạch cho mỗi khách hàng để xử lý cảnh báo theo mức độ nghiêm trọng trên các máy khách.
Trình quản lý Prelude đi kèm với nhiều plugins như filtering plugin (idmef-criteria, thresholding, v.v.) hoặc filtering plugin như plugin SMTP tự động gửi email chứa mô tả văn bản cảnh báo tới danh sách người nhận được chỉ định trước đó.
Libprelude
Libprelude là một thư viện đảm bảo các kết nối an toàn giữa tất cả các cảm biến và Trình quản lý Prelude. Libprelude cung cấp giao diện lập trình ứng dụng (API) giao tiếp với các hệ thống phụ Prelude, nó cung cấp chức năng cần thiết để tạo và phát ra các cảnh báo IDMEF với Prelude và tự động lưu và truyền lại dữ liệu trong thời gian gián đoạn tạm thời của một trong các các thành phần của hệ thống.
Libprelude cũng làm cho phần mềm của bên thứ ba được thực hiện "Prelude Aware" dễ dàng (có thể giao tiếp với các thành phần Prelude). Thư viện này cung cấp các tính năng phổ biến, hữu ích được sử dụng bởi mọi cảm biến.
LibpreludeDB
Thư viện PreludeDB cung cấp một lớp trừu tượng theo kiểu và định dạng của cơ sở dữ liệu được sử dụng để lưu trữ các cảnh báo IDMEF. Nó cho phép các nhà phát triển sử dụng cơ sở dữ liệu IDMEF Prelude dễ dàng và hiệu quả mà không phải lo lắng về SQL, và để truy cập vào cơ sở dữ liệu độc lập với kiểu hoặc định dạng của cơ sở dữ liệu.
Prelude-LML
Prelude-LML là một chương trình phân tích nhật ký cho phép Prelude thu thập và phân tích thông tin từ tất cả các loại ứng dụng phát ra nhật ký hoặc từ thông báo nhật ký của hệ thống nhằm phát hiện các hoạt động đáng ngờ và biến chúng thành các cảnh báo Prelude-IDMEF. Prelude-LML xử lý các cảnh báo được tạo bởi một tập hợp lớn các ứng dụng.
Prelude-Correlator
Prelude-Correlator cho phép thực hiện tương quan đa luồng nhờ vào một ngôn ngữ lập trình mạnh mẽ để viết các quy tắc tương quan. Prelude-Correlator là một công cụ tương quan dựa trên quy tắc Python. Nó có khả năng kết nối và lấy thông báo từ một máy chủ Prelude-Manager từ xa, và tương quan các cảnh báo đến dựa trên tập luạt được cung cấp. Sau khi tương quan thành công, các cảnh báo tương quan IDMEF được nâng lên.
Prewikka
Prewikka là giao diện người dùng đồ họa web chính thức (GUI) cho hệ thống Prelude Universal SEM. Cung cấp nhiều tính năng, Prewikka tạo điều kiện cho công việc của người dùng và các nhà phân tích. Prewikka cũng cung cấp quyền truy cập vào các công cụ bên ngoài như whois và traceroute.
2.1.3. Kiến trúc Prelude
Tổng quan kiến trúc
Prelude được chia thành nhiều thành phần. Sensors chịu trách nhiệm phát hiện xâm nhập và báo cáo cảnh báo theo kiểu tập trung bằng kết nối TLS tới máy chủ 'prelude-manager'. Máy chủ quản lý prelude sau đó có thể xử lý các cảnh báo này và phân phối chúng tới một phương tiện do người dùng chỉ định (cơ sở dữ liệu mysql, cơ sở dữ liệu postgresql, tệp XML, bất kỳ định dạng nào được cung cấp có một plugin báo cáo cho nó).
Bảng điều khiển Prelude có thể được sử dụng để xem các cảnh báo này. Dưới đây là một ví dụ đơn giản về cách các thành phần Prelude:
Hình 2. 1. Kiến trúc đơn giản của Prelude
Tổng quan về kiến trúc theo quan điểm thương mại điện tử :
Bạn có thể làm kiến trúc phi tập trung theo quan điểm thương mại điện tử có sẵn từ CS-SI như thế này
Hoặc hình này
Hình 2. 2. Prelude chuyển tiếp ngược
2.1.4. Tiêu chuẩn để đánh giá Prelude
IDMEF Standard
Vì Prelude xử lý các sự kiện từ các đầu dò khác nhau, nên phải chọn ngôn ngữ mô tả sự kiện chung. Prelude sử dụng Intrusion Detection Message Exchange Format (IDMEF) làm ngôn ngữ chung để báo cáo sự kiện.
Mục đích của IDMEF là xác định các định dạng dữ liệu và các thủ tục trao đổi để chia sẻ thông tin quan tâm đến các hệ thống phát hiện và phản hồi xâm nhập và các hệ thống quản lý có thể cần tương tác với chúng.
IDMEF được dự định là định dạng dữ liệu chuẩn mà hệ thống phát hiện xâm nhập tự động có thể sử dụng để báo cáo cảnh báo về các sự kiện mà họ cho là đáng ngờ. Việc phát triển định dạng chuẩn này cho phép khả năng tương tác giữa các hệ thống nghiên cứu, mã nguồn mở và thị trường, cho phép người dùng kết hợp và triển khai các hệ thống này theo các điểm mạnh và yếu của chúng để có được triển khai tối ưu.
IDMEF ban đầu là một ngôn ngữ XML. Tuy nhiên, do các vấn đề tốc độ phát sinh khi tạo và sử dụng XML, hoặc khi chuyển đổi dữ liệu nhị phân thành các ký tự, dự án Prelude đã viết một thực hiện tự tạo đặc tả IDMEF, sử dụng cấu trúc nhị phân và giữ nguyên kiểu dữ liệu gốc được sử dụng để mang dữ liệu cụ thể.
2.1.5. Khả năng tương thích Prelude
Prelude là một hệ thống SEM có khả năng tương tác với tất cả các hệ thống có sẵn trên thị trường.
Hình 2. 3. Một số Framework
Prelude cung cấp một cấu trúc sẵn có gồm C, C ++, Python, Ruby, Lua và Perl để bạn có thể chuyển đổi các ứng dụng bảo mật hiện có để sử dụng hệ thống Prelude (Native compatibility). Nó cũng cung cấp một số đầu dò như phân tích nhật ký Prelude-LML (Log Compatibility) hoặc Import dữ liệu Prelude-Import. Đầu dò Prelude là một chương trình có khả năng sử dụng Prelude framework.
Khả năng tương thích gốc (Native Compatibility)
Khả năng tương thích gốc tồn tại giữa Prelude và các giải pháp bảo mật nhất định nhằm cải thiện chất lượng của khả năng thu thập và cấu hình dữ liệu.
Bảng 2.1. Bảng danh sách các khả năng tương thích
AuditD |
The Linux Audit Daemon |
Nepenthes |
A versatile tool to collect malware |
ufwi-filterd |
An identity access management solution at the network level |
OSSEC |
An Open Source Host-based Intrusion Detection System |
Pam |
Linux Pluggable Authentication Modules |
Samhain |
A file integrity checker |
Sancp |
A network traffic statistical information collector |
Snort |
The Defacto Standard Open Source IDS |
Suricata (new) |
Maybe the future Defacto Standard Open Source IDS |
Tính tương thích của nhật ký (Log Compatibility)
Prelude phụ thuộc vào thương hiệu hoặc định dạng và có khả năng phân tích bất kỳ loại nhật ký nào (nhật ký hệ thống, nhật ký hệ thống, tệp phẳng, v.v…)
Ví dụ về nhật ký được hỗ trợ:
Bảng 2.2. Bảng danh sách các nhật ký được hỗ trợ
Firewall, Routers & VPN |
BIG-IP, Check Point, CISCO ASA, CISCO IOS, CISCO Router, CISCO VPN, D-Link, Ipchains, IpFw, Juniper Networks NetScreen, Linksys WAP11, ModSecurity v2, Netfilter, SonicGuard SonicWall, Symantec, xg45-datapower |
Switchs |
CISCO CSS |
IDS |
CISCO IPS, Portsentry, Shadow, Tripwire |
Monitoring |
APC-EMU, ArpWatch, Dell OpenManage, Nagios |
AntiVirus/AntiSpam |
ClamAV, P3Scan, SpamAssassin, Navce |
Database |
Microsoft SQL Server, Oracle |
SMTP/POP Server |
Exim, Postfix, Qpopper, Sendmail, Vpopmail |
Miscellaneous |
Unix specific logs, Webmin, Windows Server, Arbor, Linux bonding, Microsoft Cluster Service, NetApp ONTAP, NTSyslog, OpenHostAPD, Rishi, Suhosin, Vigor |
FTP Server |
ProFTPD, WU-FTPD |
Web Server |
Apache |
Vulnerability Scanner |
Nessus |
Honeypots |
Honeyd, Honeytrap, Kojoney |
Authentication |
OpenSSH, Su, Radius |
Applications |
Asterisk, Cacti, Libsafe, Shadow Utils, Squid, Sudo, Cisco ACE, Pam, Pcanywhere |
OS (security tools) |
GrSecurity, PaX, SELinux |
2.2. CÀI ĐẶT
2.2.1. Yêu cầu cài đặt
Có rất nhiều gói cần thiết để cài đặt Prelude và làm việc trên hệ thống * nix. Mỗi trang phụ thuộc giải thích vị trí lấy gói và cách cài đặt gói đó. Cùng với các phương tiện cài đặt khác sử dụng yum, apt-get, ports, v.v.
Chúng ta có thể thực hiện cài đặt từ:
Cài đặt từ nguồn :
• GnuTLS: Yêu cầu bởi Libprelude.
• Python: Cần thiết cho các ràng buộc Python Libprelude và Libpreludedb, Prewikka và Prelude-Correlator
• PCRE: Bắt buộc bởi Prelude-LML
Cơ sở dữ liệu
2.2.2. Cài đặt từ nguồn
Để cài đặt Prelude có thể tìm từ nhiều nguồn khác nhau, như sau :
2.2.2.1. Libprelude
Cài đặt
Cài đặt GNUTLS tại:
https://www.prelude-siem.org/projects/prelude/wiki/InstallingPreludeRequirementGnutls
Cài đặt từ nguồn
Tải xuống Libprelude tại https://www.prelude-siem.org/projects/prelude/files
Hình 2. 4. Nơi lưu trữ file cài đặt libprelude
Cấu hình
Bước đầu tiên của quy trình cài đặt là đặt cây thư mục cho hệ thống và chọn các tùy chọn bạn muốn. Điều này được thực hiện bằng cách chạy kịch bản cấu hình. Đối với cài đặt mặc định, chỉ cần nhập
./configure
Kịch bản này sẽ được sử dụng để tính toán số lượng kiểm tra và để tính toán số lượng các biến khác nhau trong hệ thống . (Cũng có thể chạy trong một thư mục bên ngoài cây nếu bạn muốn giữ thư mục build riêng biệt.)
Lưu ý: Prewikka yêu cầu phải có các ràng buộc Python.
Cài đặt
Để bắt đầu cấu hình, hãy nhập:
make install
Thông thường, cần thực hiện bước này dưới dạng root. Ngoài ra, có thể đặt trước các thư mục đích.
Sau khi cài đặt
Các thư viện trên được chia sẻ trong các hệ thống phổ biến nhất trên thế giới. BSD / OS, FreeBSD, HP-UX, IRIX, Linux, NetBSD, OpenBSD, UNIX Tru64 (trước đây là Digital UNIX) và Solaris.
Bước sau đây là cần thiết nếu nhận được thông báo trong khi chạy một chương trình bằng cách sử dụng libprelude:
prelude-admin: error in loading shared libraries
libprelude.so.2.1: cannot open shared object file: No such file or directory
Nếu đang sử dụng BSD / OS, Linux hoặc SunOS 4 và ta có quyền truy cập vào các liên kết sau.
/sbin/ldconfig /usr/local/lib
Trên FreeBSD, NetBSD và OpenBSD, lệnh này là:
/sbin/ldconfig -m /usr/local/lib
Cách thiết lập tìm kiếm thư viện được chia sẻ cho các nền tảng khác nhau, nhưng phương pháp phổ biến nhất là đặt môi trường LD_LIBRARY_PATH như sau: Trong Bourne shell (sh, ksh, bash, zsh):
LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH
Hoặc trong csh hoặc tcsh:
setenv LD_LIBRARY_PATH /usr/local/lib
2.2.2.2. LibpreludeDB
Cấu hình:
Tương tự như ở trên , sau khi hoàn thành kịch bản cấu hình sẽ là bản tóm tắt các tính năng được bật:
*** Dumping configuration ***
- Generate documentation : no
- Enable [[MySQL]] plugin : yes
- Enable [[PostgreSQL]] plugin : yes
- Enable SQLite3 plugin : yes
- Perl binding : yes
- Python binding : yes
Cài đặt
Chúng ta có thể tham khảo cài đặt LibpreludeDB tại:
https://www.prelude-siem.org/projects/prelude/wiki/InstallingPreludeDbLibrary
2.2.2.3. Prelude Manager
Cấu hình:
Tương tự , ta có kịch bản cấu hình sẽ là bản tóm tắt các tính năng được bật:
*** Dumping configuration ***
- TCP wrapper support : yes
- XML plugin support : yes
- Database plugin support: yes
Cài đặt
Chúng ta có thể tham khảo cài đặt Prelude Manager tại:
https://www.prelude-siem.org/projects/prelude/wiki/InstallingPreludeManager
2.2.2.4. Prelude Correlator
Yêu cầu cài đặt:
Tải Prelude Correlator
Cài đặt
Bạn có thể cài đặt Prelude-Correlator dưới tư cách root:
# python setup.py install
Hoặc với tư cách là user:
$ python setup.py install --prefix /prefix/where/prelude-correlator/should/be/installed
Thông thường, cần thực hiện bước này dưới dạng root. Ngoài ra, có thể tạo các thư mục đích trước và sắp xếp các quyền phù hợp để được cấp.
2.2.2.5. Prelude LML
Cấu hình:
Tương tự như ở Prelude- Manager, sau khi hoàn thành kịch bản cấu hình sẽ là bản tóm tắt các tính năng được bật:
*** Dumping configuration ***
- Enable FAM support : yes
- Enable unsupported rulesets : yes
Cài đặt
Chúng ta có thể tham khảo cài đặt Prelude LML tại:
https://www.prelude-siem.org/projects/prelude/wiki/InstallingPreludeLml
2.2.2.6. Prewikka
Yêu cầu :
Cài đặt
Chúng ta có thể tham khảo cài đặt Prewikka tại:
https://www.prelude-siem.org/projects/prelude/wiki/InstallingPreludePrewikka
2.2.3. Cài đặt từ gói
Các gói cho Prelude tùy thuộc vào hệ điều hành, được hỗ trợ sẵn như: ArchLinux, Debian, RHEL/CentOS, Fedora, FreeBSD, Mac OSX, Mandriva, NetBSD, OpenBSD, Solaris, SuSE/OpenSuSE, Ubuntu, Source Mage GNULinux.
Chẳng hạn đối với gói Ubuntu
Yêu cầu
<>·
Cài đặt
<>·Cài đặt Prelude-Manager
<>·Trong khi cài đặt:
Gói Debian tự động tạo người dùng và cơ sở dữ liệu, cấu hình cơ sở dữ liệu để cấp quyền, điền vào db bằng kịch bản lệnh sql và cập nhật các tham số trong /etc/prelude-manager/prelude-manager.conf.
Bây giờ bạn có thể bắt đầu cài đặt prelude-manager:
# systemctl start prelude-manager
Có thể kiểm tra trạng thái prelude manager bằng cách hoạt động:
# systemctl status prelude-manager
Phần đầu tiên kết thúc, bây giờ ta có một người quản lý và nó đang hoạt động.
Cần cài đặt prelude-lml. Prelude-LML sẽ phân tích sự kiện nhật ký và báo cáo cho người quản lý.
# apt install prelude-lml
Trước khi nó có thể được sử dụng, phải đăng ký prelude-lml agent
Đăng kí agent :
Đăng ký agent là quy trình gồm 4 bước, yêu cầu chạy các lệnh trên cả lml và người quản lý:
1. Trên máy khách LML, hãy chạy lệnh đăng ký:
# prelude-admin register prelude-lml "idmef:w" 127.0.0.1 --uid 0 --gid 0
LML phải được đăng ký với uid và gid 0, vì quá trình sẽ được thực hiện dưới dạng root (để có thể phân tích nhật ký).
LML sau đó sẽ yêu cầu Mật khẩu một lần (OTP), sẽ được cung cấp bởi người quản lý:
...
# Enter the one-shot password provided on 127.0.0.1:
2. Trên trình quản lý, hãy chạy như sau:
...
# Approve registration [y/n]:
Bây giờ, người quản lý và bộ cảm biến có quan hệ tin cậy và có thể gửi tin nhắn cho nhau.
Có thể bắt đầu prelude-lml:
# systemctl start prelude-lml
Có thể kiểm tra trạng thái bằng cách chạy:
# systemctl status prelude-lml
Prewikka là giao diện người dùng đồ họa Prelude, sử dụng một máy chủ web.
Prewikka yêu cầu hai cơ sở dữ liệu: một để có được các cảnh báo Prelude (giống như được cấu hình trước đó), và một để lưu trữ dữ liệu riêng của nó (prewikka).
# apt install prewikka
Gói sẽ cài đặt các phụ thuộc bắt buộc (python, cho ex) và sẽ yêu cầu cấu hình cơ sở dữ liệu. Đối với Prelude, chúng tôi chọn sử dụng dbconfig-common, cung cấp mật khẩu quản trị viên và nhập mật khẩu DB.
Có thể chạy prewikka Trought Apache hoặc qua nginx nhưng đây là một cách đơn giản để thử prewikka: với dòng lệnh. Ví dụ:
prewikka-httpd
Trỏ trình duyệt của bạn đến "http: //
2.2.4. Cài đặt từ các ứng dụng ảo (Viturral Applications)
Giới thiệu :
Prelude SIEM có dùng trong môi trường ảo. dành cho những ai muốn sử dụng nó mà không trải qua quá trình cài đặt.
Có thể tải xuống Prelude VA tại : https://www.prelude-siem.org/pkg/prelude_va/
Trong VA này, ta sẽ tìm thấy:
Thông tin kỹ thuật về VA:
Bắt đầu cài đặt
Ta phải tải xuống và cài đặt Prelude VA. Khi VA đang chạy, có thể truy cập Prelude SIEM bằng trình duyệt Web của mình:
http://
Muốn truy cập vào VA , ta có tên user : prelude và password: prelude. Sử dụng lệnh :
“prelude-menu” để xem các tiện ích có sẵn khác.
Ngoài ra, ta cũng có thể cài đặt Prelude từ các Agent của nhà cung cấp thứ 3 khác như:
2.5. MỘT SỐ CHIẾN LƯỢC PHÁT TRIỂN CÁC HỆ THỐNG PRELUDE SIEM
Để phát triển các hệ thống Prelude SIEM một cách linh hoạt, có tính mềm dẽo cao, các nhà quản trị cần nghiên cứu các chiến lược sau:
- Phát triển Guidelines(Dòng chỉ dẫn): Vì SIEM là hệ thống tích hợp từ nhiều dịch vụ, thiết bị v.v… của các nhà sản xuất khác nhau, do đó để quản lý và vận hành nó là điều không phải dễ dàng. Việc phát triển Guidelines sẽ gíup cho người dùng hoặc Admin vận hành một cách dễ dàng.
- Tổ chức phát triển mã nguồn: Hiện nay, trên thế giới có rất nhiều tổ chức triển khai và phát triển các dự án Prelude cho các ứng dụng đầu cuối như: LibPrelude, LibPreludeDB.v.v…
- Phát triển Prewikka Apps: Xây dựng sẵn các Apps cho người dùng. Chẳng hạn ta cần tạo 1 Plugin trên giao diện của hệ thống Prelude SIEM khi click vào menu ở mục “ Hello” thì hệ thống sẽ suất ra dòng chữ “ Hello World”.
Hình 2. 5. Ứng dụng Prewikka Apps
- Phát triển Prelude Agent: Mục đich của phát triển Agetn là tạo ra các Agent khác nhau để thực hiện các công việc như: Hỗ trợ các Sensor tìm kiếm, thu thập nhanh tin hiệu, quản lý và phân loại các thông tin thu được, sắp xếp các thông tin thu thập, thông báo kết quả thu được v.v…
- Tổ chức phát triển các chương trình phân phối Prelude Agent: Đây là ý tưởng được đề xuất lần đầu tiên bởi các nhóm phát triển Prelue của Pháp. Ý tưởng này là nhằm xây dựng các tổ chức, doanh nghiệp khi triển khai các Pre SIEM mà họ cần tư vấn hoặc hỗ trợ. Các tổ chức Pre Agent được biết như là: IDMEF and IODEF in General Interoperability Framework v2, General Interoperability Framework (RGI).
» Tin mới nhất:
» Các tin khác: