Với tùy chọn cờ -e, ta được cung cấp nhiều thông tin nhất ,bao gồm địa chỉ
MAC và địa chỉ IP
Để lưu lại trong file log thay vì xuất ra console, ta sử dụng
snort -vde -i1 > C:/log1/temp.log
10.3.2 Snort là một Packet Logger
Sau khi Sniffer các gói tin, nhiệm vụ tiếp theo là ghi log. Việc ghi log chỉ đơn giản bằng cách thêm tùy chọn –l, theo sau đó là thư mục muốn lưu trữ file log. Thư mục mặc định trong Snort là C:\snort\log. Ta có thể thiết lập thư
mục log ở nơi khác. Ví dụ: snort –l C:\log1.
Khi chạy chế độ này, Snort thu thập mỗi gói tin nó thấy và lưu chúng
vào thư mục log theo kiểu phân cấp. Snort lưu các gói tin thành các file ASCII,
với tên file được tạo ra từ giao thức và số cổng.
10.3.3 Snort là một NIDS
Khi cài đặt ở chế độ Snort mặc định trên Win, vị trí file này là
C:\snort\etc\snort.conf. Các cảnh báo được đặt trong file alert trong thư mục log C:\snort\log. Snort sẽ thoát ra với một lỗi nếu file cấu hình hoặc thư mục log khơng tồn tại. Khi sử dụng chế độ này cần chỉ rõ file cấu hình với cờ –c .
“snort -c c:\snort\etc\snort.conf -l c:\snort\log”
Dịng lệnh trên mặc định các thơng tin sniffer sẽ được ghi vào file alerts và sẽ tạo ra một file snort.log theo kiểu phân cấp. Nếu gói tin so trùng với một rule thì sự ghị nhận hoặc cảnh báo được tạo ra. Ngược lại, nếu gói tin khơng trùng với một rule thì khơng cảnh bảo nào tạo ra.
“snort -c c:\snort\etc\snort.conf -l c:\snort\log -A console”
Dùng lệnh này không ghi vào file alerts, nhưng sẽ tạo ra một file snort.log theo kiểu phân cáp. Với cờ -A là thiết lập chế độ cảnh báo, “console” là ở giao diện điều khiển. Bình thường trên giao diện ở cmd sẽ không hiện các sniffer, nhưng khi dùng
10.4 Khái quát về Rules
Snort là một hệ thống NIDS hoạt động dựa trên các tập luật (rules). Trong Snort rules có chứa những dấu hiệu thông thường để nhận biết các hoạt động bên trong và ngồi mạng.
Khi Snort hoạt động, nó sẽ đọc các tập luật được xây dựng sẵn và phải được cập nhật thường xuyên. Mỗi luật đại diện cho một cuộc tấn cơng.
Ví dụ: tập luật có thể được tạo ra để giám sát các nỗ lực quyét cổng, tìm dấu vết (các dấu hiệu cịn gọi là signature-base). Khi có một packet đến hệ thống nó sẽ
được áp vào tập luật, nếu có sự so trùng Snort sẽ phản ứng.
10.4.1 Cấu trúc của một rule
Tất cả các rule đều có 2 phần: header và options
Hình 63. Cấu trúc của một rule
Ví dụ rule mẫu:
Phần header chứa thơng tin hoạt động mà rule sẽ làm. Đồng thời header cũng chứa tiêu chuẩn cho việc so sánh một luật dựa vào gói tin. Phần options chứa thơng
điệp cảnh báo và thông tin về thông điệp sẽ được sử dụng để tạo ra cảnh báo. Phần
option cũng chứa tiêu chuẩn cho việc so sánh một luật dựa vào gói tin. Một rule có thể phát hiện một kiểu hay nhiều kiểu xâm nhập.
10.4.2 Cấu trúc của phần Header
Hình 65. Cấu trúc phần Header
- Action: là loại hành động của Snort khi tiêu chuẩn phát hiện và có sự so sánh
chính xác của một rule so với một gói tin. Những hoạt động điển hình là tạo một cảnh báo hoặc ghi thơng điệp. Có 5 loại action:
Action Mơ tả
Alert Tạo cảnh báo và ghi file log Log Ghi log các gói tin
Pass Bỏ qua các gói tin
Activate Tạo cảnh báo và tự bật chức năng dynamic rule
Dynamic Hoạt động như một log rule khi được kích hoạt bởi active rule - Protocol: là giao thức được dùng để áp dụng vào rule. Các giao thức có thể là
tcp, udp, icmp và IP.
- Address: trong phần header có hai trường địa chỉ, gồm địa chỉ nguồn và địa
chỉ đích được xác định dựa trên trường Direction.
- Direction: giúp phân biệt địa chỉ nguồn và địa chỉ đích. Ví dụ với trường
Direction là “” thì địa chỉ phía bên trái là nguồn, địa chỉ phía bên phải là
đích. Trường hợp muốn áp dụng snort theo cả 2 chiều thì sử dụng cú pháp “
Ví dụ ghi log 2 chiều:
Log tcp 192.168.1.0/24 any <> 172.16.0.0/24
- Port: Trong giao thức TCP hay UDP, Port xác định cổng nguồn và cổng đích
của gói tin khi rule áp dụng lên đó. Trong trường hợp giao thức lớp mạng như IP hay ICMP, thì giá trị port numbers khơng có ý nghĩa.
Ví dụ: Phân tích phần header của một rule
alert tcp any any -> any 80 (content: "yahoo"; msg: "Yahoo Site Access";)
Hành động ở đây là “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 có chứa từ khóa yahoo. 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ừ yahoo thì một record Yahoo Site Access sẽ được ghi vào log file.
10.4.3 Cấu trúc của phần Options
Một Snort rule có thể có nhiều option khác nhau phân cách bởi giấu “;” .Thơng thường phần Options có chứa từ khóa và một đối số. Một đối số truyền vào từ khóa bằng một dấu “:”. Ví dụ:
msg : “Phat hien xam nhap”
Ở đây, msg là từ khóa và “Phat hien xam nhap” là đối số cho từ khóa. Do có rất
nhiều từ khóa nên ta sẽ đi một vài từ khóa tiêu biểu. Phần Option có các từ khóa sẽ
10.5 Hiện thị cảnh báo
Dùng máy client truy cập web, ping hay scan port máy Snort server, thì trên BASE ghi nhận lại mọi hoạt động.
Hình 66. Base đang hoạt động
Hình 67. Thống kế dưới dạng đồ họa
Chọn Most frequent 5 Unique Alerts: xem thông tin về 5 cảnh báo xảy ra nhiều nhất. Source addres: Số lượng host tham gia
Hình 68. Thơng tin 5 cảnh báo xảy ra nhiều nhất
Thông tin máy ping
Hình 69. Thơng tin máy ping
Hoặc ta có thể biết thơng tin các IP ở ngoài mạng, vào địa chỉ source address
Hình 70. Thơng tin IP
10.6 Hiệu năng của Snort
Snort có giám sát tình trạng hiện tại của hệ điều hành. Các thông số thể hiện nhiều ý nghĩa và dựa vào đó ta có thể đốn được nhiều điều và đưa ra nhiều biện pháp
điều chỉ theo ý muốn.
Để có thể giám sát, vào file snort.conf cấu hình bật chức năng preprocessor
perfmonitor. Bộ tiền xử lý hiệu năng giám sát chỉ lấy ra một số các chọn lựa, các chọn lựa này bao gồm:
Time: 300 seconds
Flow Stats: INACTIVE
Console Mode: ACTIVE File Mode: /var/log/ snort.stats
SnortFile Mode: INACTIVE
Packet Count: 500
Ta có thể cấu hình để các dịng xuất hiện khi chạy Snort:
preprocessor perfmonitor: time 300 console file var/log/snort/snort.stats pktcnt 500
preprocessor perfmonitor : time 300 events flow file var/log/snort/snort.stats max console pktcnt 500
Hay để chế độ chạy ẩn, vào file log messages để đọc
preprocessor perfmonitor: time 300 file /var/log/snort/snort.stats pktcnt 500
Các tham số có ý nghĩa:
Time: khoảng thời gian tính bằng giây (s) giữa các lần lấy mẫu. Nếu đặt giá trị thời gian quá thấp có thể gia tăng giả tạo giá trị. Giá trị mặc định là 300s.
Console: Giao diện xuất ra màn hình console. Mặc định là được bật hay có thể xuất ra bằng cách kèm theo tham số file.
File <filename>: Kết quả xuất ra file theo đường dẫn đã định. Các thống kê ghi lên file theo từng giá trị đơn lẻ, cách nhau bằng dấu phẩy “,” cho mỗi lần chạy lấy mẫu.
Pktcnt: Số lượng packets sẽ được xử lý trong thời gian đã định. Lưu ý nếu số lượng packet bắt được ít hơn packet đã chỉ định thì sẽ khơng nhận được số liệu thống kê.
Flow: Phát sinh một số lượng lớn các thông tin chi tiết trên các dịng lưu
thơng mạng network traffic flows (hồn thành với các thơng tin như chiều
dài gói tin cho đến số lượng gói tin mỗi dịng, dung lượng dịng mỗi port và
kiểu giao thức, các con số phân đoạn và vài thông tin khác).
Events: Snort sẽ mở chức năng reporting và hiển thị trạng thái số lượng
signatures match. Phát sinh nhiều bộ dữ liệu đóng gói lại phản ánh số lượng các dấu hiệu đã qua, đã khớp, hay đã được chứng thực. Có 2 loại là Non- qualified events và Qualified events được xác nhận dựa trên các cờ nhận
biết. Option này đặc biệt chú trọng bất kỳ sự bất cân xứng nào giữa cái
được mong đợi và cái đang thực sự được dùng để dị tìm bởi tập rule cho trước.
Max: Sẽ kích hoạt Snort hoạt động hết sức để nâng cao hiệu quả.
Với máy ảo có ổ cứng 8G, ram 512 MB, khi Snort hoạt động, thơng số của CPU
Hình 71 Các thơng số
CPU Usage: 0.075% (user) 0.337% (sys) 99.588% (idle)
Snort: VIRT- Virtual Image (kb): 38412 - Tổng số lượng bộ nhớ ảo được sử
dụng.
RES - Resident size (kb): 18M - Bộ nhớ vật lý được sử dụng.
SHR - Shared Mem size (kb): 2264 - Số lượng bộ nhớ chia sẻ được sử dụng bởi một nhiệm vụ.
Mỗi process trên CentOS có số lượng memory được sử dụng và biến thiên tuỳ hoàn cảnh. Hơn nữa, memory được một process sử dụng có thể là tổng hợp của shared memory, physical memory, virtual memory. Khi Snort làm việc, cần chú ý những dòng luật, luật càng nhiều thì đương nhiên chiếm ram khá nhiều và những luật mặc định không cần thiết thì nên tắt để giảm tải cho hệ thống .
Hình 72. Hiệu suất CPU khi Snort hoạt động
10.7 Mơ hình triển khai Snort
Hình 73. Triển khai IDS
Mơ hình có switch hỗ trợ port "giám sát" ("Span Port", "Port Monitoring", "Management Port"). Với tính năng này, tồn bộ traffic của các máy tính nối vào
Khi dữ liệu được truyền qua switch, đồng thời switch sẽ gửi 1 bản sảo đến Port Monitor .
Hình 74. Port Monitor
10.8 Tấn cơng trong mạng nội bộ
10.8.1 Tấn công ARP Cache
Máy Hacker sẽ giả MAC địa chỉ của Victim 1, khi Victim 2 truy cập remote
desktop vào Victim 1, Hacker sẽ thu được những gói tin từ Victim 2 gửi cho Victim 1.
Khi đó IDS sẽ báo hiệu và người quản trị có nhiệm vụ đi tìm máy Hacker.
ARP spoof preprocessor giải mã những gói tin và phát hiện những cuộc tấn
công ARP. Khi được cấu hình thơng số, preprocessor sẽ kiểm tra địa chỉ Ethernet và các địa chỉ trong gói tin ARP. Khi xảy ra hiện tượng, một cảnh báo GID 112 và SID 4 được tạo ra.
Khi “unicast” được chỉ định, preprocessor sẽ kiểm tra những yêu cầu Unicast
ARP. Một cảnh báo GID 112 và SID 1 sẽ sinh ra nếu một Unicast ARP bị phát hiện.
preprocessor arpspoof[: -unicast]
preprocessor arpspoof_detect_host: ip mac
Cấu hình trong file snort.conf preprocessor arpspoof
preprocessor arpspoof_detect_host: 192.168.100.2 00:0C:29:2E:2A:47 preprocessor arpspoof_detect_host: 192.168.100.3 00:0C:29:14:7B:2F preprocessor arpspoof_detect_host: 192.168.100.21 00:0C:29:D1:BE:1E preprocessor arpspoof_detect_host: 192.168.100.66 00:0C:29:48:20:C9 Cấu hình file log
output alert_csv: /var/log/snort/alert.csv
Chú ý: Dấu hiện nhận biết cuộc tấn công này là 1 IP phải khớp với 1 MAC, nhiệm vụ của người quản trị là phải thu nhập IP và MAC trong hệ thống.
Máy Hacker dùng chương Cain & Abel để giả MAC của 2 máy Victim để
sniffer các thông tin từ 2 máy
Hình 77. Máy Victim 2
Đồng thời lúc đó IDS sẽ cánh báo có tấn cơng ARP
Hình 78. Cảnh báo
Để thấy được địa chỉ MAC của Hacker ta vào file alert.csv
10.8.2 Tấn công SMB
- Dấu hiệu
Đây là dạng tấn công qua port 445 và đặt giá tri Process ID High là
"\x00\x26" , giá trị bình thường là "\x00\x00". - Luật
alert tcp $EXTERNAL_NET any -> $HOME_NET 445 (msg : "Tan cong SMB"; content: "|00 26|"; flow:to_server,established; content:"|53 4d 42
10.8.3 Tấn công Smurf attack
- Dấu hiệu
Đây là dạng tấn công làm ngập gói tin ICMP ECHO REPLY. Sự khác biệt lớn
giữa nó với gói tin ICMP ping “thật” là ở 2 trường: icmp_id = 0x00 và sequence
number = 0x00 (gói ping thật có id và sequence number khác 0). Ngoài ra Hacker
thường tăng kích thước payload mặc định của gói tin ping (32 byte) để nhanh
chóng làm ngập mạng victim. - Luật
alert icmp $EXTERNAL_NET any -> $HOME_NET any ( msg: “Tan cong Smurf Attack”; dsize: >32; icmp_seq:0; icmp_id:0 ; sid: 1000004; )
10.8.4 Tấn công Land attack
- Dấu hiệu
Land attack tấn công bằng cách gửi các gói tin có địa chỉ nguồn và đích giống nhau.Bằng cách dùng từ khóa sameip trong Rule option là có thể phát hiện ra.
- Luật
alert udp any any <> $HOME_NET any (msg : “Land Attack”; sameip;)
10.8.5 Tấn công Dos với HTTP Post
- Dấu hiệu
Dạng tấn công này sẽ gứi hàng loạt dữ các liệu hợp lệ đến Server sẽ xử lý làm tràn database và nghẽn hệ thống. Dùng wireshark bắt gói tin để tìm ra dầu hiệu nhận biết cuộc tấn cơng này, trong đó có đoạn “48 54 54 50 2f 31 2e 31” là thường xuyên xuất hiện.
- Luật
alert tcp $EXTERNAL_NET any -> $HOME_NET 80 (msg:"Tan cong DOS"; content:"|48 54 54 50 2f 31 2e 31 |"; flow:to_server; sid: 1000005;)
10.8.6 Một số rule cảnh báo
alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg : “Ping cao hon 100”; dsize : > 100; sid: 1000006;)
alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg : “Tan cong ping”; content: "|40 00|" ; sid: 1000009;)
Phát hiện tấn công ping –f
10.9 Nhận xét
Snort là một IDS dùng để theo dõi những biến cố xảy ra trên tcp/ip stack do mình định ra. Với Snort hoặc bất cứ ứng dụng IDS nào cũng cần phải có một bộ luật, cịn gọi là các "signature". Snort có thể áp dụng ở các mơ hình mạng, với chi phí thấp Snort là lựa chọn cho nhiều cơng ty có quy mơ vừa và nhỏ cũng như những cơng ty có quy mơ lớn.
Ưu Điểm Nhược Điểm
- Snort ghi nhận các luồng dữ liệu từ
trong ra ngoài hay ngược lại vào file
log do mình định ra giúp người quản trị dễ giám sát dữ liệu.
- Do phát triển dựa vào mã nguồn mở nên Snort hồn tồn miễn phí. - Người quản trị có thể tự viết luật và
kết hợp với các phần mềm và phần cứng khác như: Cisco, Snortsam, Swatch,.v.v..
- Tối ưu hóa tập luật, phát triển luật tương tác với tường lửa, nâng cao Snort hoạt động như một hê thống phát hiện ngăn chặn IPS.
- Snort khơng có khả năng chống lại các cuộc tấn công.
- Do tập luật của snort được cơng khai trên mạng nên các hacker có thể tập hợp các luật để thay đổi dấu hiệu tấn cơng, từ đó có thể vượt qua giám sát của Snort.
- Tập luật cịn có nhiều khuyết điểm nên khơng thể sử dụng ngay mà cịn phải chỉnh sửa.
- Không thể cập nhập tập luật theo thời gian thực.
- IDS thường xuyên đưa ra báo động
giả ( False Positives) là gánh nặng cho quản trị hệ thống bởi nó cần được theo dõi liên tục.
11. Xây dựng hệ thống giám sát với Forefront TMG 11.1 Tìm hiểu tổng quan Forefront TMG 11.1 Tìm hiểu tổng quan Forefront TMG
Forefront TMG được ra đời dựa trên nền tảng của các tính năng nổi bật về tường lửa của ISA 2006 và bổ sung thêm vào đó các cơ chế bảo vệ an toàn tối ưu làm tăng thêm tính mạnh mẽ trong việc bảo đảm an ninh cho một hệ thống mạng.
11.1.1 Một số tính năng mới trong Forefront TMG:
- Web anti-malware: là một phần của dịch vụ bảo vệ Web cho Forefront TMG,
có thể quét virus, phần mềm độc hại và các mối đe dọa khác trên các trang web.
- URL filtering: Cho phép hoặc từ chối truy cập đến các trang web dựa trên
danh mục URL chẳng hạn như những trang web đen, những trang có nội dung không lành mạnh, đồng thời cũng bảo vệ năng suất kinh doanh bằng cách hạn