Cài đặt Snort trên linux(Ubuntu, CentOS, Fedora…) (không dùng bản windows)

Tiến hành cài đặt Snort 2.9.9.0 trên Ubuntu Server 16.04 và tham khảo hướng dẫn cài đặt trong Document trên trang chủ của Snort.

Cụ thể các bước cài đặt được tiến hành như sau:

Bước 1:Tải source code cài đặt Snort 2.9.9.0 và daq

  • Trên trang chủ Snort tại snort.org tải souce cài đặt

  • Để cài đặt Snort, yêu cầu cần phải có 4 thành phần tiên quyết cần cài đặt trước, bao gồm pcap (libpcap-dev), PCRE (libpcre3-dev), Libdnet (libdumbnet-dev), DAQ, trong đó pcap, PCRE, Libdnet sẵn có câu lệnh hỗ trợ cài đặt trên Ubuntu, riêng chỉ có DAQ không có, nên cần tải source về.
  • Sử dụng WinSCP để sao chép các gói vừa tải về qua máy Ubuntu Server 16.04 có địa chỉ IP giả định là 192.168.139.140

  •  Thao tác kéo thả để đưa các gói tin cần sao chép sang máy Ubuntu Server:

  • Trên máy Ubuntu Server, dùng lệnh ls kiểm tra các gói đã được sao chép qua:

  • Sử dụng PuTTY kết nối SSH đến máy Ubuntu Server để thực hiện thao tác cài đặt ở các bước dưới

Bước 2: Cài đặt các gói hỗ trợ cần thiết  trước khi cài Snort

  • Cài đặt các công cụ phục vụ cho build phần mềm bằng cách sử dụng lệnh:

sudo apt-get install -y build-essential

  • Sau đó, cài các thành phần tiên quyết được hỗ trợ cài đặt bằng câu lệnh trong Ubuntu:

  • Cài thành phần tiên quyết DAQ:
  • Cài gói tiên quyết trước để hỗ trợ cho cài đặt DAQ:

sudo apt-get install -y bison flex

  • Tạo thư mục snort_src và di chuyển vào thư mục này để tiến hành di chuyển các file đã sao chép qua Ubuntu server (daq-2.0.6.tar.gz, snort-2.9.9.0.tar.gz và snortrules-snapshot-2990.tar.gz) vào thư mục này

  • Tiến hành giải nén và cài đặt file daq-2.0.6.tar.gz bằng câu lệnh lần lượt là:

tar -xvzf daq-2.0.6.tar.gz
cd daq-2.0.6
./configure
make
sudo make install

  • Khi thực thi câu lệnh ./config, output sẽ hiển thị trạng thái các modules của DAQ:

Bước 3: Cài đặt Snort và kiểm tra cài đặt

  • Cài đặt các gói tiên quyết cho việc cài đặt Snort bằng các câu lệnh:

  • Di chuyển đến thư mục snort_src. Vì ở bước trên ta đã di chuyển tất cả các file phục vụ cho việc cài đặt Snort vào thư mục snort_src, nên ở đây ta tiến hành giải nén file snort-2.9.9.0.tar.gz, sau đó di chuyển vào thư mục vừa giải nén và bắt đầu cài đặt qua từng bước như sau:

tar -xvzf snort-2.9.9.0.tar.gz
cd snort-2.9.9.0
./configure –enable-sourcefire
make
sudo make install

  • Sử dụng câu lệnh sudo ldconfig để chắc chắn thư việc chia sẻ đã được cập nhật
  • Để tạo một liên kết đặc trưng đến Snort binary trong /usr/sbin, dùng câu lệnh:

sudo ln -s /usr/local/bin/snort /usr/sbin/snort     

  • Kiểm tra Snort, sử dụng cờ -V để xác định version của Snort và các file cấu hình trên nó:

  • Sau khi đã cài đặt snort, không muốn nó chạy bằng user root, vì vậy ta cần phải tạo một user và group có tên là snort. Để tạo một user và group mới, sử dụng hai lệnh dưới đây:

sudo groupadd snort                              

sudo useradd snort -r -s /sbin/nologin -c SNORT_IDS -g snort

Bước 4: Cấu hình Snort và Kiểm tra cấu hình

Snort cần một số file và thư mục để hoạt động cùng các quyền hạn trên các thư mục này, bao gồm các thư mục: cấu hình và các rule được lưu trong /etc/snort, các cảnh báo được xuất ra /var/log/snort, các rule được biên dịch sẽ lưu trong /usr/local/lib/snort_dynamicrules. Tạo các thư mục cần thiết:

  • Tạo thư mục log:

  • Tạo nơi lưu trữ các quy tắc động:

  • Sao chép các file cấu hình và preprocessor cần thiết cần cho hoạt động của Snort vào thư mục /etc/snort. Danh sách các file này bao gồm:

  • Với snortrule-snapshot-2990.tar.gz đã sao chép vào máy Ubuntu Server trước đó, giải nén file này vào thư mục /etc/snort:

  • Ta được danh sách các thư mục rule được định nghĩa sẵn gồm rules, preproc_rules, so_rules:

  • Tạo ra các tập tin cấu hình và các tập tin chứa quy tắc cho snort bằng cách tạo 2 file white_list.rules và black_list.rules trong thư mục /etc/snort/rules:

  • Thiết lập quyền cho các thư mục và tập tin đã tạo:

  • Với các thư mục này, cần thay đổi quyền sở hữu để đảm bảo Snort có thể truy xuất đến chúng:

  • Thay đổi file cấu hình của Snort:

Trong file /etc/snort/snort.conf, bạn sẽ cần phải thay đổi biến HOME_NET. Ta có thể khai báo Internal network và các network được xem là External, các HTTP servers, DNS servers, danh sách các port, …

HOME_NET và EXTERNAL_NET có thể là một địa chỉ IP chính xác hoặc một địa chỉ network. Để khai báo nhiều địa chỉ IP hoặc network, bạn cần khai báo tất cả các IP hoặc network trong cặp dấu ngoặc vuông và cách nhau bởi dấu phẩy.

Ở đây, nhóm thực hiện với EXTERNAL_NET là những IP khác mạng HOME_NET(192.168.139.0/24)

  • Thay đổi các tham số PATH trong file cấu hình cho phù hợp với cấu trúc thư mục của Snort đã tạo trên máy:

  • Kiểm tra để chắc chắn cấu hình chính xác: