CHƯƠNG 3: CÔNG NGHỆ VPN
MỤC TIÊU
Học xong chương này sinh viên có thể:
o Trình bày được khái niệm, lợi ích của cơng nghệ VPN
o Trình bày được ngun lý hoạt động của VPN
o Triển khai, cài đặt, cấu hình được công nghệ VPN cho doanh nghiệp
o Tư vấn cho khách hàng triển khai công nghệ VPN.
o Rèn luyện khả năng tư duy logic.
3.1. Tổng quan về VPN
3.1.1 Khái niệm
Mạng riêng ảo hay còn được gọi với từ viết tắt VPN, đây không phải là một khái
niệm mới trong công nghệ mạng. VPN có thể được định nghĩa như là một dịch vụ mạng
ảo được triển khai trên cơ sở hạ tầng của hệ thống mạng cơng cộng với mục đích tiết
kiệm chi phí cho các kết nối điểm - điểm. Hai đặc điểm quan trọng của công nghệ VPN
là “riêng” và “ảo” tương ứng với hai thuật ngữ tiếng anh (Virtual and Private). VPN có
thể xuất hiện tại bất cứ lớp nào trong mơ hình OSI, VPN là sự cải tiến cơ sở hạ tầng
mạng WAN, làm thay đổi và làm tăng tính chất của mạng cục bộ cho mạng WAN.
55
Hình 3.1: Mơ hình VPN
3.1.2 Lợi ích của VPN
- VPN làm giảm chi phí thường xuyên: VPN cho phép tiết kiệm chi phí thuê
đường truyền và giảm chi phí phát sinh cho nhân viên ở xa nhờ vào việc họ truy cập
vào hệ thống mạng nội bộ thông qua các điểm cung cấp dịch vụ ở địa phương POP
(Point of Presence), hạn chế thuê đường truy cập của nhà cung cấp đến giá thành cho
việc kết nối Lan – to – Lan giảm đi đáng kể so với việc thuê đường Leased - line.
-
Giảm chi phí quản lý và hỗ trợ: Với việc sử dụng dịch vụ của nhà cung cấp,
chúng ta chỉ phải quản lý các kết nối đầu cuối tại các chi nhánh mạng, đồng thời tận
dụng cơ sở hạ tầng của mạng Internet và đội ngũ kỹ thuật của nhà cung cấp dịch vụ.
-
VPN đảm bảo an tồn thơng tin, tính tồn vẹn và xác thực: Dữ liệu truyền trên
mạng được mã hóa bằng các thuật tốn và được truyền trong các đường hầm (Tunnel)
nên thông tin có độ an tồn cao.
-
VPN dễ dàng kết nối các chi nhánh thành mạng nội bộ: VPN có thể dễ dàng kết
nối hệ thống mạng giữa các chi nhánh của một cơng ty và văn phịng trung tâm thành
một mạng LAN với chi phí thấp.
- VPN hỗ trợ các giao thức mạng thông dụng nhất hiện nay như TCP/IP: thông tin
được gửi đi trên VPN đã được mã hóa do đó các địa chỉ trên mạng riêng được che giấu
và chỉ sử dụng các địa chỉ bên ngoài Internet.
3.1.3 Chức năng của VPN
VPN cung cấp 3 chức năng chính:
- Sự tin cậy (Confidentiality) : Người gửi có thể mã hóa các gói dữ liệu trước khi
truyền chúng ngang qua mạng nên khơng ai có thể truy nhập thơng tin mà khơng được
phép.
- Tính tồn vẹn dữ liệu (Data Integrity) : Người nhận có thể kiểm tra rằng dữ liệu
đã được truyền qua mạng internet mà khơng có sự thay đổi nào.
- Xác thực nguồn gốc (Origin authentication) : Người nhận có thể xác thực
nguồn gốc của gói dữ liệu, đảm bảo và công nhận nguồn thông tin.
56
3.1.4 Các thành phần cần thiết tạo nên kết nối VPN
- User authentication: cung cấp cơ chế chứng thực người dùng, cho phép người
dùng hợp lệ kết nối vào hệ thống VPN
- Address management : cung cấp địa chỉ IP hợp lệ cho người dùng sau khi gia
nhập hệ thống VPN để có thể truy cập tài nguyên trên mạng nội bộ.
- Data Encryption : cung cấp giải pháp mã hóa dữ liệu trong q trình truyền
nhằm đảm bảo tính riêng tư và toàn vẹn dữ liệu.
- Key Management : cung cấp giải pháp quản lý các khóa dùng cho q trình mã
hóa và giải mã dữ liệu.
Phụ thuộc vào kiểu VPN (truy nhập từ xa Remote Access hay kết nối ngang
hàng Site-to-Site), một số thành phần nhất định cần thiết để hình thành VPN:
-
Phần mềm máy trạm cho mỗi người dùng xa.
-
Các thiết bị phần cứng riêng biệt, ví dụ như: Bộ trung tâm (VPN Concentrator)
hoặc tường lửa (Secure PIX Firewall).
-
Các máy chủ VPN sử dụng cho dịch vụ quay số.
-
Máy chủ truy cập NAS (Network Access Server) dùng cho các người dùng VPN
ở xa truy nhập.
-
Trung tâm quản lý mạng và chính sách VPN.
3.1.5 Phân loại VPN
3.1.5.1 VPN Remote Access
Hình 3.2: VPN Remote Access
57
VPN Remote Access: Hay cũng được gọi là Virtual Private Dial - up Network
(VPDN), đây là dạng kết nối User – to – Lan áp dụng cho các công ty mà các nhân viên
có nhu cầu kết nối tới mạng riêng (Private network) từ các địa điểm từ xa.
Mỗi công ty có thể cài đặt một mạng kiểu Remote – Access diện rộng theo các
tài nguyên từ một nhà cung cấp dịch vụ ESP (Enterprise Service Provider). ESP cài đặt
một công nghệ Network Access Server (NAS) và cung cấp cho các user ở xa với phần
mềm client trên mỗi máy của họ.
Một đặc điểm quan trọng của VPN Remote Access là: cho phép người dùng di
động truy cập từ xa vào hệ thống mạng nội bộ trong công ty để làm việc.
Để thực hiện được VPN Remote Access cần :
- Có 01 VPN Getway (có 01 IP Public). Đây là điểm tập trung xử lý khi VPN Client
quay số truy cập vào hệ thống VPN nội bộ.
- Các VPN Client kết nối vào mạng Internet.
3.1.5.2VPN Site-to-Site
Hình 3.3: VPN Site - to – Site
VPN Site - to – Site: Bằng việc sử dụng một thiết bị chuyên dụng và cơ chế bảo
mật diện rộng, mỗi cơng ty có thể tạo kết nối với rất nhiều các site qua một mạng công
cộng như Internet.
Các mạng VPN Site – To – Site có thể thuộc hai dạng:
58
- Intranet: Intranet VPN mở rộng các dịch vụ của mạng nội bộ tới các trụ sở ở
xa, đây là một mơ hình liên mạng hướng phi kết nối qua một mạng WAN dùng chung.
Yêu cầu ở đây là phải thực hiện được tất cả các dịch vụ mạng đã được thực hiện ở
mạng trung tâm.
- Extranet: Liên kết các khách hàng, các nhà cung cấp, hay cộng đồng người
sử dụng vào mạng Intranet của một tổ chức trên nền hạ tầng mạng công cộng sử dụng
các đường truyền thuê bao. Giải pháp này cũng cung cấp các chính sách như trong
mạng riêng của một tổ chức như đảm bảo tính bảo mật, tính ổn định.
Về mặt kiến trúc thì Intranet và Extranet tương tự nhau, tuy nhiên điểm khác
biệt giữa chúng là phạm vi các ứng dụng cho phép các đối tác Extranet VPN sử dụng.
So với Intranet VPN thì vấn đề tiết kiệm chi phí khơng rõ bằng nhưng điều quan trọng
là khả năng cộng tác với các đối tác, khách hàng hay các nhà cung cấp sản phẩm. Việc
để cho khách hàng nhập trực tiếp dữ liệu về các hợp đồng vào hệ thống sẽ tiết kiệm
được rất nhiều thời gian cũng như các lỗi không đáng có, tuy nhiên việc này rất khó
thực hiện với cơng nghệ WAN truyền thống. Extranet VPN thường sử dụng các kết nối
dành riêng và thêm vào các lớp bảo mật để xác thực và giới hạn truy nhập trên hệ
thống.
Để thực hiện được VPN Site-to-Site cần:
-
Có 02 VPN Getway ( Mỗi VPN Getway có 01 IP Public). Đây là điểm tập trung
xử lý khi VPN Getway phía bên kia quay số truy cập vào.
-
Các Client kết nối vào hệ thống mạng nội bộ.
3.2. Một số giao thức mã hóa trong VPN
Hiện nay có nhiều giải pháp để giải quyết hai vấn đề về đóng gói dữ liệu và an
tồn dữ liệu trong VPN, dựa trên nền tảng là các giao thức đường hầm. Một giao thức
đường hầm sẽ thực hiện đóng gói dữ liệu với phần Header (và có thể cả Trailer) tương
ứng để truyền qua Internet. Giao thức đường hầm là cốt lõi của giải pháp VPN và hiện
có 4 giao thức đường hầm được sử dụng trong VPN đó là :
- Giao thức định hướng lớp 2 : L2F ( Layer 2 Forwarding)
59
- Giao thức đường hầm điểm – điểm : PPTP (Point to point Tunneling protocol)
- Giao thức đường hầm lớp 2 : L2TP (Layer 2 tunneling protocol)
- Giao thức bảo mật IP : IPSec (Internet Protocol Security)
- Giao thức GRE (Generic Routing Encapsulation)
3.2.1 Giao thức định hướng lớp 2 : L2F ( Layer 2 Forwarding)
Giao thức định hướng lớp 2 L2F do Cisco phát triển độc lập và được phát triển
dựa trên giao thức PPP ( Point to Point Protocol). L2F cung cấp giải pháp cho dịch vụ
quay số ảo bằng cách thiết lập một đường hầm bảo mật thông qua cơ sở hạ tầng công
cộng như Internet. L2F cho phép đóng gói các PPP trong L2F, định hướng hầm ở lớp
liên kết dữ liệu.
3.2.1.1 Cấu trúc gói của L2F
1 bit 1 bit 1 bit 1 bit
8 bit
1 bit
F
K
P
S
Reserved
C
3 bit
8 bit
8 bit
Version
Protocol
Sequence
Multiplex ID
Client ID
Length
Offset
Key
Data
Checksums
Hình 3.4: Khn dạng gói của L2F
-
3.2.1.2 Ưu nhược điểm của L2F
Ưu điểm :
+ Cho phép thiết lập đường hầm đa giao thức
+ Được cung cấp bởi nhiều nhà cung cấp
-
Nhược điểm:
+ Khơng có mã hóa
+ Yếu trong việc xác thực người dùng
60
+ Khơng có điều khiển luồng cho đường hầm
3.2.2 Thực hiện L2F
L2F đóng gói những gói ở lớp 2 và trong trường hợp này là đóng gói PPP, truyền
qua một mạng. L2F sử dụng các thiết bị:
-
NAS: Hướng lưu lượng đến và đi từ máy khách ở xa (Remote client) và
Gateway home.
-
Tunnel: Định hướng đường đi giữa NAS và Home Gateway.
-
Home Gateway: Ngang hàng với NAS.
-
Kết nối: Là một kết nối PPP trong đường hầm. Trong CLI, một kết nối L2F
được xem như là một phiên.
-
Điểm đích (Destination): Là điểm kết thúc ở đầu xa của đường hầm. Trong
trường hợp này thì Home gateway là điểm đích.
Hình 3.5: Mơ hình L2F
Hoạt động của L2F
Hoạt động của L2F bao gồm các hoạt động: thiết lập kết nối, đường hầm và
phiên làm việc. Ví dụ minh họa hoạt động của L2F:
- Một người sử dụng ở xa quay số tới hệ thống NAS và khởi đầu một kết nối PPP tới
ISP.
61
- Hệ thống NAS và máy khách trao đổi các gói giao thức điều khiển liên kết LCP (Link
Control Protocol).
- NAS sử dụng cơ sở dữ liệu cục bộ liên quan đến vùng (Domain Name) hay nhận thực
Radius để quyết định có hay khơng người sử dụng u cầu dịch vụ L2F.
- Nếu có người sử dụng yêu cầu L2F thì quá trình tiếp tục: NAS thu nhận địa chỉ của
Gateway đích.
- Một đường hầm được thiết lập từ NAS tới Gateway đích nếu giữa chúng chưa có
đường hầm nào. Sự thành lập đường hầm bao gồm giai đoạn nhận thực từ ISP tới
Gateway đích để chống lại sự tấn công bởi những kẻ thứ ba.
- Một kết nối PPP mới được tạo ra trong đường hầm, điều này có tác động kéo dài
phiên PPP từ người sử dụng ở xa tới Home Gateway. Kết nối này được thiết lập như
sau: Home Gateway tiếp nhận các lựa chọn và tất cả thông tin nhận thực PAP/CHAP,
như đã thoả thuận bởi đầu cuối người sử dụng và NAS. Home Gateway chấp nhận kết
nối hay nó thoả thuận lại LCP và nhận thực lại người sử dụng.
- Khi NAS tiếp nhận lưu lượng dữ liệu từ người sử dụng, nó lấy gói và đóng gói lưu
lượng vào trong một khung L2F và hướng nó vào trong đường hầm.
- Tại Home Gateway, khung L2F được tách bỏ, và dữ liệu đóng gói được hướng tới
mạng công ty.
3.2.2 Giao thức đường hầm điểm điểm - PPTP
Giao thức đường hầm điểm – điểm PPTP được đưa ra đầu tiên bởi một nhóm
các cơng ty được gọi là PPTP Forum. Nhóm này bao gồm 3 cơng ty: Ascend,
Microsoft, ECI Telematicsunication và US Robotic. Ý tưởng cơ sở của giao thức này là
tách các chức năng chung và riêng của truy cập từ xa, lợi dụng cơ sở hạ tầng Internet
sẵn có để tạo kết nối bảo mật giữa người dùng ở xa và mạng riêng. Người dùng ở xa chỉ
việc quay số tới nhà cung cấp dịch vụ Internet địa phương là có thể tạo đường hầm bảo
mật tới mạng riêng của họ. Giao thức PPTP được xây dựng dựa trên chức năng của
PPP, cung cấp khả năng quay số truy cập tạo ra một đường hầm bảo mật thơng qua
Internet đến site đích. PPTP sử dụng giao thức bọc gói định tuyến chung GRE (Generic
Routing Encapsulation) được mơ tả lại để đóng gói và tách gói PPP, giao thức này cho
62
phép PPTP mềm dẻo xử lý các giao thức khác không phải IP như: IPX, TBEUI. Do
PPTP dựa trên PPP nên nó cũng sử dụng PAP, CHAP để xác thực. PPTP có thể sử dụng
PPP để mã hố dữ liệu nhưng Microsoft đã đưa ra phương thức mã hoá khác mạnh hơn
đó là mã hố điểm – điểm MPPE (Microsoft Point – to – Point Encryption) để sử dụng
cho PPTP.
3.2.2.1 PPP và PPTP
PPP đã trở thành giao thức quay số truy cập vào Internet và các mạng TCP/IP
rất phổ biến hiện nay. Làm việc ở lớp liên kết dữ liệu trong mơ hình OSI, PPP bao gồm
phương thức đóng, tách gói cho các loại gói dữ liệu khác nhau để truyền nối tiếp. Đặc
biệt PPP định nghĩa hai bộ giao thức: giao thức điều khiển liên kết LCP (Link Control
Protocol) cho việc thiết lập, cấu hình và kiểm tra kết nối. Giao thức điều khiển mạng
NCP (Network Control Protocol) cho việc thiết lập và cấu hình các giao thức lớp mạng
khác nhau.
PPP có thể đóng các gói IP, IPX, NETBEUI và truyền đi trên kết nối điểm –
điểm từ máy gửi đến máy nhận. Để việc truyền dữ liệu có thể diễn ra thì mỗi PPP phải
gửi gói LCP để kiểm tra cấu hình và kiểm tra liên kết dữ liệu.
Khi một kết nối PPP được thiết lập thì người dùng thường đã được xác thực.
Đây là giai đoạn tùy chọn trong PPP, tuy nhiên, nó ln ln được cung cấp bởi các
ISP. Việc xác thực được thực hiện bởi PAP hay CHAP.
Với PAP mật khẩu dược gửi qua kết nối dưới dạng văn bản đơn giản và khơng
có bảo mật để tránh khỏi bị tấn công thử và lỗi. CHAP là một phương thức xác thực
mạnh hơn, CHAP sử dụng phương thức bắt tay 3 chiều. CHAP chống lại các vụ tấn
công quay lại bằng cách sử dụng các giá trị thách đố (challenge value) duy nhất và
không thể đoán trước được. CHAP phát ra giá trị thách đố trong suốt và sau khi thiết
lập xong kết nối, lập lại các thách đố có thể giới hạn số lần bị đặt vào tình thế bị tấn
cơng.
PPTP sử dụng PPP để thực hiện các chức năng sau:
-
Thiết lập và kết thúc kết nối vật lý.
-
Xác thực người dùng.
63
-
Tạo các gói dữ liệu PPP.
PPP thiết lập kết nối, PPTP sử dụng các quy luật đóng gói của PPP để đóng các
gói truyền trong đường hầm. Để tận dụng ưu điểm của kết nối tạo ra bởi PPP, PPTP
định nghĩa 2 loại gói: Gói điều khiển; Gói dữ liệu và gán chúng vào 2 kênh riêng là
kênh điều khiển và kênh dữ liệu. Sau đó PPTP phân tách các kênh điều khiển và kênh
dữ liệu thành luồng điều khiển với giao thức TCP và luồng dữ liệu với giao thức IP. Kết
nối TCP được tạo giữa client PPTP và máy chủ PPTP được sử dụng để truyền thông
báo điều khiển.
Các gói dữ liệu là dữ liệu thường của người dùng. Các gói điều khiển được gửi
theo chu kỳ để lấy thông tin về trạng thái kết nối và quản lý báo hiệu giữa client PPTP
và máy chủ PPTP. Các gói điều khiển cũng được dùng để gửi các thơng tin quản lý thiết
bị, thơng tin cấu hình giữa hai đầu đường hầm.
Kênh điều khiển được yêu cầu cho việc thiết lập một đường hầm giữa client
PPTP và máy chủ PPTP. Phần mềm client có thể nằm ở máy người dùng từ xa hay nằm
tại máy chủ của ISP.
Đường hầm được thiết lập thì dữ liệu người dùng được truyền giữa client và
máy chủ PPTP. Các gói PPTP chứa các gói dữ liệu được đóng gói bởi tiêu đề GRE, sử
dụng số ID của Host cho điều khiển truy cập, ACK cho giám sát tốc độ dữ liệu truyền
trong đường hầm.
PPTP cũng có cơ chế điều khiển tốc độ nhằm giới hạn số lượng dữ liệu truyền
đi. Cơ chế này làm giảm tối thiểu dữ liệu phải truyền lại do mất gói.
3.2.2.2 Cấu trúc gói của PPTP
- Đóng gói dữ liệu đường hầm PPTP
Dữ liệu đường hầm PPTP được đóng gói thơng qua nhiều mức: đóng gói
khung PPP, đóng gói các GRE, đóng gói lớp liên kết dữ liệu.
Cấu trúc gói dữ liệu đã được đóng gói
Tiêu đề
Tiêu
Tiêu đề
Tiêu
Tải PPP được mã
Phần đi liên
liên kết
đề IP
GRE
đề PPP
hóa (IP, IPX,
kết dữ liệu
dữ liệu
NETBEUI)
64
Hình 3.6: Cấu trúc gói dữ liệu trong đường hầm PPTP
+ Đóng gói khung PPP: Phần trải PPP ban đầu được mật mã và đóng gói với
phần tiêu đề PPP để tạo ra khung PPP. Sau đó, khung PPP được đóng gói với
phần tiêu đề của phiên bản sửa đổi giao thức GRE.
Đối với PPTP phần tiêu đề của GRE được sửa đổi một số điểm sau:
+ Một bit xác nhận được sử dụng để khẳng định sự có mặt của trường xác nhận
32 bit.
+ Trường Key được thay thế bằng trường độ dài Payload 16 bit và trường nhận
dạng cuộc gọi 16 bit. Trường nhận dạng cuộc gọi Call ID được thiết lập bởi PPTP
client trong quá trình khởi tạo đường hầm PPTP.
+ Một trường xác nhận dài 32 bit được đưa vào.
GRE là giao thức cung cấp cơ chế chung cho phép đóng gói dữ liệu để gửi qua
mạng IP.
-
Đóng gói các gói GRE
Tiếp đó, phần tải PPP đã được mã hóa và phần tiêu đề GRE được đóng gói với
một tiêu đề IP chứa thơng tin địa chỉ nguồn và đích cho PPTP client và PPTP server.
-
Đóng gói lớp liên kết dữ liệu
Do đường hầm của PPTP hoạt động ở lớp 2 – lớp liên kết dữ liệu trong mơ hình
OSI nên lược đồ dữ liệu IP sẽ được đóng gói với phần tiêu đề (Header) và phần kết thúc
(Trailer) của lớp liên kết dữ liệu. Ví dụ: Nếu IP datagram được gửi qua giao diện
Ethernet thì sẽ được đóng gói với phần Header và Trailer Ethernet. Nếu IP datagram
được gửi thông qua đường truyền WAN điểm tới điểm thì sẽ được đóng gói với phần
Header và Trailer của giao thức PPP.
-
Xử lý dữ liệu đường hầm PPTP
65
Khi nhận được dữ liệu đường hầm PPTP, PPTP client hay PPTP server sẽ thực
hiện các bước xử lý:
+ Xử lý và loại bỏ phần Header và Trailer của lớp liên kết dữ liệu.
+ Xử lý và loại bỏ IP Header.
+ Xử lý và loại bỏ GRE Header và PPP Header.
+ Giải mã hoặc giải nén phần PPP Payload nếu cần.
+ Xử ls phần Payload để nhận hoặc chuyển tiếp.
IP
IPX
NetBEUI
NDISWAN
PPTP
L2PT
Async
X.25
ISD
N
Hình 3.7 : Sơ đồ đóng gói PPTP
66
3.2.2.3 Đường hầm
PPTP cho phép người dùng và ISP có thể tạo ra nhiều loại đường hầm khác
nhau. Người dùng có thể chỉ định điểm kết thúc của đường hầm ngay tại máy tính của
mình nếu có cái PPTP, hay tại máy chủ của ISP (máy tính của ISP phải hỗ trợ PPTP).
Có 2 lớp đường hầm: Đường hầm tự nguyện và đường hầm bắt buộc.
Đường hầm tự nguyện được tạo ra theo yêu cầu của người dùng. Khi sử dụng
đường hầm tự nguyện, người dùng có thể đồng thời mở một đường hầm bảo mật thơng
qua Internet và có thể truy cập đến một Host trên Internet bởi giao thức TCP/IP bình
thường. Đường hầm tự nguyện thường dùng để cung cấp tính riêng tư và tồn vẹn dữ
liệu cho lưu lượng Intranet được gửi qua Internet.
Đườ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. Điểm kết thúc của đường hầm bắt buộc nằm ở máy chủ truy
cập từ xa. Tất cả dữ liệu truyền đi từ người dùng qua đường hầm PPTP đều phải thông
qua RAS. Do đường hầm bắt buộc định trước điểm kết thúc và người dùng khơng thể
truy cập phần cịn lại của Internet nên nó điều khiển truy cập tốt hơn so với đường hầm
tự nguyện. Nếu vì tính bảo mật mà khơng cho người dùng truy cập Internet cơng cộng
thì đường hầm bắt buộc ngăn không cho họ truy cập Internet công cộng nhưng vẫn cho
phép họ truyền thông qua Internet để truy cập VPN. Một ưu điểm nữa của đường hầm
bắt buộc là một đường hầm có nhiều điểm kết nối. Đặc tính này làm giảm yêu cầu băng
thô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ừ RAS đến người dùng nằm ngồi đường hầm nên dễ bị tấn cơng.
67
Hình 3.8: Đường hầm bắt buộc và đường hầm tự nguyện
Sử dụng Radius để cung cấp đường hầm bắt buộc và có một vài ưu điểm đó là:
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 và
tính cước dựa vào số điện thoại, các phương thức xác thực khác như thẻ bài (Token)
hay thẻ thông minh (Smart Card).
3.2.3 Giao thức đường hầm lớp 2 – L2TP
Giao thức đường hầm lớp 2 L2TP là sự kết hợp giữa hai giao thức PPTP và L2F
– chuyển tiếp lớp 2. PPTP do Microsoft đưa ra cịn L2F do Cisco khởi xướng. Hai cơng
ty này đã hợp tác cùng kết hợp 2 giao thức lại và đăng ký chuẩn hoá tại IETF. Giống
như PPTP, L2TP là giao thức đường hầm, nó sử dụng tiêu đề đóng gói riêng cho việc
truyền các gói ở lớp 2. Một điểm khác biệt chính giữa L2F và PPTP là L2F khơng phụ
thuộc vào IP và GRE, cho phép nó có thể làm việc ở môi trường vật lý khác. Bởi vì
GRE khơng sử dụng như giao thức đóng gói, nên L2F định nghĩa riêng cách thức các
gói được điều khiển trong mơi trường khác. Nhưng nó cũng hỗ trợ TACACS+ và
RADIUS cho việc xác thực. Có hai mức xác thực người dùng: Đầu tiên ở ISP trước khi
thiết lập đường hầm, sau đó là ở cổng nối của mạng riêng sau khi kết nối được thiết lập.
L2TP mang đặc tính của PPTP và L2F. Tuy nhiên, L2TP định nghĩa riêng một
giao thức đường hầm dựa trên hoạt động của L2F. Nó cho phép L2TP truyền thơng qua
nhiều mơi trường gói khác nhau như X.25, Frame Relay, ATM. Mặc dù nhiều công cụ
chủ yếu của L2TP tập trung cho UDP của mạng IP, nhưng có thể thiết lập một hệ thống
L2TP mà không cần phải sử dụng IP làm giao thức đường hầm. Một mạng ATM hay
Frame Relay có thể áp dụng cho đường hầm L2TP.
68
Do L2TP là giao thức ở lớp 2 nên nó cho phép người dùng sử dụng các giao thức
điều khiển một cách mềm dẻo khơng chỉ là IP mà có thể là IPX hoặc NETBEUI. Cũng
giống như PPTP, L2TP cũng có cơ chế xác thực PAP, CHAP hay RADIUS.
3.2.2.1 Dạng thức của L2TP
Các thành phần chức năng của L2TP bao gồm: giao thức điểm – điểm, đường
hầm, hệ thống xác thực và mã hố. L2TP có thể sử dụng quản lý khoá để tăng thêm độ
bảo mật. Kiến trúc của L2TP như hình vẽ:
Hình 3.9 : Kiến trúc của L2TP
3.2.3.2 Cấu trúc gói dữ liệu L2TP
- Đóng gói dữ liệu đường hầm L2TP
Đường hầm dữ liệu L2TP được thực hiện thơng qua nhiều mức đóng gói. Cấu
trúc cuối cùng của dữ liệu đường hầm L2TP trên nền IPSec được thể hiện qua hình vẽ
dưới đây:
Tiêu
đề
liên
kết
dữ
liệu
Tiêu Tiêu
Tiêu
đề
đề ESP đề
IP
IPSec UDP
Tiêu
đề
L2TP
Tiêu Tiêu đề
đề
PPP(IP,
PPP IPX,Net
BEUI)
Phần
đi
ESP
IPSec
Phần
đi
nhận
thực
ESP
IPSec
Phần
đi
liên
kết
dữ
liệu
Được mã hóa
Được xác thực
Hình 3.10 : Cấu trúc gói dữ liệu trong đường hầm L2TP
69
Do đường hầm L2TP hoạt động ở lớp 2 của mơ hình OSI – lớp liên kết dữ liệu
nên các IP datagram cuối cùng sẽ được đóng gói với phần header và trailer tương ứng
với kỹ thuật ở lớp đường truyền dữ liệu của giao diện vật lý đầu ra. Ví dụ, khi các IP
datagram được gửi vào một giao diện Ethernet thì Ipdatagram này sẽ được đóng gói với
Ethernet header và Ethernet Trailer. Khi các IP datagram được gửi trên đường truyền
WAN điểm – điểm (chẳng hạn đường dây điện thoại hay ISDN) thì IPdatagram được
đóng gói với PPP header và PPP trailer.
-
Xử lý dữ liệu đường hầm L2TP trên nền IPSec
Khi nhận được dữ liệu đường hầm L2TP trên nền IPSec, L2TP client hay L2TP
server sẽ thực hiện các bước sau:
+ Xử lý và loại bỏ header và trailer của lớp đường truyền dữ liệu.
+ Xử lý và loại bỏ IP header.
+ Dùng IPSec ESP Authentication để xác thực IP payload và IPSec ESP
header.
+ Dùng IPSec ESP header để giải mã phần gói đã mật mã.
+ Xử lý UDP header và gửi gói L2TP tới lớp L2TP.
+ L2TP xử lý Tunnel ID và Call ID trong L2TP header để xác định
đường hầm L2TP cụ thể.
+ Dùng PPP header để xác định PPP payload và chuyển tiếp nó tới dúng
giao thức để xử lý.
-
Sơ đồ đóng gói L2TP trên nền IPSec
Sơ đồ đóng gói L2TP qua kiến trúc mạng từ một VPN client thông qua kết
nối VPN truy cập từ xa sử dụng một modem tương tự như hình dưới đây:
IPSE
C
IP
IPX
NetBEUI
NDIS
NDISWAN
70
Tiêu
đề liên
kết dữ
liệu
Tiêu Tiêu
Tiêu
đề
đề ESP đề
IP
IPSec
UDP
Tiêu
đề
L2TP
Tiêu Tiêu
đề
đề
PPP PPP(IP
,
IPX,N
etBEU
I)
Được mã hóa
Phần
đi
ESP
IPSec
Phần
đi
nhận
thực
ESP
IPSec
Phần
đi
liên
kết
dữ
liệu
Hình 3.11: Sơ đồ đóng gói L2TP
3.2.3.3Đường hầm L2TP
L2TP sử dụng những lớp đường hầm tương tự như PPTP, tuỳ theo người sử
dụng là client PPP hay client L2TP mà sử dụng đường hầm là tự nguyện hay bắt buộc.
Đường hầm tự nguyện được tạo ra theo yêu cầu của người dùng cho mục đích cụ thể.
Khi sử dụng đường hầm tự nguyện thì người dùng có thể đồng thời mở đường hầm bảo
mật thơng qua Internet, vừa có thể truy cập vào một host bất kỳ trên Internet theo giao
thức TCP/IP bình thường. Điểm kết thúc của đường hầm tự nguyện nằm ở máy tính
người dùng. Đường hầm tự nguyện thường được sử dụng để cung cấp tính riêng tư và
tồn vẹn dữ liệu cho lưu lượng Intranet gửi thơng qua Internet.
71
Hình 3.12 : Đường hầm tự nguyện và bắt buộc của L2TP
Đườ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 sử 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 sử dụng nằm ngồ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 ngun 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ư:
72
-
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.
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ã hố đầ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 nó trở nên 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.
3.2.4 Giao thức IP Sec
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 đươc dùng cho xác thực, mã hố các gói dữ liệu IP,
73
đượ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 q trình xác thực và mã hố: 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à thực hiện đóng gói tải tin an tồn
ESP (Encapsulation Security Payload) cho mục đích mã hố.
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 tồ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 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.
3.2.4.1Khung giao thức IPSec
IPSec là khung của các chuẩn mở, được phát triển bởi IETF.
74
Hình 3.13: 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)
75
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, tồ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 tồ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 tồ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.
3.2.4.2 Giao thức AH
Khuôn dạng AH
Next Header
Payload Length
Reserved
Security Parameters Index (SPI)
Sequence Number
Authentication Data
32 bit
Hình 3.14: Khn 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.
- Payload length (8bit): Xác định độ dài của AH theo đơn vị 32bit (4 Byte).
- Reserved (16 bit): Phần dành riêng chưa dùng.
- 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.
76
- Sequence number (SN): Số thứ tự gói
+ 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.
+ 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. 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
trước khi truyền gói thứ 232 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 tồn vẹn ICV
(Integrity Check Value) cho gói tin.
+ 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).
3.2.4.3 Giao thức ESP
Khuôn dạng ESP:
Hình 3.15: Khn dạng gói ESP
Trong đó:
- Security Parameter Index (SPI – 32 bit): Nhận dạng SA giống AH
- Sequence number (SN): số thứ tự gói, tương tự trong AH
- 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, có độ dài bằng số nguyên lần Byte.
- Padding:
77
+ 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
để dùng 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õ dù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ể dùng 0÷255 Padding Byte.
-
Pad length: Trường này xác định số padding Byte đã dùng. 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 tồn vẹn ICV (Integrity Check Value) tính trên dữ liệu của tồ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 dùng nếu dịch vụ Authentication được lựa
chọn cho SA đang xét.
3.2.4.4 Hoạt động của AH và ESP trong các chế độ
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.
78
+ 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
ln ở 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, FIX
Firewwall, 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.
Trước khi thêm AH
Tiêu đề IP gốc
TCP
Dữ liệu
Sau khi thêm AH (Transport Mode)
Tiêu đề IP gốc
AH
TCP
Dữ liệu
Xác thực
(Trừ các trường biến đổi)
Sau khi thêm AH (Tunnel mode)
Tiêu đề IP mới (tùy chọn)
Tiêu đề IP gốc
AH
TCP Dữ liệu
Xác thực
Hình 3.16: Khn dạng gói tin IPV4 trước và sau khi xử lý AH
Trước khi thêm AH
Tiêu đề IP gốc
Các tiêu đề
TCP
Dữ liệu
(nếu có)
Sau khi thêm AH (Transport Mode)
Tiêu đề
Phân tích, định
IP gốc
tuyến, phân mảnh
AH
Đích
TCP Dữ liệu
(tùy chọn)
Xác thực
(Trừ các trường biến đổi)
79