Sử dụng lệnh ifconfig xác định mạng giao tiếp thông qua interface: eth1 Tiến hành tải về các tập tin thư viện sau vào thư mục /usr/local/src
libdnet-1.11.tar.gz daq-2.0.4.tar.gz snort-2.9.7.2.tar.gz
snortrules-snapshot-2972.tar.gz
Do môi trường thực nghiệm nên chúng tôi sẽ sử dụng bộ luật có sẵn của snort (được tải về từ trang web www.snort.org): Tập tin chứa bộ luật là snortrules-snapshot- 2972.tar.gz
Các bước thực hiện:
73 Tải các thư viện về từ các địa chỉ sau:
wget http://mirror.centos.org/centos/6/os/x86_64/Packages/libpcap-devel-1.4.0- 1.20130826git2dbcaa1.el6.x86_64.rpm
wget http://pkgs.repoforge.org/libdnet/libdnet-devel-1.11-1.2.el6.rf.x86_64.rpm
Giải nén các thư viện:
cd /usr/local/src
tar -zxvf libdnet-1.11.tar.gz tar -zxvf daq-2.0.4.tar.gz tar -zxvf snort-2.9.7.2.tar.gz
Bước 2: Cấu hình, biên dịch và cài đặt libdnet cho CentOS 6.6:
cd /usr/local/src/libdnet-1.11 ./configure -with-pic
make make install cd /usr/local/lib
ldconfig -v /usr/local/lib
Bước 3: Cấu hình, biên dịch và cài đặt DAQ-2.0.4 cho CentOS 6.6:
cd /usr/local/src/daq-2.0.4 ./configure make make install cd /usr/local/lib ldconfig -v /usr/local/lib
Bước 4: Cấu hình, biên dịch và cài đặt SNORT 2.9.7.2 cho CentOS 6.6:
cd /usr/local/src/snort-2.9.7.2 ./configure --enable-sourcefire make make install cd /usr/local/lib ldconfig -v /usr/local/lib
Bước 5: Tạo liên kết cho thư viện libdnet vào các thư mục:
ln -s /usr/local/lib/libdnet.1 /usr/lib/ ln -s /usr/local/lib/libdnet.1 /usr/lib64/
74
Bước 6: Cài đặt bộ luật cho snort: các bộ luật này sẽ ghi đè các bộ luật mặc định ban đầu của snort, tất cả các tập tin cấu hình, bộ luật sẽ nằm trong thư mục /etc/snort/.
cd /etc
mkdir -p snort
cd snort cp /usr/local/src/snort-2.9.7.2/etc/* .
tar -zvxf /usr/local/src/snortrules-snapshot-2972.tar.gz cp ./etc/* .
touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules
Bước 7: Tạo nhóm mới (tên snort) và người dùng mới (tên snort)
groupadd -g 40000 snort
useradd snort -u 40000 -d /var/log/snort -s /sbin/nologin -c SNORT_IDS -g snort cd /etc/snort
chown -R snort:snort *
chown -R snort:snort /var/log/snort
Bước 8: Chỉnh sửa tập tin cài đặt /etc/snort/snort.conf như sau:
var RULE_PATH /etc/snort/rules ipvar HOME_NET 123.30.209.22 ipvar EXTERNAL_NET !$HOME_NET 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/rules
Bước 9: Thay đổi quyền sở hữu (bởi tài khoản “snort” và nhóm “snort”), xác lập quyền truy cập đối với tập tin và thư mục liên quan đến snort và daq
cd /usr/local/src
chown -R snort:snort daq-2.0.4 chmod -R 700 daq-2.0.4
chown -R snort:snort snort-2.9.7.2 chmod -R 700 snort-2.9.7.2
chown -R snort:snort snort_dynamicsrc chmod -R 700 snort_dynamicsrc
75
động trong trong thư mục /usr/local/src/snort-2.9.7.2/rpm/snortd
cd /usr/local/src/snort-2.9.7.2/rpm/snortd cp snortd /etc/init.d/
chmod 755 /etc/init.d/snortd chkconfig snortd on
chkconfig –add /etc/init.d/snortd chkconfig snortd on
Bước 11: Tạo một liên kết mềm của tập tin snort binary đến /usr/sbin/snort, tập tin snort binary nằm ở đường dẫn /usr/local/bin/snort
cd /usr/sbin
ln -s /usr/local/bin/snort snort
- Tạo một tập tin tên snort nằm trong /etc/sysconfig có nội dung:
# /etc/sysconfig/snort #### General Configuration INTERFACE=eth1 CONF=/etc/snort/snort.conf USER=snort GROUP=snort PASS_FIRST=0
#### Logging & Alerting LOGDIR=/var/log/snort ALERTMODE=fast DUMP_APP=1 BINARY_LOG=1 NO_PACKET_LOG=0 PRINT_INTERFACE=0
- Xác lập quyền truy cập đối với tập tin snort vừa tạo ra ở trên
cd /etc/sysconfig chmod -R 700 snort
Bước 13: Tạo thư mục ghi nhật ký và thay đổi quyền sở hữu, xác lập quyền truy cập bởi tài khoản “snort” và nhóm “snort”
76
mkdir snort chmod 700 snort
chown -R snort:snort snort cd /usr/local/lib
chown -R snort:snort snort*
chown -R snort:snort snort_dynamic* chown -R snort:snort pkgconfig chmod -R 700 snort*
chmod -R 700 pkgconfig cd /usr/local/bin
chown -R snort:snort daq-modules-config chown -R snort:snort u2*
chmod -R 700 daq-modules-config chmod 700 u2*
cd /etc
chown -R snort:snort snort chmod -R 700 snort
Bước 14: Kiểm tra trạng thái của snort - Chạy để kiểm thử cấu hình của snort:
cd /usr/local/bin
./snort -T -i eth1 -u snort -g snort -c /etc/snort/snort.conf
- Chạy snort ở chế độ kiểm thử
cd /usr/local/bin
./snort -A fast -b -d -D -i eth1 -u snort -g snort -c /etc/snort/snort.conf -l /var/log/snort
- Kiểm tra snort đang chạy ở chế độ kiểm thử hay không:
ps aux | grep -i "snort"
Kết quả: ở chế độ kiểm thử snort đang chạy
root 5414 0.0 0.0 103316 880 pts/1 s+ 22:25 0:00 grep –i snort
- Khởi động snort
/etc/init.d/snortd start
77
/etc/init.d/snortd status
Kết quả: snort đang chạy
snort (pid 14313) is running...
Bước 15: Kiểm tra hoạt động của snort
Thêm một luật mới như sau vào tập tin bộ luật local.rules của snort nằm trong thư mục /etc/snort/rules/:
alert icmp any any any any (msg:"ICMP test"; classtype:bad-unknown; sid:10000016; rev:1;)
Khởi động lại snort:
/etc/init.d/snortd restart
- Kết quả snort sẽ đưa ra cảnh báo vào tập tin alert nằm trong thư mục /var/log/snort/. Sử dụng lệnh sau để kiểm tra tập tin alert:
tail -f /var/log/snort/alert
Kết quả:
05/07-09:43:54.577430 [**] [1:10000016:1] ICMP test [**] [Classification: Potentially Bad Traffic] [Priority: 2] {ICMP} 123.30.209.22 -> 185.35.62.47