Tải bản đầy đủ
4 Chạy chương trình Snort

4 Chạy chương trình Snort

Tải bản đầy đủ

62

./snort – dev -1./log –h 192.168.1.0/24
Luật này cho snort biết phải in ra phần mào đầu của gói tin TCP/IP và
lớp liên tiếp dữ liệu cũng như dữ liệu tầng ứng dụng vào thư mục ./log, và các
gói tin được log là liên quan đến mạng 192.168.1.0. Tất cả các gói tin đến sẽ
được ghi vào thư mục con của thư mục log, với tên thư mục dựa trên địa chỉ
của host ở xa. Lưu ý rằng nếu cả hai host cùng trên mạng home thì tên thư
mục sẽ dựa trên host có số hiệu cổng cao hơn. Nếu đang ở trên mạng có tốc
độ cao và muốn log các gói tin dưới dạng nén được nhiều hơn để phân tích
sau, nên log theo mode nhị phân. Mode nhị phân log các gói tin theo dạng
tcpdump đến một file nhị phân trong thư mục log.
Khi hoạt động ở mode nhị phân thì Snort sẽ log tất cả vào một file duy
nhất, không cần phải quy định dạng cấu trúc thư mục đầu ra, không cần phải
chạy trong mode verbose. Do đó, không phải viết các tuỳ chọn –d và -e trong
mode nhị phân toàn bộ gói tin được log. Tất cả việc phải làm chỉ là quy định
thư mục log tại dòng lệnh với tuỳ chọn –l; tuỳ chọn –b chỉ đơn thuần đưa ra
bổ sung để cho biết log gói tin theo kiểu nhị phân, không theo kiểu mặc định
là kiểu ký tự trong bảng mã ASCII.
Khi gói tin đã được log vào file nhị phân, có thể đọc lại file này với các
sniffer hỗ trợ định dạng nhị phân như tepdump hoặc Ethereal. Snort cũng có
thể đọc các gói tin này bằng tuỳ chọn –r. Các gói tin file định dạng tcpdump
có thể được xử lý qua Snort trong bất cứ mode nào. Ví dụ, nếu muốn chạy file
log nhị phân qua Snort dưới dạng mode sniffer để kết xuất các gói tin này lên
màn hình, thử dòng sau:
./snort –dv –r packe.log
Có thể thao tác dữ liệu trong file này theo một số cách qua các mode
logging và intrusion detection của Snort, cũng như BPI interface sẵn có từ
dòng lệnh. Ví dụ, nếu chỉ muốn xem các gói tin ICMP từ fole log, chỉ việc
quy định một BPF filter tại dòng lệnh:

63

./snort –dvr packe.log icmp
3.4.3 Mode Network Inturusion Detection
Để cho phép mode NIDS (do đó không ghi tất cả cá gói tin xuống
đường dây), thử dòng sau:
./snort –dvr -1./log –h 192.168.1.0/24-c Snort.conf
trong đó Snort.conf là tên file luật. Snort sẽ áp dụng tập luật trong file
Snort.conf tới tất cả các gói tin để quyết định hành động. Nếu không quy định
một thư mục đầu ra cho chương trình, nó sẽ mặc định lên màn hình.
Vì lý do tốc độ, tuỳ chọn – v nên được bỏ khỏi dòng lệnh vì các gói tin
có thể bị bỏ qua trong khi dữ liệu màn hình.
Trong hầu hết các ứng dụng thì không cần thiết ghi phần mào đầu lớp
liên kết dữ liệu, do đó không cần có tuỳ chọn –e.
./snort –d –h 192.168.1.0/24 ./log -c Snort.conf
3.4.3.1 Các tùy chọn đầu ra mode NIDS
Có một số cấu hình đầu ra của Snort trong mode NIDS. Cơ chế cảnh
báo và log là để log theo định dạng ASCII và dùng các cảnh báo đầy đủ. Cơ
chế cảnh báo đầy đủ in ra thông điệp cảnh báo ngoài phần mào đầu đầy đủ
của gói tin. Có một số đầu ra cảnh báo khác sẵn sàng tại dòng lệnh.
Các mode cảnh báo phức tạp hơn. Có 6 mode cảnh báo sẵn có tại dòng
lệnh, full, fast, socket, syslog, smb (WinPopup), và none. Bốn trong số những
mode này dùng tuỳ chọn –A. Bốn tuỳ chọn là:
[-A fast] mode cảnh báo nhanh, ghi cảnh báo dưới dạng đơn giản với
một nhãn thời gian, cảnh báo các cổng, các địa chỉ IP nguồn và đích.
Đây cũng là mode cảnh báo mặc định nếu không quy định gì thì nó sẽ
tự động được sử dụng.

64

[-A fullsock] gửi các cảnh báo đến một UNIX socket mà chương trình
khác có thể lắng nghe.
[-A none] tắt cảnh báo
Các gói tin có thể được log đến dạng ASCII hoặc file nhị phân qua tuỳ
chọn dòng lệnh –b. Nếu muốn không cho phép việc log gói tin cùng nhau,
dùng tuỳ chọn dòng lệnh – N.
Để gửi các cảnh báo tới syslog, dùng tuỳ chọn “-s”. Các điều kiện mặc
định cho cơ chế cảnh báo syslog là LOG_AUTHPRIV và LOG_ALERT. Nếu
muốn cấu hình các điều kiện khác cho các đầu ra syslog, dùng các chỉ dẫn
plug-in đầu ra trong các file luật.
Có một cơ chế cảnh báo SMB cho phép Snort gọi đến smb client cùng
Samba và gửi các thông điệp cảnh báo WinPopup đến các máy Windows. Để
dùng mode cảnh báo này, phải cấu hình Snort để dùng nó tại thời điểm cấu
hình với tuỳ chọn –enable-smbalerts
Sau đây là một số ví dụ đầu ra:
Log đến chỗ mặc định và gửi cảnh báo tới syslog:
./snort -c snort.conf –l ./log –h 192.168.1.0/24 -s
Log đến chỗ mặc định trong /var/log/snort và gửi các cảnh báo tới một
file cảnh báo nhanh:
./snort -c snort.conf –A fast –h 192.168.1.0/24
Log đến một file nhị phân và gửi các cảnh báo đến máy trạm Windows
./snort -c snort.conf –b –M WORSTATIONS

65

3.4.3.2 Cấu hình hiệu năng cao
Nếu muốn Snort chạy nhanh, dùng tuỳ chọn –b và -A fast hoặc –s
(syslog). Việc này sẽ log các gói tin trong dạng tepdump và đưa ra các cảnh
báo một cách tối thiểu. Ví dụ:
./snort -b –Afast -c snort. cont
Trong cấu hình này, Snort có thể log đồng thời nhiều cuộc tấn công và
thăm dò trên mạng LAN 100 Mbps chạy tại mức bão hoà xấp xỉ 80 Mbps.
Trong cấu hình này, các log có thể được viết theo dạng nhị phân đến file
snort.log được định dạng nhị phân. Để đọc file này lại và chia nhỏ dữ liệu
theo dạng Snort quen thuộc, chỉ cần chạy lại Snort trong file dữ liệu với tuỳ
chọn –r và những tuỳ chọn khác thường được dùng. Ví dụ:
./snort -d -c snort.conf –1.log –h 192.168.1.0/24 –r snort.log
Khi dòng lệnh này chạy, tất cả dữ liệu sẽ được đặt trong thư mục log
theo dạng thường được mã hoá.
3.4.3.3 Thay đổi trật tự cảnh báo
Theo mặc định, thì các luật Alert được áp dụng đầu tiên, sau đó là các
luật Pass, và cuối cùng là các luật Log, trật tự này có đôi chút phản trực giác
nhưng đây là phương pháp dễ dùng hơn nhiều so với việc người viết hàng
trăm luật alert và sau đó lại không cho phép chúng bằng một luật pass không
chuẩn.
Đối với những người biết họ đang làm gì, tuỳ chọn –o được đưa ra để
thay đổi cách áp dụng luật mặc định trở thành các luật Pass, Alert và cuối
cùng là Log.
3.4.4 Hỗn hợp
Nếu muốn chạy Snort trong mode deamon, có thể thêm –D kếp hợp với
các tùy chọn trên. Lưu ý rằng nếu muốn khởi động lại Snort bằng cách gửi tín

66

hiệu SIGHUP đến deamon, cần phải dùng đường dẫn đầy đủ đến file nhị phân
Snort, ví dụ:
/usr/local/bin/snort –d -h 192.168.1.0/24 -1/
/var/log/snortlogs –c /usr/local/etc/snort.conf –s –D
Đường dẫn tương đối là không được hỗ trợ do vấn đề bảo mật
Nếu muốn gửi các log gói tin đến public mailing list, có thể thử tuỳ
chọn –O. Tuỳ chọn này làm tối các địa chỉ IP trong dữ liệu in gói tin ra. Nếu
không muốn người trên mailing list biết các dịa chỉ IP liên quan, có thể kết
hợp tuỳ chọn –O với –h để làm rối các địa chỉ IP của các host trên mạng
home, ví dụ:
./snort –d –v –r snort.log –o –h 192.168.1.0/24
Dòng lệnh này sẽ đọc các gói tin từ từ một file log và kết xuất chúng
lên màn hình, làm rối chỉ các địa chỉ từ lớp mạng 192.168.1.0/24.

67

3.5 Hình ảnh cài đặt chương trình và một số kết quả
3.5.1 Hình ảnh cài đặt chương trình

Hình 3.3: Load file cấu hình luật

68

Hình 3.4: Khởi tạo dịch vụ