Kỹ thuật phát triển và ngăn chặn IDS và IPS - Môn quản trị học - Đại Học Kinh Tế - Đại học Đà Nẵng
Hệ thống IPS ược xem là trường hợp mở rộng của hệ thống IDS, cách thức hoạt ộng cũng như ặc iểm của 2 hệ thống này tương tự nhau. Điểm khác nhau duy nhất là hệ thống IPS ngoài khả năng theo dõi, giám sát thì còn có chức năng ngăn chặn kịp thời các hoạt ộng nguy hại ối với hệ thống. Hệ thống IPS sử dụng tập luật tương tự như hệ thống IDS. Tài liệu giúp bạn tham khảo ôn tập và đạt kết quả cao. Mời bạn đọc đón xem!
Preview text:
lOMoARcPSD| 49598967 MỤC LỤC
1. Giới thiệu chung ..................................................................................................... 3 1.1.
Lý do chọn ề tài:............................. 3
1.2. Giới thiệu về IDS/IPS: ...................... 3 1.2.1.
IDS – Hệ thống phát hiện xâm nhập: ................................................................................ 3 1.2.2.
IPS – Hệ thống ngăn ngừa xâm nhập: .............................................................................. 3 1.2.3.
Phân loại: ......................................................................................................................... 3 1.2.4.
Cơ chế hoạt ộng: ............................................................................................................ 4
1.3. Ứng dụng Snort trong IDS/IPS: ....... 4 1.3.1.
Giới thiệu về Snort: ........................................................................................................... 4
1.3.2. Kiến trúc Snort: ................................................................................................................. 4
1.3.3. Bộ luật của Snort: ............................................................................................................. 5
2. Thực nghiệm hệ thống phát hiện và ngăn chặn với snort ................................. 6 2.1.
Cài ặt cấu hình, hệ thống, card mạng, cổng mở: 6
2.2. Phát hiện xâm nhập Snort IDS: ....... 9 2.2.1.
Tạo luật cảnh báo khi bên ngoài thực hiện PING ến máy chủ Snort: .............................. 9 2.2.2.
Tạo luật cảnh báo khi trong mạng có truy cập ến Website: ........................................... 10 2.2.3.
Tạo luật cảnh báo khi bên ngoài thực hiện NMAP ến máy chủ Snort: .......................... 12
2.2.4. PingOfDeath và phát hiện cảnh báo: .............................................................................. 15
2.2.5. Phát hiện cảnh báo khi có tấn công SQL Injection: ......................................................... 16
3. Tổng kết ................................................................................................................. 19 3.1.
Khuyết iểm: .................................. 19
3.2. Cách khắc phục:............................. 19
1. GIỚI THIỆU CHUNG
1.1. Lý do chọn ề tài:
- Bảo mật là một vấn ề lớn ối với tất cả các mạng trong môi trường doanh nghiệp ngày
nay, iển hình như việc tin tặc ăn cắp nhiều thông tin có giá trị của một doanh nghiệp. Đã
có nhiều phương pháp ược phát triển ể ảm bảo cho hạ tầng mạng và giao tiếp trên
internet như: sử dụng Firewall, VPN… trong ó có hệ thống phát hiện và ngăn chặn xâm nhập.
1.2. Giới thiệu về IDS/IPS:
1.2.1. IDS – Hệ thống phát hiện xâm nhập:
- IDS (Intrusion Detection Systems - Hệ thống phát hiện xâm nhập) là thiết bị hoặc phần
mềm có nhiệm vụ giám sát traffic mạng, các hành vi áng ngờ và cảnh báo cho admin
hệ thống. Mục ích của IDS là phát hiện và ngăn ngừa các hành ộng phá hoại bảo mật
hệ thống, hoặc những hành ộng trong tiến trình tấn công như dò tìm, quét các cổng.
IDS cũng có thể phân biệt giữa những cuộc tấn công nội bộ (từ chính nhân viên hoặc
khách hàng trong tổ chức) và tấn công bên ngoài (từ hacker). Trong một số trường
hợp, IDS có thể phản ứng lại với các traffic bất thường/ ộc hại bằng cách chặn người
dùng hoặc ịa chỉ IP nguồn truy cập mạng.
1.2.2. IPS – Hệ thống ngăn ngừa xâm nhập:
- IPS (Intrusion Prevention Systems – Hệ thống ngăn ngừa xâm nhập) là hệ thống theo
dõi, ngăn ngừa kịp thời các hoạt ộng xâm nhập không mong muốn. Chức năng chính
của IPS là xác ịnh các hoạt ộng nguy hại, lưu giữ các thông tin này. Sau ó kết hợp với
firewall ể dừng ngay các hoạt ộng này, và cuối cùng ưa ra các báo cáo chi tiết về các
hoạt ộng xâm nhập trái phép trên.
Hệ thống IPS ược xem là trường hợp mở rộng của hệ thống IDS, cách thức hoạt ộng
cũng như ặc iểm của 2 hệ thống này tương tự nhau. Điểm khác nhau duy nhất là hệ
thống IPS ngoài khả năng theo dõi, giám sát thì còn có chức năng ngăn chặn kịp thời
các hoạt ộng nguy hại ối với hệ thống. Hệ thống IPS sử dụng tập luật tương tự như hệ thống IDS. 1.2.3. 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:
• Host-based IDS (HIDS): Sử dụng dữ liệu kiểm tra từ một máy trạm ơn ể phát hiện xâm nhập.
• Network-based IDS (NIDS): Sử dụng dữ liệu trên toàn bộ lưu thông mạng, cùng với
dữ liệu kiểm tra từ một hoặc một vài máy trạm ể phát hiện xâm nhập.
1.2.4. Cơ chế hoạt ộng:
Có hai cách tiếp cận cơ bản ối với việc phát hiện và phòng chống xâm nhập là:
1. Phát hiện sự lạm dụng (Misuse Detection Model):
- Hệ thống sẽ phát hiện các xâm nhập bằng cách tìm kiếm các hành ộng tương ứng với
các kĩ thuật xâm nhập ã ược biết ến (dựa trên các dấu hiệu - signatures) hoặc các iểm
dễ bị tấn công của hệ thống.
2. Phát hiện sự bất thường (Anomaly Detection Model):
- Hệ thống sẽ phát hiện các xâm nhập bằng cách tìm kiếm các hành ộng khác với hành
vi thông thường của người dùng hay hệ thống.
1.3. Ứng dụng Snort trong IDS/IPS:
1.3.1. Giới thiệu về Snort:
- Snort là một kiểu IDS (Instruction Detection System). Cụ thể Snort là một NIDS ược
Martin Roesh phát triển dưới mô hình mã nguồn mở. Tuy Snort miễn phí nhưng nó lại
có rất nhiều tính năng tuyệt vời mà không phải sản phẩm thương mại nào cũng có thể
có ược. Với kiến trúc thiết kế theo kiểu module, người dùng có thể tự tăng cường tính
năng cho hệ thống Snort của mình bằng việc cài ặt hay viết thêm mới các module.
- Nếu một cuộc tấn công ược phát hiện bởi Snort thì nó có thể phản ứng bằng nhiều
cách khác nhau phụ thuộc vào cấu hình mà bạn thiết lập, chẳng hạn như nó có thể gởi
thông iệp cảnh báo ến nhà quản trị hay loại bỏ gói tin khi phát hiện có sự bất thường trong các gói tin ó. 1.3.2. Kiến trúc Snort: - Bao gồm:
• Mô un giải mã gói tin (Packet Decoder).
• Mô un tiền xử lý (Preprocessors).
• Mô un phát hiện (Detection Engine).
• Mô un log và cảnh báo (Logging and Alerting System).
• Mô un kết xuất thông tin (Output Module).
- 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 mô un giải mã gói tin. Tiếp theo
gói tin sẽ ược ưa vào mô un tiền xử lý, rồi mô un 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 mô un Log và cảnh báo ể xử lý. Khi các cảnh báo ược xác ịnh mô un kết
xuất thông tin sẽ thực hiện việc ưa cảnh báo ra theo úng ịnh dạng mong muốn.
1.3.3. Bộ luật của Snort:
- Cũng giống như virus, hầu hết các hoạt ộng tấn công hay xâm nhập ều có các dấu hiệu
riêng. Các thông tin về các dấu hiệu này sẽ ược sử dụng ể tạo nên các luật cho Snort
và các luật này lại ược dựa trên các dấu hiệu nhận dạng tấn công. Các luật có thể ược
áp dụng cho tất cả các phần khác nhau của một gói tin dữ liệu. Một luật có thể ược sử
dụng ể 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.
- Hãy xem xét một ví dụ ơn giản:
alert tcp 192.168.2.0/24 23 -> any any (content: “confidential”; msg: “Detected confidential”)
Tất cả các Luật của Snort về logic ều gồm 2 phần:
• Phần Header chứa thông tin về hành ộng mà luật ó sẽ thực hiện khi phát hiện ra có
xâm nhập nằm trong gói tin và nó cũng chứa các tiêu chuẩn ể áp dụng luật với gói tin ó.
• Phần Option chứa một thông iệp cảnh báo và các thông tin về các phần của gói tin
dùng ể tạo nên cảnh báo. Phần Option chứa các tiêu chuẩn phụ thêm ể ối sánh luật
với gói tin. Một luật có thể phát hiện ược một hay nhiều hoạt ộng thăm dò hay tấn
công. Các luật thông minh có khả năng áp dụng cho nhiều dấu hiệu xâm nhập.
2. THỰC NGHIỆM HỆ THỐNG PHÁT HIỆN VÀ
NGĂN CHẶN VỚI SNORT
2.1. Cài ặt cấu hình, hệ thống, card mạng, cổng mở:
- Xem thư mục cài ặt: C:\Snort\bin>dir
- Xem nội dung tập tin cấu hình : C:\Snort\bin>type C:\Snort\etc\snort.conf
- Kiểm tra hệ thống ang hoạt ộng là card interfaces: C:\Snort\bin>Snort -W
- Kiểm tra hệ thống ang hoạt ộng ICMP Scanning C:\>nmap –sX 192.168.100.23
- Kiểm tra những cổng mở và dịch vụ ang hoạt ộng: C:\Snort\bin>snort –v –I 1
2.2. Phát hiện xâm nhập Snort IDS:
2.2.1. Tạo luật cảnh báo khi bên ngoài thực hiện PING ến máy chủ Snort:
1. Tạo luật cảnh báo trong c:\Snort\rules\myrules.rules với luật:
alert icmp any any -> any any (msg:"[HO va TEN] Phat hien tham do ICMP"; GID:1;
sid:10000001; rev:001; classtype:icmp-event;) 2. Bắt và lưu gói tin:
snort -dve -l C:\Snort\log -c C:\Snort\etc\snort.conf -i 3
3. Từ máy bên cạnh thực hiện: ping -t [ip máy snort]
4. Xem tập tin nhật ký C:\Snort\log\alert.ids chứa nội dung cảnh báo.
C:\Snort\bin>type C:\Snort\log\alert.ids
2.2.2. Tạo luật cảnh báo khi trong mạng có truy cập ến Website:
1. Tạo luật cảnh báo trong c:\Snort\rules\myrules.rules với luật:
alert tcp any any -> any any (msg: "Có truy cập vào trang facebook.com"; content:
"facebook.com"; sid:1000002; rev: 1;) 2. Bắt và lưu gói tin:
snort -dve -l C:\Snort\log -c C:\Snort\etc\snort.conf -i 3
3. Truy cập vào: facebook.com
4. Xem tập tin nhật ký C:\Snort\log\alert.ids chứa nội dung cảnh báo.
C:\Snort\bin>type C:\Snort\log\alert.ids
2.2.3. Tạo luật cảnh báo khi bên ngoài thực hiện NMAP ến máy chủ Snort: 1.
Tạo luật cảnh báo trong c:\Snort\rules\myrules.rules với luật:
alert tcp any any -> any any (msg: "Identify NMAP TCP Scan [nmap -sT -p80
SnortIPAddr]";sid:10000005; rev:2; ) alert tcp any any -> any any (msg:"Nmap XMAS Tree
Scan [nmap -sX -p80 SnortIPAddr]"; flags:FPU; sid:1000006; rev:1; ) alert tcp any any ->
any any (msg:"Nmap FIN Scan [nmap -sF -p80 SnortIPAddr]"; flags:F; sid:1000008; rev:1;)
alert tcp any any -> any any (msg:”TCP Port Scanning”; detection_filter:track by_src, count 30,
seconds 60; sid:1000006; rev:2;) alert tcp any any -> any any (flags: A; ack: 0; msg: "Detect
NMAP TCP pings"; sid:97635; rev:1;) 2. Bắt và lưu gói tin:
snort -dve -l C:\Snort\log -c C:\Snort\etc\snort.conf -i 3 3.
Từ máy bên cạnh thực hiện lệnh: nmap -sT -p80
192.168.100.23 nmap -sX -p80 192.168.100.23 nmap -sF -p80
192.168.100.23 nmap -T4 -A -v 192.168.100.23 4.
Xem tập tin nhật ký C:\Snort\log\alert.ids chứa nội dung cảnh báo.
C:\Snort\bin>type C:\Snort\log\alert.ids
2.2.4. PingOfDeath và phát hiện cảnh báo: 1.
Tạo luật cảnh báo trong c:\Snort\rules\myrules.rules với luật: alert ip any any ->
any any (dsize:>65000;msg:"Goi tin co kich thuoc lon"; sid:1002201;) 2. Bắt và lưu gói tin:
snort -dve -l C:\Snort\log -c C:\Snort\etc\snort.conf -i 3 3.
Từ máy bên cạnh thực hiện:
ping [ip máy snort] -l 65500 -t 4.
Xem tập tin nhật ký C:\Snort\log\alert.ids chứa nội dung cảnh báo.
C:\Snort\bin>type C:\Snort\log\alert.ids
2.2.5. Phát hiện cảnh báo khi có tấn công SQL Injection:
1. Tạo luật cảnh báo trong c:\Snort\rules\myrules.rules với luật: #Identify Error Based
SQL Injection alert tcp any any -> any 80 (msg: "Error Based SQL Injection Detected
[http://192.168.1.1 id=1&27]"; content: "%27" ; sid:100000011; ) alert tcp any any -> any
80 (msg: "Error Based SQL Injection Detected [http://192.168.1.1 id=1&22]"; content: "22" ; sid:100000012; )
#Boolean Based SQL Injection alert tcp any any -> any 80 (msg: "AND SQL Injection
Detected [http://192.168.1.1 id=1' AND
1=1--]"; content: "and" ; nocase; sid:100000060; ) alert tcp any any -> any 80 (msg: "OR
SQL Injection Detected [http://192.168.1.1 id=1' OR 1=1--]"; content: "or" ; nocase; sid:100000061; ) #Encoded AND/OR
alert tcp any any -> any 80 (msg: "AND SQL Injection Detected [http://192.168.1.1 id=11’
%26%26 1==1--]"; content: "and" ; nocase; sid:100000008; ) alert tcp any any -> any
80 (msg: "OR SQL Injection Detected [http://192.168.1.1 id=1' %7C%7C 1=1--]";
content: "or" ; nocase; sid:100000009; )
#Identify Order by SQL Injection alert tcp any any -> any 80 (msg: "Order by SQL Injection
[http://192.168.1.1 id=1' order by 1,2,3--]"; content: "order" ; sid:1000005; )
#Identify Union Based SQL Injection
alert tcp any any -> any 80 (msg: "UNION SELECT SQL Injection [http://192.168.1.1 id=1'
union select by 1,2,3--]"; content: "union" ; sid:1000006; ) 2. Bắt và lưu gói tin:
snort -dve -l C:\Snort\log -c C:\Snort\etc\snort.conf -i 3
3. Truy cập vào: http://192.168.1.1
Đăng nhập theo tài khoản user01, gõ các URL như sau:
http://192.168.1.1/mod/resource/view.php?id=142’
http://192.168.1.1/mod/resource/view.php?id=142”
http://192.168.1.1/mod/resource/view.php?id=142 AND 1=1—
http://192.168.1.1/mod/resource/view.php?id=142 OR 1=1—
http://192.168.1.1/mod/resource/view.php?id=142 order by 1,2,3--
http://192.168.1.1/mod/resource/view.php?id=142 union select 1,2,3—
4. Xem tập tin nhật ký C:\Snort\log\alert.ids chứa nội dung cảnh báo.
C:\Snort\bin>type C:\Snort\log\alert.ids 3. TỔNG KẾT 3.1. Khuyết iểm:
- Như với bất kỳ sản phẩm bảo mật ược thiết kế ể bảo vệ các hệ thống thông tin và dữ
liệu, Snort cũng có iểm yếu và những hạn chế. Đó là tương tự như các bộ quét virus
(virus scanner), snort chỉ có thể chống lại các cuộc tấn công một cách hiệu quả nếu như
nó biết ược dấu hiệu (signature) của các cuộc tấn công ó.
3.2. Cách khắc phục:
- Để snort hoạt ộng một cách hiệu quả thì một trong những yếu tố quan trọng cần phải
chú ý là các luật viết cho snort. Khi snort hoạt ộng, nó sẽ ọc các tập luật, giám sát luồng
dữ liệu chạy qua hệ thống và sẽ phản ứng nếu có bất kì luồng dữ liệu nào phù hợp với
tập luật của nó. Cụ thể hơn, tập luật có thể ược tạo ra ể giám sát các nỗ lực quyét cổng
(scanning), tìm dấu vết (footprinting), hoặc nhiều phương pháp khác mà các hacker
dùng ể tìm cách chiếm quyền hệ thống. Tập luật này có thể ược tạo ra bởi người dùng
hoặc người dùng có thể truy cập ến trang chủ của snort là: http://www.snort.org ể tải về. 18 19