HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BÀI TẬP LAB THỰC HÀNH Môn An toàn mạng nâng cao Bài 2 Triển khai hệ thống Honeypot kết hợp IDS MỤC LỤC MỤC LỤC 1 DANH S[.]
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGVIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
BÀI TẬP LAB THỰC HÀNH Môn: An toàn mạng nâng cao
Bài 2: Triển khai hệ thống Honeypot kết hợp IDS
Trang 2MỤC LỤC
MỤC LỤC 1
DANH SÁCH HÌNH VẼ 3
1 GIỚI THIỆU BÀI THỰC HÀNH 5
1.1 Mục đích 5
1.2 Yêu cầu 5
1.3 Thời gian thực hiện 5
1.4 Nhóm thực hành 5
2 CƠ SỞ LÝ THUYẾT 6
2.1 Honeypot 6
2.1.1 Khái niệm về Honeypot 6
2.1.2 Giới thiệu Honeyd 6
2.2 Khái niệm IDS 7
2.3 Giới thiệu công cụ Snort 7
2.3.1 Snort 7
2.3.2 Kiến trúc của Snort 8
2.3.3 Hoạt động của Snort 8
2.4 Công cụ Nmap 8
3 NỘI DUNG THỰC HÀNH 10
3.1 Cài đặt, cấu hình honeyd trên ubuntu và phát hiện tấn công mạng bằng honeyd 10 3.1.1 Chuẩn bị môi trường 10
3.1.2 Các bước thực hiện 10
3.1.3 Kết quả mong muốn 19
3.2 Cài đặt và cấu hình Snort 20
3.2.1 Chuẩn bị môi trường 20
3.2.2 Các bước thực hiện 21
3.2.3 Kết quả mong muốn 28
Trang 3DANH SÁCH HÌNH VẼ
Hình 3.12: Rà quét được máy 1 có IP 192.168.10.209 17Hình 3.13: Rà quét được máy 2 có IP 192.168.10.222 17Hình 3.14: Rà quét được máy 3 có IP 192.168.10.233 18Hình 3.15: Rà quét được máy 4 có IP 192.168.10.111 18Hình 3.16: Máy chủ honeyd nhận được thông báo có người đang quét mạng 19
Hình 3.19: Mô hình mạng thực hành cài đặt và cấu hình Snort 20Hình 3.20: Cài đặt các gói thư viện cần thiết cho snort 21
Trang 4Hình 3.27: Ping từ máy thật sang máy chạy snort 26Hình 3.28: Màn hình theo dõi bên máy chạy snort 26Hình 3.29: Nội dung thông báo được lưu trong file alert 26
Hình 3.31: Ping từ máy thật với gói tin có kích thước lớn 27Hình 3.32: Thông báo phát hiện ping với gói tin lớn 28
Trang 51 GIỚI THIỆU BÀI THỰC HÀNH
1.1 Mục đích
- Về kiến thức: Bài thực hành cung cấp cho sinh viên môi trường để áp dụng lýthuyết của môn học vào thực tế Giúp sinh viên nắm được kiến thức về việc sửdụng các IDS, công cụ Snort và hiểu được hệ thống Honeypot, Honeyd
- Về kỹ năng: Sau khi thực hành xong, sinh viên có khả năng cài đặt được một hệthống honeypot cụ thể, hiểu và kiểm chứng một số luật cơ bản trên Snort
1.2 Yêu cầu
- Sinh viên hiểu được cách hoạt động của Honeypot và IDS
- Sinh viên cài đặt thành công hệ thống Honeyd kết hợp với IDS
- Sinh viên cài đặt và cấu hình thành công Snort trên Ubuntu
1.3 Thời gian thực hiện
- 4 giờ
1.4 Nhóm thực hành
- 1 sinh viên
Trang 6Một Honeypots là một hệ thống máy tính được thiết kế đặc biệt để “bắt” tất cả hoạtđộng và các file được khởi tạo bởi một thủ phạm có ý định giành quyền truy cập trái phéptới hệ thống.
Honeypot có thể giả dạng bất cứ loại máy chủ tài nguyên nào như là Mail Server,Domain Name Server, Web Server…, được cài đặt chạy trên bất cứ hệ điều hành nào.Honeypot sẽ trực tiếp tương tác với tin tặc và tìm cách khai thác thôngtin về tin tặc nhưhình thức tấn công, công cụ tấn công hay cách thức tiến hành tấn thay vì bị tấn công.Honeypot gồm hai loại chính: Tương tác thấp và tương tác cao
- Tương tác thấp: Mô phỏng giả các dịch vụ, ứng dụng và hệ điều hành Mức độ rủi
ro thấp, dễ triển khai và bảo dưỡng nhưng bị giới hạn về dịch vụ.
- Tương tác cao: Là các dịch vụ, ứng dụng và hệ điều hành thực Mức độ thông tinthu thập được cao Nhưng rủi ro cao và tốn thời gian để vận hành và bảo dưỡng
2.1.2 Honeyd – Một loại Honeypot
Honeyd là loại hình Honeypot tương tác thấp có nhiều ưu điểm, tuy nhiên Honeyd
có nhược điểm là không thể cung cấp một hệ điều hành thật để tương tác với tin tặc vàkhông có cơ chế cảnh báo khi phát hiện hệ thống bị xâm nhập hay gặp nguy hiểm
Honeyd có thể mô phỏng cùng một lúc nhiều hệ điều hành khác nhau và lắng nghetrên tất cả các cổng TCP và UDP, những dịch vụ mô phỏng được thiết kế với mục đích
Trang 7ngăn chặn và ghi lại những cuộc tấn công, tương tác với kẻ tấn công với vai trò một hệthống nạn nhân.
Hiện nay, Honeyd có nhiều phiên bản và có thể mô phỏng được khoảng 473 hệ điềuhành
2.2 IDS – Hệ thống phát hiện xâm nhập
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ộtmạ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áccổ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ữnghà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ạngkhó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ữanhữ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)
2.3 Giới thiệu công cụ Snort
2.3.1 Snort
Snort là phần mềm IDS được phát triển bởi Martin Roesh dưới dạng mã nguồn mở.Snort ban đầu được xây dựng trên nền Unix nhưng sau đó phát triển sang các nền tảngkhác Snort được đánh giá rất cao về khả năng phát hiện xâm nhập Tuy snort miễn phínhưng nó lại có rất nhiều tính năng tuyệt vời Với kiến trúc kiểu module, có thể tự tăngcường tính năng cho hệ thống Snort
Snort có thể chạy trên nhiều hệ thống như Windows, Linux, OpenBSD, FreeBSD,Solaris …
Bên cạnh việc có thể hoạt động như một ứng dụng bắt gói tin thông thường, Snortcòn được cấu hình để chạy như một NIDS
Trang 82.3.2 Kiến trúc của Snort
Snort bao gồm nhiều thành phần, mỗi phần có một chức năng riêng biệt:
- Module giải mã gói tin
- Module tiền xử lý
- Module phát hiện
- Module log và cảnh báo
- Module kết xuất thông tin
2.3.3 Hoạt động của Snort
Khi Snort hoạt động, nó sẽ lắng nghe tất cả các gói tin nào di chuyển qua nó Cácgói tin sau khi bị bắt sẽ được đưa vào module giải mã Tiếp theo sẽ vào module tiền xử lý
và rồi module phát hiện Tại đây tùy vào việc có phát hiện được xâm nhập hay không màgói tin có thể bỏ qua để lưu thông tin tiếp hoặc đưa vào module Log và cảnh báo để xử lý.Khi các cảnh báo được xác định, Module kết xuất thông tin sẽ thực hiện việc đưa ra cảnhbáo theo đúng định dạng mong muốn
2.4 Công cụ Nmap
Nmap (Network Mapper) là một công cụ quét, theo dõi và đánh giá bảo mật một hệthống mạng được phát triển bởi Gordon Lyon (hay còn được biết đến với tên gọi FyodorVaskovich)
Nmap là phần mềm mã nguồn mở miễn phí, ban đầu chỉ được phát triển trên nềntảng Linux sau đó được phát triển trên nhiều nền tảng khác nhau như Windows, Solari,Mac OS… và phát triển thêm phiên bản giao diện người dùng (zenmap)
Các chức năng của Nmap:
- Phát hiện host trong mạng
- Liệt kê các port đang mở trên một host
- Xác định các dịch vụ chạy trên các port đang mở cùng với phần mềm và phiên bảnđang dùng
Trang 9- Xác đinh hệ điều hành của thiết bị.
- Chạy các script đặc biệt
Trang 103 NỘI DUNG THỰC HÀNH
3.1 Cài đặt, cấu hình honeyd trên ubuntu và phát hiện tấn công mạng bằng honeyd
3.1.1 Chuẩn bị môi trường
- Chuẩn bị đối tượng:
o Máy ảo hệ điều hành Linux dùng để tấn công
o Máy ảo hệ điều hành Ubuntu để cài Honeyd
- Mô hình mạng (xem Hình 3.1):
Hình 3.1: Mô hình mạng bài thực hành honeyd
3.1.2 Các bước thực hiện
3.1.2.1 Cài đặt Honeyd trên Ubuntu
- Tải git client về máy: $ sudo apt-get install git (xem Hình 3.2).
Trang 11Hình 3.2: Tải git client về máy
- Tải mã nguồn: $ git clone https://github.com/DataSoft/Honeyd ~/Desktop/honeyd
Trang 12Hình 3.4: Cài đặt các gói thư viện yêu cầu
- Tiến hành cài đặt:
o $ cd ~/Desktop/honeyd (xem Hình 3.5).
Hình 3.5: $ cd ~/Desktop/honeyd
Trang 13o $ /autogen.sh (xem Hình 3.6).
Hình 3.6: $ /autogen.sh
o $ /configure (xem Hình 3.7).
Trang 14o Nếu báo lỗi thiếu thư viện nào thì ta cần cài thủ công: $ make (xem Hình
3.8)
Hình 3.8: Cài thư viện thủ công
o $ sudo make install (xem Hình 3.9).
Hình 3.9: $ sudo make install
Trang 15Windows server
Honeyd1 Honeyd2Linux Windows XPHoneyd3
UbuntuWeb serverHoneyd server
3.1.2.2 Cấu hình Honeyd
- Giả sử trong mạng có 1 máy chủ web, ta cấu hình honeyd tạo ra thêm 3 máy gồm
1 máy windows server, 1 máy linux và 1 máy chạy windows XP, sơ đồ mạng nhưsau (xem Hình 3.10):
set windows default tcp action reset add windows tcp port 135 open set windows ethernet "11:11:11:11:11:11"
Trang 16bind 192.168.10.111 windows
create linux set linux personality "Linux 2.4.7"
set linux default tcp action reset add linux tcp port 21 open set linux ethernet "11:11:11:11:11:22"
#dhcp windows on ens33 bind 192.168.10.222 linux
create xp set xp personality "Microsoft Windows XP Professional"
set xp default tcp action reset add xp tcp port 80 open set xp ethernet "22:22:22:22:22:22"
bind 192.168.10.233 xp
3.1.2.3 Sử dụng Honeyd phát hiện tấn công mạng
- Khởi động Honeyd: Tại máy chủ honeyd gõ lệnh
$ sudo ~/Desktop/honeyd/honeyd -d -f ~/Desktop/honeyd.conf (xem Hình 3.11).
Hình 3.11: Khởi động Honeyd
Trang 17- Đã tạo thành công 3 máy ảo với ip lan 192.168.10.111, 192.168.10.222 và192.168.10.233 (xem Hình 3.11).
- Mở Nmap trên máy thật (máy tấn công) và rà quét dải mạng 192.168.10.0/24 Nmap quét và thấy 4 máy (xem Hình 3.15, Hình 3.13, Hình 3.14, Hình 3.15)
Hình 3.12: Rà quét được máy 1 có IP 192.168.10.209
Hình 3.13: Rà quét được máy 2 có IP 192.168.10.222
Trang 18Hình 3.14: Rà quét được máy 3 có IP 192.168.10.233
Hình 3.15: Rà quét được máy 4 có IP 192.168.10.111
- Mở máy chủ Honeyd Hệ thống honeyd phát hiện mạng đang bị rà quét => tìmbiện pháp đối phó (xem Hình 3.16)
Trang 19Hình 3.16: Máy chủ honeyd nhận được thông báo có người đang quét mạng
3.1.3 Kết quả mong muốn
- Cài đặt thành công và chạy được hệ thống Honeyd Tạo được 3 máy ảo trênhoneyd với địa chỉ ip là 192.168.10.111, 192.168.10.222và 192.168.10.233 (xemHình 3.17)
Hình 3.17: Tạo 3 máy ảo trên honeyd
- Phát hiện có kẻ đang quét mạng (xem Hình 3.18)
Trang 20Hình 3.18: Phát hiện có kẻ đang quét mạng3.2 Cài đặt và cấu hình Snort.
3.2.1 Chuẩn bị môi trường
- Chuẩn bị đối tượng:
Trang 213.2.2 Các bước thực hiện
3.2.2.1 Cài đặt Snort trên Ubuntu
- Cài đặt các gói thư viện cần thiết (Hình 3.20):
sudo apt install -y gcc libpcre3-dev zlib1g-dev libpcap-dev openssl libssl-dev libnghttp2-dev libdumbnet-dev bison flex libdnet
Hình 3.20: Cài đặt các gói thư viện cần thiết cho snort
- Tạo thư mục snort ở Desktop để chứa mã nguồn:
mkdir ~/Desktop/snort
cd ~/Desktop/snort/
- Download module daq (Hình 3.21):
wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz
Trang 22Hình 3.21: Tải module daq
- Giải nén file module vừa tải được
Trang 23Hình 3.23: Tải mã nguồn snort
- Giải nén file vừa tải về (Hình 3.24):
tar -xvzf snort-2.9.11.1.tar.gz
Trang 243.2.2.2 Cài đặt, thử nghiệm luật ping và xem log
- Khởi tạo rule với alert khi có gói tin ping (ICMP) đến máy chạy snort
o Tạo file snort.conf
touch ~/Desktop/snort.conf
o copy rule vào trong file snort.conf
alert icmp any any -> 192.168.10.209 any (msg:”ICMP test”; sid:1000001; rev:1;)
Trang 25- Tạo thư mục chứa file log
mkdir ~/Desktop/log
- Khởi động snort với file rule vừa tạo (Hình 3.26)
sudo snort -dev -p -c ~/Desktop/snort.conf -l ~/Desktop/log -K ascii -k none
Hình 3.26: Khởi động snort
- Tiến hành ping từ máy thật windows sang máy ảo ubuntu chạy snort, sửdụng tham số -t (Hình 3.27):
ping192.168.10.209 -t
Trang 26Hình 3.27: Ping từ máy thật sang máy chạy snort
Trên màn hình console thấy xuất hiện gói tin ping (Hình 3.28)
Hình 3.28: Màn hình theo dõi bên máy chạy snort
- Tiến hành phân tích alert (Hình 3.29):
cat ~/Desktop/log/alert
Hình 3.29: Nội dung thông báo được lưu trong file alert
Trang 273.2.2.3 Tạo luật cảnh báo khi có tấn công icmp flood
- Viết thêm luật cảnh báo ping với gói tin > 500 vào file snort.conf
alert icmp any any -> any any (msg:”ping voi goi tin lon”; dsize:>500; sid:1000001; rev:1;)
- Khởi động lại snort
sudo snort -dev -p -c ~/Desktop/snort.conf -l ~/Desktop/log -K ascii -k none
- Tiến hành thử nghiệm ping với gói tin lớn vào máy honeypot (Hình 3.30)
(windows hoặc linux đã tạo ở bài thực thành 3.1)
Trang 28- Tiến hành phân tích log (Hình 3.32)
cat ~/Desktop/log/alert
Hình 3.32: Thông báo phát hiện ping với gói tin lớn
Phát hiện ping vào máy honeypot thành công
3.2.3 Kết quả mong muốn
- Cài đặt thành công Snort
- Hiểu cách thực viết rule Snort
- Kiểm thử các kịch bản và Snort cảnh báo thành công