Bước 1: Cài các gói phụ thuộc
yum
install -y wget gcc flex bison zlib zlib-devel libpcap libpcap-devel pcre
pcre-devel tcpdump
Cài
đặt thêm gói libdnet:
Đối
với bản RHEL6 and CentOS-6 32bit:
libdnet-1.11-1.2.el6.rf.i686.rpm
libdnet-devel-1.11-1.2.el6.rf.i686.rpm
Hoặc
dành cho bản RHEL6 and CentOS-6 64bit:
libdnet-1.11-1.2.el6.rf.x86_64.rpm
libdnet-devel-1.11-1.2.el6.rf.x86_64.rpm RHEL6 and CentOS-6 x86 64bit
Download
file binary từ nguồn sau:
http://pkgs.repoforge.org/libdnet/
Hoặc từ http://pkgs.org
Cài
đặt các gói tải về:.
yum install libdnet-1.11-1.2.el6.rf.i686.rpm
yum install
libdnet-devel-1.11-1.2.el6.rf.i686.rpm
Bước 2: Cài đặt daqdownload daq từ trang chủ snort, giải nén
cd /daq
./configure && make && make install
Bước 3. cài đặt snortdownload file mã nguồn từ trang chủ snort, giải nén
cd /snort
./configure --prefix /usr/local/snort && make && make install
Bước 4: Cấu hình
Snort
4.1 Tạo link shortcut cho snortln -s /usr/local/snort/bin/snort /usr/sbin/
4.2 Tạo thư mục ghi
log
mkdir /var/log/snort
4.3 Download cấu hình
cài đặt
Download snortrules-snapshot mới nhất trên trang chủ của Snort (Hoặc từ nguồn được cung cấp trong nội bộ)
Link có dạng như sau:https://www.snort.org/downloads/registered/snortrules-snapshot-2970.tar.gz
Giải nén
tar –xvzf /usr/local/src/snort/snortrules-snapshot-2*
Cấu trúc thư mục:
Etc
Preproc_rules
Rules
So_rules
File cấu hình
Copy toàn bộ file và thư mục trong thư mục /usr/local/src/snort/snortrules-snapshot-2*/etc vừa giải nén vào thư mục /etc/snort trên máy (nếu chưa tồn tại thư mục này thì tạo thêm):
cp /usr/local/src/snort/snortrules-snapshot-2*/etc /etc/snort
4.4 Tạo thư mục Snort_dynamicrules
mkdir /usr/local/snort/lib/snort_dynamicrules
copy toàn bộ thư viện dynamicrules vào thư mục snort_dynamicrules
cp /usr/local/snort/so_rules/precompiled/Centos-5-4/i386/2.9.7.0/*.so /usr/local/snort/snort_dynamicrules/
hoặc
cp /usr/local/snort/so_rules/precompiled/Centos-5-4/x86-64/2.9.7.0/*.so /usr/local/snort/snort_dynamicrules/
Để xác định đúng thư viện phù hợp với máy (bao gồm distro, và version), các
bạn có thể check vớiuname -a
Sau đó vào thư mục /usr/local/snort/so_rules/precompiled/
để tìm đến phiên bản thích hợp với máy của mình (trong trường hợp này thì thư
mục phù hợp với CentOS là Centos-5-4/i386)4.5 Chỉnh sửa cấu hình của file config: /etc/snort/snort.conf
Thiết lập HOME_NET, EXTERNAL NET
ipvar HOME_NET <ipaddr>
<ipaddr>: là địa chỉ mạng sẽ giám sát, có thể thiết lập là các ip rời rạc: 10.0.0.1,10.0.0.2 hoặc cả dải mạng bao gồm subnet: 10.0.0.0/8, hoặc trong khoảng 10.0.0.2-10.0.0.100
EXTERNAL NET không phải là HOME NET
ipvar EXTERNAL_NET !$HOME_NET
var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
# If you are using reputation preprocessor set these
var WHITE_LIST_PATH /etc/snort/rules
var BLACK_LIST_PATH /etc/snort/rules
Cấu hình đường dẫn tới thư viện dynamic preprocessor, preprocessor engine, dynamic rules
# path to dynamic preprocessor libraries
dynamicpreprocessor directory /usr/local/lib/snort_dynamicpreprocessor/
# path to base preprocessor engine
dynamicengine /usr/local/lib/snort_dynamicengine/libsf_engine.so
# path to dynamic rules libraries
dynamicdetection directory /usr/local/lib/snort_dynamicrules
Thiết lập flowbit với giá trị 2048
# Configure maximum number of flowbit references. For more information, see README.flowbits
config flowbits_size: 2048
Bước 5: Rules snort
Copy toàn bộ các rules trong thư mục rules đi kèm trong bộ cài đặt được cung cấp. Nếu có chỉ dẫn khác thì sẽ nhận rules từ nguồn đó.
Bước 6: Test xem snort đã được cấu hình đúng và có thể chạy được chưa
snort -c /usr/local/snort/etc/snort.conf -T
nếu kết quả trả vê như sau:Snort successfully validated the configuration!
Snort exiting
Thì đã thành công.Bước 7. Tạo service cho Snort
Copy file snortd tại đường dẫn: /usr/local/src/snort/snort-2.9.7.0/rpm/snortd
cp /usr/local/src/snort/snort-2.9.7.0/rpm/snortd /etc/init.d
chkconfig --add snortd
Thay thế dòng sau trong file snortd:
/usr/sbin/snort/ bằng /usr/local/bin/snort
Bước 8: Cấu hình trong Sysconfig
Copy file snort.sysconfig vào thư mục /etc/sysconfig
cp /usr/local/src/snort/snort-2.9.7.0/rpm/snort.sysconfig /etc/sysconfig/snort
Cấu hình các interface mà Snort sẽ monitor
Tìm đến dòng INTERFACE=
Và thiết lập giá trị là ALL: INTERFACE=ALL
Cấu hình chế độ ghi alert của Snort
Tìm đến dòng: ALERTMODE=
Thiết lập giá trị là fast: ALERTMODE= fast
Bước 9: Phân quyền
Tạo nhóm snort và group snort:
groupadd -g 40000
snort
useradd snort -u 40000
-d $LOG_SNORT -s /sbin/nologin -c SNORT_IDS -g snort
Thiết lập quyền 700 và chủ sở hữu (owner) là snort, nhóm sở
hữu (group) là snort cho các thư mục: /etc/sysconfig/snort,
/usr/local/bin/daq-modules-config, /var/log/snort, /etc/snort, /usr/local/snort
chown -R snort:snort
/var/log/snort
chmod 700
/var/log/snort
chown -R snort:snort
/usr/local/snort
chmod -R 700
/usr/local/snort
chown snort:snort
/usr/local/bin/daq-modules-config
chmod 700
/usr/local/bin/daq-modules-config
chown -R snort:snort
/etc/snort
chmod -R 700
$ETC_SNORT
chown -R snort:snort
/etc/sysconfig/snort
chmod 700
/etc/sysconfig/snort
Xử lý lỗi
Nếu bị lỗi: "libdnet.1: cannot open shared object file:
No such file or directory"
=> ln -s
/usr/local/lib/libdnet.1.0.1 libdnet.1
Nếu gặp lỗi: snort: error while loading shared libraries:
libsfbpf.so.0: cannot open shared object file: No such file or directory
=>ldconfig
Nếu có lỗi khác thì
cần check lại xem lỗi liên quan đến thư viện nào và cấu hình cho phù hợp.
--- Jukai Helios ---
No comments:
Post a Comment