Đề tài Hệ thống lọc gói trong IPv6
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.
Tóm tắt nội dung tài liệu: Đề 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.................................................................... 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
File đính kèm:
de_tai_he_thong_loc_goi_trong_ipv6.pdf