Cài đặt Snort cho máy Ubuntu .... Truy cập file local.rule để thêm luật ..... Tính năng quan trọng nhất của hệ thống phát hiện xâm nhập – IDS là: Giám sát lưu lượng mạng và các hoạt độ
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
- -
BÁO CÁO
Thực tập cơ sở Bài thực hành số 6 Cài đặt cấu hình HIDS/NIDS -
Giảng viên hướng dẫn: Vũ Minh Mạnh
Sinh viên thực hiện: Lê Anh Quân
Mã sinh viên: B21DCAT152
Hà Nội, 2024
Trang 2M c l c ụ ụ
1 Mục đích 3
2 N i dung th c hành ộ ự 3
2.1 Tìm hiểu lý thuy t ế 3
2.1.1 Tìm hi u khái quát v các hể ề ệ thống phát hiện tấn công, xâm nh p, phân lo i các ậ ạ hệ thống phát hi n xâm ệ nhập, các k thu t phát hi n xâm nh p ỹ ậ ệ ậ 3
2.1.2 Tìm hi u vể ề kiến trúc và tính năng của một s h ố ệ thống phát hi n t n công, xâm ệ ấ nh pậ , như Snort, Suricata, Zeek, OSSEC, Wazuh, 4
2.2 Th c hànhự 7
2.2.1 Cài đặt Snort cho máy Ubuntu 7
2.2.2 C u hình Snortấ 9
2.2.3 T o lu t Snort ạ ậ 11
2.2.4 Truy cập file local.rule để thêm luật 13
2.2.5 Th c thi t n công và phát hi n Snort ự ấ ệ 14
Trang 31 Mục đích
Luy n t p việ ậ ệc cài đặt và v n hành các h ậ ệ thống phát hi n xâm nh p cho host (HIDS) ệ ậ
và cho m ng (NIDS).ạ
Luy n t p việ ậ ệ ạc t o và ch nh s a các lu t phát hi n t n công, xâm nh p cho các h ỉ ử ậ ệ ấ ậ ệ thống phát hiện xâm nh p thông d ng ậ ụ
2 N i dung th ộ ực hành
2.1 Tìm hi u lý thuy t ể ế
2.1.1 Tìm hi u khái quát v các h ể ề ệ thống phát hiện t n công, xâm nh p, ấ ậ
phân lo i các hạ ệ thống phát hi n xâm nh p, các k thu t phát hi n xâm nh p ệ ậ ỹ ậ ệ ậ
a Định nghĩa
Hệ thống phát hi n xâm nh p IDS là m t hệ ậ ộ ệ thống giám sát lưu lượng mạng
nh m phát hi n hiằ ệ ện tượng bất thường, các hoạt động trái xâm nh p phép và h ậ ệ thống IDS có th phân biể ệt được nh ng t n công t bên trong (n i b ) hay t n công ữ ấ ừ ộ ộ ấ
t bên ngoài (t các tin từ ừ ặc)
IDS phát hi n d a trên các d u hiệ ự ấ ệu đặc biệt về các nguy cơ đã biết (giống như cách các phần mềm di t virus d a vào các d u hiệ ự ấ ệu đặc biệt để phát hi n và diệ ệt virus) hay dựa trên so sánh lưu thông mạng hiện tại với baseline (thông số đo đạt chuẩn c a hủ ệ thống có thểchấp nhận được ngay tại thời điểm hiện tại) để tìm ra các
d u hiấ ệu khác thường
Tính năng quan trọng nhất của hệ thống phát hiện xâm nhập – IDS là:
Giám sát lưu lượng mạng và các hoạt động kh nghi ả
C nh báo v tình tr ng m ng cho hả ề ạ ạ ệ thống và nhà qu n tr ả ị
Kết h p v i các hợ ớ ệ thống giám sát, tường lửa, diệt virus tạo thành một hệ thống bảo
m t hoàn ch nh ậ ỉ
b Phân lo i ạ
Dựa trên ph m vi giám sát: ạ
Network-based IDS (NIDS): Là nh ng IDS giám sát trên toàn b ữ ộ
m ng.Ngu n thông tin ch y u c a NIDS là các gói dạ ồ ủ ế ủ ữ liệu đang lưu thông trên mạng NIDS thường đượ ắp đặc l t tại ngõ vào c a m ng, có ủ ạ thể đứng trước hoặc sau tường lửa
Trang 4 Host-based IDS (HIDS): Là nh ng IDS giám sát hoữ ạt động c a t ng ủ ừ máy tính riêng bi t Do v y, ngu n thông tin ch y u c a HIDS ngòai ệ ậ ồ ủ ế ủ lưu lượng dữ liệu đến và đi từ máy chủ còn có hệ thống dữ liệu nhật
ký hệ thống (system log) và ki m tra hể ệ thống (system audit)
Dựa trên k thu t phát hi ỹ ậ ện:
Signature-based IDS: Signature-based IDS phát hi n xâm nh p dệ ậ ựa trên d u hi u c a hành vi xâm nhấ ệ ủ ập, thông qua phân tích lưu lượng
m ng và log hạ ệ thống K ỹ thuật này đòi hỏi phải duy trì một cơ sở dữ liệu v các d u hi u xâm nhề ấ ệ ập (signature database), và cơ sở ữ liệu d này phải được c p nhậ ật thường xuyên m i khi có m t hình th c hoỗ ộ ứ ặc
kỹ thuật xâm nh p m ậ ới
Anomaly-based IDS: phát hi n xâm nh p b ng cách so sánh (mang ệ ậ ằ tính th ng kê) các hành vi hi n t i v i hoố ệ ạ ớ ạt động bình thường của hệ thống để phát hiện các bất thường (anomaly) có thể là dấu hiệu của xâm nh p Ví dậ ụ, trong điều kiện bình thường, lưu lượng trên m t giao ộ tiếp m ng c a server là vào kh ang 2ạ ủ ỏ 5% băng thông cực đạ ủi c a giao tiếp N u t i mế ạ ột thời điểm nào đó, lưu lượng này đột ngột tăng lên đến 50% hoặc hơn nữa, thì có th ể giả nh rđị ằng server đang bị t n công ấ DoS Để hoạt động chính xác, các IDS lo i này ph i th c hi n mạ ả ự ệ ột quá trình “học”, tức là giám sát hoạt động c a hủ ệ thống trong điều kiện bình thường để ghi nhận các thông số hoạt động, đây là cơ sở để phát
hi n các bệ ất thường về sau
2.1.2 Tìm hi u v ể ề kiến trúc và tính năng của m t s hộ ố ệ thống phát hiện tấn
công, xâm nhập, như Snort, Suricata, Zeek, OSSEC, Wazuh,
a, Snort
Snort được hoạt động theo mô hình mã ngu n mồ ở (open-source) sử ụ d ng các luật được gọi là rules có thể do Snort hoặc người dùng cung cấp Do đó, người dùng
Trang 5có th tể ự viết ra các lu t tậ ừ đó có thể cá nhân hóa phương thức phát hiện và xử lý các mối đe dọa
Snort có khả năng phân tích lưu lượng truy c p trong th i gian th c và phân ậ ờ ự tích truy c p gói tin (real-time traffic analysis and packet logging) thông qua IP ậ (internet-protocol), phân tích và tìm ki m các giao th c ế ứ
Snort còn có khả năng phát hiện xâm nh p và các cu c t n công có th bao ậ ộ ấ ể
g m các hành vi quét h ồ ệ thống (Operating System Fingerprinting attemp), quét c ng ổ port, t n công DDOS, ấ
b,Suricata
Suricata là m t ph n mộ ầ ềm mã ngu n mồ ở giám sát mạng và phát hi n xâm ệ
nhập (IDS/IPS) Nó được phát tri n b i The Open Information Security Foundation ể ở (OISF) và được viết bằng ngôn ngữ lập trình C
Suricata có khả năng phát hiện và ngăn chặn các cu c t n công t bên ngoài, ộ ấ ừ bao g m các cu c t n công m ng t phía web, t n công tồ ộ ấ ạ ừ ấ ừ chố ịi d ch v (DoS), tụ ấn công từ chố ịi d ch v phân tán (DDoS), t n công b ng cách khai thác l h ng và các ụ ấ ằ ỗ ổ cuộc tấn công khác
Suricata cung cấp các tính năng như phát hiện sâu, phân tích nội dung, phân tích gói tin và x lý các s c b o m t Suricata có thử ự ố ả ậ ể chạy trên nhi u n n t ng h ề ề ả ệ điều hành và có thể tích hợp với nhiều công c khác nhau để cải thiện hiệu suất và ụ khả năng tương thích
c, OSSEC
OSSSEC (Open Source Security) là m t ph n m m mã ngu n m giám sát ộ ầ ề ồ ở
b o mả ật h ệthống Nó cung c p các công c phát hi n và giám sát các s c b o mấ ụ ệ ự ố ả ật
Trang 6trên các hệ thống máy tính, bao g m các hoồ ạt động t n công, t n công tấ ấ ừ chố ịi d ch
v (DoS), s dụ ử ụng đăng nhập trái phép và các hành động bất thường khác
OSSSEC bao g m các thành ph n chính sau: ồ ầ
Agent: được cài đặt trên các hệ thống máy tính để thu thập thông tin
b o m t và g i v máy ch OSSSEC ả ậ ử ề ủ
Server: được cài đặt trên máy chủ để thu thập, phân tích và lưu trữ các thông tin b o mả ật được g i b i các agent ử ở
Web interface: cung c p giao diấ ện web để xem các báo cáo và thông tin b o mả ật, cũng như cấu hình và qu n lý hả ệ thống
OSSSEC hỗ trợ nhi u hề ệ điều hành khác nhau và có th tích h p v i các h ể ợ ớ ệ thống SIEM (Security Information and Event Management) khác để cung cấp giám sát b o m t toàn diả ậ ện Nó cũng có thể được tùy chỉnh để phù h p v i các nhu cợ ớ ầu
b o m t cả ậ ụ thể ủ c a t ng từ ổ chức
d, Wazuh
Wazuh là một ph n m m mã ngu n mầ ề ồ ở giám sát b o m t h ả ậ ệ thống, được phát triển t OSSSEC (Open Source Security) Wazuh cung cừ ấp các tính năng tương tự như OSSSEC, bao gồm giám sát sự cố bảo mật, phát hiện tấn công, bảo vệ chống
t n công tấ ừ chố ịi d ch vụ (DoS), giám sát đăng nhập và qu n lý sả ự kiện b o m ả ật
Ngoài các tính năng của OSSSEC, Wazuh còn có các tính năng và cải tiến sau:
Khả năng phân tích và hành động đối với các s c b o m t: Wazuh ự ố ả ậ cung c p các tùy ch n x lý tấ ọ ử ự động cho các s c b o m t, bao gự ố ả ậ ồm thông báo qua email ho c Slack, ph n ng tặ ả ứ ự động ho c x lý th ặ ử ủ công
Trang 7 Quản lý nhóm và quy n truy c p: Wazuh cho phép quề ậ ản lý người dùng
và nhóm người dùng, qu n lý các quy n truy c p và cung c p b o mả ề ậ ấ ả ật cho các hoạt động qu n lý ả
Giao diện đồ ọ h a và báo cáo: Wazuh cung c p m t giao diấ ộ ện đồ ọa h
để hiển th các s c b o mị ự ố ả ật và cung c p các báo cáo b o mấ ả ật để theo dõi hi u suệ ất và đánh giá các sự ố ả c b o m ật
Tích h p v i các công c khác: Wazuh có th tích h p v i các công ợ ớ ụ ể ợ ớ
cụ SIEM và các công c phát triụ ển khác để tăng cường tính năng và
hi u su ệ ất
Wazuh có thể chạy trên nhi u n n t ng hề ề ả ệ điều hành, bao g m Linux, ồ Windows và macOS Nó cũng được cung cấp dưới dạng các d ch vị ụ đám mây, bao
g m AWS, Azure và Google Cloud Platform ồ
2.2 Thực hành
2.2.1 Cài đặt Snort cho máy Ubuntu
Sử d ng câu lụ ệnh để ậ c p nh t và nâng c p package c a Ubuntu: ậ ấ ủ
Sudo apt-get update
Sudo apt-get upgrade
Trang 8Cài đặt gói snort
Kiểm tra cài đặt Snort
Trang 92.2.2 C u hình Snort ấ
Tiến hành truy c p file snort.conf b ng cách s d ng câu l nh: ậ ằ ử ụ ệ
Trang 10Tiến hành ch nh s a dòng th 65 thành: ỉ ử ứ
Ip var HOME_NET 192.168.66.0/24
Tiến hành tạo thư mục thư mục log t i Desktop ạ
Trang 11
2.2.3 T o lu t Snort ạ ậ
Phát hi n ping t máy kali: ệ ừ
Ping được sử dụng để kiểm tra Host A với địa chỉ IP A có đi đến được Host B với IP B hay không thì trên Host A th c hiự ện ping đến địa ch IP ỉ
Trang 12B Ping s dử ụng 2 thông điệp “ICMP echo request” và “ICMP echo reply” để thực hiện quy trình ping
Câu l nh c n ph i phát hiệ ầ ả ện được thông tin đi vào bằng giao th c ICMP ứ
do đó ta tạo được luật sau:
Alert icmp any any -> $HOME_NET any (msg: “Ping detected”,sid:1000001;)
Phát hi n t n công quét l h ng nmap: ệ ấ ỗ ổ
Là lo i hình t n công quét máy n n nhân nh m tìm ra các l hạ ấ ạ ằ ỗ ổng để phục
v cho các cu c t n công sau này Lo i hình này s d ng giao th c tcp ụ ộ ấ ạ ử ụ ứ
và xâm nh p thông qua c ng port 705 ậ ổ
Câu l nh c n ph i phát hiệ ầ ả ện được thông tin đi vào bằng giao th c TCP ứ qua cổng 705 do đó ta tạo luật như sau:
Alert tcp $EXTERNAL_NET any -> $HOME_NET 705 (msg:"Nmap is scanning"; sid: 1000002;)
Phát hi n file t c ng 80: ệ ừ ổ
Câu l nh này c n ph i phát hiệ ầ ả ện được thông tin đi vào qua c ng 80 do ổ
đó ta tạo luật như sau:
Alert tcp any any -> $HOME_NET 80 (msg: “Package from Gate 80”; sid: 1000003;)
Phát hi n t n công SYN Flood: ệ ấ
SYN flood: Giống như Ping flood, SYN flood cũng là một loại hình t n ấ công từ chố ịi d ch v (DDos) SYN flood hoụ ạt động b ng cách g i yêu ằ ử cầu liên t c gây quá tụ ải d ch v Loị ụ ại hình này s d ng giao th c tcp và ử ụ ứ cổng port 80
Câu l nh c n ph i phát hiệ ầ ả ện được thông tin đi vào bằng giao th c TCP ứ qua c ng 805 v i sổ ớ ố lượng l n trong 1 kho ng th i gian ngớ ả ờ ắn do đó ta
tạo được lu t sau: ậ
Trang 13Alert tcp any any -> $HOME_NET 80 (flags: S; msg:" SYN flood"; sid: 100004; detection_filter:track by_dst, count 20, seconds 10; flow:stateless;)
2.2.4 Truy cập file local.rule để thêm lu t ậ
Tiến hành truy cập file để thêm luật
Kiểm tra xem đã cài đặt thành công các luật trên Snort đã thành công chưa:
Trang 142.2.5 Thự c thi t n công và phát hi n Snort ấ ệ
Tiến hành ch y Snort b ng câu l nh: ạ ằ ệ
Trang 15Sudo snort -i ens33 -c etc/snort/snort.conf -A console -l /home/quanlm/Desktop/log