Công Nghệ Thông Tin và Internet ngày nay đã mang lại cho chúng ta nhiều tiến bộ trong quá trình phát triển. Máy tính không những giúp xử lý dữ liệu, thiết kế sản phẩm, quản lý khách hàng v.v mà còn đem lại những giây phút thư giản bằng nhiều chương trình tiện ích khác. Và chắc chắn máy tính cùng những ứng dụng của nó sẽ còn đem đến cho chúng ta nhiều lợi ích, niềm vui trong cuộc sống.
Download Video Guide:
http://giaiphapantoan.com/downloads/attt/snort install.rar
http://giaiphapantoan.com/downloads/attt/snortconfig_and_capturepacket.rar
RoYa Video Guide :
http://giaiphapantoan.com/downloads/attt/RoYa.rar
Tuy nhiên bên cạnh sự phát triển nhanh chóng và những khả năng mạnh mẽ thì những vấn đề của hệ thống thông tin cũng làm cho chúng ta nhức đầu cũng không phải là ít, trong đó hai vấn đề nhạy cảm an tòan thông tin và bản quyền phần mềm khiến chúng ta quan tâm nhiều hơn cả, đặc biệt là khi Việt trở thành thành viên thứ 150 của tổ chức thương mại quốc tế WTO bởi vì khi đó chúng ta phải tuân thủ nghiêm ngặt “luật chơi” trong một môi trường đầy tiềm năng, cơ hội nhưng cũng lắm rũi ro nếu như chúng ta không tuân thủ nghiêm ngặt các quy định như luật sở hữu trí tuệ, bản quyền phần mềm. Bên cạnh đó, cần phải tăng cường khả năng an toàn thông tin để khỏi bị mất mát dữ liệu do các lổ hổng bảo mật hay bị hacker, virus, trojan tấn công.
Một trong những giải pháp có thể đáp ứng tốt nhất cho vấn đề này là triển khai hệ thống dò tìm xâm nhập trái phép - Instruction Detect System (IDS). Với IDS các nhà Quản trị mạng hay Chuyên gia bảo mật hệ thống sẽ nâng cao hơn khả năng an tòan thông tin cho mạng máy tính của mình, biết được khi nào hệ thống đang bị tấn công hay có kẻ xấu đang tiến hành các họat động khả nghi để đưa ra được giải pháp hiệu quả, nhanh chóng.
Có hai yêu cầu chính khi triển khai một IDS đó là chi phí cùng với khả năng đáp ứng linh họat của nó trước sự phát triển nhanh chóng của công nghệ thông tin và SNORT có thể đáp ứng rất tốt cả hai yêu cầu này. Đó là một phần mềm mà ta có thể tải về và sử dụng miễn phí theo các qui tắc GPL, cho nên yếu tố về chi phí hòan tòan có thể yên tâm. Ngòai ra SNORT còn là một sản phẩm mã nguồn mở và có một cộng đồng phát triển đông đảo được quản lí chặt chẽ cho nên khi có những dạng xâm nhập mới được phát hiện thì ngay lập tức được các nhà phát triển cảnh báo và cập nhật Snort Rules một cách nhanh chóng và các doanh nghiệp có thể thay đổi mã nguồn cho phù hợp với yêu cầu của mình. Vì vậy SNORT là phần mềm IDS mạnh mẽ và được yêu thích nhất hiện nay trên thế giới trong vấn đề phát hiện xâm nhập.
Snort có 4 chế độ họat dộng khác nhau đó là:
• Sniffer mode: ở chế độcnày snort sẽ lắng nghe và đọc các gói tin trên mạng sau đó sẽ trình bày kết quả trên giao diện hiển thị.
• Packet Logger mode : lưu trữ các gói tin trong các tập tin log.
• Network instruction detect system (NIDS) : đây là chế dộ họat động mạnh mẽ và được áp dụng nhiều nhất, khi họat động ở NIDS mode Snort sẽ phân tích các gói tin luân chuyển trên mạng và so sánh với các thông tin được định nghĩa của người dùng để từ đó có những hành động tương ứng như thông báo cho quản trị mạng khi xảy ra tình huống quét lỗi do các hacker /attacker tiến hành hay cảnh báo virus..
• Inline mode: khi triển khai snort trên linux thì chúng ta có thể cấu hình snort để phân tích các gói tin từ iptables thay vì libpcap do đó iptable có thể drop hoặc pass các gói tin theo snort rule.
I - CÀI ĐẶT SNORT NIDS TRÊN WINDOWS 2K/XP/2K3
• Download Snort:
Download Snort ở trang web www.Snort.org hay giaiphapantoan.com/downloads/ids
Trang chủ www.snort.org
Phiên bản mới nhất khi chúng tôi biên sọan bài này là Snort.2.6.1.2. Hãy chọn thư mục binaries/ và thư mục tương ứng chứa Snort trên hệ điều hành windows hay linux. Ở đây chúng ta triển khai Snort trên hệ thống Windows nên sẽ chọn win32/
Sau đó hãy trở ra trang chủ và chọn RULES => DOWNLOAD RULES và tải về tập các quy tắc (rule) mới nhất.
Các bạn có thể download Snort Source và Snort Rule tại http://www.giaiphapantoan.com/downlaods/ids
Download Snort Rule
Bây giờ chúng ta đã có thể tiến hành cài đặt Snort trên hệ thống Windows Server 2k3 hay Windows XP Pro của mình (cài trên máy thật). Các bạn có thể log in GiaiPhapAnToan.Com để Download Video Demo Cài Đặt Và Ứng Dụng Snort Network IDS
Trang chủ WwW.GiaiPhapAnToan.Com
2. Cài Đặt Snort:
Snort dùng một card mạng ở chế độ promocous mode để lưu giữ các gói tin trước khi phân tích chúng cho nên tốt nhất là các máy tính chạy Snort nên đặt ở các colision domain hay trên các máy chủ tập tung các truyền thông trên mạng như router hay gateway hoặc kết nối vào các cổng SPAN của Switch , bạn có thể đặt Snort trước hoặc sau một hệ thống firewall tùy yêu cầu bảo mật của tổ chức. Và nếu hệ thống mạng có nhiều phân đọan mạng thì mỗi subnet (lớp mạng con) phải có một máy chủ Snort được cài đặt, không như các sản phẩm thương mại khác ngòai tính năng chi phí bản quyền cao thì thường đòi hỏi cấu hình phần cứng mạn, với Snort bạn có thể, vâng có thể cài đặt và cấu hình trên x386 computer, tuy nhiên ta cần có đĩa cứng có đủ không gian trống để lưu trữ các packet được bắt giữ, và với công nghệ lưu trữ hiện nay thì điều nầy không phải là một vấn đề.
Snort họat động như một network sniffer lắng nghe và lưu giữ các packet trên mạng sau đó so sánh các nội dung (payload) hoặc header của chúng với một tập các qui tắc đã được định nghĩa gọi là các Snort rule và khi một sự trùng khớp giữa rule và các packet thì những hành động của rule sẽ được tiến hành tùy theo định nghĩa. Một điểm thuận lợi là các rule này luôn được cập nhật nhanh chóng bởi cộng đồng phát triển cho nên khả năng đáp ứng của Snort trước các dạng tấn công hiện đại rất cao.
Snort sử dụng ba thành phần sau để tiến hành công việc của mình:
• Packet decoder : phân tích gói tin, kể cả IP Header và Data Payload
• Detect engineer : dò tìm các dâu hiệu khả nghi theo tập hợp các quy tắc.
• Logging và alert system : lưu giữ và cảnh báo.
Ba thành phần này dùng libcap để lưu giữ gói tin khi chúng ta cài Snort trên hệ điều hành linux. Còn nếu ta cài trên hệ thống windows thì phải thay libcap bằng winpcap.
Trong bài viết này tôi trình bày phương pháp cài đặt Snort trên hệ thống Windows XP Pro. Chúng ta có thể tải winpcap từ www.iltiloi.com và Snort từ trang web www.Snort.org và chọn bản cài tren Windows. Tuy nhiên, để đơn giản các bạn có thể cài Công Cụ Số 1 trong bài Lab Song Kiếm Hợp Bích (chi tiết ở trang www.giaiphapantoan.com) trước và cài luôn WinPcap khi được yêu cầu để bảo đảm tính tương thích giữa winpcap và Snort.
Sau đó click vào tập tin chương trình Snort_Installer để bắt đầu tiến trình cài đặt. Trên màn hình Installation Options có các cơ chế lưu trữ log file theo cơ sở dữ liệu SQL hay Oracle, trong bài Lab chúng tôi chỉ lưu trữ log trong Event Log nên sẽ chọn tùy chọn đầu tiên là “I do not plan to log to a database, or I am planing to log to one of the databse listed above”
Sau khi đã cài đặt Snort chúng ta cần phải thiết lập các tham số quan trọng là HOME_NET và PATH_RULE mới có thể khởi động Snort và thực hiện các công việc tiếp theo. Đây là bước thường làm cho quá trình cài đặt và sử dụng Snort bị lỗi do khai báo sai.
Lấy ví dụ, chúng ta triển khai Snort trên lớp mạng C với dãy địa chỉ 192.168.1.0/24, vậy hã mở tập tin snort.conf trong thư mục C:Snortetc và tìm đến các biến HOME_NET và thiết lập như sau:
Tiếp theo hãy khai báo đường dẫn đến nơi chứa các quy tắc snort rules và đặt RULE_PATH C:Snortrules
Khai báo các biến include classification.config và reference.config như hình dưới (sữa thành include C:Snortetcclassification.config và C:Snortetcreference.config
Bây giờ, chúng ta có thể copy các rule được tạo sẳn (download từ www.giaiphapantoan.com lưu ý chọn đúng phiên bản snort được triển khai), hãy giải nén và copy thư mục rules vào thư mục cài đặt Snort trên ổ C:Snort
Thư mục rules chứa các tập quy tắc sau khi giải nén
Copy thư mục rules vào C:Snort
Như vậy quá trình chuẩn bị đã hòan tất, trước khi có thể start snort để tiến hành sniffer hay lắng nghe các tín hiệu khả nghi các bạn hãy chỉ định thư mục chứa log file cho Snort IDS. Hãy chạy lệnh sau đây:
C:Snortbin snort -l C:Snortlog -c C:Snortetcsnort.conf -A console
Kết quả sau khi thực thi dòng lệnh như sau:
II. SỬ DỤNG SNORT :
• Sử Dụng Snort Để Sniffer Packet:
Để tiến hành sniffer chúng ta cần chọn card mạng để snort đặt vào chế độ promicous, nếu máy tính có nhiều card hãy sử lệnh snort –W để xác định:
Kết quả của snort –W cho chúng a xác định số hiệu card mạng
Vậy card mạng có số hiệu là 2 Các bạn có thể chạy lệnh snort –h chúng ta sẽ thấy để tiến hành sniffer packet dùng lệnh snort –v –ix (với x là số hiệu của card mạng)
Cú pháp dòng lệnh sử dụng snort và các tùy chọn
C:Snortbinsnort –v –i2
Với tùy chọn –v snort chỉ hiển thị IP và TCP/UDP/ICMP header, nếu muốn xem kết quả truyền thông của các ứng dụng hãy sử dụng tùy chọ -vd:
C:Snortbinsnort –vd –i2
Để hiển thị thêm các header của gói tin tại tầng Data Link hãy sử dụng dòng lệnh:
C:Snortbinsnort –vde –i2
Sau khi chạy dòng lệnh trên hãy mở cũa sổ mới và thử ping www. giaiphapantoan.com rồi quan sát giao diện snort chúng ta sẽ thấy các tín hiệu như hình sau:
Kết quả các packet header hiển thị khi chạy snort -v
Để dừng tiến trình sniffing hãy nhấn tổ hợp phím Ctrl-C, Snort sẽ trình bày bản tóm tắt các gói tin bị bắt giữ theo từng giao thức như UDP, ICMP …
Một số kết quả thu được khi bắt gói tin:
10/24-21:51:38.499138 0:13:49:2F:95:35 -> 0:1E:EC:66:F0:44 type:0x800 len:0x5E2
87.255.33.129:80 -> 192.168.1.169:50494 TCP TTL:56 TOS:0x0 ID:57383 IpLen:20 Dgm
Len:1492 DF
Packet Wire Totals:
Received: 601
Analyzed: 584 (97.171%)
Dropped: 0 (0.000%)
Outstanding: 17 (2.829%)
===============================================================================
Breakdown by protocol (includes rebuilt packets):
ETH: 584 (100.000%)
ETHdisc: 0 (0.000%)
VLAN: 0 (0.000%)
IPV6: 0 (0.000%)
IP6 EXT: 0 (0.000%)
IP6opts: 0 (0.000%)
IP6disc: 0 (0.000%)
IP4: 581 (99.486%)
IP4disc: 0 (0.000%)
TCP 6: 0 (0.000%)
UDP 6: 0 (0.000%)
ICMP6: 0 (0.000%)
ICMP-IP: 0 (0.000%)
TCP: 580 (99.315%)
UDP: 1 (0.171%)
ICMP: 0 (0.000%)
TCPdisc: 0 (0.000%)
UDPdisc: 0 (0.000%)
ICMPdis: 0 (0.000%)
FRAG: 0 (0.000%)
FRAG 6: 0 (0.000%)
ARP: 3 (0.514%)
EAPOL: 0 (0.000%)
ETHLOOP: 0 (0.000%)
IPX: 0 (0.000%)
IPv4/IPv4: 0 (0.000%)
IPv4/IPv6: 0 (0.000%)
IPv6/IPv4: 0 (0.000%)
IPv6/IPv6: 0 (0.000%)
GRE: 0 (0.000%)
GRE ETH: 0 (0.000%)
GRE VLAN: 0 (0.000%)
GRE IPv4: 0 (0.000%)
GRE IPv6: 0 (0.000%)
GRE IP6 E: 0 (0.000%)
GRE PPTP: 0 (0.000%)
GRE ARP: 0 (0.000%)
GRE IPX: 0 (0.000%)
GRE LOOP: 0 (0.000%)
MPLS: 0 (0.000%)
OTHER: 0 (0.000%)
DISCARD: 0 (0.000%)
InvChkSum: 0 (0.000%)
S5 G 1: 0 (0.000%)
S5 G 2: 0 (0.000%)
Total: 584
===============================================================================
Action Stats:
ALERTS: 0
LOGGED: 0
PASSED: 0
===============================================================================
Attribute Table Stats:
Number Entries: 0
Table Reloaded: 0
===============================================================================
• Sử Dụng Snort Ở Chế Độ Packer Logger:
Ngòai việc xem các gói tin trên mạng chúng ta còn có thể lưu trữ chúng trong thư mục C:Snortlog với tùy chọn –l, ví dụ dòng lệnh sau sẽ ghi log các thông tin dữ liệu tại tầng data link và TCP/IP header của lớp mạng nội bộ 192.168.1.0/24
C:\Snort\bin>snort –dev –i2 –l C:\Snort\log
C:/Snort/bin/snort -dev -l C:/Snort/log -h 192.168.1.0/24
Đọc lại Log đã ghi:
C:\Snort\bin>snort -dvr C:\snort\log\snort.log.Nhãn_thời_gian
Như vậy chúng ta đã tiến hành cài đặt và cấu hình snort để tiến hành bắt giữ các gói tin, xem nội dung của chúng nhưng vẫn chưa biến snort thực sự trở thành 1 hệ thống IDS – dò tìm xâm phạm trái phép. Vì một hệ thống như vậy cần có các quy tắc (rule) cùng những hành động cảnh báo cho quản trị hệ thống khi xảy ra sự trùng khớp của những quy tắc này. Trong phần tiếp theo,chúng ta sẽ tiến hành cấu hình để xây dựng 1 network IDS với Snort.
• Sử Dụng Snort Ở Chế Độ Network IDS:
Tấc cả những hành động của Snort IDS đều họat động thông qua các rule, vì vậy chúng ta cần phải tạo mới hay chỉnh sữa những rule đã được tạo sẳn. Ở đây chúng ta sẽ tham khảo cả hai trường hợp này. Đầu tiên, các bạn hãy tham khảo dòng lệnh sau để áp dụng Snort ở NIDS:
C:Snortbinsnort -dev -l snortlog -c snort.conf
trong dòng lệnh này có một tùy chọn mới là –c với giá trị là snort.conf. chúng ta đã biết snort.conf được lưu trữ trong thư mục C:Snortetc chứa các thông số điều khiển và cấu hình Snort như các biến HOME_NET xác định lớp mạng, biến RULE_PATH xác định đường dẫn đến nơi chứa các quy tắc để Snort áp dụng. Trong trường hợp này, tùy chọn –c sẽ yêu cầu xử lý các gói tin được bắt giữ trên mạng. Trước khi nghiên cứu sâu hơn về Snort áp dụng các quy tắc được khai báo trong tập tin cấu hình snort.conf khi Snort và những quy tắc của nó chúng ta hãy xem xét các thành phần của một Snort rule gồm có:
- Rule header : là nơi chứa các action (hành động), protocol (giao thức truyền thông), Source IP address và Destination IP Address cùng với giá trị sunnet mask và số hiệu port của địa chỉ IP nguồn và đích.
• Rule option: là nơi khai báo các đặc tả về tình trạng trùng khớp của các gói tin với các rule, cùng những cảnh báo alert messenger như trongv í dụ sau đây:
alert tcp any any -> any 80 (content: "adult"; msg: "Adult Site Access";)
Dòng lệnh trên chúng ta thấy phần rule header là alert tcp any any -> any 80 và phần content: ("adult"; msg: "Adult Site Access";) là rule option, mặc dù rule option không bắt buộc phải có trong tất cả các snort rule nhưng nó cho chúng ta biết các thông tin cần thiết về lý do để tạo rule hay các hành động tương ứng. Và kết quả của dòng lệnh này là tạo ra các cảnh báo (alert) khi các TCP trafic từ bất kỳ địa chỉ IP và port được gởi đến một địa chỉ IP bất kỳ trên Port 80 mà phần nội dung (payload) có chứa từ khóa Adult. Nếu tình huống này xảy ra, nghĩa là có một user nào đó trên LAN truy cập vào 1 site có chứa từ Adult thì một record Adult Site Access sẽ được ghi vào log file.
i.Rule Header:
Tiếp theo,chúng ta sẽ đi sâu hơn về các rule header, như trong ví dụ trên là alert tcp any any -> any 80, với phần đầu tiên là alert chính là rule action định nghĩa hành động mà snort sẽ thực hiện khi các packet trùng khớp với quy tắc mà ta đã tạo ra. Có 5 lọai rule action như sau:
Rule Action Mô tả
Alert Tạo cảnh báo và ghi log file
Log Ghi Log các packet
Pass Bỏ qua các gói tin.
Activate Tạo một cảnh báo và bật chức năng dynamic rule.
Dynamic Chưa sử dụng, trừ khi có một rule khác tương thích.
Khi action đã được định nghĩa, các bạn cần phải xác định các giao thức như trong ví dụ trên là TCP, Snort hổ trợ các giao thức truyền thông sau TCP, UDP, ICMP, và IP.
Sau đó chúng ta sẽ bổ sung địa chỉ IP cho snort rule của mình, ví dụ any là xác định bất kỳ địa chỉ IP nào, ngòai ra snort sử dụng định dạng netmask để khai báo các mặt nạ mạng như lớp A là /8, địa chỉ lớp B là /16 và địa chỉ lớp C là /24. Nếu muốn khai báo một host thì sử dụng /32. Bên cạnh đó chúng ta còn có thể một dãy các máy tính như sau:
Alert tcp any any -> [10.0.10.0/24, 10.10.10.0/24] any => (content: "Password"; msg:"Password Transfer Possible!";)
Lưu ý: trong trường hợp dòng lệnh trên chia thành 2 dòng nhưng khi thực hiện các bạn phải nhập trên 1 dòng. Còn nếu muốn chia làm nhiều dòng khác nhau cho 1 dòng lệnh thì phải sử dụng dấu “”, tuy nhiên nếu có thể nên sử dụng 1 dòng đơn.
Sau khi các action, protocol và ip address đã được định nghĩa ta cần xác định số hiệu port của dịch vụ, như 80 là cho các dịch vụ truy cập Web hay các port 21, 23 …Cũng có thể áp dụng từ khóa any để áp dụng cho tất cả các port, hay dùng các dấu “;” để chỉ định một dãy các port nào đó:
Để ghi log bất kỳ truyền thông nào từ tất cả địa chỉ IP address và tất cả • port đến port 23 của lớp mạng 10.0.10.0/24 sử dụng lệnh sau:
Log tcp any any -> 10.0.10.0/24 23
Ghi log tất cả truyền thông từ bất kỳ địa chỉ IP đến các port nằm trong • khỏang 1 đến 1024 trên các máy thuộc lớp mạng 10.0.10.0/24 sử dụng lệnh sau:
Log tcp any any -> 10.0.10.0/24 1:1024
Ghi log tất cả truyền thông từ các địa chỉ IP có số hiệu port thấp hơn hoặc • bằng 1024 đến các máy thuộc lớp mạng 10.0.10.0/24 và destination port lớn hơn hoặc bằng 1024 sử dụng cú pháo sau:
Log tcp any :1024 -> 10.0.10.0/24 1 1024
Ngòai ra, chúng ta có thể sử dụng các tham số phủ định “!” như trường hợp ghi log các truyền thông trên giao thức TCP từ các máy tính ngọai trừ 172.16.40.50 áp dụng cho tất cả các port đến bất kỳ trên 10.0.10.0/24 sử dụng tất cả các port :
Log tcp ! 172.16.40.50/32 any -> 10.0.10.0/24 any
Hay trường hợp ghi log tất cả các truyền thông đến các máy tính thuộc lớp mạng 10.0.10.0/24 ngọai trừ port 23 như sau:
Log tcp any any -> 10.0.10.0/24 !23
Đến lúc này chúng ta đã duyệt qua một số các snort rule và nhận thấy mỗi rule đều có một lệnh điều hướng ->, xác định chiều của truyền thông đi từ phải qua trái. Trong trường hợp muốn áp dụng snort rule cho các truyền thông theo cả 2 chiều thì sử dụng cú pháp <> thay cho -> như trong trường hợp ghi log 2 chiều đối với tenlet session sau
Log tcp 10.0.10.0/24 any <> 172.16.30.0/24 23
ii. Rule Option:
Một snort rule có thể có nhiều option khác nhau phân cách bởi giấu “;” và các rule option này sẽ làm cho snort rule có thể được áp dụng linh động, mạnh mẽ hơn. Danhs ách sau đây sẽ trình bày những option thông dụng thường được áp dụng trong các snort rule:
Từ Khóa Mô Tả
msg Hiển thị một thông báo trong alert và packet log file.
ttl Dùng để so sánh các giái trị Time To Live của IP header.
id Dùng để so sánh một giá trị của IP header fragment.
flags Dùng để so sánh tcp flag với các giá trị được định nghĩa.
ack So sánh các TCP ack cho một giá trị được định nghĩa.
content So sánh nội dung packet với các giá trị được định nghĩa.
Khi từ khóa msg được áp dụng trong rule nó sẽ yêu cầu ghi nhật ký và cảnh báo của snort chèn thêm một thông điệp được định nghĩa vào trong log file hay các cảnh báo ví dụ
msg: "text here";
Khi ttl được sử dụng trong rule sẽ yêu cầu snort hãy so sánh với một giá trị Time To Live, trường hợp này thường được áp dụng để dò tìm tuyến đường.Ví dụ đơn giản sau được dùng để khai báo ttl:
ttl: "time-value";
Còn trường hợp trong rule sử dụng từ khóa id nó sẽ yêu cầu Snort so sánh với 1 IP header fragment theo id đã định như:
id: "id-value";
Đối với trường hợp của flags option chúng ta có nhiều tình huống khác tùy theo flag được yêu cầu so sánh, các tùy chọn flag được khai báo như sau:
F dùng cho cờ FIN
S dùng cho cờ SYN
R dùng cho cờ RST
P dùng cho cờ PSH
A dùng cho cờ ACK
U dùng cho cờ URG
2 dùng cho Reserved bit 2
1 dùng cho Reserved bit 1
0 dùng cho no tcp flags set
Các tóan tử logic có thể được áp dụng cho tùy chọn flag như + dùng để so khớp với tất cả các flag, * dùng để xác định có sự trùng lắp với bất kỳ flag nào đó hoặc ! dùng để so sánh sự trùng lắp mang tính chất lọai trừ. Các reserved bit được áp dụng trong tình huống phát hiện các trường hợp scan hay IP stack fingerprinting. Sau đây là một ví dụ của tùy chọn flags và một snort rule dùng để xác định dò tìm các SYNFIN scans:
Ví dụ sử dụng flags:
Alert any any -> 10.0.10.0/24 any (flags: SF; msg: "SYN FIN => Scan Possible";)
Tùy chọn ack được áp dụng để so khớp với một giá trị ACK tương ứng trong TCP header của packet, như ứng dụng Nmap dùng các ACK flag để xác định sự tồn tại của một host nào đó.
Trong số các từ khóa thì content là từ khóa quan trọng nhất, khi content được áp dụng snort sẽ kiểm tra nội dung của gói tin và so sánh với giá trị được khai báo trong content, nếu có sự trùng lắp thì các hành động tương úng sẽ tiến hành. Lưu ý là các giá trị được áp dụng với content có tính chất case sensitive ( phân biệt chữ hoa và chữ thường) và để tăng hiệu quả cho quá trình so sánh Snort sử dụng cơ chế pattern-match gọi là Boyer-Moore, với cơ chế này quá trình so sánh sẽ diễn ra hiệu quả hơn trên các máy có cấuhình yếu. Cú pháp đơn giản của từ khóa content là:
content:"content value";
Ngòai ra còn có nhiều lọai từ khóa khác, các bạn có thể tham khảo man page (nếu sử dụng Snort trên Linux) hoặc help page khi chạy Snort trên Windows để biết thêm.
Iii. Các Ví Dụ Về Snort Rule:
Sau đây là một số snort rule cơ bản cùng với những mô tả của chúng. Các bạn có thể sử dụng chúng làm các mẫu cho quá trình tạo snort rule của mình.
• Để log tất cả các truyền thông kết nối đến port 23 của dịch vụ telnet:
Log tcp any any -> 10.0.10.0/24 23
• Để log các ICMP traffic đến lớp mạng 10.0.10.0:
Log icmp any any -> 10.0.10.0/24 any
• Cho phép tất cả các quá trình duyệt Web mà không cần ghi log:
Pass tcp any 80 -> any 80
• Tạo một cảnh báo với thông điệp kèm theo :
Alert tcp any any -> any 23 (msg: "Telnet Connection => Attempt";)
• Dò tìm các tình huống quét mạng với SYN/FIN :
Alert tcp any any -> 10.0.10.0/24 any (msg: "SYN-FIN => scan detected"; flags: SF;)
• Dò tìm các tiến trình quét mạng TCP NULL:
Alert tcp any any -> detected"; > = 10.0.10.0/24 any (msg: "NULL scan flags: 0;)
• Dò tìm các tiến trình OS fingerprinting:
Alert tcp any any -> 10.0.10.0/24 (msg: "O/S Fingerprint => detected"; flags: S12;)
• Tiến hành lọc nội dung :
alert tcp any $HOME_NET -> !$HOME_NET any (content: => "Hello"; msg:"Hello Packet";)
Như vậy chúng ta đã tham khảo các snort rule với các rule action và rule option thông dụng. Và qua một số ví dụ snort rule mẫu các bạn hãy thiết lập các quy tắc riêng để tạo một snort rule cho riêng mình.Tình huống sau đây yêu cầu các chuyên gia bảo mật hệ thống thiết lập một snort rule để ghi log tất cả các TCP trafic, cảnh báo khi có xảy ra trường hợp sử dụng lệnh ping, và đưa ra các cảnh báo nếu có ai đó sử dụng mật mã là password. Hãy tiến hành như sau:
Sử dụng trình sọan thảo Notepad và nhập vào nội dung:
log tcp any any -> any any (msg: "TCP Traffic Logged";)
alert icmp any any -> any any (msg: "ICMP Traffic Alerted";)
alert tcp any any -> any any (content: "password"; msg: => "Possible Password Transmitted";)
Lưu tập tin trên thành c:Snortrulessecurity365.rule ,lưu ý chọn chế độ lưu trữ All file trong Notepad để không bị gắn thêm phần mở rộng.
Để kiểm tra lại các quy tắc vừa mới tạo ra, hãy xóa các tập tin trong thư mục C:Snortlog và mở 2 cửa sổ dòng lệnh và chạy lệnh sau trên cửa sổ thứ nhất :
C:Snort\bin\snort -c C:\Snort\rules\security365.rule -l C:\Snort\log
Hoặc C:Snort\bin\snort -c C:\Snort\etc\snort.conf -l C:\Snort\log
( Yêu cầu: Khai đúng biến luật trong file cấu hình Snort)
Sau đó chạy các lệnh tiếp theo trên cũa sổ còn lại:
C:ping www.giaiphapantoan.com
C:net send [ip_address] Here is my password
Nhấn Ctrl-C trên màn hình thực thi Snort sẽ thấy các gói tin được lưu giữ và quan sát log file sẽ thấy xuất hiện các cảnh báo
Bên cạnh việc tạo ra các snort rule của riêng mình các bạn có thể áp dụng các quy tắc được tạo sẳn (download rule dành cho snort 2.4 tại địa chỉ http://giaiphapantoan.com/downloads/ids ). Hình sau trìh bày nội dung của một pre-defined rule là scan.rules trong thư mục C:Snortrules và cách thiết lập quy tắc để phát hiện FIN/SYN scan.
Nếu muốn áp dụng rule pre-defined chúng ta cũng tiến hành tương tự như đối với trường hợp các rule do bạn thiết lập. Trong trưòng hợp hệ thống có nhiều card mạng chúng ta nên xác định rõ ràng các số hiệu của chúng để snort sử dụng. Ngòai ra, khi thiết lập các quy tắc cho giao thức ICMP trong phần Port chúng ta đặt là any.
III. Quản Lý Snort NIDS Với IDS Center (cònn tiếp):
Qua các phần I và II các bạn đã biết được cách cài đặt một hệ thống snort và cấu hình những tham số cần thiết như HOME_NET, RULE_PATH cũng như cách thực thi snort ở chế độ sniffer, hay áp dụng các quy tắc do chính mình tạo ra hoặc các quy tắc được thiết lập sẳn. Và để thuận tiện hơn trong q úa trình quản lý và vận hành Snort Netwrok IDS các bạnc ó thể cài đặt ứng dụng IDS Center, một ứng dụng miễn phí dùng để quản lý và vận hành snort rất hiệu quả.
Download IDS center tại địa chỉ http://www.giaiphapantoan.com/downlaods/ids tiến hành cài đặt theo các bước sau:
• Chạy file setup.exe
• Trên màn hình tiếp theo click Next
• Chọn Yes trên màn hình License Agreement để chấp nhận các quy định:
• Chọn thư mục cài đặt với giá trị mặc định là C:Program FilesIDScenter và nhấn Next:
Sau đó chọn các giá trị mặc định và hòan tất tiến trình cài đặt
2 nhận xét:
chào anh ! hiện tại em đang là sinh viên. Em đang thực hiện đề tài ngiên cứu khoa học vầ đang cần cài snort trên windows hoặc linux. Anh có thể giúp em 1 chút được không ạ . mail của em là : thaotuan98@gmail.com
thanks anh nhé !
Chào anh! Em thấy tài liệu của anh rất có ích nhưng không biết tại sao em không thể xem được các hình ảnh trong bài viết của anh. Nếu được anh có thể gởi giúp em bài viết này tới email được không. Email: nhat.phan.vtp@gmail.com
Thanks anh!!!
Đăng nhận xét