Cài đặt Snort+BASE+MySQL trên Fedora

- Cài đặt hệ điều hành fedora: Đối với Linux server chúng ta chỉ cần cài các phần sau:

+ Các phần mềm về server:
- Server configuration tools: chọn mặc định.
- Web server cần các gói sau:
+ Crypto-Utils
+ Mod_auth_mysql
+ Mod_perl
+ Php
+ php_mysql
+ Webalizer.
- MySQL Database cần các gói sau:
+ mysql-connector-odbc
+ mysql-server
+ mysql-devel
+ Perl-DBD-MySQL
+ Php-mysql

+ Phần mềm phát triển Development:
Develoment tool: chỉ cần cài gói expect và gcc-objc để biên dịch
- Cài đặt các gói cần thiết: để kiểm tra các gói phần mềm đã cài trên máy chưa ta dùng lệnh:
rpm –qa |grep tên-gói-cần-kiểm-tra
Danh sách các gói.

Apache: [ root@uitnetwork.com ~]#rpm -qa | grep http

- httpd-manual-2.2.11-2.fc10.i386

- httpd-tools-2.2.11-2.fc10.i386

- httpunit-1.6.2-2.fc10.noarch

- httpd-2.2.11-2.fc10.i386

- mod_ssl-2.2.11-2.fc10.i386

MySQL: [ root@uitnetwork.com ~]#rpm -qa | grep mysql

- mysql-5.0.77-1.fc10.i386

- mysql-server-5.0.77-1.fc10.i386

- mysql-devel-5.0.77-1.fc10.i386

- mysql-libs-5.0.77-1.fc10.i386

- php-mysql-5.2.6-5.i386

PHP: [ root@uitnetwork.com ~]#rpm -qa | grep php

- php-5.2.6-5.i386

- php-devel-5.2.6-5.i386

- php-mysql-5.2.6-5.i386

- php-pdo-5.2.6-5.i386

- php-ldap-5.2.6-5.i386

- php-common-5.2.6-5.i386

- php-pear-1.7.2-2.fc10.noarch

- php-gd-5.2.6-5.i386

- php-cli-5.2.6-5.i386

Gói nào thiếu các bạn cứ: yum install tên-gói-cần-cài là được.

- Ngoài ra còn cần cài thêm các gói hỗ trợ cho snort như: libpcap (bao gồm hai gói libpcap và libpcap-devel nếu cài từ rpm) khuyến khích cài từ source.

+ Cài libpcap từ source: http://www.tcpdump.org/release/libpcap-1.0.0.tar.gz

[ root@uitnetwork.com ~]# wget http://www.tcpdump.org/release/libpcap-1.0.0.tar.gz

--2009-05-17 16:41:53-- http://www.tcpdump.org/release/libpcap-1.0.0.tar.gz
Resolving www.tcpdump.org... 209.87.252.214
Connecting to www.tcpdump.org|209.87.252.214|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 524273 (512K) [application/x-gzip]
Saving to: `libpcap-1.0.0.tar.gz'

100%[============================================================================>] 524,273 63.0K/s in 8.3s

2009-05-17 16:42:03 (61.7 KB/s) - `libpcap-1.0.0.tar.gz' saved [524273/524273]

[ root@uitnetwork.com ~]#cp libpcap-1.0.0.tar.gz /usr/local/


[root@uitnetwork.com ~]# cd /usr/local/
[root@
uitnetwork.com local]# tar -xvzf libpcap-1.0.0.tar.gz

libpcap-1.0.0/
libpcap-1.0.0/acconfig.h
libpcap-1.0.0/aclocal.m4
libpcap-1.0.0/arcnet.h
libpcap-1.0.0/atmuni31.h
libpcap-1.0.0/bpf/
libpcap-1.0.0/bpf/net/
libpcap-1.0.0/bpf/net/bpf_filter.c
libpcap-1.0.0/bpf_dump.c

......
[root@uitnetwork local]# cd libpcap-1.0.0
[root@uitnetwork libpcap-1.0.0]# ./configure
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
.....
checking whether we have the DAG API... no
checking whether we have Septel API... no
checking for flex... no
checking for bison... no
checking for capable lex... insufficient
configure: error: Your operating system's lex is insufficient to compile
libpcap. flex is a lex replacement that has many advantages, including
being able to compile libpcap. For more information, see
http://www.gnu.org/software/flex/flex.html .
Đoạn màu đỏ cho ta biết là cần phải cài thêm thư viện flex để biên dịch libpcap thành công. ta tiến hành tải flex về và cài đặt theo địa chỉ trên ta được link http://biznetnetworks.dl.sourceforge.net/sourceforge/flex/flex-2.5.35.tar.gz.
[root@uitnetwork ~]# wget http://biznetnetworks.dl.sourceforge.net/sourceforge/flex/flex-2.5.35.tar.gz
--2009-05-18 17:03:53-- http://biznetnetworks.dl.sourceforge.net/sourceforge/flex/flex-2.5.35.tar.gz
Resolving biznetnetworks.dl.sourceforge.net... 203.142.84.220
Connecting to biznetnetworks.dl.sourceforge.net|203.142.84.220|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1456620 (1.4M) [application/x-gzip]
Saving to: `flex-2.5.35.tar.gz'

100%[=====================================================>] 1,456,620 18.1K/s in 76s

2009-05-18 17:06:34 (18.6 KB/s) - `flex-2.5.35.tar.gz' saved [1456620/1456620]
[root@uitnetwork ~]# cp flex-2.5.35.tar.gz /usr/local/
[root@
uitnetwork ~]# cd /usr/local/
[root@uitnetwork local]# tar -xvzf flex-2.5.35.tar.gz

flex-2.5.35/
flex-2.5.35/m4/
flex-2.5.35/m4/gettext.m4
flex-2.5.35/m4/iconv.m4
flex-2.5.35/m4/lib-ld.m4
flex-2.5.35/m4/lib-link.m4
flex-2.5.35/m4/lib-prefix.m4
flex-2.5.35/m4/nls.m4
flex-2.5.35/m4/po.m4

........
[root@uitnetwork local]# cd flex-2.5.35
[root@
uitnetwork flex-2.5.35]# ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
...........
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes

[root@uitnetwork flex-2.5.35]# make && make install
Bây giờ ta quay lại cài libpcap.
[root@uitnetwork libpcap-1.0.0]# cd /usr/local/libpcap-1.0.0
[root@l
uitnetwork libpcap-1.0.0]# ./configure
....
checking for bison... no
configure: WARNING: don't have both flex and bison; reverting to lex/yacc
checking for capable lex... insufficient
configure: error: Your operating system's lex is insufficient to compile
libpcap. flex is a lex replacement that has many advantages, including
being able to compile libpcap. For more information, see
http://www.gnu.org/software/flex/flex.html .

Lại thiếu thư viện BisonLaughing. Ta tìm thì ra link sau:http://ftp.gnu.org/gnu/bison/. Lấy bản mới nhất làhttp://ftp.gnu.org/gnu/bison/bison-2.4.1.tar.gz
[root@uitnetwork local]# wget http://ftp.gnu.org/gnu/bison/bison-2.4.1.tar.gz
--2009-05-18 18:12:18-- http://ftp.gnu.org/gnu/bison/bison-2.4.1.tar.gz
Resolving ftp.gnu.org... 140.186.70.20
Connecting to ftp.gnu.org|140.186.70.20|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2005257 (1.9M) [application/x-tar]
Saving to: `bison-2.4.1.tar.gz'

100%[=====================================================>] 2,005,257 81.0K/s in 31s

2009-05-18 18:12:52 (63.8 KB/s) - `bison-2.4.1.tar.gz' saved [2005257/2005257]

[root@uitnetwork local]# tar -xvzf bison-2.4.1.tar.gz
Tiến hành biên dịch và cài đặt:
[root@uitnetwork local]# cd bison-2.4.1
[root@uitnetwork bison-2.4.1]# ./configure
.....
[root@uitnetwork bison-2.4.1]#make && make install
Bây giờ ta quay lại cài libpcap lần nữa Tongue out.
[root@uitnetwork libpcap-1.0.0]# cd /usr/local/libpcap-1.0.0
[root@l
uitnetwork libpcap-1.0.0]# ./configure
Ok ko có lỗi Wink
[root@uitnetwork libpcap-1.0.0]# make && make install

Cài Đặt và Cấu hình Snort:


Trước khi cài Snort, bạn phải xác định là cài Snort ở chế độ inline hay passive.

o Inline là cài Snort tích hợp với tường lửa để kích hoạt tường lửa khóa hay drop hoặt các hành động khác nhằm ngăn chặn cuộc tấn công mà nó phát hiện.

o Passive thì Snort chỉ phát hiện xâm nhập, nghi log và cảnh báo.

[root@uitnetwork libpcap-1.0.0]# cd /usr/local/
[root@uitnetwork local]# tar -xvzf snort-2.8.4.1.tar.gz
[root@
uitnetwork local]# cd snort-2.8.4.1
[root@
uitnetwork snort-2.8.4.1]#
[root@uitnetwork snort-2.8.4.1]# ./configure
checking for a BSD-compatible install... /usr/bin/install -c
......
./configure: line 24035: pcre-config: command not found
./configure: line 24041: pcre-config: command not found
checking pcre.h usability... no
checking pcre.h presence... no
checking for pcre.h... no

ERROR! Libpcre header not found.
Get it from http://www.pcre.org

[root@uitnetwork snort-2.8.4.1]#
Thiếu gói cài đặt pcre bạn có thể cài từ gói rpm: yum install pcre pcre-devel.Nhưng chúng ta sẽ cài từ Soure cho nó pro Cool. Linkftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.gz.
[root@uitnetwork local]# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.gz
--2009-05-18 18:34:29-- ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.gz
=> `pcre-7.9.tar.gz'
Resolving ftp.csx.cam.ac.uk... 131.111.8.80
Connecting to ftp.csx.cam.ac.uk|131.111.8.80|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /pub/software/programming/pcre ... done.
==> SIZE pcre-7.9.tar.gz ... 1191330
==> PASV ... done. ==> RETR pcre-7.9.tar.gz ... done.
Length: 1191330 (1.1M)

100%[=====================================================>] 1,191,330 14.7K/s in 53s

2009-05-18 18:35:27 (22.0 KB/s) - `pcre-7.9.tar.gz' saved [1191330]


[root@uitnetwork local]# tar -xvzf pcre-7.9.tar.gz
.....
[root@uitnetwork pcre-7.9]# cd pcre-7.9
[root@
uitnetwork pcre-7.9]# ./configure
[root@uitnetwork pcre-7.9]# make && make install
Cài đặt Libnet ftp://64.50.238.52/.1/gentoo/distfiles/libnet-1.1.2.1.tar.gz
[root@uitnetwork local]# cp /root/libnet-1.1.2.1.tar.gz /usr/local/
[root@uitnetwork libnet]# tar -xvzf libnet
-1.1.2.1.tar.gz
[root@uitnetwork libnet]# cd libnet
[root@uitnetwork libnet]# ./configure
[root@uitnetwork libnet]# make
[root@uitnetwork libnet]# make install


Đã cài xong pcre và Libnet giờ ta tiến hành cài đặt snort.
theo như lúc đầu khi viết bài thì chúng ta sẽ cài đặt snort với MySQL nên ta sẽ thêm tuỳ chọn --with-mysql. bạn có thể tuỳ chọn --enable-inline để cài đặt snort làm việc với tường lửa.
[root@uitnetwork local]# cd snort-2.8.4.1
[root@
uitnetwork snort-2.8.4.1]# ./configure --with-mysql --enable-dynamicplugin --enable-inline
Để xem các tuỳ chọn khác khi biên dịch bạn dùng tuỳ chọn --help
[root@uitnetwork snort-2.8.4.1]# ./configure --help
[root@uitnetwork snort-2.8.4.1]#make && make install
Cấu Hình:
Tạo thư mục cho Snort:
[root@localhost base-1.4.2]# mkdir /etc/snort
[root@localhost base-1.4.2]# mkdir /etc/snort/rules

Tạo thư mục cho Snort lưu file log

[root@localhost base-1.4.2]# mkdir /var/log/snort/

Chép các file cần thiết vào thư mục đã được tạo:
[root@uitnetwork snort-2.8.4.1]# cd /usr/local/snort-2.8.4.1/etc/
[root@uitnetwork etc]# cp * /etc/snort/
Tiếp theo cần có các rules cho snort:
[root@uitnetwork ~]# wget http://www.snort.org/pub-bin/downloads.cgi/Download/vrt_os/snortrules-snapshot-2.8.tar.gz
[root@uitnetwork ~]# tar -xzvf snortrules-snapshot-2.8.tar.gz
[root@uitnetwork ~]# cd rules
[root@uitnetwork ~]# cp * /etc/snort/rules/
Tạo một liên kết mềm (symbolic link) của file snort binary đến /usr/sbin/snort, tập tin snort binary nằm ở đường dẫn /usr/local/bin/snort
[root@uitnetwork ~]# ln -s /usr/local/bin/snort /usr/sbin/snort

Tạo một group và user để chạy snort:

[root@uitnetwork ~]# groupadd snort
[root@uitnetwork ~]# useradd -g snort snort

Set quyền sở hữu và cho phép Snort ghi log vào thư mục chứa log

[root@uitnetwork ~]# chown snort:snort /var/log/snort/
[root@uitnetwork ~]# chmod 664 /var/log/snort/alert

Chỉnh lại file cấu hình snort.conf:

Thay đổi các dòng sau:

var RULE_PATH ../rules ---> var RULE_PATH /etc/snor/rules

chỉ ra thư mục chứa các tập luật.

Bỏ dấu # ở đầu dòng và chỉnh sữa lại dòng output database như sau

output database: log,mysql, user=snort password = 123456 dbname=snort host=localhost

// Đặt pass kiểu này dễ chết lắm Laughing

Chi tiết bạn nên xem các phần chú thích kèm theo để cấu hình theo ý mình.

Thiết Lập Snort khởi động cùng hệ thống: Snort cung cấp các scrip để khởi động trong thư mục rpm/ trong thư mục xả nén snort.

[root@uitnetwork ~]# cd /usr/local/snort-2.8.4.1/rpm/
[root@uitnetwork rpm]# cp snortd /etc/init.d/
[root@uitnetwork rpm]# cp snort.sysconfig /etc/sysconfig/snort

File snort bạn có thể chỉnh lại theo yêu cầu của bạn; interface để snort hoạt động trên interface đó mặcđịnh là eth0, ALERTMODE -có thểđể mặc định là fast, BINARY_LOG để mặc định là 1, Hoặc chỉnh trong file cấu hình

Set quyền lại cho file snortd :

[root@uitnetwork ~]# chmod 755 /etc/init.d/snortd
[root@uitnetwork ~]# chkconfig snortd on
[root@uitnetwork ~]# chkconfig --add /etc/init.d/snortd
[root@uitnetwork ~]# chkconfig snortd on

Tạo CSDL snort với MySQL:

Trước tiên ta cần set password cho root trong MySQL.

[root@uitnetwork ~]# mysqladmin -u root password 123456

Đặt pass này cho dễ chết Laughing.

Tạo password cho tài khoản snort.

mysql> use mysql;
mysql> CREATE USER 'snort'@'localhost' IDENTIFIED BY '123456';

mysql> flush privileges;

Tạo CSDL cho snort.

mysql> create database snort;
Query OK, 1 row affected (0.01 sec)
Cấp quyền cho tài khoản snort.
mysql> GRANT CREATE, INSERT, SELECT, DELETE, UPDATE ON snort.* to snort@localhost;
Query OK, 0 rows affected (0.00 sec)
Tạo các bảng: vào thư mục schames mà bạn giải nén snort:
[root@uitnetwork ~]# cd /usr/local/snort-2.8.4.1/schemas/
[root@uitnetwork schemas]# mysql -u root -p <>

Cài đặt BASE:

Web server và PHP đã cài đặt sẵn ta cần cài thêm vài gói pear cho PHP.

[root@uitnetwork ~]# pear install Image_Graph-alpha Image_Canvas-alpha Image_Color Numbers_Roman

Cài đặt ADODB:

Tải ADODB tại: http://nchc.dl.sourceforge.net/sourceforge/adodb/adodb508a.tgz

[root@uitnetwork ~]# wget http://nchc.dl.sourceforge.net/sourceforge/adodb/adodb508a.tgz
[root@uitnetwork ~]# cp adodb508a.tgz /var/www/html/
[root@uitnetwork ~]# cd /var/www/html/
[root@uitnetwork html]# tar -xvzf adodb508a.tgz

Cài BASE:

Tải BASE tại: http://nchc.dl.sourceforge.net/sourceforge/secureideas/base-1.4.2.tar.gz

[root@uitnetwork ~]# wget http://nchc.dl.sourceforge.net/sourceforge/secureideas/base-1.4.2.tar.gz
[root@uitnetwork ~]# cp base-1.4.2.tar.gz /var/www/html/
[root@uitnetwork ~]# cd /var/www/html/
[root@uitnetwork html]# tar -xzvf base-1.4.2.tar.gz
[root@uitnetwork html]# rm -rf base-1.4.2.tar.gz

[root@uitnetwork base-1.4.2]# cp base_conf.php.dist base_conf.php
[root@uitnetwork base-1.4.2]# vi vi base_conf.php
Chỉnh lại thông số ở các dòng sau:

$DBlib_path = '/var/www/html/adodb5';

$DBtype = 'mysql';

$alert_dbname = 'snort';

$alert_host = 'localhost';

$alert_port = '';

$alert_user = 'snort';

$alert_password = '123456';

$archive_exists = 1; # Set this to 1 if you have an archive DB

$archive_dbname = 'snort';

$archive_host = 'localhost';

$archive_port = '';

$archive_user = 'snort';

$archive_password = '123456';

/* Whois query */

$external_whois_link = 'index.php';

/* DNS query */

$external_dns_link = 'index.php';

/* SamSpade "all" query */

$external_all_link = 'index.php';

Sửa lại đường dẫn cho BASE:

[root@uitnetwork html]# mv base-1.4.2/ base/

Mở trình duyệt lên và đánh vào http:// /base ta được trang web như sau:

Click vào Create BASE để tạo cơ sở dữ liệu cho BASE.

Click vào main page để chạy trang chủ của BASE.

Công việc bây giờ là kiểm tra snort có làm việc tốt hay không? Bạn có thể tạo ra vài rules đơn giản để test hoặc tiến hành quét bằng nmap cũng sẽ được ghi nhận vào BASE.

Đây là kết quả khi tiến hành quét cổng với nmap:

Chúc các bạn thành công !

Nguồn: uitnetwork.com

Comments

Popular Posts