Tiểu luận môn học an ninh mạng Cấu hình hệ thống IDS - Pdf 26

Cấu hình hệ thống IDS
Giảng Viên Hướng dẫn : CH . Nguyễn Duy
08520292 Phạm Phú Phúc
08520435 Nguyễn Thành Trung
08520530 Trương Thị Thùy Duyên
08520548 Lê Kim Hùng
Contents
1. Lý thuyết
1.1. Tổng Quan IDS
1.1.1. Khái Niệm
IDS- Intrusion Detection System/ Hệ thống phát hiện xâm phạm
IDS là một hệ thống phòng chống, nhằm phát hiện các hành động tấn công vào một mạng.
Mục đích của nó là phát hiện và ngăn ngừa các hành động phá hoại đối với vấn đề bảo
mật hệ thống, hoặc những hành động trong tiến trình tấn công như sưu tập, quét các cổng.
Một tính năng chính của hệ thống này là cung cấp thông tin nhận biết về những hành
động không bình thường và đưa ra các báo cảnh thông báo cho quản trị viên mạng khóa
các kết nối đang tấn công này. Thêm vào đó công cụ IDS cũng có thể phân biệt giữa
những tấn công bên trong từ bên trong tổ chức (từ chính nhân viên hoặc khách hàng) và
tấn công bên ngoài (tấn công từ hacker).
Các thành phần chính của IDS:
- Trung tâm điều khiển (The Command Console)
- Bộ cảm biến (Network Sensor)
- Bộ phân tích gói tin(Network Trap)
- Thành phần cảnh báo (Alert Notification)
1.1.2. Phân Loại
Cách thông thường nhất để phân loại các hệ thống IDS (cũng như IPS) là dựa vào đặc
điểm của nguồn dữ liệu thu thập được. Trong trường hợp này, các hệ thống IDS được chia
thành các loại sau:
1.1.2.1. Network-based IDS (NIDS)
Hệ thống IDS để bảo vệ cả hệ thống mạng , được sử dụng như một Gateway . Nhiệm
vụ là ngăn chặn và quản lí các gói tin trước khi chúng được chuyển vào hệ thống .

Hạn Chế :
- Thông tin từ HIDS là không đáng tin cậy ngay khi sự tấn công vào host này
thành công.
- Khi hệ điều hành bị "hạ" do tấn công, đồng thời HIDS cũng bị "hạ".
- HIDS phải được thiết lập trên từng host cần giám sát .
- HIDS không có khả năng phát hiện các cuộc dò quét mạng (Nmap, Netcat…).
- HIDS cần tài nguyên trên host để hoạt động.
- HIDS có thể không hiệu quả khi bị DOS.
- Đa số chạy trên hệ điều hành Window. Tuy nhiên cũng đã có 1 số chạy được
trên UNIX và những hệ điều hành khác.
Host IDS – HIDS Network - NIDS
HIDS chỉ quan sát các host , hệ điều
hành, hoạt động của ứng dụng
(thường làm những công việc như
NIDS nhìn toàn cảnh luồng dữ liệu trên mạng
(NIDS thường được coi như là sniffer)
phân tích log, kiểm tra tính toàn
vẹn…)
Chỉ phát hiện những cuộc tấn công đã
thành công.
NIDS phát hiện những cuộc tấn công tiềm
năng.
Hoạt động hiệu quả trong những môi
trường chuyển mạch, mã hóa, tốc độ
cao.
Rất khó hoạt động trong những môi trường
này.
1.1.3. Phương pháp phát hiện xâm nhập
Các hệ thống IDS thường sử dụng 2 phương pháp để phát hiện xâm nhập sau:
- Phát hiện dựa trên các dấu hiệu (Misuse Detection Model): Hệ thống sẽ phát hiện các

kiến trúc Sparc-Solaric, MacOS X và MkLinux, và PA-RISC HP UX.
1.2.1.3. Tổng quan về cách thức hoạt động :
Snort có thể sử dụng với một số cơ chế:
- Sniffer mode: là chế độ cho phép bạn có thể theo dõi và đọc các luồng
dữ iệu ra vào hệ thống mạng được hiển thị trên màn hình điều khiển.
- Packet Logger mode: cho phép ghi các logs dữ liệu vào đĩa lưu trữ.
- Network Intrusion Detection System (NIDS) mode: là cơ chế được cấu hình
phức tạp nhất, cho phép Snort phân tích các luồng dữ liệu, trong đó kiểm
soát cho (hay không) cho phép các dữ liệu ra vào hệ thống mạng dựa
vào các bộ qui tắc được định nghĩa bởi người quản trị, đồng thời thực hiện một
vài hành động dựa vào những gì mà Snort nhìn thấy.
- Inline mode: các gói tin thu từ iptables thay vì libpcap, sau đó iptables thực hiện
hành động hủy hay cho phép các gói tin đi qua dựa trên những qui tắc được qui
định và sử dụng bởi Snort.
1.2.2. Kiến Trúc Snort
Snort bao gồm nhiều thành phần, những thành phần có một chức năng riêng biệt, chúng
động cùng nhau để phát hiện ra các cuộc tấn công cụ thể vào hệ thống để từ đó đưa ra các
cảnh báo. Hệ thống IDS dựa trên snort gồm những thành phần sau đây:
• Module giải mã gói tin (Packet Decoder)
• Module tiền xử lý (Preprocessors)
• Module phát hiện (Detection Engine)
• Module log và cảnh báo (Logging and Alerting System)
• Module kết xuất thông tin (Output Module)
Kiến trúc snort được mô tả như hình dưới đây :
Hình 3 : Kiến trúc của snort
Khi Snort hoạt động nó sẽ thực hiện việc lắng nghe và thu bắt tất cả các gói tin nào di
chuyển qua nó. Các gói tin sau khi bị bắt được đưa vào Module Giải mã gói tin. Tiếp theo
gói tin sẽ được đưa vào Module Tiền xử lý, rồi Module Phát hiện. Tại đây tùy theo việc
có phát hiện được xâm nhập hay không mà gói tin có thể được bỏ qua để lưu thông tiếp
hoặc được đưa vào Module Log và cảnh báo để xử lý. Khi các cảnh báo được xác định

Một vấn đề quan trọng được đặt ra ở đây là thời gian thực thi, xử lý các gói tin, việc
này sẽ ảnh hưởng lớn đến lưu thông của hệ thống mạng. Vấn đề này sẽ phụ thuộc
vào các yếu tố sau :
- Số lượng các luật
- Sức mạnh của hệ thống máy mà Snort đang chạy
- Tốc độ của bus hệ thống
- Lưu lượng trên mạng.
Detection Engine có thể phân chia gói tin và áp dụng rule cho các phần khác nhau
của gói tin. Các phần đó có thể là:
- Phần IP header của gói tin
- Phần header của tần transport: Đây là phần tiêu đề bao gồm TCP, UDP hoặc các
header của tầng transport khác. Nó cũng có thể làm việc với header của ICMP.
- Phần header của các lớp ứng dụng: Bao gồm header của lớp ứng dụng,
nhưng không giới hạn, DNS header, FTP header, SNMP header, và SMTP
header.
- Packet payload: Có nghĩa là có thể tạo ra rule được sử dụng bởi detection
engine để tìm kiếm một chuỗi bên trong dữ liệu của gói tin.
1.2.2.4. Module log và cảnh báo (Logging and Alerting System)
Khi bộ phận detection engine phát hiện ra các dấu hiệu tấn công thì nó
sẽ thông báo cho bộ phận Logging and Alerting System. Các ghi nhận, thông
báo có thể được lưu dưới dạng văn bản hoặc một số định dạng khác. Mặc định thì
chúng được lưu tại thư mục ./var/log/snort.
1.2.2.5. Module kết xuất thông tin (Output Module)
Môđun này có thể thực hiện các thao tác khác nhau tùy theo việc bạn muốn lưu
kết quả xuất ra như thế nào. Tùy theo việc cấu hình hệ thống mà nó có thể thực hiện
các công việc như là:
- Ghi log file
- Ghi syslog: syslog và một chuẩn lưu trữ các file log được sử dụng rất nhiều trên
các hệ thống Unix, Linux.
- Ghi cảnh báo vào cơ sở dữ liệu.

Khi muốn ghi lại các gói dữ liệu vào đĩa, bạn cần phải chỉ định một thư
mục log và thêm khóa –l, Snort sẽ tự động biết để đi vào chế độ packet logger:
./snort -dev -l file./log
Tất nhiên, điều này giả định bạn có một thư mục với tên log trong thư mục hiện
hành. Thư mục mặc định trong Snort là /var/log/snort. Khi Snort chạy trong
chế độ này, nó thu thập tất cả các gói nó thấy và đặt nó vào một thư mục hệ thống
phân cấp dựa trên địa chỉ IP của một trong những máy chủ trong các gói dữ liệu. Nói
cách khác,một thư mục mới được tạo ra cho mỗi địa chỉ được capture và dữ liệu
liên quan đến địa chỉ này được lưu trong thư mục đó. Snort lưu các gói tin thành các
file ASCII, với tên file được tạo ra từ tên giao thức và số của cổng kết nối.
1.2.3.3. NIDS Mode
Snort thường được sử dụng như một NIDS. Nó nhẹ, nhanh chóng, hiệu quả và sử
dụng các rule để áp dụng lên gói tin. Khi phát hiện có dấu hiệu tấn công ở trong gói
tin thì nó sẽ ghi lại và tạo thông báo. Khi dùng ở chế độ này phải khai báo file cấu
hình cho Snort hoạt động. Thông tin về thông báo khi hoạt động ở chế độ này:
- Fast mode: Date and time, Alert message, Source and destination IP address,
Source and destination ports, Type of packet
- Full mode: Gồm các thông tin như chế độ fast mode và thêm một số thôngtin
sau: TTL value, TOS value, Length of packet header, length of packet,Type of
packet, Code of packet, ID of packet, Sequence number.
1.2.3.4. Inline Mode
1.2.4. Rules
Thông thường các tấn công hay xâm nhập đều để lại dấu hiệu riêng. Các thông tin này
được sử dụng để tạo nên các rule của Snort, Snort sẽ dựa vào các tập rule này để phát hiện
tấn công.Các rule thường được lưu trữ trong file snort.conf. Có thể sử dụng nhiều file
bằng cách thêm đường dẫn đến các file rule này vào file cấu hình chính.
Mỗi rule được viết trên một dòng.Một rule có thể phát hiện nhiều loại xâm nhập, tạo nên
một thông điệp cảnh báo, log một thông điệp hay có thể bỏ qua một gói tin. Các rule có
thể được áp dụng cho tất cả các phần khác nhau của gói tin.
Rule của snort được chia thành hai phần:

- Activate: tạo cảnh báo và kích hoạt một luật khác kiểm tra thêm các điều kiện
- Dynamic: đây là luật được gọi bởi các luật khác có hành động là Activate
Ngoài ra khi chạy chế độ snort inline ta sẽ có thêm các tùy chọn sau :
- drop: cho phép iptables bỏ qua packet này và log lại packet vừa bỏ qua.
- reject: cho phép iptables bỏ qua packet này, log lại packet, đồng thời gửi thông báo từ
chối đến máy nguồn.
- sdrop: cho phép iptables bỏ qua packet này nhưng không log lại packet, cũng không
thông báo đến máy nguồn.
b. Protocol :
Chỉ ra loại gói tin mà luật sẽ áp dụng, Hiện nay Snort chỉ hỗ trợ bốn giao thức sau:
TCP, UDP, ICMP, IP. Trong tương lai có thể hỗ trợ thêm các giao thức khác như: ARP,
IGRP, GRE, OSPF, RIP…
c. Address :
Có địa chỉ nguồn và địa chỉ đích. Địa chỉ có thể là 1 địa chỉ IP đơn hoặc địa chỉ của một
mạng. Ta dùng từ any để áp luật cho tất cả các địa chỉ.
Ví dụ : alert tcp any any -> 192.168.1.10/32 80 (msg: “TTL=100”; ttl: 100;)
Luật trên sẽ tạo ra một cảnh báo đối với tất cả các gói tin từ bất kì nguồn nào có TTL =
100 đi đến địa chỉ 192.168.1.10 tại cổng 80.
d. Ngăn chặn địa chỉ hay loại trừ địa chỉ:
Sử dụng dấu (!) ở trước sẽ chỉ cho Snort không kiểm tra gói tin đến hoặc đi từ địa chỉ
đó
Ví dụ :alert icmp ![192.168.1.0/24] any -> any any (msg: “Ping with TTL=100”; ttl:
100;)
luật sau sẽ áp dụng cho tất cả các gói tin ngoại trừ các gói có nguồn xuất phát từ mạng lớp
192.168.2.0/24
e. Danh sách địa chỉ :
Ta có thể định rõ ra danh sách các địa chỉ trong một luật của Snort.
Ví dụ : alert icmp ![192.168.2.0/24, 192.168.8.0/24] any -> any any (msg:“Ping with
TTL=100”; ttl: 100;)
Cảnh báo tất cả các gói tin trừ các gói xuất phát từ hai mạng lớp 192.168.2.0/24 và

- reference: Là từ khóa cho phép tham chiếu đến các hệ thống phát hiện các kiểu tấn
công ở bên ngoài. Nó không đóng một vai trò quan trọng nào trong cơ chế phát hiện. Có
nhiều hệ thống tham khảo như CVE và Brugtraq những hệ thống này giữ thông tin về các
kiểu tấn công đã được biết.
Định dạng: reference: <id system>, <id>;
Ví dụ : alert tcp any any -> any 21 (msg:"IDS287/ftp-wuftp260-venglin-linux";
flags:AP; content:"|31c031db 31c9b046 cd80 31c031db|"; reference:arachnids,
IDS287; reference:bugtraq,1387; reference:cve,CAN-2000-1574;)
- gid: Là từ khóa dùng để xác định bộ phận nào của snort sẽ tạo ra sự kiện khi thực thi,
nó giúp cho quá trình giải mã của preprocessor. Nếu không được định nghĩa trong
rule nó sẽ lấy giá trị là 1. Để tránh xung đột với các rule mặc định của snort, khuyến cáo
lấy giá trị lớn hơn 1.000.000. Từ khóa gid được sử dụng với từ khóa sid.
Định dạng: gid: <generator id>;
Ví dụ : alert tcp any any -> any 80 (content:"BOB"; gid:1000001; sid:1; rev:1;)
- Sid : Là từ khóa duy nhất để xác định snort rule, nó cho phép các thành phần
output xác định các rule dễ dàng hơn. Option này nên dùng với từ khóa dev.
Định dạng: sid: <snort rules id>;
+ id <100: Dự trữ cho tương lai.
+ 100<id<1.000.000: Xác định rule đi kèm theo bảng phân phối.
+ id>1.000.000: Do người viết rule tự định nghĩa.
Ví dụ: alert tcp any any -> any 80 (content:"BOB"; sid:1000983; rev:1;)
- rev: Từ khóa để chỉ ra số revision của rule. Nếu rule được cập nhật, thì từ khóa này
được sử dụng để phân biệt giữa các phiên bản. Các module output cũng có thể sử dụng từ
khóa này để nhận dạng số revision. Option này nên dùng với từ khóa dev.
Định dạng : rev: <revison integer>;
Ví dụ: alert tcp any any -> any 80 (content:"BOB"; sid:1000983; rev:1;)
- Classtype : Classtype là từ khóa sử dụng để phân loại rule phát hiện tấn công khác
nhau.
Định dạng: classtype: <class name>;
Ví dụ: alert tcp any any -> any 80 (msg:"EXPLOIT ntpdx overflow"; dsize: >128;

High
High
High
High
High
Medium
Medium
Medium
Medium
Low
Low
- priority : Đây là từ khóa chỉ độ ưu tiên cho rule, từ khóa classtype chỉ ra độ ưu
tiên mặc định. Tuy nhiên nếu ta thiết lập thêm giá trị này nó có thể ghi đè lên giá trị mặc
định đó.
Định dạng: priority: <priority interger>;
Ví dụ: alert TCP any any -> any 80 (msg: "WEB-MISC phf attempt"; flags:A+;
content: "/cgi-bin/phf"; priority:10;)
- metadata: Cho phép người dùng nhúng thêm thông tin về rule.
Định dạng:
Metadata : key1 value1
Metadata : key1 value1, key2value2
Ví dụ: alert tcp any any -> any 80 (msg: "Shared Library Rule Example";
metadata:engine shared, soid 3|12345;)
b. Payload Detection Rule Options
Tìm kiếm thông tin trong phần payload của packet. Phần này gồm các từ khóa
như: content, nocase, rawbytes, depth, offset, distance, within, http client body, http
cookie, http header, http method, http uri, fast pattern, uricontent, urilent, isdataat,
pcre, byte test, byte jump, ftpbuonce, asn1, cvs.
- content Content là từ khóa điểm quan trọng trong Snort, nó cho phép người
dùng thiết lập các rule nhằm tìm ra nội dung đặc biệt trong gói tin. Việc lựa chọn dữ liệu

window, itype, icode, icmp id, icmp seq, rpc, ip proto, sameip, stream size.
- ttl : Là từ khóa được sử dụng để kiểm tra trường TTL (time to live) trong phần
header ip của gói tin. Từ khóa này có thể sử dụng với tất cả các giao thức xây dựng trên
IP như ICMP, UDP và TCP. Sử dụng từ khóa ttl để kiểm tra ai đó đang cố gắng traceroute
hệ thống mạng.
- tos : Đây là từ khóa được sử dụng để phát hiện một giá trị cụ thể trong trường
TOS (Type of service) của IP Header.
Định dạng: tos: [!] <number>;
- id : id là từ khóa được sử dụng để kiểm tra trường ID của header gói tin IP. Mục đích
của nó là phát hiện các cách tấn công một số ID cố định.
Định dạng: id: <number>;
- dsize dsize là từ khóa được sử dụng để tìm chiều dài một phần dữ liệu của gói tin.
Nhiều cách tấn công sử dụng lỗ hổng tràn bộ đệm bằng cách gửi gói tin có kích
thướt lớn. Sử dụng từ khóa này để tìm thấy gói tin có chiều dài dữ liệu lớn hoặc nhỏ hơn
một số xác định.
Định dạng: dsize : [<>] <number> [<><number>];
- flags : flags là từ khóa được sử dụng để tìm ra bit flag nào được thiết lập trong
header TCP của gói tin. Các bit sau có thể được kiểm tra: F- FIN, S-SYN, R-RST, P-PSH,
A-ACK ,U-URG, 1- Reserved bit 1, 2- Reserved bit 2, 0- No TCP flags set
Một số tùy chọn khác được sử dụng
+ Phù hợp với một hoặc nhiều bit được chỉ ra.
* Phù hợp với bất kì bit nào được thiết lập
! Phù hợp với các bit không được thiết lập.
Định dạng: flags:[!|*|+]<FSRPAU120>[,<FSRPAU120>];
Ví dụ: alert tcp any any -> any any (flags:SF,12;)
c. Post-Detection Rule Options
Xảy ra khi một rule được kích hoạt, gồm các từ khóa: logto, session, resp, react,
tag, activated by, count.
1.2.4.3 Một số rule ví dụ đơn giản:
Log tất cả các traffic đang cố kết nối tới port telnet:

cùng lúc. Phương pháp này bị coi là "bẩn thỉu" nhưng đem lại hiệu quả tức thì: website bị
tê liệt kéo dài cho tới khi cuộc tấn công chấm dứt.
Bản chất của DDoS là không thể khống chế mà chỉ có giảm giảm bớt cường độ tấn công.
Việc phát hiện kịp thời có thể giúp phần nào ngăn ngừa rất nhiều cuộc tấn công từ chối dịch
vụ. Ví dụ khi đang bị tấn công, chủ website có thể mở rộng băng thông dù đây là giải pháp
rất tốn kém.
Dưới đây là ví dụ mẫu:
alert tcp $EXTERNAL_NET any -> $HOME_NET 27665
(msg: “DDOS Trin00 Attacker to Master default startup
password”);flow: established,to_server;
content:“Betaalmostdone”;reference:arachnids,197;
classtype:attempted-dos;sid: 233, rev: 3;)
b. Kiểm tra rule Backdoor:
Trên máy chủ thường có các cổng dịch vụ chính thức, được xem là "cổng chính". Khi một
máy chủ nào đó đã bị thâm nhập và đã đoạt được chủ quyền, kẻ tấn công cài vào máy chủ
một dịch vụ nào đó để tạo "cổng sau" nhằm mục đích để trở lại máy chủ này một cách dễ
dàng và kín đáo khi nào cần.
Khi thiết lập rule này, ta có thể phát hiện khi backdoor được cài vào hệ thống. Dưới đây là
ví dụ mẫu cho rule để phát hiện backdoor:
alert tcp $HOME_NET 12345:123456 -> $EXTERNAL_NET any
(msg: “BACKDOOR netbus active”);
flow: from_server,established; content “NetBus”;
reference:arachnids,401; classtype:misc-activity;
sid: 109, rev: 5;)
c. Kiểm tra rule khi bị Web attack:
Một trong những phương thức tấn công phát triển nhanh nhất là tấn công trên các dịch vụ
web. Từ khi các dịch vụ web bùng nổ, chúng đã trở thành mục tiêu tấn công cho các hacker
từ nghiệp dư cho đến chuyên nghiệp. Do đó, Snort cũng có nhiều rule được thiết kế để
kiểm tra các cuộc tấn công web.
alert tcp $EXTERNAL_NET 12345:123456 -> $EXTERNAL_NET any

1.3.1. Giới thiệu
Snort-inline là một nhánh phát triển của Snort do William Metcalf khởi xướng và lãnh
đạo. Đến phiên bản 2.3.0 RC1 của Snort, inline-mode đã được tích hợp vào bản chính
thức do snort.org phát hành. Sự kiện này đã biến Snort từ một IDS thuần túy trở thành
một hệ thống có các khả năng của một IPS, mặc dù chế độ này vẫn chỉ là tùy chọn chứ
không phải mặc định.
Ý tưởng chính của inline-mode là kết hợp khả năng ngăn chặn của iptables vào bên trong
snort. Điều này được thực hiện bằng cách thay đổi môđun phát hiện và môđun xử lý cho
phép snort tương tác với iptables. Cụ thể, việc chặn bắt các gói tin trong Snort được thực
hiện thông qua Netfilter và thư viện libpcap sẽ được thay thế bằng việc sử dụng ipqueue
và thư viện libipq. Hành động ngăn chặn của snort-inline sẽ được thực hiện bằng devel-
mode của iptables.
1.3.2. Iptables
Iptables là một ứng dụng tường lửa lọc gói dữ liệu rất mạnh, miễn phí và có sẵn trên hệ
điều hành linux (kernel 2.4 trở đi).
Netfilter/iptables gồm có 2 phần chính. Netfilter ở trong nhân và iptables nằm
ngoài nhân. Iptables chịu trách nhiệm giao tiếp với người sử dụng và netfilter để đẩy các
luật của người dùng vào cho netfilter xử lý. Netfilter tiến hành lọc các gói dữ liệu
ở mức IP. Netfilter làm việc trực tiếp trong nhân, nhanh và không làm giảm tốc độ
của hệ thống.
Hình 5 : Ứng dụng IPtables
Tiền thân của iptables là ipchain (kernel 2.2) và một trong những điểm cải
tiến quan trọng của iptables là stateful packet filtering.
Iptables còn cung cấp các tính năng như NAT (Network Address Tranlation)
và rate limit rất hữu hiệu khi chống DoS.
Cấu trúc của Iptables:
Iptables được chia làm 4 bảng (tables):
- Bảng filter dùng để lọc gói dữ liệu.
- Bảng NAT dùng để thao tác với các gói dữ liệu được NAT nguồn hay NAT
đích.

ngoài hoàn toàn trong suốt qua router.
Cơ chế xử lý gói tin:
Tất cả mọi gói dữ liệu đều được kiểm tra bởi iptables bằng cách dùng các bảng
tuần tự xây dựng sẵn (queue). Có 3 loại bảng này gồm :
- Mangle table: chịu trách nhiệm biến đổi quality of service bits trong TCP
header. Thông thường loại table này được ứng dụng trong SOHO (Small
Office/Home Office).
- Filter queue: chịu trách nhiệm thiết lập bộ lọc packet (packet filtering), có
ba loại built-in chains được mô tả để thực hiện các chính sách về firewall
(firewall policy rules).
o Forward chain: Cho phép packet nguồn chuyển qua firewall.
o Input chain: Cho phép những gói tin đi vào từ firewall.
o Output chain: Cho phép những gói tin đi ra từ firewall.
NAT queue: thực thi chức năng NAT (Network Address Translation), cung
cấp hai loại built-in chains sau đây:
- Re-routing chain: NAT từ ngoài vào trong nội bộ. Quá trình NAT sẽ thực
hiện trước khi thực thi cơ chế routing. Điều này thuận lợi cho việc đổi
địa chỉ đích để địa chỉ tương thích với bảng định tuyến của firewall, khi cấu hình
ta có thể dùng khóa DNAT để mô tả kỹ thuật này.
- Post-routingchain: NAT từ trong ra ngoài. Quá trình NAT sẽ thực hiện sau khi
thực hiện cơ chế định tuyến. Quá trình này nhằm thay đổi địa chỉ nguồn của gói
tin. Kỹ thuật này được gọi là NAT one-to-one hoặc many-to-one, được gọi
là Source NAT hay SNAT.
Target
Target là hành động sẽ diễn ra khi một gói dữ liệu được kiểm tra và phù hợp với một yêu
cầu nào đó. Khi một target đã được nhận dạng , gói dữ liệu cần nhảy để thực hiện các xử
lý tiếp theo : ACCEPT, DROP, LOG, REJECT, DNAT, SNAT, MASQUERADE.
1.3.3. Snort-inline và Iptables
Netfilter là một module của kernel linux có sẵn ở các phiên bản kernel 2.4 trở đi.
Nó cung cấp 3 chức năng chính:

không ghi lại bất cử thông tin gì.
Trình tự ưu tiên của các luật
Trong các phiên bản gốc, trình tự ưu tiên của các hành động trong Snort là :
activation->dynamic-> alert->pass->log
Trong inline-mode, trình tự ưu tiên này được thay đổi như sau :
activation->dynamic->pass->drop->sdrop->reject->alert->log
2. Mô hình triển khai
Hình 7 : Mô hình demo
Mô hình triển khai:
- Gồm 2 máy tính được nối trực tiếp với nhau, trên máy thứ nhất có địa chỉ ip
192.168.0.211 chạy Windows 7 và máy thức 2 chạy hệ điều hành CentOS
- Máy win7 được dùng để ping tới máy chạy CentOS
- Trên máy CentOS được cài chương trình Snort_Inline qua đó ta có thể đưa ra
cảnh báo hoặc cấm ping từ máy win7.
Các bước triển khai :
Trên máy Win7 chạy lệnh: Ping 192.168.0.105 -t
Trên máy CenOS:
- Cấu hình ICMP.rules với dòng lệnh sau:
Alert ICMP any any -> 192.168.0.105/24 any (msg:”Ping”, sid:1000001;)
- Chạy snort_inline với dòng lệnh:
Snort_inline –c /etc/snort_inline/snort_inline.conf –I eth0
- Mở http://localhost/base chúng ta sẽ thấy được những thông báo với msg là
“Ping”
Hình 8 : Thông báo phát hiện ping từ máy win 7
- Tương tự ta tạo ra rules.rules với dòng lệnh sau:
Drop ICMP any any -> 192.168.0.105/24 any (msg:”Snort_inline blocking”,
sid:1000001;)
- Chạy snort_inline với dòng lệnh:
Snort_inline –c /etc/snort_inline/snort_inline.conf –I eth0
- Lúc này tại máy Win7 sẽ không ping thấy và ta nhận được thông báo trong


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status