Bài viết trước tôi đã trình bày về “Tổng quan về hệ thống giám sát an ninh mạng“, các thành phần và cách xây dựng một hệ thống giám sát an ninh mạng. Các bạn có thể theo dõi bài viết tại đây. Sau đây tôi sẽ giới thiệu tới các bạn một số sản phẩm hỗ trợ việc giám sát an ninh mạng. Tôi sẽ trình bày cụ thể các tính năng và đặc điểm nổi bật của một số sản phẩm. Các đánh giá về điểm mạnh, điểm yếu của từng sản phẩm.
Công cụ SPlunk
Splunk là một phần mềm giám sát mạng dựa trên sức mạnh của việc phân tích Log. Splunk thực hiện các công việc tìm kiếm, giám sát và phân tích các dữ liệu lớn được sinh ra từ các ứng dụng, các hệ thống và các thiết bị hạ tầng mạng. Nó có thể thao tác tốt với nhiều loại dịnh dạng dữ liệu khác nhau (Syslog, csv, apache-log, access_combined…). Splunk được xây dựng dựa trên nền tảng Lucene and MongoDB với một giao diện web hết sức trực quan. CHÍNH SÁCH BẢN QUYỀN: Splunk cung cấp 2 bộ miễn phí và trả phí cho người dùng
- Sản phẩm trả phí: Có tất cả các chức năng của Splunk, không hạn chế kích thước dữ liệu.
- Sản phẩm miễn phí: Hạn chế một số chức năng, hạn chế khối lượng dữ liệu mỗi ngày là 500MB. Bao gồm các chức năng: Đánh chỉ mục dữ liệu, tìm kiếm trong thời gian thực, thống kế và kết xuất báo cáo.
TÍNH NĂNG:
- Định dạng Log: Hỗ trợ hầu như tất cả các loại log của hệ thống, thiết bị hạ tầng mạng, phần mềm, Firewall, IDS/IPS, Log Event, Register của các máy trạm ….
- Các hình thức thu thập dữ liệu: Splunk có thể thực hiện việc thu thập log từ rất nhiều nguồn khác nhau. Từ một file hoặc thư mục (kể cả file nén) trên server, qua các kết nối UDP, TCP từ các Splunk Server khác trong mô hình Splunk phân tán, từ các Event Logs, Registry của Windows …Splunk kết hợp rất tốt với các công cụ thu thập log khác.
- Cập nhật dữ liệu: Splunk cập nhật dữ liệu liên tục khi có thay đổi trong thời gian thực. Giúp cho việc phát hiện và cảnh báo trong thời gian thực.
- Đánh chỉ mục 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.
- Tìm kiếm thông tin: Splunk làm việc rất tốt với dữ liệu lớn và cập nhật liên tục. Nó cung cấp cơ chế tìm kiếm với một “Splunk Language” cực kỳ thông minh bao gồm các từ khóa, các hàm và cấu trúc tìm kiếm giúp người sử dụng có thể truy xuất mọi thứ, theo rất nhiều tiêu chí từ tập dữ liệu rất lớn. Những nhà quản trị mạng cao cấp và chuyên nghiệp thường gọi Splunk với cái tên “Splunk toàn năng” hay “Splunk as Google for Log files” để nói lên sức mạnh của Splunk.
- Giám sát và cảnh báo: Splunk cung cấp cho người dùng một cơ chế cảnh báo dựa trên việc tìm kiếm các thông tin do chính người sử dụng đặt ra. Khi có vấn đề liên quan tới hệ thống phù hợp với các tiêu chí mà người dùng đã đặt ra thì hệ thống sẽ cảnh báo ngay tới người dùng (cảnh bảo trực tiếp qua giao diện, giử Email).
- Khắc phục 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.
- Hiển thị thông tin: Splunk cung cấp một cơ chế hiển thị rất trực quan giúp người sử dụng có thể dễ dàng hình dung về tình trạng của hệ thống, đưa ra các đánh giá về hệ thống. Splunk còn từ động kết xuất ra các báo cáo với nhiều loại định dạng một cách rất chuyên nghiệp.
- Phát triển: Cũng cung cấp các API hỗ trợ việc tạo các ứng dụng trên Splunk của người dùng. Một số bộ API điển hình như Splunk SDK (Cung cấp các SDK trên nền tảng Python, Java, JS, PHP), Shep (Splunk Hadoop Intergration – Đây là sự kết hợp giữa Splunk và Hadoop), Shuttl (Là một sản phẩm hỗ trợ việc sao lưu dữ liệu trong Splunk), Splunkgit (Giúp bạn hình dung dữ liệu tốt hơn), Splunk power shell resource Kit (Bộ công cụ hỗ trợ việc mở rộng và quản lý hệ thống).
LƯU Ý:
- Splunk mạnh về khả năng phân tích và cảnh báo tuy nhiên nó lại không mạnh và không đảm bảo về việc thu thập và truyền tải log. Cụ thể là nó chưa có cơ chế bảo mật trên đường truyền, không phù hợp với những hệ thống đòi hỏi bảo mật cao.
- Để phát huy hết được sức mạnh của Splunk cần có thời gian tìm hiểu và sử dụng. Nó chưa có cơ chế giúp tự động phát hiện ra các tấn công hay các vấn đề từ bên ngoài. Nhưng điều này phụ thuộc vào kinh nghiệm sử dụng và vốn hiểu biết của người quản trị.
- Đề triển khai được một hệ thống sử dụng Splunk hiệu quả chúng ta cũng cần có một hệ thống riêng, đây cũng là một trở ngại không nhỏ với các hệ thống có quy mô trung bình và nhỏ.
TRIỂN KHAI:
- Với một hệ thống lớn để triển khai được Splunk chúng ta cần phải có một Server riêng để tập trung Log. Tuy nhiên Splunk làm không tốt việc tập trung Log từ các Server hay thiết bị khác. Vì thế chúng ta cần sử dụng một số công cụ khác để thực hiện việc tập trung Log và về Splunk Server. Cụ thể là ta có thể kết hợp với syslog, Snare (for Windows), sử dụng qua Heroku ….
- Triển khai hệ thống phân tán: Splunk hỗ trợ người dùng thiết lập một hệ thống phân tán khi lượng dữ liệu là quá lớn vượt qua khả năng lưu trữ và xử lý của một máy.
Loggly
Là một dịch vụ quản lý Log trực tuyến dựa trên mô hình điện toán đám mây. Nó được phát triển bời chính các nhân viên đã từng làm việc với Splunk. Là một dịch vụ giúp người dùng dễ dàng để triển khai một hệ thống giám sát an ninh mạng. Cụ thể là mọi dữ liệu về Log sẽ được chuyển đến Loggly Server quan các client như snare hoặc một công cụ do Loggly cung cấp. Dữ liệu được chuyển về server của Loggly sẽ được xử lý, phân tích và đưa ra các cảnh báo tới các nhà qsssuản trị. CHÍNH SÁCH BẢN QUYỀN
- Loggly là một dịch vụ trả phí. Người sử dụng cần phải trả phí để sử dụng (Có miễn phí dùng thử 30 ngày).
TÍNH NĂNG: Loggy cung cấp các chức năng gần giống với Splunk với việc tìm kiếm thông tin trên Log, hiển thị dưới dạng biểu đồ một cách trực quan, cảnh báo tới người sử dụng khi hệ thống có vấn đề.
- Hỗ trợ định dạng: Khác với Splunk, Loggly chỉ hoạt động tốt với Syslog. Muốn xử dụng các loại Log khác chúng ta cần phải convert chúng về Syslog để sử dụng.
- Thu thập thông tin: Loggly xây dựng trên mô hình SaaS (Software as a Service). Nên để thu thập Log chúng ta chỉ cần cấu hình hệ thống với một client được cung cấp để gửi Syslog tới và xử lý tại Server của Splunk.
- Đánh chỉ mục dữ liệu: Loggly có thể thực hiện việc đánh chỉ mục dữ liệu một cách nhanh chóng và tối ưu.
- Tìm kiếm thông tin: Loggly cung cấp một cơ chế tìm kiếm thông minh và nhanh chóng có thể xác định sự cố và có thể thiết lập các cảnh báo. Tuy không đầy đủ các tính năng như tìm kiếm với Splunk nhưng cơ chế Loggly cũng giúp người quản trị có thể tìm kiếm và thiết lập các vấn đề mà người quản trị mong muốn.
- Cảnh báo và giám sát: Loggly cung cấp một giao diện hiển thị tình trạng, kết quả tìm kiếm bằng biểu đồ rất trực quan giúp người quản trị dễ dàng hình dung hệ thống. Cũng giống như Splunk cơ chế cảnh báo của Loggly cũng hoạt động dựa trên việc thiết lập tìm kiếm thông tin trên Log, cảnh báo tới người dùng khi có một (nhiều) các bản ghi phù hợp với cú pháp tìm kiếm theo những cấu hình của người sử dụng.
NHƯỢC ĐIỂM:
- Do hoạt động trên mô hình Service nên hiệu suất của Loggly không thực sự thích hợp với những hệ thống ở mức độ doanh nghiệp lớn.
- Việc truyền tải một lượng dữ liệu lớn cũng làm giảm hiệu suất trong việc phân tích và cảnh báo. Đặc biệt là với những mạng có tốc độ truy cập thấp.
- Loggly không hỗ trợ các tính năng tự động khắc phục lỗi. (tự động chạy script đã cấu hình sẵn để khắc phục lỗi).
TRIỂN KHAI
- Triển khai hệ thống với Loggly rất đơn giản bằng việc chúng ta chỉ cần đăng ký một tài khoản, thực hiện cấu hình để gửi Syslog tới Loggly Server là chúng ta đã có thể sử dụng đầy đủ các tính năng của Loggly.
- Rất thích hợp với những hệ thống ở quy mô nhỏ và vừa.
Syslog-Ng
Syslog-ng là một công cụ thu thập Log rất hiệu quả và linh hoạt là sự lựa chọn của rất nhiều nhà quản trị mạng trong việc xây dựng một hệ thống log tập trung. Syslog-ng được xây dựng dựa trên chuẩn syslog trên nền tảng Unix và các hệ điều hành tương tự. Gồm xây dựng với 2 thành phần Syslog-ng client và Syslog-ng Server. Các Client thực hiện việc thu thập log quan trọng gửi tới máy chủ tập trung và lưu trữ. CHÍNH SÁCH BẢN QUYỀN: Syslog-ng là một phần mềm mã nguồn mở được phát triển trên nền tảng của Syslogd. Hiện nay nó có hai phiên bản và được phát triên bởi Balabit IT Security Ltd
- Phiên bản miễn phí: Syslog-ng Open Source Edition (OSE).
- Phiên bản trả phí độc quyền: Premium Edition (PE).
TÍNH NĂNG
- Thu thập dữ liệu: Syslog-client thực hiện việc tập trung log từ các host và gửi về Syslog server. Syslog-ng thực hiện việc thu thập log từ các server khác nhau dựa trên giao thức TCP, đảm bảo không bị mất mát thông tin trên đường truyền. Syslog-ng cung cấp một cơ chế truy xuất log an toàn dựa trên SSL/TLS.
- Định dạng log: Theo mặc định Syslog-ng chỉ hỗ trợ chuẩn, Syslog trong Unix. Theo mặc đinh Windows không hỗ trợ Syslog.Tuy nhiên chúng ta có thể sử dụng một số biện pháo để chuyển các loại log về dạng Syslog. Syslog-ng cũng hoạt động rất tốt trên những môi trường (hệ điều hành, phần cứng) khác nhau: Linux, BSD, Sun Solaris, HP-UX, AIX và Unix khác.
- Lưu trữ: Với Syslog-ng, ta có thể lưu trữ dữ liệu vào cơ sở dữ liệu cho phép tìm kiếm và truy vấn dễ dàng. Syslog-ng hỗ trợ các hệ CSDL: MSSQL, MYSQL, Oracle và PostgreSQL.
- Lọc và phân loại: Syslog-ng cung cấp cơ chế lọc nhằm phân loại các Log message và cũng hạn chế lượng dữ liệu đổ về server log từ các client. Cơ chế lọc của Syslog-ng dựa trên các thông số khác nhau như source host, ứng dụng, sự ưu tiên trong Log message.
- Cơ chế thu thập Log: Syslog-ng client được đặt trên các các client sẽ thực hiệc việc thu tập các loại Log trên client đó. Sau đó dữ liệu sẽ được đi qua bộ phận lọc của syslog-ng (gồm những luật đã được cấu hình trước). Sau đó mới được gửi đến các Server log hoặc chuyển đến một Relay server rồi mới chuyển tới Log Server.
NHƯỢC ĐIỂM:
- Syslog-ng không phải là 1 phần mềm phân tích cho nên syslog-ng chỉ có thể lọc những log message phù hợp với 1 số tiêu chí định trước. Syslog-ng không thể làm tốt nhiệm vụ phân tích và cảnh báo các nguy cơ đến người quản trị.
TRIỂN KHAI
- Để triển khai một hệ thống syslog-ng ta cần có 2 thành phần là một server được cài đặt syslog-ng server và các client được cài đặt trên các client để thu thập log. Một điểm đáng chú ý là Syslog không hỗ trợ windows.
Logzilla (Php Syslog-Ng)
Là phần mềm mã nguồn mở hỗ trợ việc quản lý Log tập trung được phát triển dự trên PHP-Syslog-ng. Logzilla có thể quản lý với hàng triệu thông điệp Log, hàng ngàn thiết bị cùng lúc. Được xây dựng trên nền web với một giao diện quản lý trực quan và thuận tiện cho người dùng. Là sự lựa chọn của nhiều nhà quản lý và giám sát anh ninh mạng. TÍNH NĂNG
- Thu thập dữ liệu: LogZilla mặc định không hỗ trợ việc thu thập Log từ các thiết bị hay các Server khác nó tập trung vào việc thực hiện trên Log đã có dựa trên việc thu thập Log của Syslog-ng.
- Hỗ trợ định dạng Log: Theo mặc định LogZilla chỉ hỗ trợ Syslog chuẩn Syslog giống như Syslog-ng. Tuy nhiên, nó có thể hỗ trợ quản lý các sự kiện trong Windows.
- Tìm kiếm thông tin: LogZilla cung cấp một giao diện tìm kiêm theo từ khóa và theo một số thuộc tính khá trực quan và thông minh. Tuy không được đánh giá cao như SPLUNK nhưng LogZilla cũng được các nhà quản trị mạng đánh giá khá cao về chức năng tìm kiếm các thông tin trong Log.
- Cảnh báo và giám sát mạng: LogZilla hỗ trợ việc phát hiện các sự kiện một cách nhanh chóng trong thời gian thực. Có thể nhanh chóng phát hiện các điểm suy thoái của các thiết bị và máy chủ. LogZilla cũng hỗ trợ việc cảnh báo qua Email.
- Trích xuất thông tin: LogZilla cũng hỗ trợ việc tạo kết xuất ra các báo cáo theo các định dạng: Excel và CSV. LogZilla còn hỗ trợ việc hiển thị dưới một số dạng biểu đồ giúp người quản trị dễ dàng hình dung hệ thống một cách trực quan.
TRIỂN KHAI
- LogZilla nhìn chung chỉ thực hiện việc tìm kiếm và quản lý các thông tin đã có trên Log một cách nhanh chóng. Ta cần thiết phải kết hợp với các công cụ khác để tập trung và xử lý Log hiệu quả hơn (Syslog-ng).
- Để triển khai LogZilla ta cần kết hợp với một hệ thống thu thập Log khác thực hiện công việc thu thập thông tin từ các máy chủ và thiết bị khác trên mạng.
TRIỂN KHAI
- Triển khai một hệ thống LogZilla hoạt động tương đối dễ dàng ta chỉ cần thực hiện cấu hình trên Syslog-ng Server để đọc các dữ liệu mà Syslog-ng đã lưu trữ.
HP ArcSight Logger
HP ArcSight Logger là một sản phẩm trong bộ sản phẩm ArcSight của Hp. Nó cung cấp một giải pháp hiệu quả về trong việc quản lý log. Nó có khả năng thu thập, phân tích và lưu trữ với một khối lượng Log lớn với nhiều loại định dạng khác nhau. Nó hỗ trợ việc triển khai hệ thống dưới nhiều hình thức như thiết bị, phần mềm, máy ảo hoặc các dịch vụ đám mây. CHÍNH SÁCH BẢN QUYỀN: HP ArcSight Logger cung cấp 2 phiên bản dùng thử và trả phí.
- Với phiên bản trả phí, có đầy đủ các tính năng của HP ArcSight Logger và không giới hạn về khối lượng dữ liệu.
- Phiên bản dùng thử được hỗ trợ xử lý với dữ liệu 750 MB/ngày. Hạn chế một số chức năng: Hỗ trợ triển khai hệ thống phân tán và Support từ các chuyên gia của hệ thống của HP.
TÍNH NĂNG
- Hỗ trợ nhiều loại định dạng Log: Syslog, Eventlog, Device Log …
- Phân tích toàn diện dữ liệu.
- Cảnh báo và giám sát hệ thống trong thời gian thực.
- Đánh chỉ mục dữ liệu, tìm kiếm và kết xuất báo cáo.
- Đi sâu vào việc phân tích ngữ cảnh từ các thông tin nhận được.
TRIỂN KHAI
- Ta có thể dễ dàng triển khai HP ArcSight Logger như một thiết bị, một phần mềm hay một dịch vụ đám mây.
- HP ArcSight Logger hỗ trợ việc triển khai hệ thống phân tán một cách dễ dàng.
Nagios
Nagios là một hệ thống dùng để giám sát một hệ thống mạng. Nagios thực hiện việc theo dõi và đưa ra các cảnh báo về trạng thái các host và các dịch vụ. Nó được xây dựng trên nền Linux và đã hỗ trợ hầu hết các hệ điều hành tương tự Linux. Một điểm khác so với các công cụ khác là Nagios giám sát dựa tình trạng hoạt động của các máy trạm và dịch vụ. Nó sử dụng các Plug-in được cài đặt trên các máy trạm, thực hiện việc kiểm tra các máy trạm và dịch vụ theo định kỳ và gửi thông tin trạng thái về Nagios Server sau đó thông tin sẽ được đưa lên với một giao diện Web (Sử dụng Nagvis) và có thể gửi thông tin về trạng thái tới nhà quản trị qua email, SMS… khi có sự cố xảy ra. Việc theo dõi có thể được cấu hình một cách chủ động hoặc bị động dựa trên mục đích sử dụng của người quản trị. CHÍNH SÁCH BẢN QUYỀN: Cung cấp 2 phiên bản miễn phí và trả phí hỗ trợ các hệ thống nhỏ và cả các hệ thống doanh nghiệp. TÍNH NĂNG
- Giám sát các dịch vụ mạng (SNMP, POP3, HTTP, NNTP, PING…) và các tài nguyên của các máy trạm (processor load, disk usage…).
- Dễ dàng phát triển các plug-in riêng. Chophép người sử dụng dễ dàng phát triển các dịch vụ giám sát nhu cầu sử dụng bằng việc sử dụng các ngôn ngữ shell script, C ++, Perl, Ruby, Python, PHP, C# ….).
- Việc giám sát các dịch vụ là song song.
- Có khả năng phát hiện và phân biệt được host nào là down và host nào là unreachable.
- Thông tin cảnh báo (khi host và các dịch vụ xảy ra xự cố) bằngemail, SMS sử dụng 3G, …
- Sử dụng giao diện Web để theo dõi trạng thái của mạng, xem lịch sử các cảnh báo và các sự cố xảy ra.
TRIỂN KHAI
- Nagios chỉ hoạt động trên các máy chủ chạy hệ điều hành họ Unix/Linux.
- Để triển khai một hệ thống Nagios ta cần một Server chạy Nagios được cấu hình để có thể thực hiện việc nhận thông báo trạng thái từ các Plug-in đã được cài đặt trên các máy trạm.
- Nagios có thể hoạt động tốt với Splunk. Hỗ trợ việc tìm kiếm và cảnh báo hiệu quả hơn.
- Nagios cũng hỗ trợ việc xây dựng một hệ thống phân tán giúp cân bằng tải và hoạt động ổn định hơn trong các hệ thống lớn.
- Một số Plug-in điển hình: NRPE(giám sát thông tin từ xa), NSCA(hỗ trợ việc giám sát chủ động), NDOUtils (Hỗ trợ việc lưu trữ dữ liệu), PNP4Nagios (Hỗ trợ việc phân tích dữ liệu), Nagvis(Hỗ trợ việc hiển thị và biểu diễn trạng thái) …
Một số sản phẩm khác
Trên đây là một trong những công cụ chính đảm báo việc quản trị mạng ngoài ra còn một số công cụ cũng có tính năng tương tự:
- Graylog2: là một hệ thống quản lý Log mã nguồn mở, nó được xây dựng bằng Rubu trên Rails và MongoDB. Dựa trên một định dạng Log riêng dựa trên JSON-based được gọi là GELF (Graylog Extended Log Format).
- CSMARS (Cisco Security Monitoring, Analysis, and Response System): Là một thiết bị mạng nằm trong hệ thống các thiết bị quản lý bảo mật của Cisco được triển khai trên các hệ thống mạng nhằm nhận biết và giảm thiểu các mỗi đe dọa đến hệ thống. Thiết bị được tích hợp mạng lưới tình báo hiện đại, thực hiện khi có dị thường trong mạng hoặc sự kiện vi phạm an ninh hệ thống. Nó giúp người quản trị hình dung hệ thống, giám sát hệ thống … Dễ dàng triển khai với chi phí thấp.
- …
KẾT LUẬN
Hiện nay, có rất nhiều công cụ hỗ trợ việc giám sát an ninh mạng. Tuy nhiên, mỗi công cụ, sản phẩm có những điểm mạnh, điểm yếu riêng đòi hỏi người quản trị cần có kinh nghiệm trong việc sử dụng sản phẩm. Lựa chọn công cụ, sản phẩm dựa trên các yêu cầu về quy mô của hệ thống, mức độ an toàn và nhiệm vụ của hệ thống cũng như kinh phí trong việc phát triển hệ thống. Trong một số trường hợp chỉ sử dụng một sản phẩm là chưa tối ưu, chúng ta cần sự kết hợp của các công cụ, sản phẩm với nhau để thu được kết quả tốt nhất.