Khịt mũi hoặc Suricata. Phần 2: Cài đặt và thiết lập ban đầu Suricata

Theo thống kê, lưu lượng truy cập mạng tăng khoảng 50% mỗi năm. Điều này dẫn đến tăng tải cho thiết bị và đặc biệt là tăng yêu cầu về hiệu suất của IDS / IPS. Bạn có thể mua phần cứng chuyên dụng đắt tiền, nhưng có một lựa chọn rẻ hơn - giới thiệu một trong những hệ thống nguồn mở. Nhiều quản trị viên mới làm quen gặp khó khăn khi cài đặt và định cấu hình IPS miễn phí. Trong trường hợp của Suricata, điều này không hoàn toàn đúng - bạn có thể cài đặt nó và bắt đầu đẩy lùi các cuộc tấn công thông thường bằng một bộ quy tắc miễn phí trong vài phút.

Khịt mũi hoặc Suricata. Phần 2: Cài đặt và thiết lập ban đầu Suricata
Khịt mũi hoặc Suricata. Phần 1: Chọn IDS/IPS miễn phí để bảo vệ mạng công ty của bạn

Tại sao chúng ta cần một IPS mở khác?

Được coi là tiêu chuẩn từ lâu, Snort đã được phát triển từ cuối những năm 6, vì vậy ban đầu nó là một luồng đơn. Trong những năm qua, tất cả các tính năng hiện đại đã xuất hiện trong đó, chẳng hạn như hỗ trợ IPvXNUMX, khả năng phân tích các giao thức cấp ứng dụng hoặc mô-đun truy cập dữ liệu phổ quát.

Công cụ lõi Snort 2.X đã học cách hoạt động với nhiều lõi, nhưng vẫn duy trì ở chế độ đơn luồng và do đó không thể tận dụng tối ưu các nền tảng phần cứng hiện đại.

Vấn đề đã được giải quyết trong phiên bản thứ ba của hệ thống, nhưng phải mất quá nhiều thời gian để chuẩn bị nên Suricata, được viết từ đầu, đã có thể xuất hiện trên thị trường. Vào năm 2009, nó bắt đầu được phát triển chính xác như một giải pháp thay thế đa luồng cho Snort, có chức năng IPS ngay lập tức. Mã được phân phối theo giấy phép GPLv2, nhưng các đối tác tài chính của dự án có quyền truy cập vào phiên bản đóng của công cụ. Một số vấn đề về khả năng mở rộng đã phát sinh trong các phiên bản đầu tiên của hệ thống, nhưng chúng đã nhanh chóng được giải quyết.

Tại sao Surika?

Suricata có một số mô-đun (tương tự như Snort): chụp, bắt, giải mã, phát hiện và xuất. Theo mặc định, lưu lượng đã bắt sẽ đi trước khi giải mã trong một luồng, mặc dù điều này sẽ tải hệ thống nhiều hơn. Nếu cần, các luồng có thể được chia trong cài đặt và phân phối giữa các bộ xử lý - Suricata được tối ưu hóa rất tốt cho phần cứng cụ thể, mặc dù đây không còn là cấp độ HOWTO dành cho người mới bắt đầu. Điều đáng chú ý là Suricata có các công cụ kiểm tra HTTP nâng cao dựa trên thư viện HTP. Chúng cũng có thể được sử dụng để ghi lại lưu lượng truy cập mà không bị phát hiện. Hệ thống này cũng hỗ trợ giải mã IPv6, bao gồm các đường hầm IPv4 trong IPv6, các đường hầm IPv6 trong IPv6, v.v.

Các giao diện khác nhau có thể được sử dụng để chặn lưu lượng (NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING) và trong chế độ Ổ cắm Unix, bạn có thể tự động phân tích các tệp PCAP do một trình thám thính khác thu được. Ngoài ra, kiến ​​trúc mô-đun của Suricata giúp dễ dàng cắm các phần tử mới để chụp, giải mã, phân tích cú pháp và xử lý các gói mạng. Cũng cần lưu ý rằng trong Suricata, lưu lượng truy cập bị chặn bằng bộ lọc hệ điều hành tiêu chuẩn. GNU/Linux có hai tùy chọn về cách thức hoạt động của IPS: qua hàng đợi NFQUEUE (chế độ NFQ) và qua bản sao không (chế độ AF_PACKET). Trong trường hợp đầu tiên, gói đi vào iptables được gửi đến hàng đợi NFQUEUE, nơi nó có thể được xử lý ở cấp độ người dùng. Suricata chạy nó theo các quy tắc riêng của nó và đưa ra một trong ba phán quyết: NF_ACCEPT, NF_DROP và NF_REPEAT. Hai cái đầu tiên là tự giải thích, trong khi cái cuối cùng cho phép các gói được gắn thẻ và gửi lên đầu bảng iptables hiện tại. Chế độ AF_PACKET nhanh hơn nhưng áp đặt một số hạn chế đối với hệ thống: chế độ này phải có hai giao diện mạng và hoạt động như một cổng. Gói bị chặn chỉ đơn giản là không được chuyển tiếp đến giao diện thứ hai.

Một tính năng quan trọng của Suricata là khả năng sử dụng các phát triển cho Snort. Đặc biệt, quản trị viên có quyền truy cập vào bộ quy tắc Sourcefire VRT và OpenSource Emerging Threats Pro, cũng như Emerging Threats Pro thương mại. Đầu ra thống nhất có thể được phân tích cú pháp bằng cách sử dụng các chương trình phụ trợ phổ biến, đầu ra PCAP và Syslog cũng được hỗ trợ. Các cài đặt và quy tắc hệ thống được lưu trữ trong các tệp YAML, dễ đọc và có thể được xử lý tự động. Công cụ Suricata nhận ra nhiều giao thức, vì vậy các quy tắc không cần phải được gắn với số cổng. Ngoài ra, khái niệm về dòng chảy được thực hiện tích cực trong các quy tắc của Suricata. Để theo dõi trình kích hoạt, các biến phiên được sử dụng để tạo và áp dụng các bộ đếm và cờ khác nhau. Nhiều IDS coi các kết nối TCP khác nhau là các thực thể riêng biệt và có thể không thấy kết nối giữa chúng cho biết bắt đầu một cuộc tấn công. Suricata cố gắng xem bức tranh toàn cảnh và trong nhiều trường hợp nhận ra lưu lượng truy cập độc hại được phân phối trên các kết nối khác nhau. Bạn có thể nói về những ưu điểm của nó trong một thời gian dài, tốt hơn hết chúng ta nên chuyển sang phần cài đặt và cấu hình.

Làm thế nào để cài đặt?

Chúng tôi sẽ cài đặt Suricata trên máy chủ ảo chạy Ubuntu 18.04 LTS. Tất cả các lệnh phải được thực hiện thay mặt cho siêu người dùng (root). Tùy chọn an toàn nhất là SSH vào máy chủ với tư cách là người dùng bình thường và sau đó sử dụng tiện ích sudo để nâng cao đặc quyền. Trước tiên, bạn cần cài đặt các gói mà chúng tôi cần:

sudo apt -y install libpcre3 libpcre3-dev build-essential autoconf automake libtool libpcap-dev libnet1-dev libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libmagic-dev libcap-ng-dev libjansson-dev pkg-config libnetfilter-queue-dev geoip-bin geoip-database geoipupdate apt-transport-https

Kết nối một kho lưu trữ bên ngoài:

sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt-get update

Cài đặt phiên bản ổn định mới nhất của Suricata:

sudo apt-get install suricata

Nếu cần, hãy chỉnh sửa tên tệp cấu hình, thay thế mặc định eth0 bằng tên thực của giao diện bên ngoài của máy chủ. Cài đặt mặc định được lưu trong tệp /etc/default/suricata và cài đặt tùy chỉnh được lưu trong /etc/suricata/suricata.yaml. Việc cấu hình IDS hầu hết chỉ giới hạn trong việc chỉnh sửa tệp cấu hình này. Nó có rất nhiều thông số, theo tên và mục đích, trùng khớp với các thông số tương tự từ Snort. Tuy nhiên, cú pháp khá khác, nhưng tệp dễ đọc hơn nhiều so với cấu hình Snort và được nhận xét tốt.

sudo nano /etc/default/suricata

Khịt mũi hoặc Suricata. Phần 2: Cài đặt và thiết lập ban đầu Suricata

и

sudo nano /etc/suricata/suricata.yaml

Khịt mũi hoặc Suricata. Phần 2: Cài đặt và thiết lập ban đầu Suricata

Chú ý! Trước khi bắt đầu, bạn nên kiểm tra giá trị của các biến từ phần vars.

Để hoàn tất thiết lập, bạn cần cài đặt suricata-update để cập nhật và tải các quy tắc. Nó khá dễ dàng để làm điều này:

sudo apt install python-pip
sudo pip install pyyaml
sudo pip install <a href="https://github.com/OISF/suricata-update/archive/master.zip">https://github.com/OISF/suricata-update/archive/master.zip</a>
sudo pip install --pre --upgrade suricata-update

Tiếp theo, chúng ta cần chạy lệnh suricata-update để cài đặt bộ quy tắc Các mối đe dọa mới nổi đang mở:

sudo suricata-update

Khịt mũi hoặc Suricata. Phần 2: Cài đặt và thiết lập ban đầu Suricata

Để xem danh sách các nguồn quy tắc, hãy chạy lệnh sau:

sudo suricata-update list-sources

Khịt mũi hoặc Suricata. Phần 2: Cài đặt và thiết lập ban đầu Suricata

Cập nhật các nguồn quy tắc:

sudo suricata-update update-sources

Khịt mũi hoặc Suricata. Phần 2: Cài đặt và thiết lập ban đầu Suricata

Xem lại các nguồn cập nhật:

sudo suricata-update list-sources

Nếu cần, bạn có thể bao gồm các nguồn miễn phí có sẵn:

sudo suricata-update enable-source ptresearch/attackdetection
sudo suricata-update enable-source oisf/trafficid
sudo suricata-update enable-source sslbl/ssl-fp-blacklist

Sau đó, bạn cần cập nhật lại các quy tắc:

sudo suricata-update

Điều này hoàn tất quá trình cài đặt và cấu hình ban đầu của Suricata trong Ubuntu 18.04 LTS. Sau đó, niềm vui bắt đầu: trong bài viết tiếp theo, chúng tôi sẽ kết nối một máy chủ ảo với mạng văn phòng thông qua VPN và bắt đầu phân tích tất cả lưu lượng truy cập vào và ra. Chúng tôi sẽ đặc biệt chú ý đến việc chặn các cuộc tấn công DDoS, hoạt động của phần mềm độc hại và nỗ lực khai thác lỗ hổng trong các dịch vụ có thể truy cập từ mạng công cộng. Để rõ ràng, các cuộc tấn công của các loại phổ biến nhất sẽ được mô phỏng.

Khịt mũi hoặc Suricata. Phần 2: Cài đặt và thiết lập ban đầu Suricata

Khịt mũi hoặc Suricata. Phần 2: Cài đặt và thiết lập ban đầu Suricata

Nguồn: www.habr.com

Thêm một lời nhận xét