Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

64 26 0
Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Đ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

TRƢỜNG ĐẠI HỌC VINH 005.8 KHOA CÔNG NGHỆ THÔNG TIN - - BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: NGHIÊN CỨU VÀ TRIỂN KHAI FIREWALL IPTABLES TRÊN LINUX Sinh viên thực hiện: HỒ VIẾT THẮNG Mã sinh viên: 1051073786 Lớp: 51K2 - CNTT Giáo viên hướng dẫn: ThS LÊ QUỐC ANH Nghệ An, tháng 12 năm 2014 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC LỜI CẢM ƠN Trong thời đại công nghệ thông tin ngày nay, việc ứng dụng Công nghệ Thông tin vào sống nhƣ ngành khoa học ngày trở nên quan trọng Quá trình làm đề tài tốt nghiệp bƣớc vào thực tiễn bƣớc đầu thực hành đúc rút chứng minh cho mơn học ghế nhà trƣờng nói chung mơn học chun nghành nói riêng Nó trình nhận xét đánh giá rút ƣu, nhƣợc điểm tìm hƣớng khắc phục mục đích để tìm phƣơng án tối ƣu cho việc học thực tế sau thân Em xin chân thành cảm ơn hƣớng dẫn thầy giáo, cô giáo Khoa Công Nghệ Thông Tin - Trƣờng Đại học Vinh Em đặc biệt bày tỏ lòng biết ơn thầy giáo Th.s Lê Quốc Anh tạo điều kiện giúp đỡ, hƣớng dẫn em tận tình để em hồn thành tốt đề tài tốt nghiệp Em chân thành cảm ơn thầy cô sẵn sàng giúp đỡ tạo điều kiện tốt cho em Cảm ơn bạn bè quan tâm động viên cổ vụ giúp đỡ để em thực tốt tập tốt nghiệp Mặc dù có nhiều cố gắng tồn kiến thức để hồn thành cơng việc, song thời gian có hạn kinh nghiệm kiến thức chƣa nhiều nên việc trình bày, phân tích, xây dựng chƣơng trình có nhiều thiếu sót cần đƣợc bổ sung Vì vậy, em mong nhận đƣợc ý kiến đóng góp thầy cô bạn bè để đề tài đƣợc hoàn thiện tƣơng lai Em xin chân thành cảm ơn kính chúc thầy bạn sức khỏe hạnh phúc! Sinh viên thực Hồ Viết Thắng SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC LỜI MỞ ĐẦU Internet đời đem lại nhiều lợi ích lớn cho ngƣời, kết nối ngƣời tới gần Ngồi trƣớc máy tính, ngƣời biết đƣợc thơng tin tồn cầu Bên cạnh đó, Internet giúp doanh nghiệp triển khai dịch vụ trực tuyến phục vụ ngƣời dùng toàn giới làm tăng lợi nhuận cách nhanh chóng Nhƣng khả kết nối rộng rãi nhƣ mà hệ thống máy tính doanh nghiệp nhƣ ngƣời dùng bị xâm nhập vào lúc mà khơng đƣợc biết trƣớc Mạng máy tính đƣợc tổ chức sử dụng chủ yếu để chia sẻ, dùng chung tài nguyên cho phép giao tiếp trực tuyến bao gồm gửi nhận thông điệp hay thƣ điện tử, giao dịch, bn bán mạng, tìm kiếm thông tin mạng Nhƣng chia sẻ tài nguyên mạng phải đề cập đến độ bảo mật tài nguyên cần chia sẻ tránh kẻ xâm nhập bât hợp pháp truy cập vào hệ thống chúng ta, điều nảy sinh chƣơng trình, phần cứng hay phần mềm hỗ trợ để quản lý kiểm soát tài nguyên ra, vào hệ thống, phần mềm hỗ trợ thông thƣờng nhƣ ISA 2004, ISA 2006, TMG 2010, COMODO Firewall, Iptables, TCP Wrappers… Chúng có chung xu hƣớng bảo vệ quản lý hệ thống mạng bên trƣớc tin tặc truy cập bất hợp pháp Nổi bật số firewall IPTABLES hệ điều hành Linux với nhiều ƣu điểm vƣợt trội so với firewall khác Chính điều thúc đẩy em tìm hiểu đề tài: "Nghiên cứu triển khai firewall Iptables hệ điều hành Linux" Đồ án đƣợc viết nhằm đem đến cho ngƣời nhìn r nét Firewall đặc biệt Firewall Iptables inux Nội dung đồ án gồm Chƣơng nhƣ sau:  Chương I: Giới thiệu tổng quan đề tài  Chương II: Tìm hiểu lý thuyết an ninh mạng tƣờng lửa nói chung  Chương III: Tìm hiểu lý thuyết tƣờng lửa Iptables Linux  Chương IV: Triển khai cấu hình Iptables mơ hình mạng cụ thể SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC MỤC LỤC LỜI CẢM ƠN LỜI MỞ ĐẦU MỤC LỤC DANH SÁCH HÌNH VẼ .5 DANH SÁCH BẢNG BIỂU CHƢƠNG I: TỔNG QUAN VỀ ĐỀ TÀI 1.1 LÝ DO CHỌN ĐỀ TÀI: .8 1.2 MỤC TIÊU CỦA ĐỀ TÀI: 1.3 NỘI DUNG THỰC HIỆN: CHƢƠNG II: TỔNG QUAN VỀ TƢỜNG LỬA VÀ AN NINH AN TỒN MẠNG MÁY TÍNH .10 2.1 TỔNG QUAN VỀ VẤN ĐỀ AN NINH - AN TỒN MẠNG MÁY TÍNH: 10 2.1.1 An ninh an tồn mạng gì? 10 2.1.2 Các đặc trƣng kỹ thuật an ninh an toàn mạng: .11 2.2 ĐÁNH GIÁ VỀ SỰ ĐE DỌA, CÁC ĐIỂM YẾU CỦA HỆ THỐNG VÀ CÁC KIỂU TẤN CÔNG .13 2.2.1 Các đối tƣợng đe dọa an ninh mạng: 13 2.2.2 Các lỗ hổng bảo mật: 13 2.2.3 Các hình thức công mạng phổ biến: 15 2.2.4 Một số công cụ an ninh - an toàn mạng: .18 2.3 GIỚI THIỆU VỀ FIREWALL: 18 2.4 CHỨC NĂNG CỦA FIREWALL: 19 2.5 KHẢ NĂNG CỦA HỆ THỐNG FIREWALL: 20 2.6 PHÂN LOẠI TƢỜNG LỬA (FIREWALL): .20 2.6.1 Firewall phần cứng: .20 2.6.2 Firewall phần mềm: .21 2.7 CÁC THÀNH PHẦN CỦA FIREWA VÀ CƠ CHẾ HOẠT ĐỘNG: 22 2.7.1 Bộ lọc packet (Packet filtering router): .22 2.7.2 Cổng ứng dụng (Application level gateway hay proxy server): 24 2.7.3 Cổng mạch (Circuit level gateway): 25 2.9 NHỮNG HẠN CHẾ CỦA FIREWALL: 26 CHƢƠNG III: IPTABLES TRONG HỆ ĐIỀU HÀNH LINUX 27 SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC 3.1 GIỚI THIỆU VỀ IPTABLES: 27 3.1.1 Netfilter/Iptables gì? 27 3.1.2 Đặc điểm Netfilter/Iptables: 27 3.2 CƠ CHẾ XỬ LÝ PACKAGE TRONG IPTABLES: 28 3.2.1 NAT table (Network Address Translation): 29 3.2.2 Filter table (Lọc gói): 30 3.2.3 MANGLE table: 30 3.2.4 Tổng quát: 32 3.3 TARGET AND JUMPS: 33 3.3.1 Khái niệm: 33 3.3.2 Phân biệt ACCEPT, DROP REJECT packet: 35 3.4 CÁC THAM SỐ VÀ DÒNG LỆNH THƢỜNG GẶP CỦA IPTABLES: 35 3.4.1 Các câu lệnh gọi trợ giúp: 35 3.4.2 Các tùy chọn để thao tác với chains: 35 3.4.3 Các tùy chọn để thao tác với luật: .35 3.4.4 Các tham số chuyển mạch quan trọng Iptables: 36 3.5 ƣu giữ thực thi Iptales: 39 CHƢƠNG IV: TRIỂN KHAI VÀ CẤU HÌNH 40 4.1 GIỚI THIỆU SƠ QUA VỀ MƠ HÌNH TRIỂN KHAI HỆ THỐNG MẠNG ỨNG DỤNG IPTABLES: 40 4.2 CẤU HÌNH TRIỂN KHAI IPTAB ES THEO MƠ HÌNH ĐỀ RA: 41 4.2.1 Các lệnh bắt đầu: .41 4.2.2 Cấu hình luật lọc gói tin (Filter): .42 4.2.3 Ứng dụng Iptables cho phép Firewall thực kĩ thuật NAT: 45 4.2.4 Ứng dụng Iptables để quản lý chia sẻ Internet Client: 48 4.2.5 Proxy Server: .50 4.2.6 Kết hợp Iptables với Squid Proxy: 55 4.2.7 Ứng dụng Iptables để chống công DOS: .56 KẾT LUẬN 62 TÀI LIỆU THAM KHẢO 63 SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC DANH SÁCH HÌNH VẼ Hình Lọc gói tin .22 Hình 2 Cổng mạch 25 Hình Netfilter/Iptables Linux 27 Hình Quá trình xử lý gói tin bảng NAT .30 Hình 3 Q trình xử lý gói tin bảng Filter 30 Hình Q trình xử lý gói tin bảng Mangle 31 Hình Cơ chế xử lý package Iptables 32 Hình Sơ đồ luồng liệu iptables 32 Hình Sơ đồ logic hệ thống 40 Hình Các luật Iptables 41 Hình File cấu hình Iptables .42 Hình 4 Máy Firewall khơng thể truy cập Internet qua port 80 42 Hình Máy Int - client khơng thể kết nối SSH sau cấm 43 Hình Máy Ext - client thực kết nối SSH 43 Hình Máy Int - client không ping đƣợc Firewall sau cấm 43 Hình Máy Ext - client ping đến máy Firewall .44 Hình Máy Int - lient không Telnet đƣợc Firewall 44 Hình 10 Máy Ext - client Telnet đến Firewall 44 Hình 11 Trusted Interfaces máy Firewall 46 Hình 12 Giá trị Forward '1' 46 Hình 13 Kết nối Internet cho mạng nội NAT Out 47 Hình 14 Kết nối tới Web bên mạng Lan thành công 48 Hình 15 Chỉnh sửa port proxy 51 Hình 16 Khai báo host name proxy server 51 Hình 17 Cấu hình proxy máy Client 52 Hình 18 Truy cập Web thông qua Proxy 52 Hình 19 File chứa trang web cấm 53 Hình 20 Máy client khơng thể truy cập trang web cấm .53 Hình 21 File "gioihandown" .54 SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Hình 22 Máy client download file cấm 54 Hình 23 Thêm thơng số "transparent" phía sau http_port 55 Hình 24 Truy cập web qua proxy chế độ suốt .55 Hình 25 Thực tắt squid .56 Hình 26 Kết chống Ping of Death 57 Hình 27 Sơ đồ công SYN flood 58 Hình 28 Kết nối đến từ máy attack gắn cờ SYN_RECV 59 Hình 29 Số lƣợng kết nối SYN tăng dần theo thời gian 60 Hình 30 Trang web khơng thể truy cập đƣợc 60 Hình 31 Số lƣợng kết nối SYN giảm dần 60 Hình 32 Ip máy attack bị Iptables DROP 61 Hình 33 Trang web truy cập lại bình thƣờng .61 SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC DANH SÁCH BẢNG BIỂU Bảng Target Iptables .33 Bảng Các lệnh switching quan trọng 36 Bảng 3 Lệnh switching mở rộng cho gói TCP UDP 37 Bảng Điều kiện ICMP 38 Bảng Các điều kiện mở rộng thông dụng 38 Bảng Địa IP cho NIC theo mơ hình: 40 SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƢƠNG I: TỔNG QUAN VỀ ĐỀ TÀI 1.1 Lý chọn đề tài: Trong năm gần đây, việc tổ chức khai thác mạng Internet phát triển Mạng Internet cho phép máy tính trao đổi thơng tin cách nhanh chóng, thuận tiện Mọi đối tƣợng sử dụng dịch vụ tiện ích Internet cách dễ dàng nhƣ trao đổi thông tin, tham khảo thƣ viện tri thức Tại thời điểm nay, lợi ích Internet khơng thể phủ nhận Nhƣng bên cạnh kèm với nguy an tồn thơng tin Internet cản trở nghiêm trọng phát triển Internet Bảo đảm an toàn an ninh nhu cầu nhà cung cấp dịch vụ mạng ngƣời sử dụng Trên giới có nhiều cơng trình nghiên cứu lĩnh vực bảo mật, an tồn thơng tin mạng kết trở thành sản phẩm thƣơng mại nhƣ: Vista Firewall, ZoneAlarm Firewall, Smooth Wall… Tuy nhiên loại có ƣu nhƣợc điểm riêng, phát triển theo hƣớng khác Các sản phẩm đƣợc xây dựng hệ điều hành khác nhƣng chủ yếu Windows Microsoft hệ điều hành mã nguồn mở Linux Ở Việt Nam, Internet phát triển nhƣng vấn đề an tồn, an ninh mạng gặp nhiều khó khăn Hiện chƣa có sản phẩm Firewall Việt Nam tạo ra, đặc biệt sản phẩm Firewall đƣợc xây dựng hệ điều hành mã nguồn mở inux Để vấn đề an ninh mạng đƣợc đảm bảo, biện pháp đƣợc áp dụng sử dụng tƣờng lửa – Firewall Đây biện pháp đơn giản, tiết kiệm chi phí mà đạt hiệu khả quan Trên sở em chọn đề tài: “NGHIÊN CỨU VÀ TRIỂN KHAI FIREWALL IPTABLES TRÊN HỆ ĐIỀU HÀNH LINUX” 1.2 Mục tiêu đề tài:  Tìm hiểu tổng quan an toàn - an ninh mạng, kĩ thuật cơng mạng  Tìm hiểu lí thuyết chung Firewall  Tìm hiểu lý thuyết tƣởng lửa Iptables  Triển khai Iptables hệ điều hành Linux 1.3 Nội dung thực hiện: Iptables mô hình mạng tận dụng lại sơ hạ tầng có Internet Với mơ hình mạng này, ngƣời ta đầu tƣ thêm nhiều sở SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC hạ tầng mà tính nhƣ bảo mật, độ tin cậy đảm bảo, đồng thời quản lý riêng đƣợc hoạt động mạng Nội dung nghiên cứu - thực cụ thể nhƣ sau:  Nghiên cứu tổng quan hệ điều hành Linux, CentOS  Nghiên cứu công nghệ tƣởng lửa Iptables  Khảo sát, đƣa mơ hình mạng phù hợp  Thực cấu hình SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC #Xoá luật đưa lên memory, reset đếm packet $IPT -F $IPT -Z INPUT $IPT -Z OUTPUT $IPT -Z FORWARD #Để sách mặc định chain DROP $IPT -P INPUT DROP $IPT -P OUTPUT DROP $IPT -P FORWARD DROP #Ấn định thông tin vào từ $INTIF tình trạng NEW, RELATED ESTABLISHED cho phép $IPT -A INPUT -i $INTIF -m state state NEW,RELATED,ESTABLISHED -j ACCEPT $IPT -A OUTPUT -o $INTIF -m state state NEW,RELATED,ESTABLISHED -j ACCEPT #Các gói tin ICMP thuộc loại ấn định $OK_ICMP từ -s $INTNET đến $INTIF xun qua $EXTIF cho phép theo vịng lặp for icmp in $OK_ICMP; $IPT -A FORWARD -p icmp icmp-type $icmp -i $INTIF -o $EXTIF -s $INTNET -d $EXTNET -j ACCEPT done #Cho phép máy client dùng cổng ấn định biến $TCP_OUT (VD: 80 - web, 110 - pop3 ) để truy cập dịch vụ Internet for ports in $TCP_OUT; $IPT -A FORWARD -p tcp -i $INTIF -o $EXTIF -s $INTNET -d $EXTNET dport $ports -j ACCEPT done #Sử dụng module để khớp MAC address từ biến $OK_MAC phép truy cập dịch vụ (VD: ftp ( dport 20:21)) Internet for macs in $OK_MAC; $IPT -A FORWARD -p tcp -i $INTIF -o $EXTIF -m mac mac-source $macs -d $EXTNET dport 20:21 -j ACCEPT done #Tất máy có MAC address khai báo biến $NOTOK_MAC hoàn toàn bị từ chối (-j REJECT) for banmac in $NOTOK_MAC; SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT 49 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC $IPT -A FORWARD -p tcp -i $INTIF -o $EXTIF -m mac mac-source $banmac -d $EXTNET -j REJECT done #Đảm bảo gói tin cịn lại khơng phải tình trạng ESTABLISHED RELATED bị loại bỏ $IPT -A FORWARD -m state state ESTABLISHED,RELATED -j ACCEPT #Loại bỏ hồn tồn gói tin xun qua luật trước lưu log lại $IPT -A INPUT -i $INTIF -j LOG log-prefix "BAD_INPUTS: " $IPT -A INPUT -i $INTIF -j DROP $IPT -A OUTPUT -o $EXTIF -j LOG log-prefix "BAD_OUTPUTS: " $IPT -A OUTPUT -o $EXTIF -j DROP $IPT -A FORWARD -i $INTIF -o $EXTIF -j LOG log-prefix "BAD_FORWARD_OUT: " $IPT -A FORWARD -i $INTIF -o $EXTIF -j DROP $IPT -A FORWARD -i $EXTIF -o $INTIF -j LOG log-prefix "BAD_FORWARD_IN: " $IPT -A FORWARD -i $EXTIF -o $INTIF -j DROP Để thực thi file Shell script ta dùng lệnh sau: # chmod +x Quanly.sh # Quanly.sh Tùy vào mục đích nhu cầu thực tế, ta có thêm bớt luật cho Iptables để quản lý Ngồi ta tích hợp Iptables với application level proxy nhƣ Squid Proxy để kiểm soát chặt chẽ 4.2.5 Proxy Server: a Giới thiệu cài đặt Proxy Squid: Squid chƣơng trình Internet Proxy-caching, đóng vai trị tiếp nhận yêu cầu kết nối từ client chuyển cho Internet server thích hợp Đồng thời lƣu lên đĩa liệu trả từ Internet server - gọi caching Vì ƣu điểm Squid liệu mà đƣợc yêu cầu nhiều lần Proxy server lấy thơng tin từ cache trả cho client Điều làm cho tốc độ truy xuất nhanh tiết kiệm băng thông Squid dựa đặc tả giao thức HTTP nên HTTP proxy Do Squid proxy cho chƣơng trình mà chúng dùng giao thức để truy cập Internet  Cài đặt Proxy Squid lệnh sau: # yum install squid SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT 50 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC  Thực cấu hình Proxy: File cấu hình Squid nằm "/etc/squid/squid.conf" Ta định nghĩa cổng mà client truy cập đến Proxy server, mặc định 3128 nhƣng ta chỉnh thành 8080 cho dễ nhớ: Hình 15 Chỉnh sửa port proxy Vậy tất máy client bên mạng cấu hình proxy phải trỏ port 8080 nhƣ ta chỉnh Tiếp theo di chuyển đến dòng cuối cùng, ta định nghĩa visible_hostname, tức khai báo tên server proxy: Hình 16 Khai báo host name proxy server Ta lƣu file cấu hình, khởi động dịch vụ Squid proxy, đồng thời chạy Squid hệ thống: # service squid start # chkconfig squid on Ở máy client, ta bật trình duyệt Internet Explorer, chọn Menu, Internet Option, chọn thẻ Connection, vào LAN Settings, tích vào Use a proxy server, address địa máy proxy server, cổng 8080 nhƣ cấu hình: SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT 51 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Hình 17 Cấu hình proxy máy Client Thử truy cập trang Web: Hình 18 Truy cập Web thơng qua Proxy  Giờ ta cấu hình quy tắc dùng Squid để kiểm soát kết nối Internet từ máy client bên mạng nội bộ: - Cấm trang web có nội dung nhạy cảm trang web không đƣợc phép truy cập: SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT 52 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC + Tạo file "blockwebs" chứa địa trang web ta cấm lệnh: # vi /etc/squid/blockwebs Hình 19 File chứa trang web cấm + Thực khai báo file cấu hình Squid Ở dịng 30 ta thêm vào: acl blockwebs dstdomain "/etc/squid/blockwebs" http_access deny blockwebs + ƣu file cấu hình khởi động lại dịch vụ Squid Tiến hành truy cập thử máy client: Hình 20 Máy client khơng thể truy cập trang web cấm - Tƣơng tự, ta cấm máy client máy client kết nối Internet: acl hostdeny src 10.0.0.0/8 http_access deny hostdeny SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT 53 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC - Chỉ cho phép client truy cập Internet hành chính: Giả sử hành Thứ - Thứ 6, từ 8:00 - 17:00 acl lan_network src 10.0.0.0/8 acl acl business_hours time M T W H F 8:00-17:00 http_access allow lan_network business_hours - Giới hạn nội dung download: + Ta tạo file "gioihandown" để quy định file cần cấm: # vi /etc/squid/gioihandown Hình 21 File "gioihandown" + Tiến hành khai báo file cấu hình squid: acl file_block urlpath_regex "/etc/squid/gioihandown" http_access deny file_block + Kiểm tra máy client: Hình 22 Máy client khơng thể download file cấm SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT 54 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC 4.2.6 Kết hợp Iptables với Squid Proxy: Cấu hình thơng số "transparent" file cấu hình Squid nhƣ sau: Hình 23 Thêm thơng số "transparent" phía sau http_port Khởi động lại Squid: # Service squid restart Cấu hình Iptables để chuyển đổi port đích 80 firewall sang port 8080 squid proxy lệnh sau: # iptables -t nat -A PREROUTING -i eth1 -p tcp dport 80 -j REDIRECT to-port 8080 Thực trình kiểm tra việc truy cập qua proxy mà ngƣời dùng khơng phải cấu hình thơng tin proxy nhƣ sau: - Trên client truy cập vào internet: Hình 24 Truy cập web qua proxy chế độ suốt - Thực việc tắt dịch vụ squid server ta thấy: SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT 55 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Hình 25 Thực tắt squid Nhƣ vậy, dù máy client khơng phải cấu hình Proxy để truy cập Internet nhƣng thực chất xuyên qua Proxy Điều ta thấy tắt Squid client truy cập đƣợc Internet Việc cài đặt Squid Proxy máy Iptables tiết kiệm đƣợc chi phí, tích hợp cấu hình dễ dàng Vì mơ hình triển khai cho văn phịng cơng ty nhỏ bạn khơng có kinh phí để đầu tƣ Nhƣợc điểm bảo mật đòi hỏi nhiều tài nguyên để hoạt động 4.2.7 Ứng dụng Iptables để chống công DOS: Tấn công DoS kiểu công mà ngƣời làm cho hệ thống sử dụng, làm cho hệ thống chậm cách đáng kể với ngƣời dùng bình thƣờng, cách làm tải tài nguyên hệ thống Nếu kẻ cơng khơng có khả thâm nhập đƣợc vào hệ thống, chúng cố gắng tìm cách làm cho hệ thống sụp đổ khơng có khả phục vụ ngƣời dùng bình thƣờng công Denial of Service (DoS) Mặc dù công DoS khơng có khả truy cập vào liệu thực hệ thống nhƣng làm gián đoạn dịch vụ mà hệ thống cung cấp Sau em xin triển khai chống công hình thức DOS Ping of Death (ICMP flood) SYN Attack a Ping of Death: Kiểu công Ping of Death dùng giao thức ICMP Khi công Ping of Death, gói tin echo đƣợc gửi có kích thƣớc lớn kích thƣớc cho phép 65,536 SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT 56 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC bytes Gói tin bị chia nhỏ thành segment nhỏ hơn, nhƣng máy đích ráp lại, host đích nhận thấy gói tin q lớn buffer bên nhận Kết là, hệ thống quản lý tình trạng bất thƣờng reboot bị treo Để chống công Ping of Death, ta tạo file Shell script tên "antiping.sh" với nội dung nhƣ sau: #!/bin/sh iptables -N PING_FLOOD iptables -A PING_FLOOD -m limit limit-burst limit 2/m -j RETURN iptables -A PING_FLOOD -j DROP iptables -A INPUT -s 0/0 -i eth0 -p icmp icmp-type echo-request -j PING_FLOOD Cấp quyền thực thi chạy file shell trên: # chmod +x antiping.sh # antiping.sh Đầu tiên lệnh iptables -N test để tạo chain tên PING_FLOOD, giới hạn limit-burst mức gói, limit gói/phút, thỏa luật trở (RETURN) cịn khơng bị DROP Sau nối thêm chain PING_FLOOD vào chain INPUT với tùy chọn card mạng vào eth0, giao thức icmp, loại icmp echo-request Luật giới hạn gói PING tới lo gói/phút sau đạt tới gói Kết thực nghiệm, Iptables DROP đến 82% gói tin từ attacker: Hình 26 Kết chống Ping of Death b Tấn công SYN flood: SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT 57 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Syn flood dạng công từ chối dịch vụ, kẻ công gửi gói tin kết nối SYN đến hệ thống Đây loại công phổ biến Loại công nguy hiểm hệ thống cấp phát tài nguyên sau nhận gói tin SYN từ kẻ cơng trƣớc nhận gói ACK Nếu việc thiết lập kết nối chƣa hòan tất bƣớc đầy đủ (gọi half-open connection) mà buộc hệ thống server phải cấp tài nguyên để quản lý kẻ cơng lấy hết tài ngun hệ thống server "flooding" vào server với gói tin SYN Mơ hình cơng: Internet Server (Victim) Proxy Server modem [eth0] [eth1] Firewall Client – External (Attacker) Client Client Hình 27 Sơ đồ công SYN flood Để chống công SYN, ta tạo file bao gồm: Shell script "antisyn.sh", shell script "iptables.sh", "bad.ips" chứa thƣ mục (/vietthang) Nội dung file lần lƣợt là: + antisyn.sh: cd /vietthang netstat -anp | grep 'SYN_RECV' | awk '{print $5}' | cut -d: -f1 | sort | uniq | sort -n > bad.ips /vietthang/iptables.sh + iptables.sh: SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT 58 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC #!/bin/bash IPT=/sbin/iptables DDOSDROPMSG="DDOS_LIST: " BADIPS=$(egrep -v -E "^$" /vietthang/bad.ips) $IPT -N DDOSLIST for ipblock in $BADIPS $IPT -A DDOSLIST -s $ipblock -j LOG log-prefix "$DDOSDROPMSG" $IPT -A DDOSLIST -s $ipblock -j DROP done $IPT -I INPUT -j DDOSLIST $IPT -I OUTPUT -j DDOSLIST $IPT -I FORWARD -j DDOSLIST + bad.ips file trống, tạo lệnh Vi thông thƣờng Cơ chế file "antisyn.sh" tìm IP chiếm nhiều kết nối với cờ SYN đƣa vào file "bad.ips", đồng thời thực lệnh chạy file "iptables.sh" để DROP IP Cấp quyền thực thi cho file Tiến hành công thử Tool HTTP Attack 3.6 vào trang web Server, ta thấy: Hình 28 Kết nối đến từ máy attack gắn cờ SYN_RECV SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT 59 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Hình 29 Số lượng kết nối SYN tăng dần theo thời gian Hình 30 Trang web truy cập Tiến hành chạy file Shell "antisyn.sh", chờ 2p ta kiểm tra kết quả: # antisyn.sh Hình 31 Số lượng kết nối SYN giảm dần SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT 60 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Hình 32 Ip máy attack bị Iptables DROP Hình 33 Trang web truy cập lại bình thường Nhƣ cách ứng dụng Iptables ta chống đƣợc công SYN flood đơn giản Tuy nhiên môi trƣờng máy ảo hạn chế nên việc triển khai chƣa sát thực tế, chƣa tối ƣu để kiểm soát có nhiều máy cơng Chỉ sử dụng Iptables khó ngăn chặn DDOS diện rộng Vì vậy, ta kết hợp Iptables với ứng dụng khác để ngăn chặn tối đa công nhƣ: IDS Snort, Mod_security Mod_evasive Apache SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT 61 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC KẾT LUẬN  Kết đạt đề tài: Thông qua đồ án này, việc thực đƣợc hạn chế, nhƣng phần em nắm bắt đƣợc nguyên lý bản, cách hoạt động Firewall Iptables, cách cài đặt, cấu hình mơ hình mạng - Về lý thuyết: Hiểu r đƣợc khái niệm tƣờng lửa nói chung Iptables nói riêng, nắm rõ cách đặt luật Iptables để tối ƣu nhu cầu cần thiết đề tài - Về thực hành: Triển khai, cấu hình Iptables để định tuyến cho hệ thống mạng: máy client truy cập mạng máy ngồi Internet truy cập vào dịch vụ máy Server Đồng thời quản lý chia sẻ Internet chống công vào máy bên mạng  Hạn chế đề tài: Vì kiến thức cịn hạn chế nên chƣa thực đƣợc nhiều công vào hệ thống, chƣa thật xây dựng đƣợc hệ thống mạng LAN hoàn chỉnh, hạn chế thời gian tài nên chƣa thực xây dựng đƣợc hệ thống mạng thật Việc triển khai đơn giản, hệ thống rules sơ sài chƣa chặt chẽ, ứng dụng cịn mang nhiều tính chất minh họa  Hướng khắc phục phát triển đề tài: Trong thời gian nghiên cứu em tiếp tục nghiên cứu thêm khai thác sâu khả bảo vệ Iptables Bên cạnh em xây dựng tổ chức luật nhằm tối ƣu hóa luật cho hợp lý để triển khai thêm ứng dụng nhƣ: - Tích hợp IDS Snort vào hệ thống với Iptables - Triển khai mơ hình mạng khác - Triển khai cho mơ hình cơng ty cụ thể SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT 62 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC TÀI LIỆU THAM KHẢO [1] Nguyễn Việt Hùng - Trần Quang Bình, Hệ điều hành Linux, Trƣờng ĐH Tôn Đức Thắng, 2011 [2] Doãn Xuân Thanh, Bài giảng Hệ điều hành, Trƣờng ĐH Tơn Đức Thắng, 2011 [3] Đặng Vũ Quốc Khánh, Tìm hiểu web server thông dụng, Trƣờng ĐH Bách khoa Hà Nội, 2002 [4] Trần Nhật Huy - Hoàng Hải Ngun - Ngơ Trí Hùng Nam, Giới thiệu Iptables, 2006 [5] Gregor N Purdy, Linux Iptables Pocket Reference, 2004 [6] Michael Rash, Linux Firewalls: Attack Detection and Response with iptables, psad and fwsnort, No Starch Press, 2007 [7] Http://www.server-world.info/en/ [8] Http://www.hvaonline.net/ [9] Http://nhatnghe.com/forum/ [10] Http://congdonglinux.vn/forum/ [11] Http://anninhmang.net/ SV: HỒ VIẾT THẮNG - MSSV: 1051073786 - Lớp: 51K2 - Khoa CNTT 63 ... với firewall khác Chính điều thúc đẩy em tìm hiểu đề tài: "Nghiên cứu triển khai firewall Iptables hệ điều hành Linux" Đồ án đƣợc viết nhằm đem đến cho ngƣời nhìn r nét Firewall đặc biệt Firewall. .. tài: “NGHIÊN CỨU VÀ TRIỂN KHAI FIREWALL IPTABLES TRÊN HỆ ĐIỀU HÀNH LINUX? ?? 1.2 Mục tiêu đề tài:  Tìm hiểu tổng quan an toàn - an ninh mạng, kĩ thuật cơng mạng  Tìm hiểu lí thuyết chung Firewall. .. lý riêng đƣợc hoạt động mạng Nội dung nghiên cứu - thực cụ thể nhƣ sau:  Nghiên cứu tổng quan hệ điều hành Linux, CentOS  Nghiên cứu công nghệ tƣởng lửa Iptables  Khảo sát, đƣa mơ hình mạng

Ngày đăng: 27/08/2021, 11:15

Hình ảnh liên quan

Hình 2.1. Lọc gói tin - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Hình 2.1..

Lọc gói tin Xem tại trang 23 của tài liệu.
Hình 3.2. Quá trình xử lý gói tin trong bảng NAT - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Hình 3.2..

Quá trình xử lý gói tin trong bảng NAT Xem tại trang 31 của tài liệu.
Chúng ta không sử dụng bảng này để thực hiện lọc gói tin và cũng không thực hiện chuyển  đổi  địa  chỉ  NAT  hay  Masquerading  trong  bảng  này - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

h.

úng ta không sử dụng bảng này để thực hiện lọc gói tin và cũng không thực hiện chuyển đổi địa chỉ NAT hay Masquerading trong bảng này Xem tại trang 32 của tài liệu.
Để cái nhìn tổng quát đối với việc lọc và xử lý gói trong IPtables, ta xem hình sau: - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

c.

ái nhìn tổng quát đối với việc lọc và xử lý gói trong IPtables, ta xem hình sau: Xem tại trang 33 của tài liệu.
Hình 3.5. Cơ chế xử lý package trong Iptables - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Hình 3.5..

Cơ chế xử lý package trong Iptables Xem tại trang 33 của tài liệu.
Trong hình 3.6 một gói tin TCP từ Internet về đến giao diện của tƣờng lửa trên mạng A để tạo ra một kết nối dữ liệu - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

rong.

hình 3.6 một gói tin TCP từ Internet về đến giao diện của tƣờng lửa trên mạng A để tạo ra một kết nối dữ liệu Xem tại trang 34 của tài liệu.
Bảng 3.2. Các lệnh switching quan trọng. - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Bảng 3.2..

Các lệnh switching quan trọng Xem tại trang 37 của tài liệu.
Bảng 3.3. Lệnh switching mở rộng cho gói TCP và UDP. - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Bảng 3.3..

Lệnh switching mở rộng cho gói TCP và UDP Xem tại trang 38 của tài liệu.
Bảng 3.4. Điều kiện của ICMP. - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Bảng 3.4..

Điều kiện của ICMP Xem tại trang 39 của tài liệu.
CHƢƠNG IV: TRIỂN KHAI VÀ CẤU HÌNH - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux
CHƢƠNG IV: TRIỂN KHAI VÀ CẤU HÌNH Xem tại trang 41 của tài liệu.
4.2. Cấu hình triển khai IPtables theo mô hình đề ra: - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

4.2..

Cấu hình triển khai IPtables theo mô hình đề ra: Xem tại trang 42 của tài liệu.
4.2.2. Cấu hình các luật lọc gói tin cơ bản (Filter): - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

4.2.2..

Cấu hình các luật lọc gói tin cơ bản (Filter): Xem tại trang 43 của tài liệu.
Hình 4.3. File cấu hình của Iptables - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Hình 4.3..

File cấu hình của Iptables Xem tại trang 43 của tài liệu.
Hình 4. 8. Máy Ex t- client ping đến máy Firewall - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Hình 4..

8. Máy Ex t- client ping đến máy Firewall Xem tại trang 45 của tài liệu.
Hình 4. 12. Giá trị Forward bằng '1' - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Hình 4..

12. Giá trị Forward bằng '1' Xem tại trang 47 của tài liệu.
Hình 4. 11. Trusted Interfaces trên máy Firewall - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Hình 4..

11. Trusted Interfaces trên máy Firewall Xem tại trang 47 của tài liệu.
Hình 4. 13. Kết nối Internet cho mạng nội bộ bằng NAT Out - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Hình 4..

13. Kết nối Internet cho mạng nội bộ bằng NAT Out Xem tại trang 48 của tài liệu.
Hình 4. 14. Kết nối tới Web bên trong mạng Lan thành công - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Hình 4..

14. Kết nối tới Web bên trong mạng Lan thành công Xem tại trang 49 của tài liệu.
Hình 4. 18. Truy cập Web thông qua Proxy - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Hình 4..

18. Truy cập Web thông qua Proxy Xem tại trang 53 của tài liệu.
Hình 4. 17. Cấu hình proxy trên máy Client - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Hình 4..

17. Cấu hình proxy trên máy Client Xem tại trang 53 của tài liệu.
+ Thực hiện khai báo trong file cấu hình của Squid. Ở dòng 30 ta thêm vào:      acl blockwebs dstdomain "/etc/squid/blockwebs"  - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

h.

ực hiện khai báo trong file cấu hình của Squid. Ở dòng 30 ta thêm vào: acl blockwebs dstdomain "/etc/squid/blockwebs" Xem tại trang 54 của tài liệu.
Hình 4. 21. File "gioihandown" - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Hình 4..

21. File "gioihandown" Xem tại trang 55 của tài liệu.
Hình 4. 23. Thêm thông số "transparent" phía sau http_port - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Hình 4..

23. Thêm thông số "transparent" phía sau http_port Xem tại trang 56 của tài liệu.
Hình 4. 25. Thực hiện tắt squid - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Hình 4..

25. Thực hiện tắt squid Xem tại trang 57 của tài liệu.
Hình 4. 26. Kết quả chống Ping of Death - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Hình 4..

26. Kết quả chống Ping of Death Xem tại trang 58 của tài liệu.
Hình 4. 27. Sơ đồ tấn công SYN flood - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Hình 4..

27. Sơ đồ tấn công SYN flood Xem tại trang 59 của tài liệu.
Hình 4. 28. Kết nối đến từ máy attack đều gắn cờ SYN_RECV - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Hình 4..

28. Kết nối đến từ máy attack đều gắn cờ SYN_RECV Xem tại trang 60 của tài liệu.
Hình 4. 29. Số lượng kết nối SYN tăng dần theo thời gian - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Hình 4..

29. Số lượng kết nối SYN tăng dần theo thời gian Xem tại trang 61 của tài liệu.
Hình 4. 30. Trang web đã không thể truy cập được - Nghiên cứu và triển khai firewall iptables trên hệ điều hành linux

Hình 4..

30. Trang web đã không thể truy cập được Xem tại trang 61 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan