Cài đặt Snort IDS Trên Ubuntu 14.04
Có thể bạn quan tâm
- Bảo mật
- Hệ thống
Snort is a free and open source network intrusion prevention system (NIPS) and network intrusion detection system (NIDS) created by Martin Roesch in 1998. Snort is now developed by Sourcefire, of which Roesch is the founder and CTO, and which has been owned by Cisco since 2013.
In 2009, Snort entered InfoWorld’s Open Source Hall of Fame as one of the “greatest [pieces of] open source software of all time”.
Snort’s open source network-based intrusion detection system (NIDS) has the ability to perform real-time traffic analysis and packet logging on Internet Protocol (IP) networks. Snort performs protocol analysis, content searching and matching. These basic services have many purposes including application-aware triggered quality of service, to de-prioritize bulk traffic when latency-sensitive applications are in use.
The program can also be used to detect probes or attacks, including, but not limited to, operating system fingerprinting attempts, common gateway interface, buffer overflows, server message block probes, and stealth port scans.
Snort can be configured in three main modes: sniffer, packet logger, and network intrusion detection. In sniffer mode, the program will read network packets and display them on the console. In packet logger mode, the program will log packets to the disk. In intrusion detection mode, the program will monitor network traffic and analyze it against a rule set defined by the user. The program will then perform a specific action based on what has been identified.
(Theo Wikipedia)
Bài viết này sẽ hướng dẫn các bạn cài đặt Snort dưới dạng Network IDS dựa trên nền tảng Ubuntu 14.04
Các bạn lưu ý là ở thời điểm hiện tại khi cài Snort trên máy ảo sẽ có một vấn đề là không chạy được các rules dành cho Registered Users trên trang chủ của nó. Tuy nhiên các bạn vẫn có thể tự viết rule và nó vẫn chạy tốt.
Trước tiên, bạn nên tắt tất cả các firewall trên hệ thống IDS để Snort có thể nhận được tất cả các luồng dữ liệu đi đến.
Sau đó, bạn disable GRO (Generic Receive Offload) và LRO (Large Receive Offload) để gói tin không bị can thiệp trước khi được chuyển đến kernel.
root@Server:~$ apt-get install -y ethtool root@Server:~$ ethtool -K eth0 gro off root@Server:~$ ethtool -K eth0 lro offCài các gói phần mềm phụ trợ:
root@Server:~$ apt-get install -y build-essential libpcap-dev libpcre3-dev \ libdumbnet-dev bison flex zlib1g-dev liblzma-dev openssl libssl-devLưu ý: Trong quá trình cài đặt có thể bạn sẽ bị thiếu libdnet. Tải về tại đây. Trong khi chạy file ./configure hãy thêm tham số -fPIC nếu bạn biên dịch nó cho Ubuntu 64bit.
Tạo thư mục chứa mã nguồn Snort, DAQ và tải về các rules.
root@Server:~$ mkdir -p /sources/snort root@Server:~$ cd /sources/snortTải mã nguồn Snort: (Lưu ý: các liên kết bên dưới đều là các phiên bản mới nhất ở thời điểm viết bài. Nếu không tải được, bạn hãy lên trang chủ của Snort để lấy các liên kết mới nhất.)
root@Server:/sources/snort# wget https://snort.org/downloads/snort/daq-2.0.6.tar.gz root@Server:/sources/snort# wget https://snort.org/downloads/snort/snort-2.9.8.0.tar.gz** Cài đặt Snort DAQ (Data AcQuisition library)
root@Server:~$ cd /sources/snort root@Server:/sources/snort# tar -xvzf daq-2.0.6.tar.gz root@Server:/sources/snort# cd daq-2.0.6 root@pc:/sources/snort/daq-2.0.6# ./configure root@pc:/sources/snort/daq-2.0.6# make root@pc:/sources/snort/daq-2.0.6# make install** Cài đặt Snort
root@Server:~$ cd /sources/snort root@Server:/sources/snort# tar -xvzf snort-2.9.8.0.tar.gz root@Server:/sources/snort# cd snort-2.9.8.0 root@pc:/sources/snort/snort-2.9.8.0# ./configure --enable-sourcefire root@pc:/sources/snort/snort-2.9.8.0# make root@pc:/sources/snort/snort-2.9.8.0# make installTham số –enable-sourcefire cho phép chúng ta enable tính năng Packet Performance Monitoring (PPM) cho phép chúng ta giám sát các rules và các pre-processors.
Cập nhật lại các shared libraries
root@Server:~$ ldconfigSau này bạn sẽ chạy snort bằng lệnh:
root@Server:~$ /usr/local/bin/snort root@Server:~$ mkdir -p /etc/snort/{rules,preproc_rules} root@Server:~$ touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules /etc/snort/rules/local.rules root@Server:~$ mkdir /var/log/snort root@Server:~$ mkdir /usr/local/lib/snort_dynamicrules root@Server:~$ chmod -R 5775 /etc/snort /var/log/snort /usr/local/lib/snort_dynamicrulesChép các file cấu hình và file map vào thư mục /etc/snort
root@Server:~$ cp /sources/snort/snort-2.9.8.0/etc/*.conf* /etc/snort root@Server:~$ cp /sources/snort/snort-2.9.8.0/etc/*.map /etc/snort** Cấu hình cơ bản và thêm rules
root@Server:~$ nano /etc/snort/snort.confKhoảng dòng thứ 45, ta 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, …
ipvar HOME_NET 192.168.0.0/24 ipvar EXTERNAL_NET !$HOME_NETLưu ý: 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 network trong cặp dấu ngoặc vuông và cách nhau bởi dấu phẩy.
Ví dụ: để giám sát máy chủ DMZ có địa chỉ IP 10.0.0.1, dải địa chỉ Honeypot 172.16.0.0/16 và vùng mạng Internal 192.168.0.0/16, ta khai báo như sau: [10.0.0.1,172.16.0.0/16,192.168.0.0/16]. Nếu bạn muốn giám sát tất cả, đặt địa chỉ network là “any”.
Khoảng dòng thứ 104, cấu hình đường dẫn của các file như sau:
var RULE_PATH /etc/snort/rules var SO_RULE_PATH /etc/snort/so_rules var PREPROC_RULE_PATH /etc/snort/preproc_rules var WHITE_LIST_PATH /etc/snort/rules var BLACK_LIST_PATH /etc/snort/rulesTrong đó đặc biệt chú ý hai file: Whitelist và Blacklist. Blacklist là tập hợp của các dấu hiệu bất thường đã biết. Ví dụ như phát hiện quét cổng, phát hiện các công cụ xâm nhập, malware và các kiểu tấn công đã biết, … Tuy nhiên nếu như một dạng tấn công mới được phát sinh và nó chưa có trong bộ rule Blacklist, Snort sẽ không thể phát hiện được sự bất thường của kiểu tấn công này. Do đó, Whitelist sẽ là bộ rule bù đắp cho những thiếu sót này. Bản thân Whitelist là tập các rules bao gồm các dấu hiệu bình thường của hệ thống và đưa ra cảnh báo nếu có một luồng dữ liệu không nằm trong bộ rule này.
Khoảng dòng 546, bạn sẽ thấy một tập hợp khai báo các file rules. Tuy nhiên, hiện tại trên server của bạn không có các file rule này, bạn có thể lên trang chủ của Snort và đăng ký một tài khoản miễn phí để tải về bộ rule dành cho Registered user. Hoặc mua bộ rule bản quyền với giá 30$/sensor đối với người dùng cá nhân hoặc 400$/sensor dành cho doanh nghiệp. Trong bài test này, bạn hãy đánh dấu comment hết tất cả (gồm các dòng include $RULE_PATH và cả $PREPROC_RULE_PATH) và chỉ để lại dòng “include $RULE_PATH/icmp.rules”. Ta sẽ đặt rule test ICMP trong file này.
Kiểm tra file cấu hình, có thể trong một bước nào đó bạn đã cấu hình sai:
root@Server:~$ snort -T -c /etc/snort/snort.confBây giờ ta sẽ tạo một rule thử nghiệm. Rule này sẽ báo cho bạn nếu có ai đó đang thực hiện ping từ External network vào Internal network.
root@Server:~$ nano /etc/snort/rules/icmp.rules alert icmp any any -> $HOME_NET any (msg:"Co ai do dang ping"; sid:10000001; rev:001;)Save lại và ta chạy Snort để thử nghiệm.
root@Server:~$ /usr/local/bin/snort -A console -c /etc/snort/snort.conf -i eth0Các tham số: -A console: cho Snort biết ta sẽ chạy Snort và mọi kết quả sẽ hiện lên màn hình Terminal hiện tại. -c : đường dẫn file cấu hình sẽ sử dụng. -i eth0: lắng nghe trên interface eth0. -u snort và -g snort: chạy snort dưới quyền của user và group nào, ở đây để đơn giản ta chạy bằng quyền root.
Nếu bộ rule của bạn lớn, Snort sẽ cần một chút thời gian để import các rules này. Khi bạn thấy dòng “Commencing packet processing” hiện ra, tức là Snort đã sẵn sàng xử lý.
Kết quả:
(Bài viết dựa trên tài liệu hướng dẫn cài đặt trên trang chủ của Snort)
Đào Xuân Hưng – AdminVietnam.org
BÀI LIÊN QUANXEM THÊM
GPO : Cấu hình độ phức tạp mật khẩu trên Windows Server 2022/2019 (Password policy)
GPO : Ẩn tường lửa trên Windows server 2022/2019 (Hide the Firewall and network protection area)
Hệ thống IDS/IPS – Cài đặt và cấu hình Suricata
BÀI MỚI- Mách lẻo bạn cách sử dụng vim từ A-Z
- Mách lẻo bạn cách sử dụng Vi từ A-Z
- GPO : Cấu hình độ phức tạp mật khẩu trên Windows Server 2022/2019 (Password policy)
- GPO : Ẩn tường lửa trên Windows server 2022/2019 (Hide the Firewall and network protection area)
- Hệ thống IDS/IPS – Cài đặt và cấu hình Suricata
- Linux Networking – Sử dụng Telnet
- Linux Forensic – Thu thập thông tin
- Tìm hiểu công cụ scan malware Kaspersky trên Linux
- Hướng dẫn làm việc với tập tin (files) trên hệ điều hành Linux
- Sử dụng Shell trong hệ điều hành Linux
- Giới thiệu về hệ điều hành nguồn mở Linux
- Tìm hiểu công cụ NANO trong Kali Linux
- Tìm hiểu công cụ VIM trong Kali Linux
Từ khóa » Cài đặt Snort Trên Ubuntu
-
Hướng Dẫn Cài đặt Snort Trên Ubuntu Server - Huudoanh's Blog
-
Hướng Dẫn Cài đặt Snort Trên Ubuntu 20.04 - 123HOST
-
How To Install Snort On Ubuntu - UpCloud
-
Hướng Dẫn Cài Đặt Snort Trên Ubuntu Server ...
-
Cách Cài đặt Snort Trên Ubuntu 20.04
-
Hướng Dẫn Chi Tiết Cài đặt Và Cấu Hình Snort (ai Cũng Làm Theo được)
-
Cài đặt Snort-2.9.11.1 Trên Ubuntu 16.04LTS - YouTube
-
Cách Sử Dụng Hệ Thống Phát Hiện Xâm Nhập Snort Trên Linux
-
Hướng Dẫn Cài đặt Snort Trên Ubuntu
-
How To Install Snort On Ubuntu 20.04 - Linoxide
-
[Snort] Hướng Dẫn Cài đặt Snort - Trang Tin Tức Từ Cloud365
-
1. Cài đặt Phần Mềm Phát Hiện Xâm Nhập Snort - Viblo
-
Firewalls - Snort - Hệ Thống Phát Hiện Xâm Nhập Mạng Cho Ubuntu