Đề tài: Hệ thống lọc gói trong Ipv6

Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Phần I : Lý Thuyết............................................................................................................ 4 1. Hệ thống lọc gói IPv4............................................................................................ 5 1.1 Hệ thống lọc gói trong IPv4 kiểu phi trạng thái......................................... 6 1.1.1 Lọc dựa trên cổng kết nối..................................................

pdf72 trang | Chia sẻ: huong20 | Ngày: 07/01/2022 | Lượt xem: 262 | Lượt tải: 0download
Tóm tắt tài liệu Đề tài: Hệ thống lọc gói trong Ipv6, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
................... 7 1.1.2 Lọc dựa trên các cờ TCP...................................................................... 9 1.1.3 Lọc dựa trên địa chỉ.............................................................................. 9 1.1.4 Lọc các gói phân mảnh....................................................................... 11 1.1.5 Lọc các gói ICMP................................................................................ 12 1.1.6 Lọc dựa trên Options của IP.............................................................. 12 1.1.7 Lọc các lưu lượng đường hầm ........................................................... 13 1.1.8 IPsec ..................................................................................................... 14 1.2 Hệ thống lọc gói trong IPv4 kiểu có trạng thái ........................................ 16 1.2.1 Lọc dựa vào giao thức TCP................................................................ 17 1.2.2 Lọc các gói UDP .................................................................................. 19 1.2.3 Lọc các gói ICMP................................................................................ 19 1.2.4 Lọc gói dựa trên đặc điểm của lưu lượng ......................................... 20 1.2.5 Lọc các gói phân mảnh ......................................................................... 21 2. Hệ thống lọc gói trong IPv6................................................................................ 22 2.1 Hệ thống lọc gói trong IPv6 kiểu phi trạng thái....................................... 23 2.1.1 Lọc gói dựa trên địa chỉ...................................................................... 24 2.1.2 Lọc các gói ICMPv6............................................................................ 24 2.1.3 Lọc các tiêu đề mở rộng của IPv6...................................................... 25 2.1.3.1 Tiêu đề mở rộng Hop-by-Hop........................................................ 25 2.1.3.2 Tiêu đề mở rộng Destination.......................................................... 25 2.1.3.3 Tiêu đề mở rộng Routing ............................................................... 26 2.1.3.4 Tiêu đề mở rộng Fragment ............................................................ 26 2.1.3.5 IPsec ................................................................................................. 27 2.1.4 Kỹ thuật chuyển tiếp từ IPv4 sang IPv6 ........................................... 28 2.1.5 Lọc các gói tin tại biên của hệ thống mạng IPv6.............................. 28 2.2 Hệ thống lọc gói trong IPv6 kiểu có trạng thái ........................................ 30 2.2.1 Flow Label ........................................................................................... 30 2.2.2 Flow label và lọc gói có trạng thái ..................................................... 31 Phần II : Triển khai hệ thống lọc gói IPv6 trên FreeBSD.......................................... 32 3. Giới thiệu FreeBSD............................................................................................. 33 4. Công cụ lọc gói IPv6 trong FreeBSD................................................................. 34 5. Triển khai hệ thống lọc gói IPv6........................................................................ 36 5.1 Đặt vấn đề .................................................................................................... 36 5.2 Yêu cầu......................................................................................................... 36 5.3 Mô hình mạng ............................................................................................. 36 5.4 Tài nguyên sử dụng..................................................................................... 37 5.5 Thực hiện ..................................................................................................... 37 5.5.1 Xây dựng FreeBSD router ................................................................. 38 5.5.2 Xây dựng Web server IPv6 ................................................................ 38 5.5.3 Xây dựng DNS server IPv6 ................................................................ 38 5.5.4 Cấu hình SSH cho phép điều khiển truy cập từ xa.......................... 40 5.6 Xây dựng kịch bản và triển khai lọc gói ................................................... 41 Sinh viên: Nguyễn Thanh Sơn 1 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung 5.6.1 Kiểm thử lưu lượng ICMPv6............................................................. 41 5.6.2 Kiểm thử lưu lượng DNS.................................................................... 43 5.6.3 Kiểm thử lưu lượng Web.................................................................... 44 5.6.4 Điều khiển lưu lượng SSH.................................................................. 45 Phần III : Kết Luận ............................................................................................... 48 Phần Phụ lục Giới Thiệu Hạ Tầng IPv6............................................................... 50 6. Giới thiệu IPv6 .................................................................................................... 50 7. Hạ tầng IPv6........................................................................................................ 50 7.1 Tiêu đề IPv6..................................................................................................... 50 7.2 Tiêu đề mở rộng .............................................................................................. 51 7.3 Cấu trúc địa chỉ mới ....................................................................................... 55 7.3.1 Định danh Interface (interface ID)........................................................ 56 7.4 Các loại địa chỉ trong IPv6............................................................................. 56 7.4.1 Địa chỉ Unicast......................................................................................... 57 7.4.2 Địa chỉ Anycast........................................................................................ 60 7.4.3 Địa chỉ Multicast ..................................................................................... 60 7.5 Giao thức ICMPv6.......................................................................................... 61 7.6 Giao thức Neighbor discovery ....................................................................... 62 7.6.1 Các loại thông điệp Neighbor Discovery............................................... 62 7.6.2 Định dạng của Neighbor Discovery options ......................................... 64 7.6.3 Neighbor Discovery và các thông điệp Options tương ứng................. 66 7.6.4 Các chức năng hoạt động của Neighbor Discovery ............................. 67 7.6.4.1 Duplicate address detection ............................................................... 67 7.6.4.2 Neighbor Unreachability Detection................................................... 67 7.6.4.3 Network prefix assignment ................................................................ 67 7.6.4.4 Tự động cấu hình địa chỉ.................................................................... 68 Sinh viên: Nguyễn Thanh Sơn 2 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Lời giới thiệu Hệ thống lọc gói cho phép lọc lưu lượng vào và ra hệ thống mạng của tổ chức, nhằm chống lại những truy cập trái phép hoặc hạn chế những truy cập ra bên ngoài. Khi hệ thống mạng internet có xu hướng chuyển dần sang môi trường IPv6 để thỏa mãn nhu cầu về không gian địa chỉ, cũng như những ưu điểm trong hổ trợ điều khiển chất lượng dịch vụ và bảo mật truyền thông, thì hệ thống lọc gói IPv6 vẫn tiếp tục được sử dụng, phát triển khả năng kiểm tra và ngăn chặn bước đầu trong chiến lược bảo mật hệ thống mạng của một tổ chức. Do tính thời sự của nhu cầu chuyển tiếp sang mạng IPv6 cũng như sự cấp thiết bảo mật hệ thống mạng, Tôi đã chọn đề tài “nghiên cứu Hệ Thống Lọc Gói Trong IPv6” cho đồ án tốt nghiệp của mình. Đề tài được triển khai trên hệ thống mã nguồn mở, sử dụng hệ điều hành FreeBSD và được chia thành 4 phần như sau: Phần 1: lý thuyết hệ thống lọc gói, giới thiệu về lý thuyết lọc gói của IPv4 và IPv6. Phần 2: thực hành, giới thiệu và mô tả những ưu điểm của FreeBSD. Triển khai hệ thống lọc gói trên FreeBSD. Phần 3: kết luận, đánh giá những kết quả đạt được của đồ án, những thiếu xót, hạn chế và hưóng phát triển của đề tài. Phần phụ lục: trong phần này, giới thiệu về hạ tầng mạng IPv6 nhằm làm rõ hơn lý thuyết lọc gói của IPv6. Tháng 11, năm 2006 Sinh viên Nguyễn Thanh Sơn Sinh viên: Nguyễn Thanh Sơn 3 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Phần I : Lý Thuyết Trong phần này, tập trung làm rõ lý thuyết lọc gói, phân tích các loại lưu lượng, nhận dạng và đưa ra cách giải quyết. Từ đó, có cái nhìn tổng quan về hệ thống lọc gói, tạo tiền đề triển khai trên hệ thống thực. Nội dung chính của phần này gồm: 1. Hệ thống lọc gói IPv4 1.1 Hệ thống lọc gói trong IPv4 kiểu phi trạng thái 1.2 Hệ thống lọc gói trong IPv4 kiểu có trạng thái 2. Hệ thống lọc gói trong IPv6 2.1 Hệ thống lọc gói trong IPv6 kiểu phi trạng thái 2.2 Hệ thống lọc gói trong IPv6 kiểu có trạng thái Sinh viên: Nguyễn Thanh Sơn 4 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung 1. Hệ thống lọc gói IPv4 Lọc gói là một hệ thống thực hiện việc kiểm tra và lọc lưu lượng trên một host hay tại một ví trí cần thiết trong hạ tầng mạng của một tổ chức. Các thành tố chính của một hệ thống lọc gói là: • Chính sách (policy) • Luật (rules): áp dụng cụ thể chính sách vào hệ thống lọc gói thông qua công tác nhận diện lưu lượng và điều khiển lưu lượng tương ứng. Cụ thể như : o Nhận diện lưu lượng: hệ thống lọc gói dựa vào một số tiêu chí để nhận diện lưu lượng như: điểm xuất phát của lưu lượng, điểm đến lưu lượng , lọai lưu lượng (web, mail, telnet..), đặc điểm lưu lượng (fragment, cờ TCP (syn, cờ rst). o Điều khiển lưu lượng: hệ thống lọc gói điều khiển lưu lượng bằng cách cho phép các gói tin đi qua (allow), chặn các gói tin lại (drop) hoặc chuyển tiếp các gói tin (forward) Hệ thống lọc gói hoạt động thông qua cơ chế so khớp các gói tin dựa trên các luật được định nghĩa trước. Trong hệ thống lọc gói IPv4 có hai trường hợp: lọc gói trong IPv4 kiểu phi trạng thái và lọc gói trong IPv4 kiểu có trạng thái. Sinh viên: Nguyễn Thanh Sơn 5 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung 1.1 Hệ thống lọc gói trong IPv4 kiểu phi trạng thái Trong hệ thống lọc gói IPv4 phi trạng thái, các luật nhận diện và điều khiển lưu lượng gói tin không phụ thuộc vào các gói tin được gởi và nhận trước đó. Tại mỗi thời điểm, nó chỉ kiểm tra một gói tin và so khớp với các luật được định nghĩa trước dựa trên các thông tin trong tiêu đề IP, và tiêu đề TCP. Hình 1: hệ thống lọc gói phi trạng thái IPv4 Vì thế, cơ chế hoạt động của lọc gói IPv4 phi trạng thái dựa trên cơ sở nhận diện lưu lượng như: loại lưu lượng, điểm xuất phát, điểm đến hay các đặc điểm của lưu lượng. Các phần sau đây sẽ làm rỏ hơn cơ chế này. 1.1.1 Lọc dựa trên cổng kết nối 1.1.2 Lọc dựa trên các cờ TCP 1.1.3 Lọc dựa trên địa chỉ 1.1.4 Lọc các gói phân mảnh 1.1.5 Lọc các gói ICMP 1.1.6 Lọc dựa trên Options của IP 1.1.7 Lọc các lưu lượng đường hầm 1.1.8 IPsec Sinh viên: Nguyễn Thanh Sơn 6 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung 1.1.1 Lọc dựa trên cổng kết nối Lọc gói dựa trên cổng kết nối (port) được sử dụng như những chính sách bảo mật cơ bản ban đầu. Giao thức TCP và UDP sử dụng cổng kết nối để xác định hai đầu cuối của một kết nối, những cổng kết nối này được chia thành những dãy khác nhau với những mục đích khác nhau. Cổng kết nối từ 1-1023 dành riêng cho hệ thống (system port), chỉ những tiến trình có đặc quyền mới được gán chúng trong chương trình. Điều này được tạo ra nhằm ngăn chặn người sử dụng (user) bình thường thiết lập kết nối tới những cổng kết nối này. Các cổng kết nối từ 1024-4999 dành cho các kết nối được sử dụng bởi một máy trạm (client) tới máy chủ (server). Trong thời gian hoạt động của máy trạm, một cổng kết nối trong dãy này sẽ được gán, trừ những trường hợp máy trạm có những yêu cầu một cổng kết nối đặc biệt. Cổng kết nối từ 5000-65535 được sử dụng cho những dịch vụ ít phổ biến trên internet, được gán không cố định hoặc không xác định trước. Sự giả mạo cổng kết nối có thể xảy ra nếu một dịch vụ được thiết lập trên một dịch vụ khác sử dụng cổng kết nối hệ thống. ví dụ: SSH có thể hoạt động trên cổng kết nối của HTTP và HTTPs. Những cổng kết nối HTTP luôn được mở để để các lưu lượng Web đi qua, trong khi đó, cổng kết nối SSH có thể bị hệ thống lọc gói chặn lại. Việc mở cổng kết nối phụ thuộc vào chính sách của tổ chức. Một số cổng kết nối luôn mở như DNS (53), Web (80). Một số cổng kết nối khác tùy thuộc vào nhu cầu sử dụng của tổ chức, để có những chính sách sử dụng phù hợp và bảo mật. Ví dụ: một tổ chức cho phép điều khiển truy cập từ xa thông qua cổng kết nối 22, sử dụng SSH. Các luật sau sẽ thể hiện điều này: add allow tcp from any to any 22 Bảng 1, sẽ mô tả cổng kết nối của một số dịch vụ và giao thức được sử dụng. Bảng 1: các dịch vụ và cổng kết nối tương ứng Sinh viên: Nguyễn Thanh Sơn 7 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Một số dịch vụ sử dụng cả hai giao thức TCP và UDP, vì thế cần có những chính sách sử dụng phù hợp cho từng loại giao thức. Ví dụ, dịch vụ DNS sử dụng cả TCP và UDP. Quá trình “zone transfer” của DNS với DNS master chỉ cần sử dụng TCP, các luật sau sẽ thể hiện điều này: add allow tcp fromany to DNS-server 53 add deny udp from any to DNS-server 53 Hệ thống lọc gói cũng phải quan tâm tới một số dịch vụ có những tính chất đặc biệt khi sử dụng cổng kết nối, cụ thể như • Lọc các gói FTP Dịch vụ FTP cần được quan tâm đặc biệt khi lọc gói, bởi vì cách thức hoạt động của chúng. FTP sử dụng hai kết nối TCP tách rời để truyền file: cổng 21 được sử dụng cho các lệnh FTP và cổng 20 được sử dụng để truyền dữ liệu. FTP có 2 phương pháp để thiết lập truyền dữ liệu, phụ thuộc vào kết nối được bắt đầu từ máy trạm (client) hay máy chủ (server). Kết nối từ máy chủ tới máy trạm (server-to-client) được gọi là cơ chế active mode FTP, máy trạm lắng nghe trên một cổng kết nối bất kỳ và báo cho máy chủ biết điều này qua cổng 21. Sau đó máy chủ sẽ mở một kết nối tới cổng kết nối này thông qua cổng 20 để thực hiện truỳên dữ liệu. Hình 2: FTP active mode Kết nối từ máy trạm tới máy chủ (client-to-server) được gọi là passive mode FTP. Máy trạm gởi câu lệnh thông báo cổng kết nối tới máy chủ thông qua cổng kết nối 21 tại thời điểm bắt đầu kết nối. Máy chủ sử dụng cổng 20 để truỳên dữ liệu tới cổng kết nối được thông báo. Hình 3: FTP passive mode Sinh viên: Nguyễn Thanh Sơn 8 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Trong hệ thống lọc gói IPv4 kiểu phi trạng thái, không thể xứ lý được những lưu lượng chuyển cổng kết nối như FTP. Trong trường hợp FTP sử dụng cơ chế “passive mode”, khi đó kết nối từ máy trạm tới máy chủ chỉ mở một cổng kết nối, lúc đó có thể cấu hình hệ thống lọc gói cho phép lưu lượng FTP đi qua bằng cách khống chế cổng kết nối từ máy trạm có địa chỉ cố định. những luật sau đây cho phép các gói tin Passive FTP đi vào và đi ra. /*Passive FTP from me to other places*/ add allow tcp from myip to anyip ftp out via eth0 add allow tcp from myip 49152-65534 to anyip 49152-65534 out via eth0 /*Passive FTP to me*/ add allow tcp from anyip to myip ftp in via eth0 add allow tcp from anyip 49152-65534 to myip 49152-65534 in via eth0 1.1.2 Lọc dựa trên các cờ TCP Giao thức TCP sử dụng “three-way handshake” để thiết lập kết nối giữa 2 host, three-way handshake gồm có ba loại gói tin: SYN (yêu cầu mở kết nối), SYN/ACK và ACK (thông báo gói SYN đã được nhận và kết thúc thiết lập kết nối). Hình 4: Three-way handshake Hệ thống lọc gói phi trạng thái chỉ xử lý từng gói tin riêng lẽ và không phụ thuộc vào các gói trước đó, do đó, không xử lý được được kết nối có trạng thái của TCP. Để xử lý những kết nối có trạng thái như TCP, phải dùng hệ thống lọc gói IPv4 kiểu có trạng thái. 1.1.3 Lọc dựa trên địa chỉ Địa chỉ là một trong những thông tin cơ bản được dùng để xác định lưu lượng của hệ thống lọc gói. Địa chỉ thường được sử dụng cho những dịch vụ có địa chỉ cố định, như DNS, Mail... Hệ thống lọc gói dựa vào địa chỉ nguồn và địa chỉ đích để xác định lưu lượng và so khớp với các luật được định nghĩa trước. Sinh viên: Nguyễn Thanh Sơn 9 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Trường hợp, cổng kết nối được xác định trước, thì lọc gói dựa trên địa chỉ là một phương pháp hữu hiệu để ngăn chặn các truy cập trái phép tới các địa chỉ đặc biệt được xác định trước, cụ thể như DNS-server hoặc Mail-server... Trong hình 5, chỉ cho phép TCP từ gateway DNS truy vấn tới inside DNS qua port 53. Còn tất cả lưu lượng khác đến inside DNS đều bị chặn lại. Hình 5: Lọc các gói DNS Các luật thể hiện quá trình này: allow tcp from gateway-DNS to inside-DNS 53 deny tcp from any to inside-DNS 53 1.1.3.1 Lọc các gói đi vào và đi ra tại các biên của hệ thống mạng Tại các biên của hệ thống mạng (edge of network), các gói tin từ bên ngoài đi vào hệ thống mạng bên trong, có địa chỉ xuất phát là địa chỉ riêng (private), địa chỉ loopback, địa chỉ không được chỉ định...thì đó là những gói tin có địa chỉ giả mạo. Hệ thống lọc gói cần phải được cấu hình để nhận ra những loại lưu lượng này và chặn chúng lại. Lọc gói tại các biên của hệ thống mạng cần nhận dạng các lưu lượng không hợp lệ sau: • Địa chỉ nguồn hoặc đích là địa chỉ chỉ riêng (private). • Địa chỉ nguồn là địa chỉ broadcast. • Địa chỉ loopback không phải của interface loopback. • Địa chỉ nguồn là địa chỉ multicast. • Địa chỉ đích là những địa chỉ multicast không phù hợp. • Địa chỉ không được chỉ định • Địa chỉ nguồn quá dài so với subnet mà gói tin được dự trù trước Tại biên của hệ thống mạng, các gói tin đi ra phải hợp lệ. Những gói tin thuộc subnet nội bộ thì cần được chặn lại. Các luật sau sẽ chặn các gói gói tin có địa chỉ private đi ra ngoài tại biên của hệ thống mạng: /*Private Addresses should not enter or leave the network*/ add deny all from 10.0.0.0/8 to anyip out via eth0 add deny all from 192.168.0.0/16 to anyip out via eth0 add deny all from 172.16.0.0/12 to anyip out via eth0 add deny all from 10.0.0.0/8 to mynet in via eth0 Sinh viên: Nguyễn Thanh Sơn 10 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung add deny all from 192.168.0.0/16 to mynet in via eth0 add deny all from 172.16.0.0/12 to mynet in via eth0 1.1.4 Lọc các gói phân mảnh Có những trường hợp, hệ thống lọc gói IPv4 sẽ gặp khó khăn trong xử lý , cụ thể là các gói phân mảnh. Nếu một gói tin có kích thước lớn hơn giá trị MTU (maximum transfer unit) muốn gởi đi, chúng sẽ được phân mảnh (Fragment) thành những gói nhỏ hơn, mỗi gói được chứa đầy đủ thông tin để tái hợp lại khi tới đích. Khi gói tin bị tách ra, những thông tin tiêu đề của lớp trên sẽ không còn đầy đủ (chẳng hạn tiêu đề TCP), điều này làm cho việc xử lý của hệ thống lọc gói IPv4 kiểu phi trạng thái gặp khó khăn. Hình 6: Các gói tin phân mảnh Để xử lý các gói tin bị phân mảnh, hệ thống lọc gói IPv4 kiểu phi trạng thái thường đệm lại để tái hợp các gói tin trước khi xử lý. Khi đó, gói tin gốc ban đầu được khôi phục, các thông tin của lớp vận chuyển (transport) đươc tái hợp đầy đủ. Để các gói tin có kích thước lớn có thể được truyền đi trên mạng, giải pháp PMTU (path maximum transfer unit) được sử dụng. • Giải pháp PMTU Giải pháp PMTU được đưa ra, để giúp các host trên mạng xác định được kích thước lớn nhất của một gói tin có thể được truyền mà không phải phân mảnh. PMTU hoạt động bằng cách gởi một gói tin có thiết lập cờ “don’t fragment” trong tiêu đề IP và gởi tới đích. Nếu có bất cứ MTU nào trên đường truyền nhỏ hơn kích thước của gói tin, gói tin sẽ bị loại bỏ bởi router và gởi về một ICMP thông báo không thể phân mảnh (ICMP can’t fragment). Khi đó, host nguồn sẽ điều chỉnh kích thước của gói tin phù hợp với kích thước MTU nhỏ nhất của các node trung gian. Quá trình PMTU phụ thuộc vào thông điệp ICMP thông báo lỗi (icmp don’t fragment). Nếu host nguồn không nhận được gói ICMP thông báo lỗi, thì chúng sẽ không biết gói tin gởi đi có kích thước lớn hơn kích thước MTU, và chúng tiếp tục gởi các gói tin. Sinh viên: Nguyễn Thanh Sơn 11 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Tuy nhiên, những gói tin ICMP thường bị hệ thống lọc gói chặn lại, vì chúng có thể được sử dụng để tấn công từ chối dịch vụ (DOS). Khi đó, những gói tin ICMP thông báo lỗi sẽ không được gởi trả về tới host nguồn của quá trình PMTU. Để quá trình PMTU có thể thực hiện đựoc, thì hệ thống lọc gói cần được cấu hình cho phép “ICMP don’t fragment” đi qua. Khi đó, các gói tin có thể được gởi đi mà không cần phân mảnh. 1.1.5 Lọc các gói ICMP Giao thức ICMP là một phần của hệ thống mạng, được sử dụng để xác định trạng thái của mạng IP. Việc xử lý các thông điệp này cần được cân nhắc kỹ lưỡng trong chính sách bảo mật của hệ thống mạng. Những thông điệp ICMP như: ICMP don’t fragment, Network unreachable, Parameter problem, nên được phép đi qua hệ thống lọc gói, để giúp cho hệ thống mạng hoạt động tốt hơn. Ví dụ, hệ thống lọc gói sẽ cho phép các gói tin ICMP don’t fragment đi qua. add allow icmp from any to any icmptype don't fragment Những loại thông điệp ICMP khác không phục vụ cho quá trình truyền các gói IP thì cần được chặn lại bởi hệ thống lọc gói. 1.1.6 Lọc dựa trên Options của IP Trường Options là một phần thêm vào của tiêu đề IP, làm thay đổi thông tin và chiều dài của gói tin, thường được sử dụng cho các dịch vụ bảo mật (ít khi được sử dụng trong các dịch vụ thường và ít được hổ trợ bởi host hoặc router). Source routing là một option mà vẫn còn được sử dụng, mặc dù lí do sử dụng chúng đều không hợp lí,có hai hình thức của source routing là: “strict source routing và loose source routing”. “Strict source routing” thì không bao giờ được sử dụng, nó chỉ rõ con đường gói tin phải đi tới đích, trong khi đó, tình trạng mạng có thể thay đổi, IP lại không sử dụng truỳên có kết nối, khi đó, router làm nhiệm vụ định tuyến quyết định đường đi của gói tin. Hình thức phổ biến hơn, “loose source routing” còn được sử dụng, chỉ rõ một hoặc nhiều hops mà gói tin phải đi qua để tới đích, đích tới sẽ gởi trả về một gói “inverse of the route” chỉ rõ trong tiêu đề routing. Loose source routing có thể được lợi dụng để gởi những gói tin từ địa chỉ giả mạo đi qua máy của kẻ tấn công để lấy thông tin của destination từ “inverse of the route”. Do đó, những gói IP có options là source routing thường bị chặn lại bởi hệ thống lọc gói. Sinh viên: Nguyễn Thanh Sơn 12 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung 1.1.7 Lọc các lưu lượng đường hầm Tạo đường hầm (Tunnelling) là một tiến trình, gởi một gói tin bằng cách đóng gói gói tin trong một giao thức khác để chuyển tiếp tới đích. Khi gói tin đến điểm cuối của kết nối, tiêu đề đóng gói được tách ra và gói tin gốc được xem xét. Chúng có thể được sử dụng trong nhiều ngữ cảnh khác nhau, cụ thể như: chuyển tiếp IPv6, hoặc IPsec Hình 7: Các quá trình tạo đường hầm Tạo đường hầm trong IPsec là một phương pháp hữa ích để gởi dữ liệu qua mạng không tin cậy (internet). IPsec cung cấp những chức năng này bằng cách mã hóa các tiêu đề tại lớp mạng và làm việc bằng đường hầm. Trong quá trình tạo đường hầm, thông tin tiêu đề của gói tin gốc được mã hóa và đóng gói bên trong một giao thức khác, vì thế, hệ thống lọc gói IPv4 kiểu phi trạng thái gặp nhiều khó khăn khi xử lý lưu lượng đường hầm. Nếu hệ thống mạng không cần kết nối tới mạng IPv6 thì những giao thức đường hầm được sử dụng để chuyển tiếp giữa IPv4 và IPv6 sẽ bị hệ thống lọc gói chặn lại. Để xử lý lưu lượng đường hầm một cách hợp lý, hệ thống lọc gói IPv4 kiểu phi trạng thái thường kết hợp với hệ thống lọc gói ở lớp ứng dụng. Trường hợp tạo đường hầm khi sử dụng IPsec, thường được hệ thống lọc gói cho phép đi qua, và được xử lý tiếp theo ở lớp ứng dụng (thường là điểm cuối của kết nối đường hầm). Sinh viên: Nguyễn Thanh Sơn 13 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung 1.1.8 IPsec Mục đích của IPsec là cung cấp cơ chế truyền end-to-end và những dịch vụ bảo mật tại lớp mạng (Network). Những dịch vụ này bao gồm điều khiển truy cập, tính toàn vẹn dữ liệu, xác thực và sự tin cậy dữ liệu. Trong IPsec hổ trợ 2 cơ chế truyền: • Cơ chế vận chuyển (Transport mode). • Tạo đường hầm (tunnel). IPsec mã hóa dữ liệu theo hai cách: • AH (Authentication header). • ESP (Encapsulating Security Payload) Trong cơ chế vận chuyển, AH và ESP được sử dụng để bảo vệ tiêu đề của lớp vận chuyển (transport). Chúng mã hóa gói tin khi chuyển từ lớp vận chuyển xuống lớp mạng. Trong hình sau, A và B là 2 host được cấu hình truyền theo cơ chế vận chuyển, các gói tin ở lớp vận chuyển được mã hóa trong quá trình truyền. Hình 8: Cơ chế vận chuyển Hình 9: Định dạng gói tin trong phương thức vận chuyển Sinh viên: Nguyễn Thanh Sơn 14 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Cơ chế tạo đường hầm trong IPsec thường được sử dụng khi đích tới sau cùng của gói tin là điểm kết thúc của một cơ chế bảo mật khác (hình 9). Cơ chế này còn được sử dụng khi sự bảo mật được cung cấp bởi một thiết bị không phải là nơi xuất phát của gói tin gốc ban đầu, ví dụ như VPNs. Hình 10: Cơ chế tạo đường hầm trong IPsec Hình 11: Định dạng gói tin IPsec trong cơ chế đường hầm. Các gói tin IPsec được nhận dạng bằng trường ID trong tiêu đề của IP (AH: 51, ESP: 50) Hệ thống lọc gói trong IPv4 kiểu phi trạng thái gặp nhiều khó khăn trong viêc xử lý các gói IPsec, do tiêu đề của lớp mạng và lớp vận chuyển được mã hóa, vì thế, các thông tin tại các tiêu đề này không được xem xét bởi hệ thống lọc gói. Để xử lý các gói IPsec, hệ thống lọc gói IPv4 kiểu phi trạng thái thường kết hợp với lọc gói ở lớp ứng dụng. Khi đó, các gói IPsec sẽ được cho phép đi qua hệ thống lọc gói và được xử lý tại lớp ứng dụng. Một điểm đặc biệt của IPsec trong IPv4 là trên quá trình truyền các gói tin không được phép phân mảnh. Điều này do việc mã hóa trong IPsec xảy ra trước quá trình phân mảnh, vì thế, chúng sử dụng PMTU để tạo các gói IPsec có kích thứơc phù hợp với MTU, kích thước này phụ thuộc vào giao thức và thuật toán mã hóa được sử dụng trong IPsec. Sinh viên: Nguyễn Thanh Sơn 15 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung 1.2 Hệ thống lọc gói trong IPv4 kiểu có trạng thái Trong hệ thống lọc gói phi trạng thái, việc nhận dạng lưu lượng chỉ dựa vào một số thông tin đơn giản trong tiêu đề của IP và tiêu đề lớp vận chuyển. Tại mỗi thời điểm hệ thống lọc gói phi trạng thái chỉ xử lý một gói tin. Do đó, hệ thống lọc gói phi trạng thái chỉ xử lý được những gói tin đơn giản, truyền không kết nối. Hệ thống lọc gói phi trạng thái không thể xử lý các gói tin truyền có kết nối, hoặc những gói tin được phân mảnh. Để giải quyết những hạn chế của hệ thống lọc gói phi trạng thái, hệ thống lọc gói IPv4 kiểu có trạng thái được sử dụng. Hệ thống lọc gói IPv4 kiểu có trạng thái hoạt động dựa vào trạng thái của mỗi kết nối được nhận diện khi gói tin đi qua hệ thống lọc gói. Hệ thống lọc gói lưu giữ các trạng thái này dựa trên các thông tin về địa chỉ nguồn, địa chỉ đích, cổng kết nối nguồn, cổng kết nối đích Trong lọc gói IPv4 kiểu có trạng thái, lưu lượng được nhận dạng dựa trên quá trình truyền gói tin có kết nối (TCP), hoặc không có kết nối (UDP và ICMP). Trong phần này gồm các nội dụng chính sau: 1.2.1 Lọc dựa vào giao thức TCP 1.2.2 Lọc các gói UDP 1.2.3 Lọc các gói ICMP 1.2.4 Lọc gói dựa trên đặc điểm của lưu lượng 1.2.5 Lọc các gói phân mảnh Sinh viên: Nguyễn Thanh Sơn 16 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung 1.2.1 Lọc dựa vào giao thức TCP Trong TCP, sau khi hoàn tất giai đoạn thiết lập kết nối “three way handshare”, một thông tin về socket của hai đầu cuối cùng với số trình tự (sequence number) của các gói tin được lưu lại trong bảng trạng thái. Thông tin này được sử dụng để so khớp với các gói tin đến sau của cùng kết nối. Hình 12: Kết nối TCP và lọc gói có trạng thái. Dựa vào thông tin trong bảng trạng thái, hệ thống lọc gói sẽ so khớp với các gói tin của cùng luồng kết nối dựa trên những luật được định nghĩa trước. Số trình tự được dùng để kiểm tra tính đúng đắn của các gói tin dựa trên thứ tự của chúng. Một gói tin ACK có số trình tự không hợp lệ, được coi là giả mào và bị hệ thống lọc gói loại bỏ. Trạng thái của gói tin được hủy bỏ khi kết thúc quá trình truyền của một luồng TCP. Khi đó, cờ FIN sẽ được gởi, hệ thống lọc gói nhận diện cờ này, và hủy bỏ trạng thái của luồng kết nối này. Trạng thái của gói tin được lưu giữ trong bảng trạng thái có thể bị hủy bỏ dựa vào thời gian “time-out” được định nghĩa trước bởi người quản trị. Nếu sau khoảng thời gian time-out các luồng kết nối trên ngưng hoạt động, thì trạng thái của luồ...r ] rule : tạo luật trong ip6fw rule: action proto src dst extras action: {allow | permit | accept | pass | deny | drop | reject | unreach code | reset |count | skipto num} [log] proto: {ipv6 | tcp | udp | ipv6-icmp | } src: from [not] {any | ipv6[prefixlen]} [{port | port-port}, [port],] dst: to [not] {any | ipv6[/prefixlen]} [{port | port-port}, [port],] Sinh viên: Nguyễn Thanh Sơn 34 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung extras: fragment (may no be used with ports or tcpflags) in out {xmit |recv |via} {iface | ipv6 | any} tcpflags [!] {syn | fin |rst | ack | psh | urg}, ipv6options [!] {hopopt | route | frag | esp | ah | nonxt | opts}, icmptyes {type [,type]} Trong IP6FW có 2 cách để tạo các luật: tạo các luật ngoài console (sẽ bị mất đi khi hệ thống khởi động lại) và sử dụng file script. Sinh viên: Nguyễn Thanh Sơn 35 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung 5. Triển khai hệ thống lọc gói IPv6 Trong phần này, sẽ triển khai hệ thống lọc gói trên một mô hình mạng đơn giản trong thời gian đầu triển khai IPv6. bằng cách đặt vấn đề và giải quyết vấn đề, sẽ đưa ra được các bước triển khai một hệ thống mạng IPv6 và các dịch vụ trên đó. Sau cùng xây dựng hệ thống lọc gói dựa vào các kịch bản sử dụng dịch vụ của hệ thống mạng. 5.1 Đặt vấn đề Một tổ chức hoạt động với các dịch vụ hạ tầng đơn giản như: cho phép các host tự động cấu hình địa chỉ phi trạng thái, tên miền được quản lý qua DNSv6 và được chỉ định sẽ zone transfer với ISP-DNS, các host bên trong chỉ được phân giải tên miền qua DNS của công ty. Giả sử, tại thời điểm này, công ty mới phát triển dịch vụ Web. Dịch vụ này cho phép bên ngoài và bên trong truy cập. Ngoài ra, để giám sát, duy trì và quản lý hệ thống mạng liên tục, yêu cầu cho phép quản trị từ xa qua lưu lượng SSH là cần thiết. 5.2 Yêu cầu Từ những vấn đề được đặt ra như trên, hệ thống mạng cần được xây dựng một Webserver, một DNS server, và cấu hình hệ thống lọc gói để ngăn chặn những truy cập trái phép. Hệ thống lọc gói cũng được cấu hình để cho phép điều khiển truy cập từ xa phục vụ quản trị hệ thống. 5.3 Mô hình mạng Hình 20: Sơ đồ mạng triển khai hệ thống lọc gói IPv6 Sinh viên: Nguyễn Thanh Sơn 36 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung 5.4 Tài nguyên sử dụng Tài nguyên được sử dụng để xây dựng hệ thống mạng gồm 3 máy tính: • Một máy cài hệ điều hành FreeBSD để xây dựng hệ thống lọc gói IPv6 đồng thời đóng vai trò như một router. • Hai máy còn lại cài hệ điều hành Linux được dùng để xây dựng Web- server và DNS-server. • Các gói phần mềm: httpd-2.2.3.tar, bind-9.2.1-16.i386.rpm, bind-utils- 9.2.1-16.i386.rpm, caching-nameserver-7.2-7.noarch.rpm • Sử dụng công cụ Ethereal để bắt gói tin trong quá trình kiểm thử. 5.5 Thực hiện Do tài nguyên sử dụng để xây dựng chỉ gồm 3 máy, nên mô hình mạng được thay đổi lại cho phù hợp với tài nguyên nhưng vẫn đúng với tinh thần của mô hình mạng ban đầu. Trong đó A vừa là Web-server vừa là DNS client, B vừa là DNS server vừa là Web-client trong quá trình thực hiện. Địa chỉ IPv6 của A, B và router đều được cấu hình bằng tay. A: 2001:db8:1eff::100/64 B: 2001:db8:6aff::300/64 Router: E0-2001:db8:1eff::300/64 và E1-2001:db8:6aff::100/64 Hình 21: Mô hình mạng triển khai. Sinh viên: Nguyễn Thanh Sơn 37 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung 5.5.1 Xây dựng FreeBSD router add /etc/sysctl.conf net.inet6.ip6.forwarding=1 # cho phép 2 interface IPv6 forwarding add /etc/rc.conf ipv6_enable="YES" ipv6_ifconfig_rl0="2001:db8:1eff::300 prifixlen 64" ipv6_ifconfig_rl1="2001:db8:6aff::300 prifixlen 64" ipv6_gateway_enalbe="YES" #cấu hình định tuyến cho 2 interface. ipv6_static_routes="net1 net2" ipv6_route_net1="2001:db8:1eff::/64 2001:db8:6aff::300" ipv6_route_net2="2001:db8:6aff::/64 2001:db8:1eff::300" 5.5.2 Xây dựng Web server IPv6 • Gói cài đặt Web-server: httpd-2.2.3.tar • Quá trình cài đặt và cấu hình Web-server IPv6 Copy httpd-2.2.3.tar vào thư mục /usr/local và giải nén. [root@thanhson] cd /usr/local/httpd-2.2.3 [root@thanhson] ./config [root@thanhson] make [root@thanhson] make install Thêm vào /etc/httpd/conf/httpd.conf Listen [::]:80 #enable listen IPv6 [root@thanhson] /etc/init.d/httpd start # Khởi động httpd • Kiểm tra hoạt động của Webserver: http://[::/1] http://[2001:db8:6aff::200] 5.5.3 Xây dựng DNS server IPv6 • Các gói để cài đặt DNS server gồm có bind-9.2.1-16.i386.rpm bind-utils-9.2.1-16.i386.rpm caching-nameserver-7.2-7.noarch.rpm • Cài đặt DNS server rpm -ivh bind-*.rpm rpm -ivh caching-nameserver-*.rpm Sinh viên: Nguyễn Thanh Sơn 38 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung • Cấu hình DNS server add /etc/named.conf // master server for domain name v6.ptit.com options { directory "/var/named"; listen-on-v6 { any;}; }; // config for caching-only nameserver zone "." IN { type hint; file "named.ca"; }; // loopback name lookup zone "localhost" IN { type master; file "localhost.zone"; allow-update { none; }; }; // loopback reverse name lookup zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; allow-update { none; }; }; // v6.ptit.com name lookup zone "v6.ptit.com" IN { type master; file "v6.ptit.com.zone"; }; // v6.ptit.com reverse name lookup zone "0.0.0.0.f.f.b.1.8.b.d.0.1.0.0.2.ip6.arpa" IN { type master; file "2001:db8:6aff::.rev"; }; • Xây dựng tập tin zone cho tên miền ™ Edit /var/named/v6.ptit.com.zone $TTL 86400 $ORIGIN v6.ptit.com. Sinh viên: Nguyễn Thanh Sơn 39 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung @ IN SOA v6.ptit.com. root.v6.ptit.com. ( 26102006 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS zeus.v6.ptit.com. IN NS test.v6.ptit.com. $ORIGIN v6.ptit.com. zeus IN AAAA 2001:db8:6aff::100 test IN AAAA 2001:db8:6aff::101 ™ Edit /var/named/2001:db8:6aff::.rev $TTL 86400 @ IN SOA zeus.v6.ptit.com. root.v6.ptit.com. ( 26102006 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS zeus.v6.ptit.com. IN NS test.v6.ptit.com. $ORIGIN f.f.e.1.8.b.d.0.1.0.0.2.ip6.arpa. 0.0.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR zeus.v6.ptit.com. 1.0.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR test.v6.ptit.com. Cập nhật địa chỉ IPv6 của DNSv6 (2001:db8:6aff::100) chứa trong tập tin /etc/resolv.conf cho các host IPv6. Tập tin /etc/resolv.conf: search v6.ptit.com nameserver 2001:db8:6aff::100 Khởi động dịch vụ và kiểm tra: /etc/init.d/named start [root@zeus ~]# dig test.v6.ptit.com AAAA 5.5.4 Cấu hình SSH cho phép điều khiển truy cập từ xa • Cấu hình SSH #edit /etc/ssh/sshd_config Port 22 Protocol 2 [root@thanhson] /etc/init.d/sshd start #enable SSH Sinh viên: Nguyễn Thanh Sơn 40 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung • Điều khiển truy cập từ xa bằng SSH: Trong Linux : [root@thanhson] ssh user@ipv6 Trong Window XP thì dùng phần mềm SecureCRT để điều khiển truy cập từ xa bằng SSH. 5.6 Xây dựng kịch bản và triển khai lọc gói Dựa vào các yêu cầu của hệ thống mạng, trong phần này sẽ đưa ra các kịch bản đơn giản để kiểm thử hệ thống lọc gói. 5.6.1 Kiểm thử lưu lượng ICMPv6 Hệ thống mạng của công ty cho phép tự động cấu hình địa chỉ phi trạng thái, vì thế, những gói ICMPv6 liên quan tới quá trình này được phép đi qua hệ thống lọc gói. Những gói ICMP phục vụ cho quá trình truyền các gói IPv6 cũng đựoc phép cho qua hệ thống lọc gói, cụ thể như: ICMPv6 destination unreachable, ICMPv6 parameter problem và ICMPv6 packet too big. Các gói ICMPv6 khác thì bị hệ thống lọc gói chặn lại. #cho phép các gói ICMPv6 thực hiện quá trình Autoconfiguration ip6fw add 100 allow ipv6-icmp from :: to FE80::/16 via eth1 ip6fw add 200 allow ipv6-icmp from FE80::/10 to FE80::/10 via eth1 ip6fw add 300 allow ipv6-icmp from FE80::/10 to FE20::/16 via eth1 #cho phép các gói icmpv6 destination unreachable và parameter-problem. ip6fw add 400 allow ipv6-icmp from any to any icmptypes des- unreachable, parameter-problem via eth1 # cho phép quá trình PMTU ip6fw add 500 allow ipv6-icmp from any to any icmptyes packet-too-big via eth1 # chặn tất cả các gói tin còn lại ip6fw add 65535 deny ipv6 from any to any Hình 22, được capture tại Host A của mô hình mạng, sẽ mô tả trường hợp hệ thống lọc gói cho phép các gói tin ICMPv6 request và reply đi qua. Hình 23, được capture tại Host A của mô hình mạng, mô tả trường hợp hệ thống lọc gói chặn các gói ICMPv6 reply. Sinh viên: Nguyễn Thanh Sơn 41 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Hình 22 : Hệ thống lọc gói cho phép ICMPv6 đi qua Hình 23:hệ thộng lọc gói chặn các gói ICMPv6 reply. Sinh viên: Nguyễn Thanh Sơn 42 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung 5.6.2 Kiểm thử lưu lượng DNS Như đã xác định ban đầu, DNS-server của công ty chỉ cho phép zone transfer tới ISP-DNS và các host bên trong hệ thống mạng chỉ truy vấn tên miền tới DNS-server. Hệ thống lọc gói sẽ được cấu hình cho phép zone transfer tới ISP-DNS được chỉ định trước, và cho phép các host bên trong hệ thống mạng của công ty truy vấn tên miền thông qua DNS-server. Các lưu lượng khác tới DNS server sẽ bị chặn lai. # cho phép zone transfer Ip6fw add 100 allow tcp from 2001:db8:1eff::100 to dns-server 53 via eth1 Ip6fw add 200 allow tcp from dns-server to 2001:db8:1eff::100 53 via eth1 #chặn tất cả truy cấp khác đến port 53 Ip6fw add 200 deny tcp from any to any 53 via eth1 Ip6fw add allow ipv6 from any to dns-server Hình 24, thực hiện capture tại host A của mô hình mạng, mô tả quá trình truy vấn tên miền của một host tới DNS server. Hình 24: Hệ thống lọc gói cho phép lưu lương DNS đi qua Sinh viên: Nguyễn Thanh Sơn 43 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Hình 25, capture tại host A, mô tả trường hợp hệ thống lọc gói chặn lưu lượng DNS. Trong hình chỉ capture được các gói DNS request. Hình 25: hệ thống lọc gói chặn lưu lượng DNS 5.6.3 Kiểm thử lưu lượng Web Dịch vụ Web của công ty, cho phép truy cập từ bên ngoài và bên trong. Hệ thống lọc gói được cấu hình cho phép các gói TCP có cổng kết nối 80 truy cập tới Web-server. Ip6fw add 100 allow tcp from any to web-server 80 via eth1 Ip6fw add 200 deny tcp from any to any 80 via eth1 Sinh viên: Nguyễn Thanh Sơn 44 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Hình 26, mô tả truy cập Web-server từ Host B. Trong trường hợp này, hệ thống lọc gói được cấu hình cho phép lưu lượng Web đi qua. Hình 26: Hệ thống lọc gói cho phép lưu lượng Web đi qua. 5.6.4 Điều khiển lưu lượng SSH Chính sách ban đầu của công ty là cho phép điều khiển từ xa bằng lưu lượng SSH để quản trị hệ thống mạng một cách liên tục. Hệ thống lọc gói sẽ được cấu hình cho phép lưu lượng SSH đi qua. Ip6fw add 100 allow tcp from any to any 22 in via eth1 Ip6fw add 200 allow tcp from any to any 22 out via eth1 Sinh viên: Nguyễn Thanh Sơn 45 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Hình 27, capture tại host A, sẽ mô tả lưu lượng SSH được phép đi qua hệ thống lọc gói. Hình 27: Hệ thống lọc gói cho phép lưu lượng SSH đi qua Sinh viên: Nguyễn Thanh Sơn 46 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Trong hình 28, lưu lượng SSH sẽ bị chặn lại bởi hệ thống lọc gói. Hình 28: Hệ thống lọc gói chặn lưu lượng SSH Sinh viên: Nguyễn Thanh Sơn 47 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Phần III : Kết Luận Đề tài Hệ Thống Lọc Gói trong IPv6 thoạt nhìn cũng giống như lọc gói trong IPv4, nhưng khi triển khai lại gặp những vấn đề mới, đề tài chỉ kế thừa bản chất của vấn đề, còn việc triển khai thì khác hoàn toàn. Bên cạnh việc nghiên cứu lý thuyết, đề tài còn triển khai trên hệ thống thực, đặc biệt là triển khai trên mã nguồn mở FreeBSD. Điểm hay của đề tài là: IPv6, một vấn đề đang được quan tâm rất nhiều, và mang tính sử dụng cao. Một điểm hay nữa là hệ điều hành FreeBSD, đây là một hệ điều hành nhỏ, gọn có nhiều tính năng ưu việt, dành cho triển khai hệ thống Mạng chuyên nghiệp. Trong quá trình nghiên cứu và triển khai đề tài, Tôi đã gặp một số khó khăn và thách thức, cụ thể như: • Trước tiên, là việc làm quen với hệ điều hành mới: FreeBSD. Quá trình cài đặt, sử dụng gói và cấu hình một hệ điều hành mới, trên môi trường mới tạo nhiều áp lực cho Tôi. Tôi phải bỏ thời gian hai tuần để làm quen với môi trường mới này. • Vấn đề thứ hai mà tôi gặp là nghiên cứu một giao thức mới IPv6. Trong giao thức này, ngoài việc kế thừa về cách thức suy luận và bản chất của IPv4, thì những vấn đề còn lại hoàn toàn khác. Tôi đã dành thời gian từ lúc bắt đầu làm đề tài thực tập để nghiên cứu IPv6, thế nhưng khi bắt tay vào làm vẫn gặp nhiều khó khăn, cụ thể là vấn đề địa chỉ trong IPv6. Tuy nhiên, những khó khăn và thách thức đó đã tạo cho Tôi nhiều áp lực hơn, và phấn đấu làm việc tốt hơn. Tôi cũng tin tưởng đề tài sẽ được triển khai thành công, bởi vì, Tôi biết chắc chắn rằng, hệ thống lọc gói IPv6 đã được triển khai ở một số nơi trên thế giới, và hệ điều hành FreeBSD đã được nhiều tổ chức sử dụng (www.infoweapons.com). Vì thế, những khó khăn mà Tôi gặp phải trong quá trình làm đề tài chắc chắn sẽ có hướng giải quyết. Tôi đã tiến hành đề tài theo các bước rất căn bản, cụ thể như: để kiểm tra quá trình tự động cấu hình địa chỉ IPv6, Tôi đã bỏ thời gian một tuần để thực hiện kết nối với hệ thống mạng IPv6 thực. Đề tài cũng giúp Tôi tổng hợp lại một lượng kiến thức lớn đã được học. Thông qua đề tài Tôi đã có: • Kinh nghiệm và kỹ năng nghiên cứu: cách lên kế hoạch, kỹ năng nghiên cứu, tìm tài liệu và tổng hợp kiến thức. • Kỹ năng cài đặt hệ thống mạng trên môi trường thực. • Tôi đã có một lượng kiến thức mới về IPv6, về mã nguồn mở và hệ điều hành FreeBSD. Từ đó, giúp Tôi tự tin khi bước chân ra khỏi giảng đường đại học, chuẩn bị hành trang cho cuộc sống. Sinh viên: Nguyễn Thanh Sơn 48 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Tuy nhiên, do hạn chế về thời gian và hạ tầng phần cứng, đề tài chỉ triển khai trên hệ thống mạng đơn giản và những dịch vụ đơn giản. Đề tài cũng chỉ mới triển khai hệ thống lọc gói trong IPv6 kiểu phi trạng thái. Trong thời gian tới, Tôi sẽ tiếp tục triển khai hệ thống lọc gói IPv6 trên môi trường phức tạp hơn, với đầy đủ các loại lưu lượng và dịch vụ được triển khai. Tháng 11, năm 2006. Sinh viên Nguyễn Thanh Son Sinh viên: Nguyễn Thanh Sơn 49 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Phần Phụ lục Giới Thiệu Hạ Tầng IPv6 6. Giới thiệu IPv6 Giao thức IP là một phần của giao thức mạng TCP/IP được triển khai rộng rãi trên Internet. IP được sử dụng để cung cấp địa chỉ nhận dạng cho các host riêng biệt và làm chúng có thể liên lạc được với nhau. Hiện tại IPv4 đang được sử dụng, và không có thay đổi nhiều từ lúc được chấp nhận bởi ARPAnet trong những năm cuối thập niên 70, do đó, IPv4 đã bắt đầu xuất hiện những hạn chế. The Internet Engineering Task Force (IETF) chính thức chấp nhận một giao thức phiên bản mới IPv6 vào ngày 17-11-1994. Mục đích chính của phiên bản mới là mở rộng không gian địa chỉ để sử dụng trong tương lai và cải thiện những phần cần thiết của IPv4, đặc biệt trong phần bảo mật, khả năng mở rộng và chất lượng dịch vụ. Nhóm phát triển giao thức mới này quyết định nên mở rộng không gian địa chỉ từ 32-bit địa chỉ của IPv4 lên 128-bit địa chỉ và điều này hy vọng sẽ cung cấp đủ địa chỉ cho tất cả khía cạnh kết nối internet của các thiết bị được dự đoán trước trong tương lai như: mobile phone, pocket PCs, printer, scanners, routers, fridges, toasters IPv4 và IPv6 không cùng cấu trúc; vì thế cần có những chồng giao thức mạng cho mỗi giao thức IP và một host (hoặc router) phải có cả 2 để nhận Router Advertisement và xử lí thông tin tiêu đề trong mỗi gói tin (trong trường hợp cả 2 giao thức IPv4 và IPv6 cùng tồn tại trên mạng). Hình 29: cấu trúc của một gói tin IPv6. 7. Hạ tầng IPv6 7.1 Tiêu đề IPv6 Tiêu đề của IPv6 được xây dựng dựa trên tiêu đề củ của IPv4 (hình 2), vẫn còn những trường địa chỉ nguồn và địa chỉ đích, nhưng được mở rộng để cung cấp nhiều địa chỉ hơn và trường version được thiết lập là 6 thay vì 4. Những trường không cần thiết được bỏ đi hoàn toàn,chẳng hạn trường Header Length (tiêu đề IPv6 được cố định 40 bytes), hoặc trường Checksum được bỏ đi trong tiêu đề chính của IPv6 và được tích hợp trong tiêu đề mở rộng. Sinh viên: Nguyễn Thanh Sơn 50 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Trong IPv6 có những thay đổi bằng cách tổ chức lại cấu trúc của tiêu đề, chẳng hạn như trường Type-of-Service (ToS) trong tiêu đề IPv4 được thay thế bằng trường Traffic Class và trường Flow Label, chúng được sử dụng để cung cấp hổ trợ truyền dữ liệu thời gian thực (real-time delivery of data), còn được gọi là chất lượng dịch vụ (QoS). Trường Palyload Length được thay thế bằng trường Total Length, vì chiều dài của tiêu đề IPv6 được cố định, nên không cần thiết khi tính toán chiều dài của gói tin. Trường Time-to-Live được thay thế bằng trường Hop Limit hoạt động giống như trong IPv4, khi gói tin đi qua router, trường này sẽ được giảm đi 1. Trường Protocol Type được thay thế bằng trường Next Header, chứa toàn bộ quy tắc xắp xếp chỉ ra một tiêu đề mở rộng tiếp theo trong tiêu đề chính. Trường Next Header còn được sử dụng để chỉ định giao thức của lớp Transport của gói tin, cách xắp xếp giống như trong IPv4: TCP(6), UDP(17) và ICMP(58). Một Next Header có giá trị 59 có nghĩa không có tiêu đề mở rộng trong gói tin. Hình 30: Tiêu đề của IPv6. 7.2 Tiêu đề mở rộng Tất cả trường Options của tiêu đề IPv4 không còn có mặt trong tiêu đề chính của IPv6 và được thay thế bằng những tiêu đề mở rộng, có tính mềm dẽo, được bố trí nằm giữa phần tiêu đề IPv6 và tiêu đề của lớp Transport, cung cấp những đặc tính hổ trợ trong IPv6 như: bảo mật (IPsec), Source Routing, Network Management và Fragmentation... Có 6 tiêu đề mở rộng: Hop-by-Hop option, Destination option, Routing, Fragment, Authentication và Encapsulation Security Payload. Sự khác nhau của tiêu đề mở rộng có thể thay đổi trong mỗi gói tin. Mỗi tiêu đề mở rộng có một trường Next Header, được sử dụng để xác định tiêu đề tiếp theo. Hình 3, chỉ rõ các chuỗi của các tiêu đề. Bảng 1, chứa các “code” của các tiêu đề mở rộng. Hình 31: Tiêu đề mở rộng. Sinh viên: Nguyễn Thanh Sơn 51 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Những tiêu đề mở rộng luôn là những mắc xích đi liền với nhau và được tạo thành một danh sách. Đây là sự thuận tiện trong việc xử lí tiêu đề tại đích tới. tiêu đề mở rộng Hop-by-Hop luôn theo sau tiêu đề chính IPv6, và là tiêu đề mở rộng duy nhất phải được kiểm tra tại các nodes trung giang. Jumbogram và Router Alert options là một phần của tiêu để mở rộng Hop-by- Hop. Jumbograms được sử dụng để gởi những gói tin với dữ liệu lớn hơn 64kb trong trường Payload length của tiêu để IPv6. Để thực thi điều này, giá trị của payload length nên được thiết lập là 0 và jumbogram phải được gắn kèm theo. khi đó, một “payload” 4GB có thể được gởi trong một gói IPv6. Router Alert được sử dụng để thông báo những router biết gói tin đi qua nên được kiểm tra nội dung trước khi chuyển tiếp. Tùy chọn này được sử dụng để chỉ định những gói tin phụ thuộc việc xử lí của các nodes cuối định tuyến. Bảng 6: Tiêu đề mở rộng của IPv6 và code tương ứng. Mỗi tiêu để mở rộng chỉ xuất hiện duy nhất 1 lần trong gói tin ngoại trừ tiêu đề Destination. Trường hợp đầu của tiêu đề Destination được sử dụng để chứa thông tin danh sách đích tới trong trường địa chỉ đích và địa chỉ trong tiêu đề routing. Trường hợp thứ 2, thông tin này được kiểm tra duy nhất bởi đích tới cuối cùng. Tiêu đề routing được sử dụng để xác định những node trung gian trong quá trình truyền gói tin tới đích. Hiện tại, trường “routing type” trong tiêu đề routing chỉ mới hổ trợ “type 0” giống như “Loose Source Routing option” trong IPv4. Sinh viên: Nguyễn Thanh Sơn 52 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Hình 32: Cấu trúc của tiêu đề Routing. Trong IPv6, sự phân mảnh của một gói tin chỉ được thực hiện duy nhất bởi node nguồn. Router không được phép phân mảnh 1 gói tin. Nếu gói tin được nhận bởi router lớn hơn link, router sẽ loại bỏ gói tin đó và gởi một ICMPv6 về địa chỉ nguồn biết thông tin mà gói tin bị loại bỏ.Nếu node nguồn muốn phân mảnh một gói tin, nó sử dụng tiêu đề mở rộng Fragment. Hình 33: Cấu trúc của tiêu đề Fragment. Gói tin ban đầu sẽ được chia thành 2 phần chính: phần “unfragmentable”, chứa thông tin của tiêu đề IPv6 và tất cả tiêu đề mở rộng mà phải xử lí bởi nodes trong quá trình định tuyến tới đích cuối cùng. (hop-by-Hop, Destination và Routing) và phần “fragment”, chứa các tiêu đề mở rộng khác (nếu có) và “payload data”, phần “fragment” chỉ được xử lí tại đích tới cuối cùng. Sinh viên: Nguyễn Thanh Sơn 53 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Hình 34: Quá trình phân mảnh gói tin IPv6 Bảo mật là một trong những chuyên đề chính của IETF khi thiết kế IPv6, nó được đưa vào 3 dịch vụ bảo mật quan trọng: xác thực gói tin (packet authentication), toàn vẹn gói tin (packet integrity) và độ tin cậy của gói tin (packet confidentiality). Những đặc tính bảo mật này được cung cấp bởi IPsec thông qua tiêu đề mở rộng Authentication (AH) và Encapsulation Security Payload (ESP). AH cung cấp tính toàn vẹn, bảo đảm gói tin đến nơi mà nó cần tới. điều này đạt được bằng cách thay đổi khóa mật mã, có thể “manually” hoặc “automatically” (sử dụng Interne Key Exchange-IKE). Trước khi gói tin được gỏi, tiêu đề tạo một “checksum” dựa trên khóa được đồng ý bởi cả 2 hosts (MD5). Hàm băm này sẽ được so sánh tại nơi nhận cuối cùng với “checksum” ban đầu. AH được sử dụng để ngăn chặn tấn công giả mạo địa chỉ và sự thay đổi gói tin, nhưng không cung cấp bất cứ sự bảo vệ gói tin. Hình 35: Cấu trúc của tiêu đề AH. ESP được sử dụng để cung cấp sự tin cậy cho gói tin giống như bảo mật dịch vụ mà AH cung cấp. Tính toàn vẹn và tính bảo mật trong IPv6 cao hơn những gói tin IPv4, Sinh viên: Nguyễn Thanh Sơn 54 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung ngoại trừ trường hợp của ứng dụng SSL (Secure Socket Layer) hoặc IPv4 triển khai IPsec. Hình 36: Cấu trúc của tiêu đề ESP. ESP có thể được triển khai bằng 2 cách: “transport mode” hoặc “tunnel mode”. Trong transport mode mã hóa được áp dụng tới lớp transport và những giao thức cao hơn (không mã hóa tiêu đề IPv6 và các tiêu đề mở rộng). Tunnel mode, toàn bộ gói tin được mã hóa bao gồm cả tiêu đề IPv6 và một số prefixes mới của gói tin. Sự khác nhau của AH và ESP là : “xác thực được cung cấp bởi ESP và AH là khu vực của mức độ được xác thực; ESP không bảo vệ tiêu đề IP trừ khi những trường này được mã hóa bởi tunnel mode”. 7.3 Cấu trúc địa chỉ mới Trong IPv6 128-bit địa chỉ được chia thành các nhóm 16-bit và chuyển sang số HEX, các số 0 ở đầu mỗi nhóm của số Hex có thể được loại bỏ, các số 0 ở cuối mối nhóm của số Hex thì bắt buộc, các chuỗi 16-bit này nếu tiếp kề nhau bằng 0 thì được viết tắt bằng “::”. Ví dụ: 128 bit nhị phân 0010000111011010000000001101001100000000000000000010111100111011 0000001010101010000000001111111111111110001010001001110001011010 Được chia thành các nhóm 16-bit 0010000111011010 0000000011010011 0000000000000000 0010111100111011 0000001010101010 0000000011111111 1111111000101000 1001110001011010 Mỗi nhóm 16-bit được chuyển sang số Hex và được phân định bởi dấu “:” 21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A Những số 0 ở đầu trong mỗi nhóm dãy 16-bit được bỏ đi. 21DA:D3:0:2F3B:2AA:FF:FE28:9C5A Sinh viên: Nguyễn Thanh Sơn 55 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Một vài địa chỉ IPv6 chứa một chuỗi các số 0, nếu có các dãy 16-bit kề nhau là 0 thì được nén lại bằng dấu “::” FE80:0:0:0:2AA:FF:FE9A:4CA2 trở thành FE80::2AA:FF:FE9A:4CA2 Không thể nén các số 0 không phải ở đầu trong phần của dãy 16-bit. FF02:30:0:0:0:0:0:5 không thể trở thành FF02:3::5 7.3.1 Định danh Interface (interface ID) Định danh “interface”, được nhận dạng duy nhất, được dùng để phân biệt một interface trên một mạng và bảo đảm không có bất cứ địa chỉ nào trùng lắp trên cùng subnet. Interface ID là 64-bit nếu quá trình tự động cấu hình địa chỉ được sử dung; nó bao gồm 48-bit MAC và 16-bit còn lại là hằng số EUI-64 (Extended Unique Identifier) “fffe”. Bit thứ 7 của địa chỉ MAC phải được chuyển từ 1 sang 0. bit này chỉ ra đây là một địa chỉ tầm vực “globally”. Ví dụ: Địa chỉ MAC là: 00.0b.db.63.54.5d Chuyển bit thứ 7 từ 0 Æ 1 Î 02.0b.db.63.54.5d và thêm hằng số fffe vào giữa địa chỉ MAC Æ Interface ID: 020b:dbff:fe63:545d 7.4 Các loại địa chỉ trong IPv6 Địa chỉ IPv6 thì ít phức tạp hơn IPv4, trong IPv4 hầu hết địa chỉ được phân loại public, private, broadcast, multicast và địa chỉ mạng. Trong phần này sẽ mô tả các loại địa chỉ sử dụng khác nhau của IPv6 và ngữ cảnh mà nó được sử dụng. Chỉ duy nhất 15% của không gian địa chỉ IPv6 được chỉ định sử dụng, những phần này được chia thành các loại khác nhau: địa chỉ Unicast, Anycast, Multicast và Reserved. Các loại của địa chỉ IPv6 được xác định bằng những bit cao của địa chỉ. 85% còn lại được dự phòng sẽ sử dụng trong tương lai. Bảng 2 chứa tất cả địa chỉ IPv6 được chỉ định. Host IPv6 có thể có nhiều địa chỉ trên một interface. Host IPv4 chỉ có duy nhất 1 địa chỉ để xác định, nhưng trong IPv6 có thể nhận dạng bằng nhiều địa chỉ (Unicast, Anycast, Multicast) phụ thuộc vào ngữ cảnh mà chúng kết nối (global, sitelocal và link local). Sinh viên: Nguyễn Thanh Sơn 56 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Bảng 7: Các loại địa chỉ IPv6 được sử dụng hiện tại. 7.4.1 Địa chỉ Unicast Địa chỉ Unicast được gán cho mỗi interface trên một host và được sử dụng kết nối “one-to-one”; gói tin được gởi từ một interface và được nhận bởi duy nhất một interface. 7.4.1.1 Địa chỉ Aggregatable global unicast Địa chỉ global được dùng để kết nối internet, những địa chỉ này được gán bởi RIRs (Regional Internet Registries). Hình 37: Cấu trúc của địa chỉ Aggregatable global unicast. TLA ID: Top level aggregatable Identifier, được quản lí bởi IANA. Res : số bit được sử dụng cho việc mở rộng TLA ID hoặc NLA ID trong tương lai. NLA ID (Next-Level Aggregation Identifier): 24-bit, NLA ID cho phép một ISP tạo ra nhiều cấp độ của việc phân cấp địa chỉ. SLA ID (Site-Level Aggregation Identifier): được sử dụng bởi các tổ chức cá nhân để xác định subnet trong cùng một site. Sinh viên: Nguyễn Thanh Sơn 57 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung 7.4.1.2 Địa chỉ Link-local Địa chỉ link-local được sử dụng cho kết nối giữa các host trên cùng link. Mỗi interface được gán 1 địa chỉ (unicast) link-local, được sử dụng trong quá trình “Autoconfiguration”. Hình 38: Cấu trúc của địa chỉ link-local. 7.4.1.3 Địa chỉ Site-local Địa chỉ Site-local được sử dụng trong một site, giống như trong cùng một subnet. Chúng được dành để sử dụng duy nhất trong một site và gói tin sử dụng địa chỉ site-local thì không được cho phép ra khỏi site. Địa chỉ Unicast site-local tương dương với địa chỉ Private trong IPv4. Hình 39: Cấu trúc của địa chỉ site-local. 7.4.1.4 Địa chỉ đặc biệt • Địa chỉ không chỉ rõ: “::” được sử dụng để thể hiện sự không có mặt của địa chỉ IPv6. • Hoặc địa chỉ loopback: “::1” được sử dụng để xác định một “loopback interface”. 7.4.1.5 Địa chỉ tương thích Địa chỉ tương thích được tạo ra để giúp đỡ sự chuyển tiếp từ IPv4 sang IPv6, và sự chung sống của cả 2 loại địa này. • Địa chỉ IPv4 tương thích Hình 40: Địa chỉ IPv4 tương thích Sinh viên: Nguyễn Thanh Sơn 58 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung • Địa chỉ IPv4 ánh xạ Hình 41: Địa chỉ IPv4 ánh xạ. • Địa chỉ 6over4 Hình 42: Địa chỉ 6over4. • Địa chỉ 6to4 2002:(IPv4-Hex)::/48 • ISATAP address Hình 43: Địa chỉ ISATAP. 7.4.1.6 Địa chỉ NSAP Hình 44: Cấu trúc của địa chỉ NSAP. Sinh viên: Nguyễn Thanh Sơn 59 Đề tài: Hệ Thống Lọc Gói Trong IPv6 GVHD: Nguyễn Thị Phương Dung Bảng 8: Địa chỉ IPv6 unicast global được chỉ định 7.4.2 Địa chỉ Anycast Địa chỉ anycast được sử dụng cho kết nối “one-to-one-of-many” . chúng nhận dạng nhiều interface của một số nodes khác nhau, thừơng trong cùng links. Một gói tin được gởi tới địa chỉ anycast được phân phát tới một trong số interface được xác định bởi địa chỉ gần nhất được xác định trong giao thức định tuýên. Chúng không có những dãy IPv6 tách rời giống như địa chỉ Unicast và Multicast. Hình 45: Cấu trúc của địa chỉ Anycast. 7.4.3 Địa chỉ Multicast Địa chỉ được dùng để nhận dạng nhiều interface IPv6. Một gói tin được gởi tới một địa chỉ multicast sẽ được xử lí bởi tất cả các thành viên trong nhóm multicast. Hình 46: cấu trúc của địa chỉ Multicast. Bảng 9: Giá tri của flags trong cấu trúc địa chỉ multicast. Sinh viên: Nguyễn Thanh Sơn 60 Đề tài: Hệ Thống Lọc Gói Trong IPv

Các file đính kèm theo tài liệu này:

  • pdfde_tai_he_thong_loc_goi_trong_ipv6.pdf