1. Trang chủ
  2. » Công Nghệ Thông Tin

Cài đặt, tiển khai snort trên linux

18 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

2 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH BÁO CÁO CƠ SỞ AN TOÀN THÔNG TIN Snort trên Linux GVHD Th S SVTH TP Hồ Chí Minh, 2021 LỜI CẢM ƠN Chúng em xin bày tỏ.Cài đặt, tiển khai snort trên linux

0 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CƠNG NGHỆ TP HỒ CHÍ MINH BÁO CÁO CƠ SỞ AN TỒN THƠNG TIN Snort Linux GVHD: Th.S Đặng Văn Thành Nhân SVTH: TP.Hồ Chí Minh, 2021 LỜI CẢM ƠN Chúng em xin bày tỏ lịng kính trọng biết ơn đến thầy tận tình giúp đỡ hướng dẫn chúng em hoàn thành báo cáo Nhờ giúp đỡ nhiệt lòng thầy mà báo cáo hoàn thành tiến độ đề Trong q trình thực hiện, nhóm chúng em cố gắng Nhưng khó tránh khỏi sai sót, kính mong q thầy bạn góp ý thêm Xin chân thành cảm ơn! Mục lục Chương 1: TỔNG QUAN .3 Giới thiệu Snort 1.1 Snort gì? 1.2 Triển khai hệ thống Snort 1.3 Đặc điểm Snort 1.4 Luật Snort CHƯƠNG 2: THỰC NGHIỆM Sơ đồ hệ thống Cài đặt hệ thống 10 2.1 Cài đặt Snort Centos 10 2.2 Tiến hành demo 13 CHƯƠNG 3: KẾT LUẬN 15 Kết đạt 15 Ưu điểm nhược điểm 15 Những hạn chế gặp phải 16 Hướng phát triển .16 Chương 1: TỔNG QUAN Giới thiệu Snort 1.1 Snort gì? Snort hệ thống phịng chống phát xâm nhập dựa mạng (IDS/IPS) mã nguồn mở phát triển Sourcefire Kết hợp việc kiểm tra dấu hiệu, giao thức dấu hiệu bất thường, Snort triển khai rộng khắp toàn giới Với hàng triệu lượt download 400.000 lượt người dùng đăng ký, Snort trở thành tiêu chuẩn hệ thống phòng chống phát xâm nhập 1.2 Triển khai hệ thống Snort 1.2.1 Yêu cầu phần cứng Rất khó để đưa yêu cầu chung cho phần cứng để cài đặt Snort điều phụ thuộc vào nhiều yếu tố khác Hai yếu tố cần quan tâm đến việc lựa chọn phần cứng cho hệ thống Snort lưu lượng traffic hệ thống doanh nghiệp lớn ISP khác nhiều so với mạng gia đình (small home) Để xác định phần cứng cài đặt Snort cho hệ thống trả lời vài câu hỏi sau:  Hệ thống mạng mạng small home, small bussiness, large enterprise ISP  Lưu lượng traffic thông thường hệ thống bao nhiêu?  Lưu lượng traffic hệ thống internal mạng Internewt bên khoảng bao nhiêu? Và ngược lại?  Nơi lưu trữ cảnh báo (alerts) Snort đâu?  Thời gian lưu trữ cảnh báo bao lâu?  Có muốn lưu trữ gói tin liên quan đến cảnh báo hay không? Tuy Snort yêu cầu phần cứng đặc biệt nào, nhiên phần cứng mạng số lợi điểm Vì Snort hệ thống phát xâm nhập dựa mạng nên có đĩa cứng có dung lượng lưu trữ lớn tốc độ truy xuất nhanh Snort hoạt động cách trơn tru, ngồi có u cầu cao sử dụng RAID để lưu trữ Cần card mạng (NIC) tốc độ cao để việc sniffer gói tin trở nên dễ dàng Ví dụ tốc độ card mạng 100Mb/s nên sử dụng card mạng tốc độ 100Mb/s Nếu tốc độ card mạng q thấp Snort “bỏ lỡ” vài gói tin dẫn đến thơng tin thu thập bị sai khác Ngồi nên có thêm card mạng khác kết nối tới người quản trị thông qua giao thức SSH qua Web Interface, tránh việc sử dụng chung với card mạng sniffer gói tin Nếu hệ thống mạng lớn, số lượng cảm biến (sensor) nhiều nên cân nhắc việc tăng RAM cho hệ thống khơng bị lag xử lí qua nhiều thơng tin gửi 1.2.2 Hệ điều hành Snort chạy nhiều tảng hệ điều hành khác Snort chạy tảng x86 GNU/Linux, FreeBSD, NetBSD Windows Ngồi cịn hỗ trợ kiến trúc Sparc với tảng hệ điều hành như: Solaris, MacOS-X, HPUX… 1.3 Đặc điểm Snort Ở chế độ NIDS, sau gói tin vào vượt qua packet sniffer, liệu gửi thơng qua preprocessor cấu hình snort.conf Dữ liệu tiếp tục qua detection engine, kiểm tra xem có phù hợp với luật tập tin snort.conf hay khơng? Các gói phù hợp gửi đến thành phần cảnh báo ghi lại (alert and logging) vượt qua out put plug-in chọn, sau ghi lại (log) cảnh báo tùy theo cấu hình Kiến trúc Snort gồm phần sau:  The sniffer (Packet Decoder) 5  The Preprocessor  The Detetion Engine  The Output Hình cung cấp nhìn dễ hiểu kiến trúc quy trình xử lý Snort: Hình 1.1 Kiến trúc quy trình xử lý Snort  Packet đưa vào từ trục mạng  Packet gửi thơng qua Preprocessor để xác định xem có phải packet hay khơng có giữ lại hay khơng (preprocessor)  Tiếp đến packet xếp theo theo loại, tùy theo việc có phát xâm nhập hay khơng mà gói tin bỏ qua để lưu thông tiếp đưa vào Log cảnh báo để xử lý  Cuối nhiệm vụ người quản trị xác định xem làm với (ghi lại lưu vào sở liệu) 1.4 Luật Snort 1.4.1 Giới thiệu “Luật” Snort ta hiểu cách đơn giản giống quy tắc luật lệ giới thực Nghĩa có phần mơ tả trạng thái hành động xảy trạng thái Một điểm đáng giá Snort khả cho phép người sử dụng tự viết luật riêng tùy biến luật có sẵn cho phù hợp với hệ thống mạng Ngồi sở liệu lớn mà người sử dụng download từ trang chủ Snort, người quản trị tự phát triển luật cho hệ thống Thay phải phụ thuộc vào nhà cung cấp, quan bên ngoài, phải cập nhật có cơng hay phương pháp khai thác lỗ hổng phát Người quản trị viết riêng luật dành cho hệ thống nhìn thấy lưu lượng mạng bất thường so sánh với luật cộng đồng phát triển Ưu điểm việc tự viết luật tùy biến cập nhật cách nhanh chóng hệ thống mạng có bất thường Ví dụ: “Nếu có người cố gắng mở cửa tơ cịi hú.” Phân tích ta hành động “còi hú” thực có dấu hiệu “có người cố gắng mở cửa ô tô” Trong hệ thống mạng vậy, ta sử dụng ngôn ngữ tự nhiên ngày để mô tả dấu hiệu hay trạng thái hệ thống mạng Ví dụ: Nếu có kết nối SSH có địa IP Public kết nối tới máy chủ web chặn lại Mặc dù mô tả cụ thể, nhiên Snort lại hiểu Luật Snort giúp ta dễ dàng mô tả dấu hiệu theo ngôn ngữ mà Snort hiểu Để biết cách viết luật từ liệu hệ thống ta cần phải hiểu cấu trúc luật Snort Một luật Snort chia thành hai phần phần header options Phần header bao gồm: rule action, protocol, địa ip nguồn, địa ip đích, subnetmask, port nguồn, port đích Phần options bao gồm thông điệp cảnh báo, thông tin phần gói tin kiểm tra để xác định xem hành động áp dụng Rule Option Rule Header 1.4.2 Rule Header Hình 1.2 Cấu trúc luật Snort  Rule Action: Phần Header chứa thơng tin xác định ai, đâu, gói tin, phải làm tất thuộc tính luật lên Mục luật phần rule action, rule action nói cho Snort biết phải làm thấy gói tin phù hợp với luật quy định sẵn Có hành động mặc định Snort là: alert (cảnh báo), log (ghi lại log), pass (cho qua), active (kích hoạt), dynamic Ngoài chạy Snort chế độ inline cịn có thêm tùy chọn bổ sung drop, reject sdrop  Protocol: Trường luật protocol Có giao thức mà Snort phân tích hành vi bất thường TCP, UDP, ICMP IP  IP Address: Mục phần header địa IP Các địa dùng để kiểm tra nơi nơi đến gói tin Địa ip địa máy đơn địa lớp mạng Từ khóa “any” sử dụng để định nghĩa địa Một địa ip viết dạng ip_address/netmask Điều có nghĩa netmask /24 lớp mạng lớp mạng C, /16 lớp mạng B /32 máy đơn Ví dụ: địa 192.168.1.0/24 có nghĩa dải máy có địa IP từ 192.168.1.1192.168.1.255 Trong hai địa IP luật Snort có địa IP nguồn địa IP đích Việc xác định đâu địa nguồn, đâu địa đích phụ thuộc vào “→” Ngồi tốn tử phủ định áp dụng cho việc định địa IP Có nghĩa sử dụng tốn tử Snort bỏ qua việc kiểm tra địa gói tin Tốn tử “!” Ngồi ta định nghĩa danh sách địa IP cách viết liên tiếp chúng cách dấu “,” 8  Port: Port định nghĩa nhiều cách Với từ khóa “any” giống địa IP để sử dụng port Gán port cố định ví dụ gán kiểm tra port 80 http port 22 ssh Ngồi ta sử dụng tốn tử phủ định để bỏ qua port liệt kê dải port  Điều hướng: Toán tử hướng “→” đâu hướng nguồn, đâu hướng đích Phần địa IP port phía bên trái tốn tử coi địa nguồn port nguồn, phần bên phải coi địa đích port đích Ngồi cịn có tốn tử “” Snort xem cặp địa chỉ/port nguồn đích Nghĩa ghi/phân tích hai phía hội thoại  Activate/Dynamic rule: Cặp luật cung cấp cho Snort khả mạnh mẽ Active rule giống alert rule khác điểm có thêm trường: activates Dynamic rule giống log rule trường: activated_by count 1.4.3 Rule Options Rule options trung tâm việc phát xâm nhập Nội dung chứa dấu hiệu để xác định xâm nhập Nó nằm sau phần Rule Header bọc dấu ngoặc đơn “()” Tất rule options phân cách dấu chấm phẩy “;”, phần đối số tách dấy hai chấm “:” Có loại rule options bao gồm: - General: Tùy chọn cung cấp thơng tin luật khơng có ảnh hưởng q trình phát - Payload: Tùy chọn liên quan đến phần tải gói tin - Non-payload: Bao gồm tùy chọn khơng liên quan đến phần tải gói tin (header) - Post-detection : Các tùy chọn gây quy tắc cụ thể sau luật kích hoạt 9 CHƯƠNG 2: THỰC NGHIỆM Sơ đồ hệ thống Tổng quát yêu cầu toán: Sử dụng cơng cụ để phát báo cáo máy tính bên ngồi kết nối sử dụng internet công vào hệ thống mạng IDS IPS công cụ cần thiết cho việc phát xâm nhập ngăn chặn Nhóm em sử dụng demo Snort - công cụ phổ biến dễ sử dụng Do bị hạn chế điều kiện phần cứng thật Nhóm sử dụng phần mềm tạo máy ảo VMware để tạo máy ảo chạy Centos Và dùng Window server 2012 đóng vai máy client thực lệnh ping hay truy cập trang web, công việc máy Server ghi lại cảnh báo Yêu cầu máy ảo sử dụng Centos Sử dụng mạng mặc định cho máy chế độ NAT Hình 2.1 Mơ hình thực nghiệm Hệ thống demo bao gồm: Vmware Workstation Pro 14, Centos 8, Snort 2.9.18.1 + Rule cho Snort, WinPcap 4.1.3 10 Cài đặt hệ thống 2.1 Cài đặt Snort Centos Bước 1: Cập nhật cài đặt thư viện cần thiết dnf update -y dnf install epel-release -y dnf install gcc gcc-c++ libnetfilter_queue libnetfilter_queue-devel git flex bison zlib zlib-devel pcre pcre-devel libdnet libdnet-devel tcpdump libnghttp2 wget xz-devel lzma mysql-devel* autoconf libtool zlib* libxml2 libpcap* pcre* curl daq -y dnf enablerepo=powertools install libdnet-devel dnf groupinstall -y "Development Tools" Bước 2: Cài đặt DAQ dnf install https://forensics.cert.org/cert-forensics-tools-release-el8.rpm dnf enablerepo=forensics install daq  Cập nhật lại đường dẫn thư viện: 11 echo >> /etc/ld.so.conf /usr/lib echo >> /etc/ld.so.conf /usr/local/lib && ldconfig  kiểm tra libdnet: ln -s /usr/lib64/libdnet.so.1.0.1 /lib64/libdnet.1 Bước 3: Cài đặt Snort dnf install https://snort.org/downloads/archive/snort/snort-2.9.18.1- 1.centos8.x86_64.rpm  Tạo số thư mục để lưu cấu hình snort mkdir -p /etc/snort/rules mkdir /var/log/snort mkdir /usr/local/lib/snort_dynamicrules  Phân quyền lại cho thư mục vừa tạo chmod -R 5755 /etc/snort chmod -R 5755 /var/log/snort chmod -R 5755 /usr/local/lib/snort_dynamicrules chown -R snort:snort /etc/snort chown -R snort:snort /var/log/snort 12 chown -R snort:snort /usr/local/lib/snort_dynamicrules  Tạo tập tin cần thiết touch /etc/snort/rules/white_list.rules touch /etc/snort/rules/black_list.rules touch /etc/snort/rules/local.rules touch /var/log/snort/snort.log  Tắt rule không dùng sed -i 's/include \$RULE\_PATH/#include \$RULE\_PATH/' /etc/snort/snort.conf  Chỉnh sửa tập tin snort.conf vi /etc/snort/snort.conf > chỉnh sửa dòng 45 ipvar HOME_NET 48 ipvar EXTERNAL_NET !$HOME_NET 104 var RULE_PATH /etc/snort/rules 105 var SO_RULE_PATH /etc/snort/so_rules 13 106 var PREPROC_RULE_PATH /etc/snort/preproc_rules 113 var WHITE_LIST_PATH /etc/snort/rules 114 var BLACK_LIST_PATH /etc/snort/rules 547 include $RULE_PATH/local.rules 521 output unified2: filename snort.log, limit 128 Bước 4: Viết rule  vào vi /etc/snort/rules/local.rules để viết rule alert icmp any any -> $HOME_NET any (msg:"ICMP test"; sid:10000001; rev:001;) 2.2 Tiến hành demo Trên máy Centos ta chạy dòng lệnh: snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i ens33 Trên Client ta ping sang máy Centos 14 Kết 15 CHƯƠNG 3: KẾT LUẬN Kết đạt Trong trình thực làm đề tài, chúng em học thêm nhiều kiến thức Chúng em nghiên cứu kiến thức an ninh mạng, kiểu công đặc biệt giải pháp an ninh mạng phổ biến Ngồi ra, nhóm chúng em tìm hiểu sâu giải pháp an ninh mạng cách tìm hiểu phần mềm Snort kiến thức làm tảng để xây dựng hệ thống phát xâm nhập IDS, nỗ lực cố gắng nghiên cứu nhóm Ngồi kiến thức chun ngành, nhóm em cịn học thêm cách làm việc nhóm, cách phân chia công việc phù hợp Ưu điểm nhược điểm Ưu điểm:  Các giải pháp an ninh mạng tương đổi đa dạng  Tính an ninh mạng tốt  Dễ quản trị  Kiến trúc an ninh không phức tạp  Dễ cài đặt, mở rộng  Chi phí đầu tư khơng cao Nhược điểm: - Của phần mềm Snort:  Có thể xaỷ trường hợp báo động giả, tức khơng có dấu hiệu bất thuờng mà IDS báo (False Positive)  Khơng thể phân tích lưu lượng mã hóa SSH, IPSec, SSL, v.v 16  NIDS địi hỏi phải ln cập nhật dấu hiệu công để thực hoạt động hiệu  Không thể cho biết việc mạng bị cơng có thành cơng hay khơng, để người quản trị tiến hành bảo trì hệ thống  Một hạn chế giới hạn băng thông Những thu thập liệu phải thu thập tất lưu lương mạng, xếp lại phân tích chúng Khi tốc độ mạng tăng lên khả thu thập thông tin Một giải pháp đảm bảo cho mạng thiết kế xác - Của nhóm báo cáo:  Chưa làm snort phát thông báo trực tiếp mà phải vào file alert.ids để xem  Khả đọc hiểu tiếng Anh hạn chế, nên khó khăn việc tiếp cận tài liệu dồi từ nước ngồi  Demo cịn có phần đơn giản, phát ping Những hạn chế gặp phải Trong trình thực đồ án, nhóm chúng em cho mặt hạn chế như: - Hạn chế kiến thức kinh nghiệm thực tế - Đề tài tìm hiểu rộng nên khó khăn việc tìm kiếm chọn lọc thơng tin xác - Cịn gặp nhiều khó khăn việc làm thực nghiệm - Thời gian thực đồ án khơng chưa đủ để tìm hiểu đầy đủ - Hạn chế thời gian thảo luận nhóm Hướng phát triển Vì thời gian tìm hiểu hạn hẹp nên thực nghiệm chưa hồn thiện tốt Trong tương lai nhóm em cố gắng tìm hiểu thêm nhiều kiến thức để tìm hiểu đầy đủ tối ưu giải pháp, đáp ứng nhu cầu an ninh mạng 17 ... 3: Cài đặt Snort dnf install https:/ /snort. org/downloads/archive /snort/ snort-2.9.18.1- 1.centos8.x86_64.rpm  Tạo số thư mục để lưu cấu hình snort mkdir -p /etc /snort/ rules mkdir /var/log /snort. .. /etc /snort chown -R snort: snort /var/log /snort 12 chown -R snort: snort /usr/local/lib /snort_ dynamicrules  Tạo tập tin cần thiết touch /etc /snort/ rules/white_list.rules touch /etc /snort/ rules/black_list.rules... /usr/local/lib /snort_ dynamicrules  Phân quyền lại cho thư mục vừa tạo chmod -R 5755 /etc /snort chmod -R 5755 /var/log /snort chmod -R 5755 /usr/local/lib /snort_ dynamicrules chown -R snort: snort /etc/snort

Ngày đăng: 01/11/2022, 11:06

Xem thêm:

w