Honeyd cũng hỗtrợviệc tích hợp các topology mạng ảo với các máy chủvật lý
trên mạng. Giảsửmuốn tích hợp vào mạng ảo một máy chủnằm tại địa chỉ10.1.1.53.
Máy chủnày được đặt trong mạng LAN chứa máy chủHoneyd và các máy bàn khác,
nhưng muốn đặt một cách logic sau vài bước nhảy bên trong mạng ảo. Hình 3.6 mô tả
cấu trúc của mạng:
Dùng lệnh "bind" đểgắn một máy chủvật lý bên ngoài vào trong mạng. Cấu hình sẽ
nhưsau:
bind 10.1.1.53 to eth0
Cấu hình trên báo cho Honeyd biết rằng 10.1.1.53 có thể được kết nối thông qua giao
diện eth0; vì 10.1.1.53 nằm trong phần mạng sau router R3 (một cách logic), một gói
tin tới địa chỉIP sẽchạy qua R1, R2 và R3 trước khi đến 10.1.1.53. Đểthấy điều này,
hãy lần theo đường định tuyến đến 10.1.1.53 từmáy bàn trên mạng LAN:
C:\>tracert 10.1.1.53
Tracing route to 10.1.1.53 over a maximum of 30 hops
1 * * * Request timed out.
2 <10 ms 10 ms 10 ms 10.0.1.100
3 10 ms 20 ms 20 ms 10.1.0.100
4 10 ms 20 ms 20 ms 10.1.1.53
Trace complete.
73 trang |
Chia sẻ: netpro | Lượt xem: 3238 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu Đồ án Tìm hiểu về Honeypots, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
0.2.1.52 window
___________________________________________________________________________
Honeypots 26
Honeyd cũng cho phép thiết lập nhiều đường vào mạng ảo. Ví dụ: hình 3.7
thêm vào một mạng mới được kết nối thông qua router R4 ở 10.0.0.200. Tạo một đầu
vào mới khá đơn giản: dùng lệnh "rounte entry" một lần nữa để định nghĩa router mới.
Phần còn lại của mạng có thể được xây dựng thông qua việc kết hợp "route add net"
với "route link". Đối với mạng này, có một cấu hình cho điểm vào thứ 2 và mạng đằng
sau nó:
Hình 3.7: Thiết lập nhiều router đầu vào
___________________________________________________________________________
Honeypots 27
Cấu hình "route entry" thêm vào một router mới R4 tại IP 10.0.0.200 phục vụ
cho mạng 10.2.0.0/24, route link chỉ định mạng 10.2.0.0/24 có thể được kết nối trực
tiếp thông qua router R4. Route add net sau đó thêm một cổng vào tại 10.2.0.100 phục
vụ cho mạng 10.2.1.0/24. Tiếp đó, route link chỉ thị rằng mạng 10.2.1.0/24 có thể được
kết nối trực tiếp từ router mới này. Gắn địa chỉ IP của router mới với mẫu router, và 4
địa chỉ honeyd với mẫu window.
III.7 Đường hầm GRE để thiết lập mạng phân tán
Hình 3.8: Đường hầm GRE để thiết lập mạng phân tán
Một tính năng nổi trội khác của Honeyd là khả năng truyền dữ liệu thông qua
đường hầm từ một mạng ảo trong máy chủ Honeyd tới các mạng khác từ xa để thiết
lập một mạng phân tán. Tính năng này được sử dụng để giả lập một mạng phân tán
thông qua máy chủ Honeyd hoặc dùng một máy chủ Honeyd để phục vụ nhiều mạng
phân tán. Trong phần sau, sẽ thiết lập máy chủ Honeyd đóng vai trò như một tập hợp
các Honeypots tương tác, một dạng site tập trung. Các thành phần tham gia có thể
___________________________________________________________________________
Honeypots 28
kiểm soát một phần của không gian địa chỉ IP bằng cách định tuyến tới không gian địa
chỉ đó thông qua một đường hầm tới máy chủ Honeyd. Hình 3.8 mô tả hệ thống mạng
này:
Để hiểu cách cấu hình đường hầm GRE (Generic Route Encapsulation), sẽ xem
xét một phiên bản đơn giản của mạng đã phát triển. Trong hình 3.8, mạng 10.3.1.0/24
được đặt xuyên qua WAN, có thể là xuyên qua mạng lưới quốc gia. Dùng tính năng
đường hầm GRE của Honeyd, có thể truyền dữ liệu từ router R7 tới router ảo R6 như
thể 2 router được kết nối trực tiếp với nhau. Đối với người dùng trên mạng xuyên quốc
gia, điều này có vẻ như mạng giả lập bên trong máy chủ Honeyd chỉ cách một trạm
truyền, khi lưu thông được thực hiện thông qua đường hầm qua liên kết ảo được thiết
lập giữa 2 router. Máy chủ Honeyd của ta có thể nhờ đó được sử dụng để phục vụ một
mạng ở xa.
Để cấu hình máy chủ Honeyd thiết lập đường hầm GRE như hình 3.8, phải
thêm R6 - router có giao diện bên ngoài là 172.20.254.1 như một router ảo có thể triển
khai đường hầm. R6 là một router vào mới cho phép lưu thông tới mạng 10.3.2.0/24.
Khi nó không cần thiết phải triển khai router cho việc truyền dữ liệu thông qua đường
hầm, sẽ dễ hiểu cấu hình cho router ảo:
route entry 172.20.254.1 network 10.3.2.0/24
Sau đó mô tả mạng 10.3.2.0/24 được kết nối trực tiếp từ router trên với lệnh "route link"
route 172.20.254.1 link 10.3.2.0/24
Để thiết lập đường hầm, dùng cấu trúc "route add net tunnel". Đầu cuối thứ
nhất của đường hầm là địa chỉ IP bên ngoài của Router R6, vd 172.20.254.1. Địa chỉ
IP vật lý của router ở xa 172.30.254.1 sẽ là đầu cuối thứ 2 của đường hầm. Trong tập tin
cấu hình, sẽ chỉ định router ảo và mạng ở xa mà sẽ dùng đường hầm để kết nối, như sau:
route 172.20.254.1 add net 10.3.1.0/24 tunnel 172.20.254.1 172.30.254.1
Chú ý là router R7 xuyên qua WAN phải được cấu hình để làm đầu cuối cho đường
hầm GRE từ router ảo và định tuyến các gói tin đến đích.
Đến đây, mọi lưu thông từ mạng 10.3.1.0/24 tới các Honeypots cung cấp bởi
Honeyd sẽ được thực hiện thông qua đường hầm GRE giữa router R6 và R7. Với chức
___________________________________________________________________________
Honeypots 29
năng này, có thể có một mạng phân tán và tạo một topology mạng ảo xuyên qua chúng
để che dấu đi mạng vật lý khỏi các cuộc tấn công từ bên ngoài.
Một số Operating System:
Cisco 1601 router running IOS 12.0(8)
Cisco 1601R router running IOS 12.1(5)
Cisco 2611 router running IOS 12.2(7a)
Cisco 2620 running IOS 12.2(19a)
Cisco 3600 router running IOS 12.2(6c)
Cisco 4000 Series running IOS 12.0(10.3)
Cisco 5200 router running IOS v12.0(15)
Cisco 7200 router running IOS 12.1(14)E6
Cisco 7204 router running IOS 12.1(19)
Cisco 7206 router running IOS Version 12.2(13)T8
Cisco 837 router running IOS 12.3(11)T
Cisco IOS 12.0(21) (On a 2514 router)
Cisco IOS 12.0(3.3)S (perhaps a 7200 router)
Cisco IOS 12.0(5)WC3 - 12.0(16a)
Cisco IOS 12.0(7)T (on a 1700 router)
Cisco IOS 12.1(4) on a 2600 router
Cisco IOS 12.2(8)T5 on a 7507 router
Linux 2.4.20 (Itanium)
Linux 2.4.20 (Red Hat)
Linux 2.4.20 (X86, Redhat 7.3)
Linux 2.4.20 - 2.4.22 w/grsecurity.org patch
Linux 2.4.20 x86
Linux 2.4.20-ac2
Linux 2.4.21 (Suse, X86)
Linux 2.4.21 (x86)
Linux 2.4.21 (x86, RedHat)
Microsoft Windows Server 2003
Microsoft Windows Server 2003 Enterprise Edition
Microsoft Windows Server 2003 or XP SP2
Microsoft Windows Server 2003 Standard Edition
Microsoft Windows XP Home Edition
Microsoft Windows XP Home Edition (German) SP1
Microsoft Windows XP Home SP1
Microsoft Windows XP Pro
Microsoft Windows XP Pro (German)
Microsoft Windows XP Pro (German) SP1
___________________________________________________________________________
Honeypots 30
Chương IV: Hệ thống phát hiện xâm nhập
IV.1 Giới thiệu
Intrusion Detection là thiết bị bảo mật vô cùng quan trọng. Intrusion Detection
Systems (IDS) là giải pháp bảo mật được bổ sung cho Firewalls (hình dưới đây thể hiện
điều đó). Một IDS có khả năng phát hiện ra các đoạn mã độc hại hoạt động trong hệ thống
mạng và có khả năng vượt qua được Firewall.
Có hai dạng chính của IDS đó là: Network Based và Host Based
Hình 4.1: Network Based và Host Based
Network Based
Một Network-Based IDS sẽ kiểm tra các giao tiếp trên mạng với thời gian thực
(real-time). Nó kiểm tra các giao tiếp, quét header của các gói tin, và có thể kiểm tra
nội dung của các gói đó để phát hiện ra các đoạn mã nguy hiểm hay các dạng tấn công
khác nhau. Một Network-Based IDS hoạt động tin cậy trong việc kiểm tra, phát hiện
các dạng tấn công trên mạng, ví dụ như dựa vào băng thông (bandwidth-based) của tấn
công Denied of Service (DoS).
___________________________________________________________________________
Honeypots 31
Host Based
Một Host-Based IDS chỉ làm nhiệm vụ giám sát và ghi lại log cho một máy chủ
(host-system). Đây là dạng IDS với giới hạn chỉ giám sát và ghi lại toàn bộ những khả
năng của host-system (nó bao gồm cả hệ điều hành và các ứng dụng cũng như toàn bộ
service của máy chủ đó). Host-Based IDS có khả năng phát hiện các vấn đề nếu các
thông tin về máy chủ đó được giám sát và ghi lại. Là thiết bị bảo mật cho phát hiện các
tấn công trực tiếp tới một máy chủ.
Active Detection and Passive Detection
IDS là một hệ thống tự động giám sát trong thời gian thực (Network-Based IDS) hay
xem sét lại các thiết lập giám sát (audit log) nhằm phát hiện ra các lỗi bảo mật và các tấn
công trực tiếp tới hệ thống mạng hay tới một máy chủ. Có hai phương thức cơ bản để IDS
phát hiện ra các tấn công hay các nguy cơ bảo mật là: Signature Detection và Anomaly
Detection. Signature Detection sẽ so sánh các tình huống thực tế với các dạng tấn công
(signatures) được lưu trữ trong dữ liệu của IDS. Anomaly Detection sẽ hoạt động tùy thuộc
vào môi trường và có thể phát hiện ra những biến cố bất thường. Anomaly-detection dựa
vào những hoạt động bình thường của hệ thống để tự động phát hiện ra những điều không
bình thường và phân tích xem đó là dạng tấn công nào.
Một IDS active detection: phát hiện và trả lời được thiết kế để có hành động nhanh
nhất nhằm giảm thiểu các nguy hiểm có thể xảy ra với hệ thống. Việc trả lời có thể như tắt
máy chủ hay tắt các dịch vụ, ngắt các kết nối.
Một IDS với passive detection sẽ trả lời nhưng không có các hành động trực tiếp
chống lại các tấn công. Nó có thể ghi lại log của toàn bộ hệ thống và cảnh báo cho người
quản trị hệ thống. IDS là thiết bị phát hiện tấn công DoS rất tốt; phát hiện các bugs (lỗi hệ
thống), flaws (lỗ hổng, khiếm khuyết) hoặc các tính năng ẩn, và quét ports. Nhưng nó
không có khả năng phát hiện các tấn công dựa trên các email chứa các đoạn mã nguy
hiểm.
___________________________________________________________________________
Honeypots 32
Các thành phần của IDS hoạt động để giám sát mạng.
Hình 4.2: Các thành phần của IDS hoạt động để giám sát mạng
Hình dưới đây IDS yêu cầu Firewall chặn port 80 trong 60 giây để chống lại các tấn
công vào máy chủ Web cài IIS.
___________________________________________________________________________
Honeypots 33
Hình 4.3: IDS yêu cầu Firewall chặn port 80
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à có thể tải
về và sử dụng miễn phí, cho nên yếu tố về chi phí hoàn toàn có thể yên tâm. Ngoài 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.
___________________________________________________________________________
Honeypots 34
Snort có 4 chế độ hoạt dộng khác nhau đó là:
Sniffer mode: đọ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ị, ở chế độ này snort sẽ lắng nghe.
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ế độ 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ì có thể cấu hình snort để phân tích các gói
tin từ iptables (trong iptables chia ra thành các bảng (tables); trong mỗi bảng sẽ chia ra
thành nhiều chuỗi (chains) để xử lý packet tùy theo tình huống (hướng đi của packets);
trong mỗi chain sẽ có các luật (rules) mà mình sẽ cấu hình để xử lý các packets tương ứng
với mỗi chain) thay vì libpcap do đó iptable có thể drop hoặc pass các gói tin theo snort
rule.
IV.2 Cài đặt Snort trên Windowns
IV.2.1. Cài đặt Snort
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 ngoài
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ạng, với Snort
thì có thể cài đặt và cấu hình trên x386 computer, tuy nhiên 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 hoạt độ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 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.
___________________________________________________________________________
Honeypots 35
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 cài Snort trên hệ điều hành linux.
Còn nếu cài trên hệ thống windows thì phải thay libcap bằng winpcap.
Tải winpcap từ www.iltiloi.com và Snort www.snort.org và chọn bản cài trên Windows.
Sau đó click vào tập tin chương trình Snort_Installer.exe để 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 phần này chỉ lưu trữ 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”
Hình 4.4: Cài đặt Snort
___________________________________________________________________________
Honeypots 36
Sau khi đã cài đặt Snort tiếp theo cần phải thiết lập các tham số quan trọng như
HOME_NET và PATH_RULE để sử dụng Snort và thực hiện các công việc tiếp theo.
Đây là bước mà thường làm cho quá trình cài đặt và sử dụng Snort bị lỗi do khai báo sai.
File C:\Snort\etc\snort.conf là file chứa nhiều cài đặt và một phiên bản mới có thể
thay đổi dễ gây ra nhầm lẫn. File snort.conf điều khiển mọi thứ về việc Snort sẽ giám sát
cái gì, chúng tự bảo vệ như thế nào, các luật gì chúng sử dụng để tìm thấy lưu lượng nguy
hiểm, và thậm chí là cách chúng giám sát các lưu lượng nguy hiểm tiềm tàng mà không
được định nghĩa bằng các dấu hiệu như thế nào.
File này được tổ chức thành nhiều phần và chứa nhiều các lời chú thích và hướng dẫn để
sử dụng một vài tùy chọn có thể đối với các mục cấu hình khác nhau):
·Các biến cấu hình.
·Cấu hình bộ giải mã và bộ phận phát hiện của Snort.
·Cấu hình tiền xử lí.
·Cấu hình xuất thông tin.
·Các file kèm theo.
Các biến cấu hình
Phần đầu của file dành cho việc ghi lại một vài thông tin cấu hình. Hầu hết các
biến được sử dụng bởi các luật Snort để xác định chức năng của một vài hiển thị và vị
trí của các phần khác. Các biến vạch ra cách bố trí môi trường mà Snort có thể quyết
định sự kiện nào sẽ tạo ra cảnh báo. Các biến tìm kiếm cả địa chỉ IP và cổng TCP mà
một dịch vụ đang lắng nghe.
Theo mặc định, các biến được khai báo với giá trị bất kì. Nó đúng với bất kì địa chỉ IP
nào. Khi giá trị này được sử dụng, nó có thể tạo ra một số lượng lớn các cảnh báo nhầm.
Để xác định một địa chỉ đơn, chỉ cần đánh vào địa chỉ IP đó:
var HOME_NET 10.0.0.100
Cũng có thể xác định nhiều địa chỉ, các nhóm địa chỉ nằm trong dấu ngoặc vuông và
các địa chỉ cách nhau bởi dấu phẩy (không có khoảng trắng):
var HOME_NET [10.10.0.52,192.168.1.23,172.16.30.52]
Cũng có thể xác định một không gian địa chỉ bằng cách xác định số các bit trong
subnet mask.
___________________________________________________________________________
Honeypots 37
var HOME_NET 10.0.0.0/24
Có thể kết hợp các kiểu ghi địa chỉ như sau :
var HOME_NET [192.168.33.12,172.16.0.0/16,10.0.0.51,10.0.0.0/24]
Có thể sử dụng kí tự “!” để phủ định. Lưu ý rằng khi thiết lập các biến thì chỉ sử dụng
tên biến. Khi thật sự sử dụng biến thì phải đặt kí tự “$” trước tên biến. Ví dụ sau đây
sẽ thiết lập biến EXTERNAL_NET là tất cả các địa chỉ không nằm trong biến
HOME_NET:
var EXTERNAL_NET !$HOME_NET
Một vài biến cần gán cho số cổng, không phải là địa chỉ IP. Gán 1 cổng đơn, 1 dãy các
cổng liên tục hoặc là phủ định của 1 cổng. Ví dụ:
var ORACLE_PORTS 1521
var ORACLE_PORTS 8000:8080 (các cổng từ 8000 đến 8080)
var ORACLE_PORTS :8080 (các cổng lớn hơn 8080)
var SHELLCODE_PORTS !80 (không phải cổng 80)
Các biến mặc định trong file snort.conf là:
HOME_NET - sử dụng để xác định địa chỉ IP của hệ thống đang bảo vệ.
EXTERNAL_NET - nên sử dụng kí tự “!” để xác định mọi thứ không nằm trong mạng
bên trong !$EXTERNAL. Các biến được sử dụng để định nghĩa các Server chạy các
dịch vụ mà có các luật xác định là :
DNS_SERVERS
SMTP_SERVERS
HTTP_SERVERS
SQL_SERVERS
TELNET_SERVERS
SNMP_SERVERS
HTTP_PORTS
Cổng 80 là cổng mặc định của HTTP.
SHELLCODE_PORTS
Thường được đặt là các cổng không phải là 80
___________________________________________________________________________
Honeypots 38
ORACLE_PORTS
Xác định cổng mà Orale lắng nghe. Mặc định, Oracle lắng nghe ở cổng 1521.
AIM_SERVERS
Biến này được sử dụng bởi các luật để giám sát lưu lượng peer-to-peer và instant
messenger. Nó được cấu hình với các danh sách địa chỉ server AOL Instant Messenger.
Danh sách này thay đổi theo thời gian.
RULE_PATH
Biến này cần được thiết lập đúng, nếu không, Snort sẽ không hoạt động. Nó chỉ đến vị
trí các luật trong file hệ thống. Nếu các luật được đặt trong C:\Snort\rules thì phải thiết
lập biến như sau :
var RULE_PATH C:/Snort/rules
IV.2.2 Cấu hình bộ giải mã và bộ phận phát hiện của Snort
Bộ giải mã Snort giám sát cấu trúc gói tin để đảm bảo chúng được xây dựng
theo qui định. Nếu một gói tin có kích thước lạ, một tập hợp tùy chọn lạ, hoặc là các
thiết lập không phổ biến, Snort sẽ tạo ra một cảnh báo. Nếu không quan tâm đến các
cảnh báo này hoặc là số lượng các cảnh báo nhầm quá lớn thì có thể tắt việc tạo ra
cảnh báo của bộ giải mã. Theo mặc định, tất cả các cảnh báo đều được bật. Để tắt một
kiểu cảnh báo cụ thể, xóa kí tự “#” ở đầu dòng. Các tùy chọn cấu hình bộ giải mã: #
config disable_decode_alerts
# config disable_tcpopt_experimental_alerts
# config disable_tcpopt_obsolete_alerts
# config disable_tcpopt_ttcp_alerts
# config disable_tcpopt_alerts
# config disable_ipopt_alerts
config order: [pass, alert, log, activation, or dynamic]
Thay đổi thứ tự các luật được đánh giá.
config alertfile: alerts
Thiết lập file cảnh báo output.
config decode_arp
Bật giải mã arp (snort -a).
___________________________________________________________________________
Honeypots 39
config dump_chars_only
Bật dump kí tự (snort -C).
config dump_payload
Dump thông tin lớp ứng dụng (snort -d).
config decode_data_link
Giải mã header lớp 2 (snort -e).
config set_gid: 30
Thay đổi GID (snort -g).
config interface:
Thiết lập giao diện mạng (snort -i).
config alert_with_interface_name
Gán tên cho cảnh báo (snort -I).
config logdir: /var/log/snort
Thiết lập thư mục log (snort -l).
config umask:
Thiết lập umask khi đang chạy (snort -m).
config pkt_count: N
Thoát ra sau N gói tin (snort -n).
config nolog
Tắt việc ghi log (vẫn còn cảnh báo) (snort -N).
config quiet
Tắt các đầu đề và trạng thái bản báo cáo (snort -q).
config set_uid:
Thiết lập UID (snort -u).
config utc
Sử dụng UTC thay vì thời gian cục bộ cho timestamp (snort-U).
config verbose
Sử dụng ghi log Verbose cho stdout (snort -U).
config dump_payload_verbose
Bỏ raw packet bắt đầu từ lớp liên kết (snort -X ).
___________________________________________________________________________
Honeypots 40
config show_year
Hiển thị năm trong timestamps (snort -y).
- Cấu hình tiền xử lí
Các bộ tiền xử lí phục vụ một số mục đích. Chúng chuẩn hóa lưu lượng cho nhiều loại
dịch vụ, đảm bảo rằng dữ liệu trong các gói tin mà Snort giám sát sẽ có 1 định dạng
mà các dấu hiệu sẽ được nhận ra. Một chức năng khác của bộ tiền xử lí là tự bảo vệ.
Nhiều loại tấn công được thiết kế để gây nhầm lẫn hoặc làm tràn ngập bộ cảm biến
NIDS, vì vậy mà kẻ tấn công có thể thực hiện tấn công mà không bị phát hiện. Tiền xử
lí frag2 và stream4 chủ yếu là các cơ chế phòng thủ.
Lợi ích cuối cùng của bộ tiền xử lí là chúng mở rộng khả năng của Snort để phát hiện
các điều bất thường mà có thể là dấu hiệu xâm nhập.
- Cấu hình xuất kết quả
Một trong những sức mạnh thật sự của Snort là các tùy chọn để xuất các cảnh
báo và thông tin phát hiện xâm nhập. Nhiều nhà quản trị Snort sử dụng các ứng dụng
của công ty thứ ba để giám sát và nghiên cứu thông tin tạo ra bởi Snort. Để làm được
việc đó, Snort phải xuất dữ liệu theo một định dạng cụ thể. Output plug-ins thực hiện
nhiệm vụ này. Lưu ý rằng việc sử dụng một vài plug-in này đòi hỏi nhà quản trị phải
thực hiện một vài bước khi Snort được biên dịch. Ví dụ, để cho phép Snort xuất dữ
liệu ra một cơ sở dữ liệu MySQL, MySQL client cần được cài đặt trên hệ thống Snort
và tùy chọn --with-mysql phải được xác định với câu lệnh ../configure. Một vài tùy
chọn chỉ sử dụng được trên các platform cụ thể. Ví dụ, chỉ hệ thống Window có thể
log trực tiếp vào Microsoft SQL Server với plug-in mysql (hệ thống Unix phải dùng
ODBC với plug-in odbc). Nhiều plug-in output có thể được bật, cho phép nhiều công
cụ được triển khai bởi nhà quản trị.
- Cơ sở dữ liệu
Plug-in cơ sở dữ liệu cho phép viết nhiều cơ sở dữ liệu liên quan với nhau trên
cùng một hệ thống đang chạy Snort hoặc trên một host khác. Khi ghi log vào một cơ
sở dữ liệu, nhiều thông tin được ghi lại – bao gồm các cảnh báo, liên quan đến host, và gói
tin gây ra cảnh báo – làm cho việc phân biệt giữa các cảnh báo thật và giả dễ dàng hơn.
Thỉnh thoảng việc ghi log vào một server cơ sở dữ liệu có thể gây ra nghẽn cổ chai, vì
___________________________________________________________________________
Honeypots 41
chỉ có một cảnh báo được ghi log vào 1 thời điểm. Một server cơ sở dữ liệu được cấu
hình tốt có thể giải quyết vấn đề này.
Plug-in output cơ sở dữ liệu có định dạng sau :
output database: , ,
Chọn log hoặc alert. Log gửi thông tin log đến cơ sở dữ liệu, và alert gửi các cảnh báo.
Lưu ý rằng log bao gồm các thông tin cảnh báo và thông tin gói tin tạo ra cảnh báo.
Nếu muốn gửi cả hai đến cơ sở dữ liệu, cần chọn 2 dòng output cơ sở dữ liệu.
Đây là nơi xác định kiểu cơ sở dữ liệu mà ghi log. Snort hỗ trợ các dạng sau : mysql,
postgresql, oracle, odbc, and mssql.
Khi cấu hình một plug-in output cơ sở dữ liệu cụ thể, thiết lập các thông số sau (không
có dấu phẩy giữa các thông số) :
Thông số và mô tả chi tiết.
Host: Địa chỉ IP của server cơ sở dữ liệu. Nếu để trống, nó sẽ là máy cục bộ (local machine)
port: Cổng mà cơ sở dữ liệu đang lắng nghe. Chỉ cần xác định nếu không sử dụng cổng
chuẩn.
dbname=
Tên cơ sở dữ liệu ghi log
user
Username mà Snort sử dụng để ghi log vào cơ sở dữ liệu.
password
Password được sử dụng để log vào cơ sở dữ liệu.
Có thể xác định mức độ chi tiết được sử dụng để khi gửi thông tin đến cơ sở dữ liệu.
Full sẽ bao gồm tất cả thông tin mà Snort thu thập, bao gồm cả header và thông tin gói
tin. Fast thì nhanh hơn 1 chút, nhưng bao gồm ít thông tin hơn như tên cảnh báo, địa
chỉ và cổng nguồn, đích và thời gian. Full được khuyên dùng.
- Các file kèm theo
Thành phần cuối cùng trong file snort.conf là các mục đính kèm. Câu lệnh
include nói cho Snort đính kèm thông tin trong các file đặt trong file hệ thống Snort.
___________________________________________________________________________
Honeypots 42
Những file này bao gồm thông tin cấu hình và các file chứa luật mà Snort sử dụng để
phát hiện xâm nhập. Đường dẫn mặc định nên được xác định sớm trong cấu hình. Sử
dụng biến $RULE_PATH để chỉ vị trí của chúng, hoặc sử dụng tên đầy đủ để chỉ các
file luật mà muốn sử dụng.
Nhiều file đính kèm có thể được sử dụng trong một cấu hình. Đây là mẫu cấu
hình đính kèm nói cho Snort các file luật nào được sử dụng :
# include $RULE_PATH/telnet.rules (không sử dụng file luật này)
include $RULE_PATH/dos.rules
include $RULE_PATH/icmp.rules
Nếu đang sử dụng cài đặt phân loại mức độ ưu tiên hoặc tham chiếu đến bất kì
một hệ thống nào, sử dụng các mục sau đây. Đảm bảo rằng các file này tồn tại khi khởi
động Snort. Những file này giúp phân loại và ưu tiên cho các cảnh báo tùy theo mức
độ. Chỉnh sửa file classification.config theo ý muốn. Sau khi file này được cấu hình
theo nhu cầu có thể sử dụng console để tìm kiếm các cảnh báo có độ ưu tiên cao nhất.
File reference.config bao gồm các link đến các trang web với thông tin về tất cả các
cảnh báo. Nó rất hữu dụng.
# include classification & priority settings
include classification.config
# include reference systems
include reference.config
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.
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.1.0/24 23
Log các ICMP traffic đến lớp mạng 10.0.1.0: log icmp any any -> 10.0.1.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 -&
Các file đính kèm theo tài liệu này:
- Giả lập mạng với honeypot.pdf