Đề 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
Lọc dựa trên địa chỉ.............................................................................. 9
IPsec ..................................................................................................... 14
Lọc các gói UDP .................................................................................. 19
2. Hệ thống lọc gói trong IPv6................................................................................ 22
2.1.3.5 IPsec ................................................................................................. 27
Flow Label ........................................................................................... 30
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
Đặt vấn đề.................................................................................................... 36
Yêu cầu......................................................................................................... 36
Mô hình mạng ............................................................................................. 36
Tài nguyên sử dụng..................................................................................... 37
Thực hiện..................................................................................................... 37
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
Kết Luận ............................................................................................... 48
6. Giới thiệu IPv6 .................................................................................................... 50
7. Hạ tầng IPv6........................................................................................................ 50
Tiêu đề IPv6..................................................................................................... 50
Tiêu đề mở rộng .............................................................................................. 51
Cấu trúc địa chỉ mới ....................................................................................... 55
Các loại địa chỉ trong IPv6............................................................................. 56
Địa chỉ Unicast......................................................................................... 57
Địa chỉ Anycast........................................................................................ 60
Địa chỉ Multicast ..................................................................................... 60
Giao thức ICMPv6.......................................................................................... 61
Giao thức Neighbor discovery ....................................................................... 62
7.6.4.1 Duplicate address 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
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 đủ
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:
de_tai_he_thong_loc_goi_trong_ipv6.pdf

