Tải bản đầy đủ (.pdf) (20 trang)

Công nghệ mạng riêng ảo VPN: Các giao thức đường hầm và bảo mật chương 2_3 potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (704.49 KB, 20 trang )

ĐỒ ÁN TỐT NGHIỆP HỆ THỐNG MẠNG

Đề tài:

Công nghệ mạng riêng ảo VPN: Các
giao thức đường hầm và bảo mật
CHƯƠNG 2
CÁC GIAO THỨC ĐƯỜNG HẦM VPN


Đường hầm bắt buộc được tạo tự động không cần bất kỳ hành động
nào từ phía nguời dùng và không cho phép người dùng chọn lựa. Do
đường hầm bắt buộc được tạo ra không thông qua người dùng nên nó
trong suốt đối với người dùng đầu cuối. Đường hầm bắt buộc định trước
điểm kết thúc, nằm ở LAC của ISP và nên kiểu đường hầm này điều
khiển truy cập tốt hơn so với đường hầm tự nguyện. Nếu như vì tính bảo
mật mà không cho người dùng truy cập vào Internet công cộng nhưng
vẫn cho phép dùng Internet để truy nhập VPN.
Một ưu điểm của đường hầm bắt buộc là một đường hầm có thể tải
nhiều kết nối, điều này làm giảm băng thông mạng cho các ứng dụng đa
phiên làm việc. Một khuyết điểm của đường hầm bắt buộc là kết nối từ
LAC đến người dùng nằm ngoài đường hầm nên đẽ bị tấn công.
Mặc dù ISP có thể chọn cách thiết lập tĩnh để định nghĩa đường hầm
cho người dùng, nhưng điều này gây lãng phí tài nguyên mạng. Có cách
khác cho phép sử dụng tài nguyên hiệu quả hơn bằng cách thiết lập
đường hầm động. Những đường hầm động này được thiết lập trong
L2TP bằng cách kết nối với máy chủ RADIUS.
Để RADIUS có thể điều khiển việc thiết lập một đường hầm thì nó
cần phải lưu các thuộc tính của đường hầm. Các thuộc tính này bao gồm:
giao thức đường hầm được sử dụng (PPTP hay L2TP), địa chỉ của máy
chủ và môi trường truyền dẫn trong đường hầm được sử dụng. Sử dụng


máy chủ RADIUS để thiết lập đường hầm bắt buộc có một số ưu điểm
như:
- Các đường hầm có thể được định nghĩa và kiểm tra dựa trên xác
thực người dùng.
- Tính cước thể dựa trên số điện thoại hoặc các phương thức xác
thực khác.
a) Xác thực và mã hóa trong L2TP
Quá trình xác thực người dùng trong L2TP điễn ra trong 3 giai
đoạn: giai đoạn 1 diễn ra tại ISP, giai đoạn 2 và giai đoạn 3 (tuỳ chọn)
điễn ra ở máy chủ của mạng riêng.
Trong giai đoạn đầu, ISP sử dụng số điện thoại của người dùng hoặc
tên người dùng để xác định dịch vụ L2TP được yêu cầu và khởi tạo kết
nối đường hầm đến máy chủ mạng riêng. Khi đường hầm được thiết lập,
LAC của ISP chỉ định một số nhận dạng cuộc gọi (Call ID) mới để định
danh cho kết nối trong đường hầm và khởi tạo phiên bằng cách chuyển
thông tin xác thực đến máy chủ của mạng riêng. Máy chủ của mạng
riêng sẽ tiến hành tiếp bước thứ 2.
Giai đoạn 2, máy chủ của mạng riêng quyết định chấp nhận hay từ
chối cuộc gói. Cuộc goi từ ISP chuyển đến có thể mạng thông tin
CHAP, PAP hay bất kỳ thông tin xác thực nào, máy chủ sẽ dựa vào các
thông tin này để quyết định chấp nhận hay từ chối.
Sau khi cuộc gọi được chấp nhận thì máy chủ có thể khởi động giai
đoạn thứ 3 của quá trình xác thực (tại lớp PPP), đây là giai đoạn tuỳ
chọn. bước này xem như máy chủ xác thực một người dùng quay số truy
cập vào thẳng máy chủ. Kết quả của 3 giai đoạn này cho phép người
dùng, ISP và máy chủ của mạng riêng xác định được tính chính xác của
cuộc gọi nhưng vẫn chưa bảo mật cho dữ liệu.
Để việc xác thực trong L2TP hiệu quả thì cần phải phân phối khoá.
Mặc dù phân phối bằng tay có thể khả thi trong một số trường hợp
nhưng về cơ bản thì cần phải có một giao thức quản lý khoá.

b) Đường hầm kết nối LAN-LAN
Mục đích ban đầu của L2TP là để quay số truy cập VPN sử dụng
client PPP, nhưng L2TP cũng thích hợp cho kết nối LAN-LAN trong
VPN.
Đường hầm kết nối LAN-LAN được thiết lập giữa hai máy chủ
L2TP nhưng ít nhất một trong 2 máy chủ phải có kết nối tới ISP để khởi
tạo phiên làm việc PPP. Hai máy chủ đóng vai trò vừa là LAC, vừa là
LNS và có thể khởi tạo hay kết thúc đường hầm khi cần.

Hình 2.18: Đường hầm kết nối LAN-LAN
c) Quản lý khoá
Khi hai đối tượng muốn chuyển giao dữ liệu một cách bảo mật và
khả thi thì cần phải đảm bảo chắc chắn rằng cả hai bên xử lý dữ liệu như
nhau. Cả hai bên phải cùng sử dụng chung giải thuật mã hoá, cùng chiều
dài từ khoá, cùng chung một khoá dữ liệu. Điều này được xử lý thông
qua bảo mật kết hợp SA.
2.1.1 Sử dụng L2TP
Bởi vì chức năng chính của L2TP là quay số truy cập VPN thông
qua Internet nên các thành phần của L2TP bao gồm: bộ tập trung truy
cập mạng, máy chủ L2TP, và các L2TP client. Thành phần quan trọng
nhất của L2TP là định nghĩa điểm kết thúc một đường hầm, LAC và
LNS. LNS có thể cài đặt ngay tại công ty và điều hành bởi một nhóm
làm việc của công ty còn LAC thì thường được hỗ trợ của ISP. Các
thành phần cơ bản của L2TP như hình vẽ:

Hình 2.19: Các thành phần cơ bản của L2TP
a) Máy chủ mạng L2TP
Máy chủ L2TP có hai chức năng chính là: đóng vai trò là điểm kết
thúc của đường hầm PPTP và chuyển các gói đến từ đường hầm đến
mạng LAN riêng và ngược lại. Máy chủ chuyển các gói đến máy tính

đích bằng cách xử lý gói L2TP để có được địa chỉ mạng của máy tính
đích.
Không giống như máy chủ PPTP, máy chủ L2TP không có khả
năng lọc các gói. Chức năng lọc gói trong L2TP được thực hiện bởi
tường lửa.Tuy nhiên trong thực tế, người ta tích hợp máy chủ mạng và
tường lửa. Việc tích hợp này mang lại một số ưu điểm hơn so với PPTP,
đó là:
- L2TP không đòi hỏi chỉ có một cổng duy nhất gán cho tường lửa
như trong PPTP. Chương trình quản lý có thể tuỳ chọn cổng để gán
cho tường lửa, điều này gây khó khăn cho kẻ tấn công khi cố gắng
tấn công vào một cổng đã biết trong khi cổng đó có thể đã thay đổi.
- Luồng dữ liệu và thông tin điều khiển được truyền trên cùng một
UDP nên việc thiết lập tường lủa sẽ đơn giản hơn. Do một số tường
lửa không hỗ trợ GRE nên chúng tương thích với L2TP hơn là với
PPTP.
b) Phần mềm client L2TP
Nếu như các thiết bị của ISP đã hỗ trợ L2TP thì không cần phần
cứng hay phần mềm nào cho các client, chỉ cần kết nối chuẩn PPP là đủ.
Tuy nhiên, với các thiết lập trên thì không sử dụng được mã hoá của
IPSec. Do vậy ta nên sử dụng các client tương thích L2TP cho L2TP
VPN.
Một số đặc điểm của phần mềm client L2TP
- Tương thích với các thành phần khác của IPSec như: máy chủ mã
hoá, giao thức chuyển khoá, giải thuật mã hoá,…
- Đưa ra một chỉ báo rõ ràng khi IPSec đang hoat động.
- Hỗ trợ tải SA về.
- Hàm băm (hashing) xử lý được các địa chỉ IP động.
- Có cơ chế bảo mật khoá (mã hoá khoá với mật khẩu).
- Có cơ chế chuyển đổi mã hoá một cách tự động và định kỳ.
- Chặn hoàn toàn các lưu lượng không IPSec.

c) Các bộ tập trung truy cập mạng
Một ISP cung cấp dịch vụ L2TP cần phải cài một NAS cho phép
L2TP để hỗ trợ cho các client L2TP chạy trên các nền khác nhau như
Unix, Windows, Macintosh.
Các ISP có thể cung cấp các dịch vụ L2TP mà không cần phải thêm
các thiết bị hỗ trợ L2TP vào máy chủ truy cập của họ, điều này đói hỏi
tất cả người dùng phải có client L2TP tại máy của họ. Điều này cho
phép người dùng có thể sử dụng dịch vụ của nhiều ISP khi mà mô hình
mạng của họ rộng lớn về mặt địa lý.
2.1.2 Khả năng áp dụng trong thực tế của L2TP
Việc lựa chọn một nhà cung cấp dịch vụ L2TP có thể thay đổi tuỳ
theo yêu cầu thiết kế mạng. Nếu thiết kế một VPN đòi hỏi mã hoá đầu
cuối-đầu cuối thì cần cài các client tương thích L2TP tại các host từ xa
và thoả thuận với ISP là sẽ xử lý mã hoá từ máy đầu xa đến tận máy chủ
của mạng VPN. Nếu xây dựng một mạng với múc độ bảo mật thấp hơn,
khả năng chịu đựng lỗi cao hơn và chỉ muốn bảo mật dữ liệu khi nó đi
trong đường hầm trên Inernet thì thoả thuận với ISP để họ hỗ trợ LAC
và mã hoá dữ liệu chỉ từ đoạn LAC đến LNS của mạng riêng.
L2TP là một thế hệ giao thức quay số truy cập mới của VPN. Nó
phối hợp những đặc tính tốt nhất của PPTP và L2F. Hầu hết các nhà
cung cấp sản phẩm PPTP đều đưa ra các sản phẩm tương thích L2TP
hoặc sẽ giới thiệu sau này.
Mặc dù L2TP chủ yếu chạy trên mạng IP, nhưng khả năng chạy trên
các mạng khác như Frame Relay, ATM đã làm cho nó thêm phổ biến.
L2TP cho phép một lượng lớn client từ xa được kết nối vào VPN hay
cho các kết nối LAN-LAN có dung lượng lớn. L2TP có cơ chế điều
khiển luồng để làm giảm tắc nghẽn trên đường hầm L2TP.
L2TP cho phép thiết lập nhiều đường hầm với cùng LAC và LNS.
Mỗi đường hầm có thể gán cho một ngưòi dùng xác định, hoặc một
nhóm các người dùng và gán cho các môi trường khác nhau tuỳ theo

thuộc tính chất lượng phục vụ QoS của người dùng.
2.2 Giao thức bảo mật IP - IPSEC
Các giao thức nguyên thuỷ TCP/IP không bao gồm các đặc tính bảo
mật vốn có. Trong giai đoạn đầu của Internet khi mà người dùng thuộc
các trường đại học và các viện nghiên cứu thì vấn đề bảo mật dữ liệu
không phải là vấn đề quan trọng như bây giờ khi mà Internet trở nên phổ
biến, các ứng dụng thương mại có mặt khắp nơi trên Internet và đối
tượng sử dụng Internet rộng hơn bao gồm cả các Hacker.
Để thiết lập tính bảo mật trong IP ở cấp độ gói, IETF đã đưa ra họ
giao thức IPSec. Họ giao thức IPSec đầu tiên đựoc dung cho xác thực,
mã hoá các gói dữ liệu IP, được chuẩn hoá thành các RFC từ 1825 đến
1829 vào năm 1995. Họ giao thức này mô tả kiến trúc cơ bản của IPSec
bao gồm hai loại tiêu đề được sử dụng trong gói IP, gói IP là đơn vị dữ
kiệu cơ sở trong mạng IP. IPSec định nghĩa 2 loại tiêu đề cho các gói IP
để điều khiển quá trình xác thực và mã hoá: một là xác thực tiêu đề IP –
AH (IP Authentication Header) điều khiển việc xác thực và hai là đóng
gói tải tin an toàn ESP (Encapsulation Security Payload) cho mục đích
mã hoá.
IPSec không phải là một giao thức. Nó là một khung của các tập
giao thức chuẩn mở cho phép những nhà quản trị mạng lựa chọn thuật
toán, các khoá và phương pháp nhận thực để cung cấp sự xác thực dữ
liệu, tính toàn vẹn dữ liệu, và sự tin cậy dữ liệu. IPSec là sự lựa chọn
cho bảo mật tổng thể các VPN, là phương án tối ưu cho mạng của công
ty. Nó đảm bảo truyền thông tin cậy trên mạng IP công cộng đối với các
ứng dụng.
IPsec tạo những đường hầm bảo mật xuyên qua mạng Internet để
truyền những luồng dữ liệu. Mỗi đường hầm bảo mật là một cặp những
kết hợp an ninh để bảo vệ luồng dữ liệu giữa hai Host.
IPSec được phát triển nhắm vào họ giao thức IP kế tiếp là IPv6,
nhưng do việc triển khai IPv6 còn chậm và sự cần thiết phải bảo mật các

gói IP nên IPSec đã được thay đổi cho phù hợp với IPv4. Việc hỗ trợ
cho IPSec chỉ là tuỳ chọn của IPv4 nhưng đối với IPv6 thì có sẵn IPSec.
2.2.1 Khung giao thức IPSec
IPSec là khung của các chuẩn mở, được phát triển bởi IETF.

Hình 2.20: Khung giao thức được sử dụng trong IPSec
Một số giao thức chính được khuyến khích sử dụng khi làm việc với
IPSec.
- Giao thức bảo mật IP (IPSec)
+ AH (Authentication Header)
+ ESP (Encapsulation Security Payload)
- Mã hoá bản tin
+ DES (Data Encryption Standard)
+ 3 DES (Triple DES)
- Các chức năng toàn vẹn bản tin
+ HMAC (Hash – ased Message Authentication Code)
+ MD5 (Message Digest 5)
+ SHA-1 (Secure Hash Algorithm -1)
- Nhận thực đối tác (peer Authentication)
+ Rivest, Shamir, and Adelman (RSA) Digital Signatures
+ RSA Encrypted Nonces
- Quản lý khoá
+ DH (Diffie- Hellman)
+ CA (Certificate Authority)
- Kết hợp an ninh
+ IKE (Internet Key Exchange)
+ ISAKMP (Internet Security Association and Key
Management Protocol)
IPSec là tập hợp những tiêu chuẩn mở làm việc cùng nhau để thiết
lập tính bảo mật, toàn vẹn dữ liệu và nhận thực giữa các thiết bị ngang

hàng. Những điểm ngang hàng có thể là những cặp Host hay những cặp
cổng nối bảo mật (những bộ định tuyến, những tường lửa, những bộ tập
trung VPN …) hay có thể giữa một host và một cổng nối bảo mật, như
trong VPN truy cập từ xa.
Hai giao thức chính của IPSec là AH (Authentication Header) và ESP
(Encapsulation Security Payload ).
- AH: Cho phép xác thực và kiểm tra tính toàn vẹn dữ liệu của các
gói IP truyền giữa hai hệ thống. Nó là một phương tiện để kiểm
tra xem dữ liệu có bị thay đổi trong khi truyền không. Do AH không
cung cấp khả năng mật mã dữ liệu nên các dữ liệu đều được truyền
dưới dạng bản rõ.
- ESP: Là một giao thức an toàn cho phép mật mã dữ liệu, xác thực
nguồn gốc dữ liệu, kiểm tra tính toàn vẹn dữ liệu. ESP đảm bảo tính
bí mật của thông tin thông qua việc mật mã ở lớp IP. Tất cả các lưu
lượng ESP đều được mật mã giữa hai hệ thống.
a) Giao thức AH
khuôn dạng AH

Hình 2.21: Khuôn dạng gói AH
+ Next header (8bit): Xác định kiểu dữ liệu của phần Payload tiếp sau
AH. Giá trị của trường này được lựa chọn từ tập các giá trị số giao thức
IP được định nghĩa bởi IANA (TCP_6; UDP_ 17).
+ Payload length (8bit): Xác định độ dài của AH theo đơn vị 32bit (4
Byte).
+ Reserved (16 bit): trường này dùng để dự trữ sử dụng trong tương lai.
Giá trị của trường này có thể đặt bằng 0 và có tham gia trong việc tính
Authentication Data.
+ Security Parameter Index (SPI):
- SPI là một số 32 bit bất kỳ, cùng với địa chỉ IP đích và giao thức
an ninh ESP cho phép nhận dạng duy nhất SA cho gói dữ liệu này.

Các giá trị SPI từ 1÷255 được dành riêng để sử dụng trong tương
lai. SPI thường được lựa chọn bởi phía thu khi thiết lập SA. SPI là
trường bắt buộc.
- Giá trị SPI 0 được sử dụng cục bộ. Có thẻ sử dụng giá trị này để
chỉ ra chưa có SA nào tồn tại.
+ Sequence number (SN):
- Trường 32 bit không dấu chứa một giá trị đếm tăng dần. SN là
trưòng bắt buộc cho dù phía thu không thực hiện dịch vụ chống
trùng lặp cho một SA cụ thể nào. việc xử lý SN tuỳ thuộc phía thu,
nghĩa là phía phát luôn phải truyền trường này, còn phía thu có thể
không cần phải xử lý nó.
- Bộ đếm của phía phát và phía thu đều được khởi tạo 0 khi một SA
được thiết lập (gói đầu tiên được truyền đi sử dụng SA sẽ có
SN=1). Nếu dịch vụ anti-replay được lựa chọn thì được phát đi sẽ
không được lặp lại (bằng cách thiết lập một SA mới, và do đó là
một khoá mới) trước khi truyền gói thứ 2
32
của một SA.
+ Authentication Data:
Trường này có độ dài biến đổi chứa một một giá trị kiểm tra tính toàn
vẹn ICV (integrity Check Value) cho gói tin. Độ dài của trường này
bằng số nguyên lần 32 bit (hay 4 Byte).
Trường này có thể chứa một phần dữ liệu đệm kiểu tường minh
(Explicit padding) để đảm bảo độ dài của AH header là số nguyên lần 32
bit (đối với IPv4) hoặc 64 bit (đối với IPv6).
b) Giao thức ESP
Khuôn dạng ESP

Hình 2.22: Khuôn dạng gói ESP
Trong đó:

+ Security Parameter Index (SPI):
- SPI là một số 32 bit bất kỳ, cùng với địa chỉ IP đích và giao thức
an ninh ESP cho phép nhận dạng duy nhất SA cho gói dữ liệu này.
Các giá trị SPI từ 1÷255 được dành riêng để sử dụng trong tương
lai. SPI thường được lựa chọn bởi phía thu khi thiết lập SA. SPI là
trường bắt buộc.
- Giá trị SPI 0 được sử dụng cục bộ. Có thẻ sử dụng giá trị này để
chỉ ra chưa có SA nào tồn tại.
+ Sequence number (SN):
- Trường 32 bit không dấu chứa một giá trị đếm tăng dần (SN). SN
là trưòng bắt buộc cho dù phía thu không thực hiện dịch vụ chống
trùng lặp cho một SA cụ thể nào. việc xử lý SN tuỳ thuộc phía thu,
nghĩa là phía phát luôn phải truyền trường này, còn phía thu có thể
không cần phải xử lý nó.
- Bộ đếm của phía phát và phía thu đều được khởi tạo 0 khi một SA
được thiết lập (gói đầu tiên được truyền đi sử dụng SA sẽ có
SN=1). Nếu dịch vụ anti-replay được lựa chọn thì được phát đi sẽ
không được lặp lại (bằng cách thiết lập một SA mới, và do đó là
một khoá mới) trước khi truyền gói thứ 2
32
của một SA.
+ Payload Data
Trường này có độ dài biến đổi chứa dữ liệu mô tả trong Next
header. Payload Data là trường bắt buộc và có độ dài bằng số nguyên lần
Byte.
+ Padding
Nếu thuật toán mật mã được sử dụng yêu cầu bản rõ (cleartext hay
plaintext) phải là số nguyên lần khối các Byte (trong mật mã khối) thì
Padding field được sử dụng để thêm vào Plaintext để có kích thước yêu
cầu.

Padding cần thiết để đảm bảo phần dữ liệu mật mã sẽ kết thúc ở
biên giới 4 Byte để phân biệt rõ ràng với trường Authentication Data.
Ngoài ra padding còn có thể được sử dụng để che dấu độ dài thực
của Payload, tuy nhiên mục dích này phải được cân nhắc vì nó ảnh
hưởng tói băng tần truyền dẫn. Bên gửi có thể thêm 0÷255 Padding
Byte.
+ Pad length
Trường này xácđịnh số padding Byte đã thêm vào. Các giá trị hợp
lệ là 0÷255. Pad length là trường bắt buộc.
+ Next header (8bit)
Là một trường bắt buộc. Next header xác định kiểu dữ liệu chứa
trong Payload Data. Giá trị của trường này được lựa chọn từ tập cácgiá
trị IP Protocol Numbers định nghĩa bởi IANA
+ Authentication Data
Trường có độ dài biến đổi chứa một giá trị kiểm tra tính toàn ven
ICV (integrity Check Value) tính trên dữ liệu của toàn bộ gói ESP trừ
trường Authentication Data. Độ dài của trường phụ thuộc vào hàm xác
thực được lựa chọn. trường này là tuỳ chọn, và chỉ được thêm vào nếu
dịch vụ authentication được lựa chọn cho SA đang xét. Thuật toán xác
thực phải chỉ ra độ dài của ICV và các bước xử lý cũng như các luật so
sánh cần thực hiện để kiểm tra tính toàn vẹn của gói tin.
C) Hoạt động của AH và ESP trong các chế độ (mode)
AH và ESP đều có thể được sử dụng cho các gói tin IP theo hai
cách khác nhau tương ứng với hai mode: Transport mode và Tunnel
mode.
+ Transport mode:
Được sử dụng phổ biến cho những kết nối giữa các host hay giữa
các thiết bị có chức năng như những host. Ví dụ, một cổng nối IPSec (đó
có thể là bộ định tuyến phần mềm IOS, FIX Firewall, hay bộ tập trung
VPN 3000 của Cisco) có thể xem như là một host khi được truy nhập

bởi một nhà quản lý cấu hình hay những hoạt động điều khiển khác.
Transport mode cho phép bảo vệ phần tải tin của gói dữ liệu, cung
cấp cơ chế bảo mật cho các giao thức ở lớp trên, nhưng không bảo vệ IP
header vì phần IP header luôn ở dạng “clear”.
Trong Transport mode, AH được chèn vào sau tiêu đề IP và trước
các giao thức lớp trên (TCP, UDP) hoặc bất kỳ tiêu đề IPSec đã được
chèn vào trước đó.
+ Tunnel mode:
Được sử dụng giữa các cổng nối như các bộ định tuyến, những FIX
Firewwall, những bộ tập trung. Tunnel mode cũng được sử dụng phổ
biến khi một host kết nối tới một trong những cổng nối đó để gia tăng
truy nhập tới các mạng được điều khiển bởi cổng nối đó, như trong
trường hợp những người dùng từ xa quay số truy cập tới một bộ định
tuyến hay bộ tập trung.

Hình 2.23: Khuôn dạng gói tin IPv4 trước và sau khi xử lý AH


Hình 2.24: Khuôn dạng gói tin IPv6 trước và sau khi xử lý AH


Hình 2.25: Khuôn dạng gói tin IPv4 trước và sau khi xử lý ESP

×