Maltrail là một hệ thống phát hiện lưu lượng độc hại, sử dụng các danh sách đen công khai của các dấu vết độc hại và đáng ngờ. Nó cũng sử dụng các dấu vết tĩnh từ các báo cáo của nhiều phần mềm diệt virus và các danh sách do người dùng tự định nghĩa. Các tên miền độc hại của các loại mã độc khác nhau, URL của các tập tin thực thi độc hại đã biết và địa chỉ IP của những kẻ tấn công đã biết đều là các dấu vết được hệ thống này theo dõi. Nó còn có khả năng cơ chế phát hiện tiên tiến bằng phương pháp suy đoán để phát hiện các mối đe dọa chưa biết (ví dụ như mã độc mới). Địa chỉ GitHub của dự án là: https://github.com/stamparm/maltrail/
Trang GitHub này cung cấp các tài nguyên về danh sách đen (feed), các mục tĩnh và dấu vết của các malware C&C (Command & Control) hoặc các sinkholes (hố chứa) mà hệ thống phát hiện sử dụng.
Kiến trúc triển khai
Theo thông tin trên trang dự án, Maltrail dựa trên kiến trúc: Lưu lượng -> Sensor <-> Server <-> Client.

Sensor(s) là một thành phần độc lập chạy trên nền tảng Linux, kết nối thụ động với cổng SPAN/mirroring hoặc hoạt động trực tiếp trên một cầu nối Linux, nơi nó “giám sát” lưu lượng truyền qua để phát hiện các mục bị liệt vào danh sách đen (ví dụ: tên miền, URL và/hoặc IP). Chi tiết sự kiện sẽ được gửi đến Server (trung tâm) trong trường hợp phát hiện trùng khớp và lưu trữ trong thư mục nhật ký tương ứng. Nếu Sensor và Server chạy trên cùng một máy (cấu hình mặc định), các nhật ký sẽ được lưu trữ trực tiếp trong thư mục nhật ký cục bộ. Tất cả các sự kiện hoặc mục nhật ký trong khoảng thời gian đã chọn (24 giờ) sẽ được chuyển đến Client, ứng dụng web chịu trách nhiệm báo cáo các sự kiện. Trong bài viết này, Server và các thành phần Server chạy trên cùng một máy.
Yêu cầu trước khi cài đặt
Trong hướng dẫn này, Maltrail sẽ được cài đặt trên máy ảo Ubuntu 18.04 LTS. Để Maltrail hoạt động đúng, cần có Python 2.7 và gói pcapy. Không có yêu cầu nào khác ngoài việc chạy các thành phần “Sensor và Server” với quyền root. Lệnh sau sẽ cài đặt gói python-pcapy trên máy Ubuntu và cũng sẽ cài đặt các phụ thuộc cần thiết của gói:
apt-get install git python-pcapy
Maltrail có thể được tải xuống từ trang web corsecuity và cài đặt bằng lệnh sau. Nếu gói “python-setuptools” chưa được cài đặt, hãy cài đặt nó trước khi cài đặt gói pcapy. Lệnh sau sẽ cài đặt gói setuptools trên nền tảng Ubuntu:
apt-get install python-setuptools
python setup.py installChạy hệ thống Maltrail
Lệnh sau sẽ tải xuống gói mới nhất trên máy Ubuntu và sau đó chạy các script python của server & sensor trong terminal:
git clone https://github.com/stamparm/maltrail.git
cd maltrail/

Khởi động Maltrail Sensor
Lệnh sau sẽ khởi động sensor trong terminal:
python sensor.py

Nếu danh sách của Maltrail chưa được cập nhật, nó sẽ được cập nhật trong quá trình chạy sensor trên máy.

Hình ảnh trên cho thấy sensor đã chạy thành công trên máy.
Khởi động Maltrail Server
Để khởi động “Server” trên cùng một máy, hãy mở một terminal mới và thực hiện lệnh sau:
cd maltrail
python server.py

Như hình ảnh trên, server HTTP đang chạy trên cổng 8338. Cổng 8338 cần được mở trên tường lửa nếu giao diện web được truy cập từ sau tường lửa.

Bảng điều khiển Maltrail
Truy cập giao diện báo cáo bằng cách truy cập vào địa chỉ http://local-p-ip:8338 (thông tin đăng nhập mặc định là admin:changeme! được lưu trong tệp maltrail.conf) từ trình duyệt của bạn. Như hình dưới đây, người dùng sẽ được trình bày với cửa sổ xác thực. Nhập thông tin đăng nhập admin:changeme! để vào cổng web của Maltrail.

Khi vào bảng điều khiển, người dùng admin sẽ thấy giao diện báo cáo như sau.
Kiểm tra Maltrail
Bước kiểm tra sau được đề xuất trên trang dự án. Địa chỉ IP “136.161.101.53” là địa chỉ độc hại, nên Maltrail phát hiện nó và hiển thị trên bảng điều khiển:
ping -c 5 136.161.101.53

cat /var/log/maltrail/02-10-2018.log

Như hình dưới, cả hai cuộc tấn công (ping đến địa chỉ IP độc hại) cũng được hiển thị trên giao diện frontend.


Phần trên cùng của giao diện chứa một dòng thời gian trượt và được kích hoạt sau khi nhấp vào nhãn ngày hiện tại và/hoặc biểu tượng lịch. Phần giữa chứa tóm tắt các sự kiện hiển thị. Hộp Sự kiện đại diện cho tổng số sự kiện trong khoảng thời gian 24 giờ đã chọn, trong đó các màu khác nhau đại diện cho các loại sự kiện khác nhau như sự kiện dựa trên IP, sự kiện dựa trên DNS và sự kiện dựa trên URL. Nhấp vào các hộp để xem chi tiết hơn từng biểu đồ.

Phần dưới của giao diện giữ đại diện rút gọn của các sự kiện đã được ghi nhật ký dưới dạng một bảng phân trang.

Cấu hình Sensor/Server của Maltrail
Cấu hình của Sensor trong hệ thống Maltrail nằm trong tệp maltrail.conf ở phần [Sensor]. Các tham số cấu hình được giải thích qua các chú thích. Trong tệp cấu hình này, người dùng có thể đặt các thiết lập như chu kỳ cập nhật của feed tĩnh, giao diện vật lý hoặc ảo của Linux để chạy hệ thống Maltrail, v.v.

Phần cấu hình sensor
Trong phần cấu hình server, người dùng có thể đặt cổng và địa chỉ IP lắng nghe. Người dùng cũng có thể bật dịch vụ SSL để bảo vệ lưu lượng web.

Phần cấu hình server
Lưu trữ nhật ký
Tất cả các sự kiện được phát hiện bởi sensor của Maltrail đều được lưu trong thư mục nhật ký của Server (tùy chọn LOG_DIR bên trong tệp maltrail.conf để đặt đường dẫn tệp). Tất cả các sự kiện được lưu trữ theo ngày.
Quét cổng
Nó cũng phát hiện quá nhiều nỗ lực kết nối đến các cổng TCP nhất định. Hệ thống Maltrail cảnh báo về việc quét cổng tiềm năng vì nó phát hiện các cơ chế suy đoán.
Cảnh báo dương tính giả
Maltrail dễ bị “dương tính giả”, giống như tất cả các giải pháp bảo mật khác. Trong những trường hợp như vậy, đặc biệt là đối với các mối đe dọa nghi ngờ, Maltrail có thể ghi lại hành vi của người dùng hợp lệ và đánh dấu nó là độc hại và/hoặc đáng ngờ. Ví dụ, công cụ tìm kiếm Google cũng quét các tên miền và địa chỉ IP. Do đó, đôi khi địa chỉ IP hợp lệ của Google sẽ bị xem là kẻ tấn công vì có nhiều nỗ lực trên các tên miền/IP hợp lệ.
Kết luận
Bài viết này đề cập đến hệ thống phát hiện lưu lượng độc hại “Maltrail” sử dụng các feed tĩnh và cơ chế suy đoán. Nó được phát triển bằng Python và bao gồm hai thành phần chính “sensor và server”. Nó có thể chạy trên một máy duy nhất và phát hiện lưu lượng trên bất kỳ giao diện nào của máy. Nó rất hữu ích trong việc bảo vệ mạng khỏi những kẻ tấn công đã biết trên internet. Hiện tại, nó chỉ hỗ trợ phát hiện lưu lượng, tuy nhiên, nó có thể được tích hợp với các công cụ mã nguồn mở khác để thực hiện chặn địa chỉ IP trong tường lửa iptables.
Đọc thêm: Vault HashiCorp Là Gì? Giải Pháp Quản Lý Bí Mật Toàn Diện Cho Doanh Nghiệp Hiện Đại










Add Comment