Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 15 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
15
Dung lượng
1,46 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THƠNG TIN BÁO CÁO CUỐI KÌ Mơn: Các kĩ thuật giám sát an tồn mạng Nhóm 33 Giảng viên hướng dẫn Đặng Hồng Hiệp Sinh viên thực Trần Bảo Toàn N18DCAT076 Nguyễn Thị Ánh Nguyệt N18DCAT054 Lớp D18CQAT02-N Khóa 2018 Hệ Đại học quy TPHCM Tháng 5, 2022 MỤC LỤC I Iptables gì? .2 Iptables 2 Thành phần Iptables II 2.1 Table 2.2 Chains 2.3 Target .4 Tấn công ddos tcp syn flood Qui trình bắt tay bước TCP Syn flood attack .5 III Chống syn flood dos attack module u32 iptables Kiểm tra gói tin có phải giao thức TCP hay không Kiểm tra có phải gói SYN hay khơng Kiểm tra gói tin có Payload hay khơng Kết cuối IV Thực demo .9 Trước áp dụng rules iptable .9 Tiến hành ngăn chặn iptables 11 DANH MỤC HÌNH ẢNH Hình Thứ tự xử lý table chain xử lý gói tin Hình Mơ tả kết nối tcp bình thường Hình Mơ tả cơng syn flood .7 Hình Mơ hình thực Hình IP Header gói tin Hình TCP Header gói tin .9 Hình Rules drop dos attack 10 Hình Tiến hành cơng syn fllod máy attack 11 Hình Gói tin máy nạn nhân theo dõi wireshark .11 Hình 10 Thơng số CPU RAM máy nạn nhân bị công 12 Hình 11 Kiểm tra gói tin có phải TCP package khơng 12 Hình 12 Kiểm tra gói tịn có cờ SYN khơng 12 Hình 13 Kiểm tra payload gói tin 13 Hình 14 Rules tạo kết hợp điều kiện .13 Hình 15 Các gói tin theo dõi wireshark thiết lập rules chống dos attack 13 DOS TCP SYN FLOOD BẰNG HPING3, PHÁT HIỆN BẰNG WIRESHARK VÀ NGĂN CHẶN BẰNG IPTABLES I Iptables gì? Iptables IPtables ứng dụng tường lửa miễn phí Linux, cho phép thiết lập quy tắc riêng để kiểm soát truy cập, tăng tính bảo mật Vai trị chức Iptables: Iptables ứng dụng dùng để quản lý filtering gói tin NAT rules hoạt động console linux nhỏ tiện dụng Được cung cấp miễn phí nhằm nâng cao tính bảo mật hệ thống Linux Iptables bao gồm phần netfilter nằm bên nhân Linux iptables nằm vùng nhân Iptables chịu trách nhiệm giao tiếp với người dùng sau đẩy rules người dùng vào cho netfilter xử lý netfilter thực công việc lọc gói tin mức IP netfilter làm việc trực tiếp nhân Linux nhanh không làm giảm tốc độ hệ thống Iptables cung cấp tính sau: Có khả phân tích gói tin hiệu Filtering gói tin dựa vào MAC số cờ hiệu (flags) TCP Header Cung cấp kỹ thuật NAT, chi tiết cho tùy chọn để ghi nhận kiện hệ thống Có khả ngăn chặn số chế công theo kiểu DoS Cung cấp, xây dựng quản lý rule để xử lý gói tin Thành phần Iptables Về bản, IPtables bố cục giao diện dòng lệnh để tương tác với packet filtering netfilter framework Cơ chế packet filtering IPtables hoạt động gồm thành phần Tables, Chains Targets Hình Thứ tự xử lý table chain xử lý gói tin 2.1 Table Table IPtables dùng để định nghĩa rules (quy tắc) dành cho gói tin Trong số đó, có Table sau Filter Table:quyết định việc gói tin có đến đích dự kiến hay từ chối yêu cầu gói tin NAT Table: để dùng rules NAT(Network Address Translation), NAT Table có trách nhiệm chỉnh sửa source(IP nguồn) destination(IP đích) gói tin thực chế NAT Mangle Table: cho phép chỉnh sửa header gói tin, giá trị trường TTL, MTU, Type of Service Raw Table: giúp bạn làm việc với gói tin trước kernel bắt đầu kiểm tra tình trạng & loại vài gói khỏi việc tracking vấn đề hiệu hệ thống Security Table: số kernel hỗ trợ thêm Security Table, dùng SELinux để thiết lập sách bảo mật 2.2 Chains Chains xây dựng với vài lượng rõ ràng ứng với Table, giúp lọc gói tin điểm khác Chain PREROUTING hữu Nat Table, Mangle Table & Raw Table, rules chain thực thi gói tin vào đến bố cục giao diện mạng (Network Interface) Chain INPUT có Mangle Table & Nat Table với rules thực thi trước gói tin gặp tiến trình Chain OUTPUT tồn Raw Table, Mangle Table Filter Table, có rules thực thi gói tin tiến trình tạo Chain FORWARD hữu Manle Table & Filter Table, có rules thực thi cho gói tin định tuyến qua host Chain POSTROUTING tồn Manle Table & Nat Table với rules thực thi gói tin rời bố cục giao diện mạng 2.3 Target Target hiểu hành động dành cho gói tin gói tin thỏa mãn rules đặt ACCEPT: Chấp thuận cho phép gói tin vào hệ thống DROP: Loại gói tin, khơng có gói tin giải đáp REJECT: Loại gói tin có trả lời table gói tin khác Ví dụ: trả lời table gói tin “connection reset” gói TCP “destination host unreachable” gói UDP & ICMP LOG: Chấp thuận gói tin có ghi lại log II Tấn công ddos tcp syn flood Qui trình bắt tay bước TCP Bước 1: Máy client gửi packet tin SYN đến Server để yêu cầu kết nối Bước 2: Sau tiếp nhận packet SYN, Server phản hồi lại Client packet SYN/ACK để xác nhận Bước 3: Client nhận packet tin SYN/ACK trả lời Server packet tin ACK, từ kết nối thiết lập sẵn sàng trao đổi liệu Hình Mơ tả kết nối tcp bình thường Syn flood attack Tấn công kiểu SYN flood loại cơng cổ cịn tồn đến tại, dù tác hại khơng đơn giản Điểm để ngăn chặn kiểu công là: Bước 1: Kẻ công gửi khối lượng lớn packet tin SYN đến máy nạn nhân nhắm mục tiêu thường địa IP giả mạo Bước 2: Sau đó, máy nạn nhân phản hồi lại yêu cầu kết nối, để lại cổng mở sẵn sàng tiếp nhận phản hồi Bước 3: Trong máy nạn nhân chờ nhận packet ACK (packet mà không đến), kẻ công tiếp tục gửi thêm packet SYN Sự xuất packet SYN khiến máy nạn nhân tạm thời trì kết nối cổng mở thời gian định timeout Cứ Attacker mở nhiều kết nối làm cho Victim hết nhớ treo Hình Mơ tả công syn flood III Chống syn flood dos attack module u32 iptables Mơ hình thực Hình Mơ hình thực Máy nạn nhân: 192.168.3.128 Viết rules chống ddos sử dụng module u32 iptables Giới thiệu iptables u32 module Chức năng: u32 module iptables cho phép lấy byte/bit vị trí gói tin để tính tốn kiểm tra giá trị Sở dĩ có tên u32 lần lấy data, u32 lấy byte, tương đương 32bit Cú pháp u32 sau: Start&Mask=Value|RangeValue Điều có nghĩa: Lấy byte liệu từ vị trí “Start”, thực phép toán “AND” với bit “Mask” (một dãy bit) so sánh giá trị kết vừa tính tốn có với “Value” nằm “RangeValue” hay khơng Nếu rule match, ngược lại rule xem không match Nếu vị trí “Start” nằm cuối gần cuối gói tin khiến cho việc lấy byte vượt khỏi phạm vi gói tin mặc định kết False Các toán tử hỗ trợ: & : phép toán AND hai dãy bit với >> : Shift Left (dịch bit sang trái) @ : jump (Nhảy đến vị trí kết vừa tính tốn nằm phía trước dấu @) && : Combining tests - AND nhiều điều kiện test lại với Kiểm tra gói tin có phải giao thức TCP hay khơng Để kiểm tra gói tin có phải TCP hay khơng, ta cần kiểm tra trường Protocol IP Header (byte thứ 9) Nếu giá trị trường TCP: Hình IP Header gói tin Start Value: -3 = Mask: 0xFF Value: Biểu thức cuối cùng: 6&0xFF=6 sKiểm tra có phải gói SYN hay khơng Để kiểm tra xem có phải gói SYN hay khơng, cần kiểm tra cờ SYN TCP mang giá trị (cờ SYN không bật) hay (cờ SYN bật) Hình TCP Header gói tin Cờ SYN byte thứ 13 TCP header Muốn lấy byte này, việc ta cần làm nhảy qua khỏi chiều dài IP Header đến byte TCP Header, chọn byte thứ 10 (133=10) từ vị trí vừa nhảy tới Thực việc cách sử dụng toán tử “@“ Trong byte 13, cờ SYN nằm bit thứ từ phải sang, dịch sang phải bit để đưa bit cờ SYN vào bị trí right most: Zero out tất giá trị ta không qua tâm, 31 bit nằm phía trước Sử dụng Mask: Kiểm tra xem giá trị có hay không (cờ SYN bật) Với : 0>>22&0x3C@ : Tính chiều dài IP Header nhảy đến vị trí byte vừa tính tốn 10>>1&0x1=0x1 : Lấy byte số 10-13, dịch qua phải bit để đưa cờ SYN vào vị trí Right Most, loại bỏ 31 bit phía trước kiểm tra giá trị cuối có hay khơng Kiểm tra gói tin có Payload hay khơng Để kiểm tra gói tin có Payload hay khơng, ta cần “nhảy” qua khỏi IP Header, TCP Header đến byte phần Data, kiểm tra xem có mang giá trị hay khơng Biểu thức: 0>>22&0x3C@12>>26&0x3C@0>>24=0:255 Trong đó: 0>>22&0x3C@: Tính tốn chiều dài IP Header, nhảy đến vị trí byte vừa tính tốn (chính vị trí bắt đầu TCP Header) 12>>26&0x3C@: Tính tốn chiểu dài TCP Header nhảy đến vị trí byte vừa tính tốn (chính vị trí bắt đầu Data) 0>>24=0:255: Từ vị trí Data, lấy byte vị trí số 0, dịch qua phải 24 bit để đưa byte vào vị trí right most, kiểm tra giá trị byte có nằm khoảng từ 0:255 hay khơng Kết cuối Kết hợp điều kiện lại sử dụng tốn tử “&&“, ta có rule sau: Hình Rules drop dos attack IV Thực demo Trước áp dụng rules iptable Trên máy công Thực câu lệnh công syn flood hping Hình Tiến hành cơng syn fllod máy attack Trên máy nạn nhân , mở wireshark ta thấy hàng loạt gói tin tcp gửi tới Hình Gói tin máy nạn nhân theo dõi wireshark Ta thấy , ram cpu máy nạn nhân tăng đáng kể , khiến máy bị treo Hình 10 Thơng số CPU RAM máy nạn nhân bị công Tiến hành ngăn chặn iptables Hệ thống log hiển thị gói tin TCP package Hình 11 Kiểm tra gói tin có phải TCP package khơng Tiếp theo kiểm tra gói tin có cờ SYN khơng Hình 12 Kiểm tra gói tịn có cờ SYN khơng Tiếp theo kiểm tra payload gói tin Hình 13 Kiểm tra payload gói tin Rules để drop package thỏa điều Hình 14 Rules tạo kết hợp điều kiện Mở wireshark để theo dõi gói tin Hình 15 Các gói tin theo dõi wireshark thiết lập rules chống dos attack Như ta thấy , khơng có gói tin SYN-ACK máy nạn nhân trả ... “Start” nằm cuối gần cuối gói tin khiến cho việc lấy byte vượt khỏi phạm vi gói tin mặc định kết False Các toán tử hỗ trợ: & : phép toán AND hai dãy bit với >> : Shift Left (dịch bit sang trái)... Mangle Table Filter Table, có rules thực thi gói tin tiến trình tạo Chain FORWARD hữu Manle Table & Filter Table, có rules thực thi cho gói tin định tuyến qua host Chain POSTROUTING tồn Manle... Start&Mask=Value|RangeValue Điều có nghĩa: Lấy byte liệu từ vị trí “Start”, thực phép tốn “AND” với bit “Mask” (một dãy bit) so sánh giá trị kết vừa tính tốn có với “Value” nằm “RangeValue” hay