1. Trang chủ
  2. » Luận Văn - Báo Cáo

Một số kỹ thuật lọc gói tin trong IP

98 447 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

Thông tin cơ bản

Định dạng
Số trang 98
Dung lượng 3,46 MB

Nội dung

i ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG LƢU THỊ THANH HƢƠNG MỘT SỐ KỸ THUẬT LỌC GÓI TIN TRONG IP LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên - 2015 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ ii LỜI CAM ĐOAN Những kết nghiên cứu đƣợc trình bày luận văn hoàn toàn trung thực, không vi phạm điều luật sở hữu trí tuệ pháp luật Việt Nam Nếu sai, hoàn toàn chịu trách nhiệm trƣớc pháp luật Thái nguyên, ngày 20 tháng năm 2015 Tác giả luận văn Lưu Thị Thanh Hương Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ iii LỜI CẢM ƠN Trƣớc hết xin gửi lời cảm ơn sâu sắc đến thầy hƣớng dẫn khoa học PGS.TS Nguyễn Văn Tam dẫn khoa học, định hƣớng nghiên cứu tận tình hƣớng dẫn suốt trình làm luận văn Tôi xin cảm ơn các Thầy viện Công Nghệ Thông Tin, Thầy, Cô giáo trƣờng Đại học Công Nghệ Thông Tin Truyền Thông - Đại học Thái Nguyên cung cấp cho kiến thức vô quý báu cần thiết suốt thời gian học tập trƣờng để thực hoàn thành tốt đồ án chuyên ngành Tôi xin chân cảm ơn lãnh đạo, bạn đồng nghiệp trƣờng THPT Đồng Hỷ tạo điều kiện giúp đỡ công việc để yên tâm theo học Cuối cùng, xin cảm ơn gia đình bạn bè, ngƣời ủng hộ động viên tôi, giúp yên tâm có tâm lý thuận lợi để nghiên cứu luận văn Tuy nhiên giới hạn mặt thời gian kiến thức nên đồ án chắn không tránh khỏi sai sót ý muốn Tôi mong nhận đƣợc thông cảm đóng góp ý kiến thầy cô bạn Học viên Lƣu Thị Thanh Hƣơng Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ iv MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN iii MỤC LỤC iv BẢNG KÝ HIỆU CÁC TỪ VIẾT TẮT .vi DANH MỤC CÁC HÌNH VẼ viii DANH MỤC BẢNG .x MỞ ĐẦU .1 Chƣơng TỔNG QUAN VỀ AN TOÀN VÀ BẢO MẬT TRONG MẠNG IP 1.1 Các khái niệm 1.1.1 An toàn bảo mật gì? [11] 1.1.2 Các nguy gây an toàn [11] 1.2 Các kiểu công mạng IP [2] .4 1.2.1 Các kỹ thuật bắt thông tin .4 1.2.2 Tấn công xâm nhập mạng 1.2.3 Tấn công từ chối dịch vụ DoS, DdoS [6] 1.3 Các biện pháp bảo vệ an toàn mạng .10 1.3.1 An toàn trung chuyển (Transit Security) 10 1.3.1.1 Các mạng riêng ảo (VPN - Virtual Private Network) [11] 10 1.3.1.2 Giải pháp mật mã thông tin (Cryptography) [2] 11 1.3.2 Giải pháp kiểm soát lƣu lƣợng (Traffic Regulation) 17 1.3.2.1 Giải pháp phát phòng tránh xâm nhập [3] 17 1.3.2.2 Giải pháp kỹ thuật tƣờng lửa (Firewall technology) [5] 19 Chƣơng 27 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ v KỸ THUẬT LỌC GÓI TIN 27 2.1 Kỹ thuật lọc gói tin .27 2.2 Kỹ thuật lọc gói tin tĩnh 30 2.2.1 Giải thuật lọc gói tĩnh [4] 30 2.2.2 Lọc gói dựa tiêu đề TCP/UDP .33 2.2.3 Lọc gói dựa tiêu đề gói tin IP 37 2.2.4 Mặc định từ chối so với mặc định cho phép .40 2.3 Kỹ thuật lọc gói tin động 40 2.3.1 Giải thuật lọc gói tin động [4] 41 2.3.2 Theo dõi trạng thái 43 2.3.3 Lƣu giữ kiểm tra trạng thái 46 2.3.4 Theo dõi số trình tự TCP 46 2.3.5 Kiểm tra giao thức .47 2.4 Sự khác kỹ thuật lọc gói tin tĩnh kỹ thuật lọc gói tin động .48 Chƣơng 49 XÂY DỰNG THỬ NGHIỆM BỨC TƢỜNG LỬA 49 3.1 Phân tích toán 49 3.1.1 Xây dựng sách lọc gói tin tĩnh 50 3.1.2 Xây dựng sách lọc gói tin động 51 3.2 Phân tích lựa chọn công cụ 51 * Hoạt động xử lý gói tin IP 53 3.3 Kết thử nghiệm thực thi chƣơng trình 56 KẾT LUẬN 66 TÀI LIỆU THAM KHẢO 67 PHỤ LỤC 68 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ vi BẢNG KÝ HIỆU CÁC TỪ VIẾT TẮT ACK AH Acknowledgement Authentication Header Header xác thực đƣợc thêm vào sau header gói tin IP AES Advanced Encryption Standard Thuật toán mã hóa khối DA Destination Address Địa IP đích DES Data Encryption Standard Thuật toán mã hoá với 64 bit liệu 56 bit khoá DNS Domain Name System Hệ thống tên miền DoS Denial of Service Tấn công từ chối dịch vụ DDoS Distributed Denial of Service Tấn công từ chối dịch vụ phân tán DNAT Destination NAT ESP Encapsulated Security Payload Phƣơng thức đóng gói bảo vệ liệu ICMP Internet Control Message Protocol Sử dụng giao thức IP để truyền thông tin điều khiển lỗi mạng IP Internet Protocol (IPV4) Giao thức truyền mạng Internet IDS Intruction Detect System Hệ thống phát xâm nhập IOS Intruction IPX Internetwork packet Exchange Giao thức mạng LAN Local area network Mạng cục MAC Media Access Control Điều khiển truy cập NAT Network Address Translation Phƣơng thức chuyển đổi địa RSA Rivest Shamir Adleman RSA phƣơng thức mã hoá công khai SA Security Association Địa IP nguồn SYN Synchronous SNMP Simple Network Management Protocol Tâp hợp giao thức SMTP Simple Mail Transfer Protocol Giao thức truyền tải thƣ tín UDP User Datagram Protocol Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ vii OSI Open Systems Interconnection Mô hình tham chiếu kết nối hệ thống mở TCP Transmission Control Protocol Giao thức điều khiển truyền vận VPN Virtual Private Network Mạng riêng tổ chức nhƣng sử dụng đƣờng truyền công cộng Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ viii DANH MỤC CÁC HÌNH VẼ Trang Tên hình Chương Hình 1.1 Kỹ thuật bắt gói tin thụ động Hình 1.2 Kỹ thuật Sniffers chủ động Hình 1.3 Kỹ thuật công kiểu Smurf Hình 1.4 Kỹ thuật công kiểu SYN flood HÌnh 1.5 Kỹ thuật công DdoS Hình 1.6 Kỹ thuật công DDoS, loại công DDoS Hình 1.7 Mạng riêng ảo 10 Hình 1.8 Sơ đồ thuật toán mã hóa 12 Hình 1.9 Vị trí DES mạng 16 Hình 1.10 Bức tƣờng Lửa 18 Hình 1.11 Firewall lọc gói 19 Hình 1.12 Tƣờng lửa ứng dụng 21 Hình 1.13 tƣờng lửa nhiều tầng 22 Hình 1.14 Kiến trúc máy chủ trung gian 23 Hình 1.15 Kiến trúc máy chủ sàng lọc 23 Hình 1.16 Kiến trúc mạng sàng lọc 24 Hình 1.17 Mô hình sử dụng nhiều Bastion Host 24 Hình 1.18 Kiến trúc ghép chung Router Router 25 Hình 1.19 Kiến trúc ghép chung Bastion Host Router 25 Chương Hình 2.1 Các luồng gói tin tƣờng lửa lọc gói 27 Hình 2.2 Lƣu đồ thuật toán lọc gói tin tĩnh 29 Hình 2.3a Tiêu đề mảng tin TCP 30 Hình 2.3b Tiêu đề mảng tin UDP 31 Hình 2.4 Các cổng giao thức TCP 33 Hình 2.5 Quá trình bắt tay ba bƣớc giao thức TCP 33 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ ix Hình 2.6 Tiêu đề gói tin IP 34 Hình 2.7 Lƣu đồ thuật toán lọc gói tin động 38 Hình 2.8 Thông điệp ICMP gói tin IP 41 Chương Hình 3.1 Sơ đồ kết nối mạng trƣờng học 47 Hình 3.2 Netfiter TPtable nhân Linux 49 Hình 3.3a, b Các sách luật lọc gói tin tĩnh 52 Hình 3.4 Các luật lọc gói tin tĩnh đƣợc cài đặt 53 Hình 3.5a, b Các sách luật lọc gói tin động 54, 55 Hình 3.6 Các luật lọc gói tin động đƣợc cài đặt 55 Hình 3.7 Các luật firewall đƣợc active bắt đầu thực thi HT 56 Hình 3.8 Giao diện chƣơng trình Quickly 58 Hình 3.9 Cấm truy cập Internet 60 Hình 3.10 Cho phép truy cập Internet 60 Hình 3.11 Luật chƣa đƣợc active 61 Hình 3.12 Luật đƣợc active 61 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ x DANH MỤC BẢNG Tên bảng Trang Bảng 2.1 Bảng dịch vụ tƣơng ứng với số cổng 32 Bảng 3.2 Miêu tả target mà IPtables thƣờng dùng 51 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 73 $IPTABLES -A INPUT -s $IPTABLES -A INPUT -p tcp -m tcp -m 10.16.17.128/25 -m state state NEW -j RULE_0 $IPTABLES -A RULE_0 -j LOG loglevel info log-prefix "RULE ACCEPT " $IPTABLES -A RULE_0 -j ACCEPT # # Rule (global) multiport dports 21,80,443,143,98,25,22 m state state NEW -j Cid4178X3920.0 $IPTABLES -N RULE_2 $IPTABLES -A Cid4178X3920.0 -s 10.16.25.1 -j RULE_2 $IPTABLES -A Cid4178X3920.0 -s 10.16.25.2/31 -j RULE_2 $IPTABLES -A Cid4178X3920.0 -s # echo "Rule (global)" # $IPTABLES -N RULE_1 $IPTABLES -A INPUT -s 10.16.11.30/31 -m state state NEW -j RULE_1 $IPTABLES -A INPUT -s 10.16.11.32/27 -m state state NEW -j 10.16.25.4/30 -j RULE_2 $IPTABLES -A Cid4178X3920.0 10.16.25.8/29 -j RULE_2 $IPTABLES -A Cid4178X3920.0 10.16.25.16/28 -j RULE_2 $IPTABLES -A Cid4178X3920.0 10.16.25.32/27 -j RULE_2 $IPTABLES -A Cid4178X3920.0 10.16.25.64/26 -j RULE_2 RULE_1 $IPTABLES -A INPUT -s 10.16.11.64/26 -m state state NEW -j RULE_1 $IPTABLES -A INPUT -s 10.16.11.128/25 -m state state NEW -j RULE_1 $IPTABLES -A RULE_1 -j LOG log- $IPTABLES -A Cid4178X3920.0 -s 10.16.25.128/25 -j RULE_2 $IPTABLES -A RULE_2 -j LOG loglevel info log-prefix "RULE ACCEPT " $IPTABLES -A RULE_2 -j ACCEPT # # Rule (global) level info log-prefix "RULE ACCEPT " $IPTABLES -A RULE_1 -j ACCEPT # # Rule (global) # echo "Rule (global)" # $IPTABLES -N Cid4178X3920.0 $IPTABLES -A INPUT -p tcp -m tcp -sport 20 dport 1024:65535 -m state state NEW -j Cid4178X3920.0 # echo "Rule (global)" # $IPTABLES -N Cid4190X3920.0 $IPTABLES -A OUTPUT -p tcp -m tcp -dport 53 -m state state NEW -j Cid4190X3920.0 $IPTABLES -A OUTPUT -p udp -m udp dport 53 -m state state NEW -j Cid4190X3920.0 $IPTABLES -N RULE_3 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên -s -s -s -s http://www.lrc-tnu.edu.vn/ 74 $IPTABLES -A Cid4190X3920.0 -d 10.16.17.1 -j RULE_3 $IPTABLES -A Cid4190X3920.0 10.16.17.2/31 -j RULE_3 $IPTABLES -A Cid4190X3920.0 10.16.17.4/30 -j RULE_3 $IPTABLES -A Cid4190X3920.0 10.16.17.8/29 -j RULE_3 $IPTABLES -A Cid4190X3920.0 10.16.17.16/28 -j RULE_3 $IPTABLES -A Cid4190X3920.0 10.16.17.32/27 -j RULE_3 $IPTABLES -A Cid4190X3920.0 10.16.17.64/26 -j RULE_3 $IPTABLES -A Cid4190X3920.0 10.16.17.128/25 -j RULE_3 $IPTABLES -A Cid4190X3920.0 10.16.25.1 -j RULE_3 $IPTABLES -A Cid4190X3920.0 10.16.25.2/31 -j RULE_3 $IPTABLES -A Cid4190X3920.0 10.16.25.4/30 -j RULE_3 $IPTABLES -A Cid4190X3920.0 10.16.25.8/29 -j RULE_3 $IPTABLES -A Cid4190X3920.0 10.16.25.16/28 -j RULE_3 -d -d -d -d -d -d -d -d -d -d -d -d $IPTABLES -A Cid4190X3920.0 -d 10.16.25.32/27 -j RULE_3 $IPTABLES -A Cid4190X3920.0 -d 10.16.25.64/26 -j RULE_3 $IPTABLES -A Cid4190X3920.0 -d 10.16.25.128/25 -j RULE_3 $IPTABLES -A RULE_3 -j LOG loglevel info log-prefix "RULE ACCEPT " $IPTABLES -A RULE_3 -j ACCEPT # # Rule (global) # echo "Rule (global)" # $IPTABLES -N Cid4202X3920.0 $IPTABLES -A OUTPUT -p tcp -m tcp -dport 53 -j Cid4202X3920.0 $IPTABLES -A OUTPUT -p udp -m udp dport 53 -j Cid4202X3920.0 $IPTABLES -N RULE_4 $IPTABLES -A Cid4202X3920.0 10.16.11.30/31 -j RULE_4 $IPTABLES -A Cid4202X3920.0 10.16.11.32/27 -j RULE_4 $IPTABLES -A Cid4202X3920.0 10.16.11.64/26 -j RULE_4 $IPTABLES -A Cid4202X3920.0 10.16.11.128/25 -j RULE_4 $IPTABLES -A RULE_4 -j LOG -d -d -d -d log- level info log-prefix "RULE REJECT " $IPTABLES -A RULE_4 -j REJECT # # Rule (global) # echo "Rule (global)" # $IPTABLES -N RULE_5 $IPTABLES -A OUTPUT -p tcp -m tcp d 10.16.2.1 dport 53 -j RULE_5 $IPTABLES -A OUTPUT -p udp -m udp -d 10.16.2.1 dport 53 -j RULE_5 $IPTABLES -A RULE_5 -j LOG loglevel info log-prefix "RULE DENY " $IPTABLES -A RULE_5 -j DROP # # Rule (global) # echo "Rule (global)" Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 75 # $IPTABLES -A Cid5964X3165.0 -s $IPTABLES -N RULE_6 $IPTABLES -A OUTPUT -p tcp -m tcp -sport 20 -d 192.168.1.1 dport 1024:65535 -m state state NEW -j RULE_6 $IPTABLES -A OUTPUT -p tcp -m tcp m multiport -d 192.168.1.1 dports 53,21,22 -m state state NEW -j RULE_6 10.16.17.64/26 -j RULE_7 $IPTABLES -A Cid5964X3165.0 -s 10.16.17.128/25 -j RULE_7 $IPTABLES -A RULE_7 -j LOG loglevel info log-prefix "RULE DENY " $IPTABLES -A RULE_7 -j DROP } $IPTABLES -A OUTPUT -p udp -m udp -d 192.168.1.1 dport 53 -m state state NEW -j RULE_6 $IPTABLES -A RULE_6 -j LOG loglevel info log-prefix "RULE ACCEPT " $IPTABLES -A RULE_6 -j ACCEPT # # Rule (global) ip_forward() { : echo > /proc/sys/net/ipv4/ip_forward } # echo "Rule (global)" # $IPTABLES -N Cid5964X3165.0 $IPTABLES -A FORWARD -d 192.168.1.1 -j Cid5964X3165.0 $IPTABLES -N RULE_7 $IPTABLES -A Cid5964X3165.0 -s 10.16.17.1 -j RULE_7 $IPTABLES -A Cid5964X3165.0 10.16.17.2/31 -j RULE_7 $IPTABLES -A Cid5964X3165.0 10.16.17.4/30 -j RULE_7 $IPTABLES -A Cid5964X3165.0 10.16.17.8/29 -j RULE_7 $IPTABLES -A Cid5964X3165.0 10.16.17.16/28 -j RULE_7 $IPTABLES -A Cid5964X3165.0 10.16.17.32/27 -j RULE_7 reset_all() { : reset_iptables_v4 } block_action() { reset_all } stop_action() { reset_all $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P INPUT ACCEPT $IPTABLES -P FORWARD ACCEPT -s } -s -s -s -s check_iptables() { IP_TABLES="$1" [ ! -e $IP_TABLES ] && return 151 NF_TABLES=$(cat $IP_TABLES 2>/dev/null) [ -z "$NF_TABLES" ] && return 152 return } Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 76 status_action() { load_modules "nat " check_iptables "/proc/net/ip_tables_names" ret_ipv4=$? check_iptables "/proc/net/ip6_tables_names" ret_ipv6=$? [ $ret_ipv4 -eq -o $ret_ipv6 -eq ] && return configure_interfaces verify_interfaces [ $ret_ipv4 -eq 151 -o $ret_ipv6 -eq 151 ] && { echo "iptables modules are not loaded" } [ $ret_ipv4 -eq 152 -o $ret_ipv6 -eq 152 ] && { echo "Firewall is not configured" } exit RETVAL=$? ;; } # See how we were called # For backwards compatibility missing argument is equivalent to 'start' cmd=$1 test -z "$cmd" && { reset_all script_body ip_forward epilog_commands stop) stop_action RETVAL=$? ;; status) status_action RETVAL=$? ;; block) block_action RETVAL=$? ;; cmd="start" } case "$cmd" in start) log "Activating firewall script generated Sat Apr 11:38:33 2015 by huong" check_tools prolog_commands check_run_time_address_table_files reload) $0 stop $0 start RETVAL=$? ;; interfaces) configure_interfaces RETVAL=$? ;; Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 77 test_interfaces) FWBDEBUG="echo" configure_interfaces RETVAL=$? ;; *) echo "Usage $0 [start|stop|status|block|reload|interfaces|test_i nterfaces]" ;; esac exit $RETVAL Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 78 Phụ lục 2: Tập luật lọc gói tin động #!/bin/sh # DO NOT MODIFY ! # 11:50:39 2015 ICT by huong # files: * DinamicFW.fw ## Compiled for iptables (any version) ## This is a firewall protecting a host ( a server or a workstation) FWBDEBUG="" PATH="/sbin:/usr/sbin:/bin:/usr/bin:${PAT H}" export PATH LSMOD="/sbin/lsmod" MODPROBE="/sbin/modprobe" IPTABLES="/sbin/iptables" IP6TABLES="/sbin/ip6tables" IPTABLES_RESTORE="/sbin/iptables- dev=$1 name=$2 af=$3 L=$($IP $af addr show dev $dev | sed -n '/inet/{s!.*inet6* !!;s!/.*!!p}' | sed 's/peer.*//') test -z "$L" && { eval "$name=''" return } eval "${name}_list=\"$L\"" } restore" IP6TABLES_RESTORE="/sbin/ip6tablesrestore" IP="/sbin/ip" IFCONFIG="/sbin/ifconfig" VCONFIG="/sbin/vconfig" BRCTL="/sbin/brctl" IFENSLAVE="/sbin/ifenslave" af=$3 L=$($IP route list proto kernel | grep $dev | grep -v default | sed 's! *$!!') test -z "$L" && { eval "$name=''" return } eval "${name}_list=\"$L\"" IPSET="/usr/sbin/ipset" LOGGER="/usr/bin/logger" log() { echo "$1" which "$LOGGER" >/dev/null 2>&1 && $LOGGER -p info "$1" } getnet_internal() { dev=$1 name=$2 } getaddr() { getaddr_internal $1 $2 "-4" } getaddr6() { getaddr_internal $1 $2 "-6" } getnet() { getInterfaceVarName() { getnet_internal $1 $2 "-4" echo $1 | sed 's/\./_/' } } getnet6() { getaddr_internal() { getnet_internal $1 $2 "-6" Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 79 } find_program $MODPROBE # function getinterfaces is used to process wildcard interfaces getinterfaces() { NAME=$1 $IP link show | grep ": $NAME" | while read L; OIFS=$IFS IFS=" :" find_program $IP set $L IFS=$OIFS echo $2 done } diff_intf() { func=$1 list1=$2 list2=$3 cmd=$4 for intf in $list1 echo $list2 | grep -q $intf || { # $vlan is absent in list $func $intf $cmd } done } find_program() { PGM=$1 which $PGM >/dev/null 2>&1 || { echo "\"$PGM\" not found" exit } } check_tools() { find_program which find_program $IPTABLES } reset_iptables_v4() { $IPTABLES -P OUTPUT DROP $IPTABLES -P INPUT DROP $IPTABLES -P FORWARD DROP cat /proc/net/ip_tables_names | while read table; $IPTABLES -t $table -L -n | while read c chain rest; if test "X$c" = "XChain" ; then $IPTABLES -t $table -F $chain fi done $IPTABLES -t $table -X done } reset_iptables_v6() { $IP6TABLES -P OUTPUT DROP $IP6TABLES -P INPUT DROP $IP6TABLES -P FORWARD DROP cat /proc/net/ip6_tables_names | while read table; $IP6TABLES -t $table -L -n | while read c chain rest; if test "X$c" = "XChain" ; then $IP6TABLES -t $table -F $chain fi done $IP6TABLES -t $table -X done } Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 80 P2P_INTERFACE_WARNING="" missing_address() { address=$1 cmd=$2 oldIFS=$IFS IFS="@" set $address addr=$1 interface=$2 IFS=$oldIFS test "$cmd" = "del" && { echo "# Removing ip address: $interface $addr" $FWBDEBUG $IP addr $cmd $addr dev $interface || exit } $FWBDEBUG $IP link set $interface up } $IP addr show dev $interface | grep -q POINTOPOINT && { test -z list_addresses_by_scope() { interface=$1 scope=$2 ignore_list=$3 $IP addr ls dev $interface | \ awk -v IGNORED="$ignore_list" -v SCOPE="$scope" \ "$P2P_INTERFACE_WARNING" && echo "Warning: Can not update address of interface $interface fwbuilder can not manage addresses of point-to-point interfaces yet" P2P_INTERFACE_WARNING="yes" return } 'BEGIN { split(IGNORED,ignored_arr); for (a in ignored_arr) {ignored_dict[ignored_arr[a]]=1;} } (/inet |inet6 / && $0 ~ SCOPE && !($2 in ignored_dict)) {print $2;}' | \ while read addr; test "$cmd" = "add" && { echo "# Adding ip address: $interface $addr" echo $addr | grep -q ':' && { $FWBDEBUG $IP addr $cmd $addr dev $interface } || { $FWBDEBUG $IP addr $cmd $addr broadcast + dev $interface } } echo "${addr}@$interface" done | sort } update_addresses_of_interface() { ignore_list=$2 set $1 interface=$1 shift FWB_ADDRS=$( Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 81 for addr in $*; clear_addresses_except_known_interfaces() echo "${addr}@$interface" done | sort { ) CURRENT_ADDRS_ALL_SCOPES="" CURRENT_ADDRS_GLOBAL_SCOPE=" " $IP link show dev $interface >/dev/null 2>&1 && { CURRENT_ADDRS_ALL_SCOPES=$(list _addresses_by_scope $interface 'scope *' "$ignore_list") CURRENT_ADDRS_GLOBAL_SCOPE=$ (list_addresses_by_scope $interface 'scope global' "$ignore_list") } || { echo "# Interface $interface does not exist" # Stop the script if we are not in test mode test -z "$FWBDEBUG" && exit $IP link show | sed 's/://g' | awk -v IGNORED="$*" \ 'BEGIN { split(IGNORED,ignored_arr); for (a in ignored_arr) {ignored_dict[ignored_arr[a]]=1;} } (/state/ && !($2 in ignored_dict)) {print $2;}' | \ while read intf; echo "# Removing addresses not configured in fwbuilder from interface $intf" $FWBDEBUG $IP addr flush dev $intf scope global $FWBDEBUG $IP link set $intf down done } check_file() { test -r "$2" || { echo "Can not find file $2 referenced by address table object $1" exit } } } diff_intf missing_address "$FWB_ADDRS" "$CURRENT_ADDRS_ALL_SCOPES" add diff_intf missing_address "$CURRENT_ADDRS_GLOBAL_SCOPE" "$FWB_ADDRS" del } check_run_time_address_table_files() { : } load_modules() { : OPTS=$1 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 82 MODULES_DIR="/lib/modules/`uname r`/kernel/net/" MODULES=$(find $MODULES_DIR name '*conntrack*' \! -name '*ipv6*'|sed -e 's/^.*\///' -e 's/\([^\.]\)\ */\1/') echo $OPTS | grep -q nat && { MODULES="$MODULES $(find $MODULES_DIR -name '*nat*'|sed -e 's/^.*\///' -e 's/\([^\.]\)\ */\1/')" epilog_commands() { echo "Running epilog script" } echo $OPTS | grep -q ipv6 && { MODULES="$MODULES $(find $MODULES_DIR -name nf_conntrack_ipv6|sed -e 's/^.*\///' -e 's/\([^\.]\)\ */\1/')" } for module in $MODULES; if $LSMOD | grep ${module} } >/dev/null; then continue; fi $MODPROBE ${module} || exit done } verify_interfaces() { : echo "Verifying interfaces: eth0 lo" for i in eth0 lo ; $IP link show "$i" > /dev/null 2>&1 || { log "Interface $i does not exist" exit } done } prolog_commands() { echo "Running prolog script" } run_epilog_and_exit() { epilog_commands exit $1 configure_interfaces() { : # Configure interfaces update_addresses_of_interface "lo 127.0.0.1/8" "" getaddr eth0 i_eth0 getaddr6 eth0 i_eth0_v6 getnet eth0 i_eth0_network getnet6 eth0 i_eth0_v6_network } script_body() { # ================ IPv4 # ================ Table 'filter', automatic rules # accept established sessions $IPTABLES -A INPUT -m state state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A OUTPUT -m state -state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A FORWARD -m state -state ESTABLISHED,RELATED -j ACCEPT } Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 83 # ================ Table 'filter', rule # set Policy # # Rule (eth0) # echo "Rule (eth0)" # # anti spoofing rule $IPTABLES -N In_RULE_0 # SSH Access to the host; useful ICMP # types; ping request $IPTABLES -N Cid4169X2512.0 for i_eth0 in $i_eth0_list test -n "$i_eth0" && $IPTABLES -A OUTPUT -d $i_eth0 -m state state NEW -j Cid4169X2512.0 for i_eth0 in $i_eth0_list test -n "$i_eth0" && $IPTABLES -A INPUT -i eth0 -s $i_eth0 -m state state NEW -j In_RULE_0 done for i_eth0 in $i_eth0_list test -n "$i_eth0" && $IPTABLES -A done $IPTABLES -A Cid4169X2512.0 -p icmp -m icmp icmp-type -j ACCEPT $IPTABLES -A Cid4169X2512.0 -p icmp -m icmp icmp-type 0/0 -j ACCEPT $IPTABLES -A Cid4169X2512.0 -p icmp -m icmp icmp-type 8/0 -j ACCEPT $IPTABLES -A Cid4169X2512.0 -p icmp -m icmp icmp-type 11/0 -j ACCEPT FORWARD -i eth0 -s $i_eth0 -m state -state NEW -j In_RULE_0 done $IPTABLES -A In_RULE_0 -j LOG -log-level info log-prefix "RULE -DENY " $IPTABLES -A In_RULE_0 -j DROP # $IPTABLES -A Cid4169X2512.0 -p icmp -m icmp icmp-type 11/1 -j ACCEPT $IPTABLES -A Cid4169X2512.0 -p tcp m tcp -m multiport dports 21,80,443,143,110,25,22 -j ACCEPT $IPTABLES -A INPUT -p icmp -m icmp icmp-type -m state state NEW -j ACCEPT # Rule (lo) # echo "Rule (lo)" # $IPTABLES -A INPUT -i lo -m state -state NEW -j ACCEPT $IPTABLES -A OUTPUT -o lo -m state state NEW -j ACCEPT # # Rule (global) # echo "Rule (global)" $IPTABLES -A INPUT -p icmp -m icmp icmp-type 0/0 -m state state NEW -j ACCEPT $IPTABLES -A INPUT -p icmp -m icmp icmp-type 8/0 -m state state NEW -j ACCEPT $IPTABLES -A INPUT -p icmp -m icmp icmp-type 11/0 -m state state NEW -j ACCEPT $IPTABLES -A INPUT -p icmp -m icmp icmp-type 11/1 -m state state NEW -j ACCEPT Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 84 $IPTABLES -A INPUT -p tcp -m tcp -m multiport dports 21,80,443,143,110,25,22 -m state state NEW -j ACCEPT # # Rule (global) # echo "Rule (global)" # for i_eth0 in $i_eth0_list : echo > /proc/sys/net/ipv4/ip_forward } reset_all() { : reset_iptables_v4 } test -n "$i_eth0" && $IPTABLES -A OUTPUT -p tcp -m tcp -d $i_eth0 -j REJECT reject-with tcp-reset done $IPTABLES -A INPUT -p tcp -m tcp -j REJECT reject-with tcp-reset for i_eth0 in $i_eth0_list block_action() { reset_all } test -n "$i_eth0" && $IPTABLES -A OUTPUT -d $i_eth0 -j REJECT done $IPTABLES -A INPUT -j REJECT # # Rule (global) # echo "Rule (global)" } # $IPTABLES -N RULE_4 $IPTABLES -A OUTPUT -d 123.30.145.24 -m state state NEW -j RULE_4 $IPTABLES -A RULE_4 -j LOG loglevel info log-prefix "RULE ACCEPT " $IPTABLES -A RULE_4 -j ACCEPT } stop_action() { reset_all $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P INPUT ACCEPT $IPTABLES -P FORWARD ACCEPT check_iptables() { IP_TABLES="$1" [ ! -e $IP_TABLES ] && return 151 NF_TABLES=$(cat $IP_TABLES 2>/dev/null) [ -z "$NF_TABLES" ] && return 152 return } status_action() { check_iptables "/proc/net/ip_tables_names" ret_ipv4=$? check_iptables "/proc/net/ip6_tables_names" ret_ipv6=$? [ $ret_ipv4 -eq -o $ret_ipv6 -eq ] && return ip_forward() { Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 85 [ $ret_ipv4 -eq 151 -o $ret_ipv6 -eq 151 ] && { echo "iptables modules are not loaded" } [ $ret_ipv4 -eq 152 -o $ret_ipv6 -eq 152 ] && { echo "Firewall is not configured" } exit RETVAL=$? ;; stop) stop_action RETVAL=$? ;; status) } # See how we were called # For backwards compatibility missing argument is equivalent to 'start' cmd=$1 test -z "$cmd" && { cmd="start" } case "$cmd" in start) log "Activating firewall script generated Sat Apr 11:50:39 2015 by huong" check_tools status_action RETVAL=$? ;; block) block_action RETVAL=$? ;; reload) $0 stop $0 start RETVAL=$? ;; interfaces) configure_interfaces prolog_commands check_run_time_address_table_files load_modules " " configure_interfaces verify_interfaces RETVAL=$? ;; reset_all test_interfaces) FWBDEBUG="echo" configure_interfaces RETVAL=$? ;; script_body ip_forward epilog_commands *) Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 86 echo "Usage $0 [start|stop|status|block|reload|interfaces|test_i nterfaces]" ;; esac exit $RETV Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ [...]... toàn mạng và đƣa ra một số giải pháp an toàn mạng Thứ hai: Tìm hiểu và trình bày có chọn lọc khái niệm về tƣờng lửa và kỹ thuật lọc gói tin, sử dụng hai kỹ thuật lọc gói tin tĩnh và lọc gói tin động Thứ ba: Đƣa ra bài toán và xây dựng phần mềm thử nghiệm cho bài toán lọc gói tin trong IP với bức tƣờng lửa mã nguồn mở IPtables Đối tƣợng nghiên cứu: Là mạng IP và kỹ thuật lọc gói tin Phạm vi nghiên cứu:... với mạng IP bên ngoài là hết sức cần thiết, nó góp phần phòng chống các truy nhập bất hợp pháp và các tấn công vào mạng nội bộ Giải pháp lọc gói tin đã và đang là các công cụ hữu hiệu trong việc bảo vệ mạng Từ các phân tích trên, em chọn Đề tài Một số kỹ thuật lọc gói tin trong IP để nghiên cứu Mục tiêu của luận văn tập chung nghiên cứu các vấn đề sau: Thứ nhất: Tìm hiểu và trình bày có chọn lọc về... mềm khác để bảo vệ và kiểm soát dữ liệu Bộ lọc gói cho phép hay từ chối mỗi gói mà nó nhận đƣợc Khi nhận đƣợc gói tin từ Internet, nó kiểm tra toàn bộ dữ liệu để quyết định xem đoạn dữ liệu đó có thỏa mãn một trong các luật lệ của gói đặt ra hay không Các luật lệ này là dựa trên thông tin ở đầu mỗi gói (packet header) Thông tin của ở đầu gói tin bao gồm: Số hóa bởi Trung tâm Học liệu – Đại học Thái... vào mạng và làm cho firewall tƣởng rằng các gói của hacker đến từ nguồn thực sự Một số ưu điểm của lọc gói - Do bức tƣờng lửa lọc gói ở tầng 3 nên nó kiểm tra tất cả các ứng dụng đi qua nó Nó không phụ thuộc vào ứng dụng mặc dù của mail hay web - Chi phí thấp vì cơ chế lọc gói đã đƣợc bao gồm trong mỗi phần mềm router và nó chỉ xem xét thông tin của đầu gói tin, do đó thời gian trì hoãn thấp - Sẵn sàng... cả trong các sản phẩm thƣơng mại và miễn phí Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 22 - Ngoài ra bộ lọc gói là trong suốt đối với ngƣời sử và các ứng dụng vì vậy nó không yêu cầu sự huấn luyện đặc biệt nào cả - Giúp bảo vệ toàn mạng, một thuận lợi chính của nó là đơn giản và tƣơng đối nhẹ Một số nhược điểm của lọc gói - Việc định nghĩa các chế độ lọc gói là một. .. thể mà họ có thể nhận trên mỗi trƣờng Khi đòi hỏi sự lọc là càng lớn thì các quy tắc về lọc gói càng trở lên dài và phức tạp, rất khó để quản lý và điều khiển - Do làm việc dựa trên header của gói tin, bộ lọc gói không kiểm soát đƣợc nội dung thông tin của gói tin Các gói tin chuyển qua vẫn có thể mang theo những hành động với ý đồ ăn cắp thông tin hay phá hoại của kẻ xấu * Bức tường lửa ứng dụng(Application... gateway…) 1.2.1 Các kỹ thuật bắt thông tin Công cụ bắt gói tin (Sniffers) là một chƣơng trình hay thiết bị có khả năng đón bắt lại các thông tin quan trọng từ giao thông mạng chỉ định đến một mạng riêng Các Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 5 thông tin bị chặn bắt bao gồm: Mật khẩu, các thông tin về các thẻ tín dụng, thƣ điện tử, các tập tin văn bản mật khác... công khai của bên kia Số kết quả là một phiên khoá Mỗi bên sẽ đạt đến cùng một số - Phiên khoá có thể đƣợc sử dụng nhƣ một khoá bí mật cho một văn mật mã khác Không bên thứ ba nào có thể kiểm soát việc trao đổi có thể đạt đến cùng phiên khoá mà không cần biết một trong các khoá riêng  RSA Một số năm sau đề xuất Diffie-Hellman, Ron Rivest, Adi Shamir, và Leonard Adleman đề xuất một hệ thống mã hoá sử... Firewall lọc gói Hình 1.11 Firewall lọc gói Bức tƣờng lửa lọc gói làm việc ở tầng 3 đối với mô hình OSI Thông tin đƣợc đƣa lên tầng 3 sau đó lại tiếp tục đƣợc chuyển đi Nếu thông tin đƣợc ở dƣới tầng 3 thì bức tƣờng lửa lọc gói không thể kiểm soát đƣợc, ví dụ nhƣ mạng LAN không dây dữ liệu đƣợc truyền ở dƣới tầng 3 Do vậy, bức tƣờng lửa không thể kiểm soát đƣợc mà mạng LAN không dây phải dùng một phần... dụng kỹ thuật lọc gói tin Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 2 Phƣơng pháp nghiên cứu: Nghiên cứu lý thuyết và nghiên cứu thực nghiệm Bố cục của luận văn: Gồm phần mở đầu, ba chƣơng nội dung, phần kết luận và danh mục các tài liệu tham khảo Chƣơng 1: Trình bày về các nguy cơ đe dọa mạng và các biện pháp bảo vệ mạng Chƣơng 2: Trình bày hai kỹ thuật lọc gói tin ... xử lý gói tin IP modul lọc gói tin Modul đƣợc xây dựng dựa kỹ thuật lọc gói Kỹ thuật lọc gói bao gồm kỹ thuật lọc tĩnh kỹ thuật lọc gói động Khái niệm lọc gói đƣợc dùng chung cho việc lọc dựa... bày có chọn lọc khái niệm tƣờng lửa kỹ thuật lọc gói tin, sử dụng hai kỹ thuật lọc gói tin tĩnh lọc gói tin động Thứ ba: Đƣa toán xây dựng phần mềm thử nghiệm cho toán lọc gói tin IP với tƣờng... luồng gói tin tƣờng lửa lọc gói Hình cho thấy luồng gói tin di chuyển qua BTL lọc gói trình xử lý gói tin (Proc IP) đƣợc thực tầng mạng Việc xử lý gói tin BTL đƣợc thực phần mềm xử lý gói tin IP

Ngày đăng: 20/11/2015, 10:26

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w