MỤC LỤC
DANH MỤC HÌNH VẼ iii
THUẬT NGỮ VIẾT TẮT v
MỞ ĐẦU
CHƯƠNG 1: TỔNG QUAN VỀ MẠNG RIÊNG ẢO VPN .1
1.1 Định nghĩa .1
1.2 Lịch sử phát triển của VPN .2
1.3 Chức năng và ưu điểm của VPN .4
1.3.1 Chức năng .4
1.3.2 Ưu điểm .4
1.4 Phân loại mạng VPN .7
1.4.1 Mạng VPN truy cập từ xa .7
1.4.2 Mạng VPN cục bộ .9
1.4.3 Mạng VPN mở rộng 10
CHƯƠNG 2: CÁC GIAO THỨC ĐƯỜNG HẦM 12
2.1 Giao thức định hướng lớp 2-L2F 12
2.1.1 Cấu trúc gói của L2F 12
2.1.2 Ưu nhược điểm của L2F 13
2.1.3 Thực hiện L2F 13
2.1.4 Hoạt động của L2F 14
2.1.5 Quản lý L2F 15
2.2 Giao thức đường hầm điểm-điểm PPTP 15
2.2.1 Kiến trúc của PPTP 16
2.2.2 Sử dụng PPTP 25
2.2.3 Khả năng áp dụng thực tế của PPTP 27
2.3 Giao thức đường hầm lớp 2- L2TP 27
2.3.1 Kiến trúc của L2TP 28
2.3.2 Sử dụng L2TP 36
2.3.3 Khả năng áp dụng thực tế của L2TP 37
2.4 Giao thức bảo mật IP- IPSec 38
2.4.1 Khung giao thức IPSec 39
2.4.2 Hoạt động của IPSec 47
2.4.3 Ví dụ về hoạt động của IPSec 56
2.4.4 Các vấn đề còn tồn đọng trong IPSec 57
CHƯƠNG 3: XÂY DỰNG MẠNG VPN 58
3.1 Thành phần cơ bản của một VPN 58
3.1.1 Máy chủ VPN 58
3.1.2 Máy khách VPN 59
3.1.3 Bộ định tuyến VPN 60
3.1.4 Bộ tập trung VPN 61
3.1.5 Cổng kết nối VPN 61
3.2 Các vấn đề cần chú ý khi thiết kế VPN 61
3.2.1 Các vấn đề về mạng và ISP 62
3.2.2 Các vấn đề về bảo mật 62
3.3 Quá trình xây dựng 63
3.3.1 Kết nối với ISP 66
3.3.2 Tường lửa và bộ định tuyến 69
3.3.3 Phần mềm cho VPN 73
CHƯƠNG 4: BẢO MẬT TRONG VPN 77
4.1 Xác thực 77
4.1.1 Xác thực nguồn gốc dữ liệu 77
4.1.2 Xác thực tính toàn vẹn dữ liệu 82
4.2 Mã hoá 87
4.2.1 Thuật toán mã hoá khoá bí mật 88
4.2.2 Thuật toán mã hoá khoá công cộng 91
CHƯƠNG 5: QUẢN LÝ MẠNG VPN 95
5.1 Quản lý bảo mật 95
5.1.2 Các chính sách bảo mật thống nhất 95
5.1.2 Các phương thức mã hoá 96
5.1.3 Quản lý khoá cho các cổng nối 97
5.1.4 Quản lý khoá cho người dùng 99
5.1.5 Các dịch vụ xác thực 98
5.1.6 Quản lý CA nội bộ 100
5.1.7 Điều khiển quyền truy cập 100
5.2 Quản lý địa chỉ 101
5.2.1 Địa chỉ IPv4 101
5.2.2 Cấp phát địa chỉ 101
5.2.3 NAT và các địa chỉ riêng 104
5.3 Quản lý chất lượng 105
5.3.1 Hiệu suất mạng 105
5.3.2 Giám sát hiệu suất ISP và SLA 109
5.3.3 Hiệu năng của VPN 109
KẾT LUẬN 111
TÀI LIỆU THAM KHẢO
46 trang |
Chia sẻ: netpro | Lượt xem: 3985 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Công nghệ mạng riêng ảo VPN - Các giao thức đường hầm và bảo mật, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ng và các site phải thiết lập một mối quan hệ tin cậy giữa các miền để cho phép người dùng truy cập vào tài nguyên của các site.
Sử dụng PPTP
Tổng quát một PPTP VPN yêu cầu phải có: một máy chủ truy cập mạng dùng cho phương thức quay số truy cập bảo mật vào VPN, một máy chủ PPTP, và PPTP client.
Hình 2.11: Các thành phần cơ bản của một VPN sử dụng PPTP
Các máy chủ PPTP có thể đặt tại mạng của công ty và do một nhóm người của công ty quản lý nhưng NAS phải do ISP hỗ trợ.
Máy chủ PPTP
Máy chủ PPTP thực hiện hai chức năng chính là: đóng vai trò là điểm kết nối của đường hầm PPTP và chuyển các gói đến từ đường hầm tới mạng LAN riêng. Máy chủ PPTP chuyển các gói đến máy đích bằng cách xử lý gói PPTP để được địa chỉ mạng của máy tính đích.
Máy chủ PPTP cũng có khả năng lọc gói bằng cách sử dụng lọc gói PPTP. Lọc gói PPTP có thể cho phép máy chủ ngăn cấm, chỉ cho phép truy cập vào Internet , mạng riêng hay cả hai.
Thiết lập một máy chủ PPTP tại site mạng gây nên một giới hạn nếu như máy chủ PPTP nằm sau tường lửa. PPTP được thiết kế sau cho chỉ có một cổng TCP/IP (1723) được sử dụng để chuyển dữ liệu đi. Sự khiếm khuyết của cấu hình cổng này có thể làm cho tường lửa dễ bị tấn công hơn. Nếu như tường lửa được cấu hình để lọc gói thì phải thiét lập nó cho phép GRE đi qua.
Một thiết bị khác được khởi xướng năm 1998 bởi hãng 3Com có chức năng tương tự máy chủ PPTP được gọi là chuyển mạch đường hầm. Mục đích của chuyển mạch đường hầm là mở rộng đường hầm từ một mạng đến một mạng khác, trải rông đường hầm từ mạng của ISP đến mạng riêng. Chuển mạch đường hầm có thể được sử dụng tại tường lửa làm tăng khả năng quản lý truy cập từ xa vào tài nguyên của mạng nội bộ, nó có thể kiểm tra các gói đến và về, giao thức của các khung PPP hoặc tên của người dùng từ xa.
Phần mềm client PPTP
Nếu như các thiết bị của ISP đã hỗ trợ PPTP thì không cần phần cứng hay phần mềm nào cho các client, chỉ cần một kết nối PPP chuẩn. Nếu như các thiết bị của ISP không hỗ trợ PPTP thì một client Win NT (hoặc phần mềm tương tự) vẫn có thể tạo kết nối bảo mật bằng cách: Đầu tiên quay số kết nối tới ISP bằng PPP, sau đó quay số một lần nữa thông qua cổng PPTP ảo được thiết lập ở client.
Client PPTP đã có sẵn ở Win NT, Win 9x và các hệ điều hành sau này. Khi chọn client PPTP cần phẩi so sánh các chức năng của nó với máy chủ PPTP đã có. Không phải tất cả các phần mềm client PPTP đều hỗ trợ MS-CHAP, nếu thiếu công cụ này thì không thể tận dụng được ưu điểm mã hoá trong RRAS.
Máy chủ truy cập mạng RAS
Máy chủ truy cập mạng NAS còn có tên gọi khác là Máy chủ truy cập từ xa (Remote Access Server) hay bộ tập trung truy cập (Access Concentrator). NAS cung cấp khả năng truy cập đường dây dựa trên phần mềm và có khả năng tính cước và có khả năng chịu đựng lỗi tại ISP POP. NAS của ISP được thiết kế cho phép một số lượng lớn người dùng có thể quay số truy cập vào cùng một lúc.
Nếu một ISP cung cấp dịch vụ PPTP thì cần phải cài một NAS cho phép PPTP, để hỗ trợ các client chạy trên các nền khác nhau như Unix, Windows, Macintosh. Trong truờng hợp này, máy chủ ISP đóng vai trò như một client PPTP kết nối với máy chủ PPTP tại mạng riêng và máy chủ ISP trở thành một điểm cuối của đường hầm, điểm kết thúc còn lại là máy chủ tại đầu mạng riêng.
Khả năng áp dụng trong thực tế của PPTP
PPTP là một giải pháp tạm thời vì hầu hết các nhà cung cấp đều có kế hoạch thay thế PPTP bằng L2TP khi mà giao thức này đã được chuẩn hoá. PPTP thích hợp cho quay số truy cập với số lượng người dung giới hạn hơn là cho VPN kết nối LAN–LAN. Một vấn đề của PPTP là xử lý xác thực quyền người dùng thông qua Windows NT hay thông qua RADIUS. Máy chủ PPTP cũng qua tải với một số lượng người dùng quay số truy cập hay một lưu lượng lớn dữ liệu trưyền qua, mà điều này là một yêu cầu của kết nối LAN – LAN. Khi sử dụng VPN PPTP mà có hỗ trợ thiết bị của ISP thì một số quyền quản lý phải chia sẻ cho ISP. Tính bảo mật của PPTP không mạnh bằng IPSec. Tuy nhiên, quản ý bảo mật trong PPTP lại đơn giản hơn.
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 dặ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.
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.
Mặc dù Microsoft đã làm cho PPTP trở nên cách chọn lựa phổ biến khi xây dựng VPN bằng cách hỗ trợ giao thức này sẵn có trong hệ điều hành Windows nhưng công ty cũng có kế hoạch hỗ trợ thêm L2TP trong Windows NT 4.0 và Windows 98.
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ã hoá. 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 2.12: kiến trúc của L2TP
PPP và L2TP
L2TP dựa trên PPP để tạo kết nối quay số giữa client và máy chủ truy cập mạng NAS. L2TP sử dụng PPP để tạo kết nối vật lý, tiến hành giai đoạn xác thực ban đầu, tạo gói dữ liệu PPP và đóng kết nối khi kết thúc phiên làm việc.
Sau khi PPP tạo kết nối xong, L2TP sẽ các định NAS tại site chính có chấp nhận người dùng và sẵn sàng đóng vai trò là điểm kết thúc của đường hầm cho người dùng đó. Sau khi đường hầm được thiết lập, L2TP sẽ đóng các gói PPP rồi truyền lên môi trường mà ISP gán cho đường hầm đó. L2TP có thể tạo nhiều đường hầm giữa NAS của ISP và máy chủ mạng, và gán nhiều phiên làm việc cho đường hầm. L2TP tạo ra các số nhận dạng cuộc gọi (Call ID) cho mỗi phiên làm việc và chèn vào tiêu đề L2TP của mỗi gói để chỉ ra nó thuộc phiên làm việc nào?
Ta có thể thực hiện chọn và gán một phiên làm việc của người dùng vào một đường hầm thay vì ghép nhiều phiên làm việc vào một đường hầm, với cách này cho phép gán các người dùng khác nhau vào các môi truờng đường hầm tuỳ theo chất lượng dịch vụ.
Hình 2.13: các giao thức sử dụng trong một kết nối L2TP
Giống như PPTP, L2TP cũng định nghĩa hai loại thông báo đó là thông báo điều khiển và thông báo dữ liệu. Thông báo điều khiển có chức năng điều khiển việc thiết lập, quản lý và giải phóng phiên làm việc trên đường hầm. Thông báo điều khiển cũng cho ta biết tốc độ truyền và tham số của bộ đệm dùng để điều khiển luồng các gói PPP trong một phiên làm việc. Tuy nhiên, L2TP truyền cả hai loại thông báo này trên cùng gói dữ liệu UDP và chung trên một luồng.
Do L2TP làm việc ở lớp thứ hai- lớp liên kết dữ liệu trong mô hình OSI nên trong thông báo dữ liệu L2TP bao gồm tiêu đề môi trường để chỉ ra đường hầm làm việc trong môi trường nào? Tuỳ thuộc vào ISP mà môi trường có thể là Ethernet, X.25, Frame Relay, ATM, hay liên kết PPP.
Hình 2.14: Bọc gói L2TP
L2TP cung cấp cơ chế điều khiển luồng giữa NAS (hay bộ tập trung truy cập L2TP_ LAC (L2TP Access Concentrator)) và máy chủ của mạng riêng (hay máy chủ mạng L2TP _LNS ( L2TP network Server) ).
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. Hình vẽ chỉ ra cấu trúc cuối cùng của dữ liệu đường hầm L2TP trên nền IPSec.
Hình 2.15: Cấu trúc gói dữ liệu trong đường hầm L2TP
+ Đóng gói L2TP
phần tải PPP ban đầu được đóng gói với một PPP header và một L2TP header.
+ Đóng gói UDP
Gói L2TP sau đó được đóng gói với một UDP header, các địa chỉ nguồn và đích được đặt bằng 1701.
+ Đóng gói IPSec
Tuỳ thuộc vào chính sách IPSec, gói UDP được mật mã và đóng gói với ESP IPSec header và ESP IPSec Trailer, IPSec Authentication Trailer.
+ Đóng gói IP
Gói IPSec được đóng gói với IP header chứa địa chỉ IP ngưồn và đích của VPN client và VPN server.
+ Đóng gói lớp liên kết dữ liệu
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-tới-đ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 dùng 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 một kết nối VPN truy cập từ xa sử dụng một modem tương tự như hình vẽ:
Hình 2.16: Sơ đồ đóng gói L2TP
Các bước của quá trình:
Một IP datagram, IPX datagram, hoặc NetBEUI Frame được đưa tới giao diện ảo đại diện cho kết nối VPN sử dụng NDIS bằng giao thức thích hợp.
NDIS đưa Packet tới NDISWAN, tại đây có thể nén và cung cấp PPP header chỉ bao gồm trường PPP protocol ID. Các trường Flag hay FCS không được thêm vào.
NDISWAN gửi khung PPP tới giao thức L2TP, nơi đóng gói PPP frame với một L2TP header. Trong L2TP header, Tunnel ID và Call ID được thiết lập các giá trị thích hợp để xác định đường hầm.
Giao thức L2TP gửi gói thu được tới giao thức TCP/IP với thông tin để gửi gói L2TP như một bản tin UDP từ cổng UDP 1701 tới cổng 1701 với các địa chỉ IP của VPN client và VPN server.
Giao thức TCP/IP xây dựng một gói IP với các IP header và UDP header thích hợp. Sau đó IPSec sẽ phân tích gói IP và so sánh với ác chính sách IPSec hiện thời. Dựa trên những thiết lập trong chính sách, IPSec đóng gói và mật mã phần bản tin UDP của gói tin IP sử dụng các ESP header và ESP trailer phù hợp. IP header ban đầu với Protocol field được dặt là 50 được thêm vào phía trước của gói ESP. Giao thức TCP/IP sau đó gửi gói tin thu được tới giao diện đại diện cho kết nối quay số tới ISP địa phương sử dụng NDIS.
NDIS gửi gói tới NDISWAN.
NDISWAN cung cấp PPP header, PPP trailer và gửi khung PPP thu đựoc tới cổng WAN thích hợp đại diện cho phần cứng dial-up.
Đường hầm L2TP
L2TP sử dụng những lớp đường hầm tương tự như PPTP, tuỳ theo người dùng 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à toàn vẹn dữ liệu cho lưu lượng Intranet gửi thông qua Internet.
Hình 2.17: Các đường hầm tự nguyện và bắt buộc
Đườ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.
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á.
Đườ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
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.
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
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.
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 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ý.
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.
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.
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.
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ụ t