Đề 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  
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  
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  
Phần I : Lý Thuyết  
GVHD: Nguyễn Thị Phương Dung  
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  
1.2  
Hệ thống lọc gói trong IPv4 kiểu phi trạng thái  
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  
2.2  
Hệ thống lọc gói trong IPv6 kiểu phi trạng thái  
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  
1. Hệ thống lọc gói IPv4  
GVHD: Nguyễn Thị Phương Dung  
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  
1.1.2  
1.1.3  
1.1.4  
1.1.5  
1.1.6  
1.1.7  
1.1.8  
Lọc dựa trên cổng kết nối  
Lọc dựa trên các cờ TCP  
Lọc dựa trên địa chỉ  
Lọc các gói phân mảnh  
Lọc các gói ICMP  
Lọc dựa trên Options của IP  
Lọc các lưu lượng đường hầm  
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  
1.1.7 Lọc các lưu lượng đường hầm  
GVHD: Nguyễn Thị Phương Dung  
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  
1.1.8 IPsec  
GVHD: Nguyễn Thị Phương Dung  
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  
1.2.2  
1.2.3  
1.2.4  
1.2.5  
Lọc dựa vào giao thức TCP  
Lọc các gói UDP  
Lọc các gói ICMP  
Lọc gói dựa trên đặc điểm của lưu lượng  
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  
1.2.1 Lọc dựa vào giao thức TCP  
GVHD: Nguyễn Thị Phương Dung  
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ồng lưu lượng này  
sẽ bị loại bỏ.  
Một tùy chọn của time out là “keep-alives”. Trong trường hợp này, trước khi  
trạng thái bị hủy bỏ, hệ thống lọc gói sẽ gởi một gói ACK để báo gói tin cuối cùng nhận  
được. Nếu host còn hoạt động, nó sẽ gởi trả về một gói ACK và trạng thái kết nối được  
làm mới (refresh), nếu host không còn tồn tại, hệ thống lọc gói sẽ gởi gói RST và hủy bỏ  
trạng thái của kết nối.  
Một trường hợp hủy bỏ kết nối sử dụng time out là: khi một host bị đổ vở thì  
những gói FIN hoặc RST sẽ không bao giờ được gởi đi, khi đó trạng thái sẽ bị loại bỏ  
dựa vào giới hạn thời gian tồn tại của trạng thái (time-out).  
Trong một số trường hợp (chẳng hạn kết nối SSH) cần thời gian time-out lâu hơn  
thì phương pháp keep-alives thường được sử dụng hơn.  
Sinh viên: Nguyễn Thanh Sơn  
17  
 
Đề tài: Hệ Thống Lọc Gói Trong IPv6  
GVHD: Nguyễn Thị Phương Dung  
Hình 13, sẽ mô tả việc thiết lập kết nối, tạo trạng thái và xử lý của một gói tin  
TCP.  
Hình 13 : Quá trình tạo trạng thái kết nối  
(1): TCP SYN segment from : 60.55.33.12 :62600 to 123.80.5.34 :80  
(2): Establish connection.  
Bảng kết nối:  
Type  
External  
port  
Internal IP Internal port External IP  
TCP 60.55.33.12 62600 123.80.5.34  
Bảng 2: Trạng thái kết nối  
state  
ok  
80  
(3): TCP SYN segment from : 60.55.33.12 :62600 to 123.80.5.34 :80  
(4): TCP SYN/ACK segment from : 123.80.5.34 :80 to 60.55.33.12 :62600  
(5): check connection OK  
Bảng kết nối:  
Internal  
port  
External  
port  
Type Internal IP  
External IP  
state  
TCP 60.55.33.12  
62600  
123.80.5.34  
80  
Ok  
Bảng 3: Bảng trạng thái kết nối sau khi kiểm tra trạng thái  
(6): TCP SYN/ACK segment from 123.80.5.34 :80 to 60.55.33.12 :62600  
Sinh viên: Nguyễn Thanh Sơn  
18  
Đề tài: Hệ Thống Lọc Gói Trong IPv6  
1.2.2 Lọc các gói UDP  
GVHD: Nguyễn Thị Phương Dung  
Trong UDP không thể kiểm tra trạng thái của các kết nối bởi vì nó không định  
nghĩa kết nối (không có bắt đầu và kết thúc rõ ràng). Tuy nhiên, lọc gói có trạng thái vẫn  
lưu giữ trạng thái của các gói UDP dựa vào địa chỉ nguồn, địa chỉ đích, cổng kết nối  
nguồn, cổng kết nối đích. Những kết nối cùng địa chỉ nguồn và địa chỉ đích được xem  
như một kết nối UDP.  
Do UDP không xác định rõ ràng phần bắt đầu và kết thúc của kết nối, nên phương  
pháp “timeout” được sử dụng để tạo và xóa trạng thái của kết nối.  
Ví dụ: hình 11, mô tả một host phân giải (resolve) một địa chỉ bằng DNS. Host sẽ  
gởi một gói UDP tới DNS-server để tìm một địa chỉ tương ứng. Khi đó, một trạng thái sẽ  
được tạo trong bảng trạng thái dựa vào địa chỉ nguồn, địa chỉ đích, cổng kết nối nguồn,  
cổng kết nối đích. Trạng thái này được gán thời gian timeout là rất ngắn (thường được  
thiết lập là dưới 1 phút). Nếu trong khoảng thời gian time-out, không có bất kỳ gói tin  
reply nào được nhận, trạng thái sẽ bị hủy bỏ và gói tin sẽ không được phép đi qua hệ  
thống lọc gói những lần sau đó.  
Hình 14: Lọc các gói UDP  
1.2.3 Lọc các gói ICMP  
Trong ICMP, một số thông điệp được dùng mô tả lỗi khi gởi đi các lưu lượng  
TCP hoặc UDP, chẳng hạn ICMP “time exceede”, “port unreachable”, “packet too  
big”… Khi đó, những gói ICMP này được xem như một phần của thiết lập kết nối, chúng  
cũng được lưu giữ trạng thái.  
Trong trường hợp PMTU, hệ thống lọc gói sẽ lưu trạng thái của gói dựa vào địa  
chỉ nguồn và địa chỉ đích, sau đó, so khớp với các thông tin trong tiêu đề của gói ICMP  
gởi trả về.  
Cũng giống như UDP, trạng thái của các gói ICMP cũng được hủy bỏ dựa vào  
time-out. Ví dụ, hệ thống lọc gói lưu giữ trạng thái các gói ICMP truy vấn dựa vào địa  
chỉ nguồn và địa chỉ đích, sau đó dùng để so khớp với các gói ICMP trả lời (ICMP reply).  
Nếu việc so khớp thỏa, các gói ICMP này sẽ được cho qua hệ thống lọc gói, nếu không sẽ  
bị loại bỏ. Điều này cho phép các máy tính bên trong hệ thống lọc gói có thể “ping” tới  
các host từ xa, nhưng không cho phép host từ xa “ping” tới hệ thống mạng bên trong, và  
giá trị timeout vẫn được sử dụng để lưu giữ trạng thái.  
Sinh viên: Nguyễn Thanh Sơn  
19  
 
Đề tài: Hệ Thống Lọc Gói Trong IPv6  
GVHD: Nguyễn Thị Phương Dung  
1.2.4  
Lọc gói dựa trên đặc điểm của lưu lượng  
Một số lưu lượng có những đặc điểm đặc biệt, cụ thể như FTP. Việc gởi yêu cầu  
kết nối và truyền dữ liệu được sử dụng hai cổng kết nối khác nhau. Để hệ thống lọc gói  
xử lý đúng đắn lưu lượng FTP, việc tạo trạng thái phải dựa vào đặc tính riêng của chúng.  
Hình 14, mô tả quá trình thiết lập kết nối và lưu giữ trạng thái của lưu lượng FTP-  
passive. Khi máy trạm gởi một yêu cầu kết nối tới cổng 21 của máy chủ, hệ thống lọc gói  
sẽ tạo một trạng thái dựa trên địa chỉ nguồn, địa chỉ đích và cổng kết nối 21. Trạng thái  
này sẽ được so khớp với gói tin trả về của FTP server. Nhung bản chất của FPT là kết nối  
trên cổng 21 và truyền dữ liệu trên cổng 20, nên hệ thống lọc gói sẽ kiểm tra cổng 20 của  
kết nối FTP trong quá trình trả lời của FTP-server.  
Hình 15: Lọc có trạng thái và lưu lượng FTP  
(1): TCP SYN segment from: 60.55.33.12 : 62600 to: 123.80.5.34:21  
(2): to estaplish connection  
(3): TCP SYN segment from: 60.55.33.12 : 62600 to: 123.80.5.34 : 21  
(4): TCP SYN/ACK segment from: 123.80.5.34 :20 to 60.55.33.12 :55336 (sử dụng  
cổng 20 để truyền dữ liệu).  
(5): to allow, estaplish second connect  
(6): TCP SYN/ACK segment from 123.80.5.34 :20 to 60.55.33.12 :55336  
Bảng trạng thái:  
Internal  
port  
External  
port  
Type Internal IP  
External IP  
State  
TCP  
TCP  
60.55.33.12  
60.55.33.12  
62600  
55336  
123.80.5.34  
123.80.5.34  
21  
20  
Ok  
Ok  
(2)  
(5)  
Bảng 4: trạng thái kết nối của FTP  
Sinh viên: Nguyễn Thanh Sơn  
20  
 
Tải về để xem bản đầy đủ
pdf 72 trang yennguyen 14000 Free
Bạn đang xem 20 trang mẫu của tài liệu "Đề tài Hệ thống lọc gói trong IPv6", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfde_tai_he_thong_loc_goi_trong_ipv6.pdf