Các giao thức sử dụng trong VPN

Một phần của tài liệu Tìm hiểu về VPN wireguard và thực nghiệm (Trang 29 - 42)

b) Nhược điểm của mạng VPN mở rộng:

1.7. Các giao thức sử dụng trong VPN

1.7.1. Bộ giao thức IPSec.

Internet Protocol Security (IPSec) là một bộ giao thức bảo mật (Internet Protocol -IP) thông tin liên lạc, bằng cách xác thực và mã hóa mỗi gói tin IP của một phiên giao dịch, IPSec cũng bao gồm các giao thức cho việc thiết lập xác thực lẫn nhau giữa các đại lý trong các phiên giao dịch và đàm phán bằng cách sử dụng các khoá mã hóa.

IPSec là một chương trình điều hành bảo mật end-to-end trong các Layer Internet (lớp kết nối Internet) của Internet Protocol Suite (IPS - giao thức chuẩn trong Internet). Ngoài ra, nó có thể được sử dụng trong việc bảo vệ các luồng dữ liệu giữa các máy đầu – cuối (transport mode), giữa các gateway với nhau (network-to-network, tunel mode), hoặc giữa một gateway với một máy đầu – cuối (network-to-host, hybrid mode).

IPSec là một công nghệ tạo VPN tầng network cung cấp tính bí mật, toàn vẹn và xác thực dữ liệu: IPSec cung cấp một cơ chế mạng để xác minh tính xác thực của người gửi và nhận đồng thời chống lại sự giả mạo, do thám hoặc tấn công dịch vụ. Giao thức IPSec mã hoá dữ liệu bằng các kỹ thuật bảo

mật cao cấp, ngăn chặn những người dùng trái phép truy cập dữ liệu khi được truyền đi.

Mạng IP ‒ bao gồm cả World Wide Web ‒ thiếu khả năng mã hoá và bảo vệ quyền riêng tư. VPN IPSec giải quyết điểm yếu này, bằng cách cung cấp một framework cho việc giao tiếp được mã hóa và riêng tư trên web.

Dưới đây là cái nhìn sâu hơn về IPSec và cách nó hoạt động với các VPN tunnel để bảo vệ dữ liệu qua những mạng không bảo mật.

Hình 1. 11: Đường hầm IPSec

Khi hai máy tính thiết lập kết nối VPN, chúng phải đồng thuận về một tập hợp các giao thức bảo mật và thuật toán mã hóa, đồng thời trao đổi khoá mật mã để mở khóa và xem dữ liệu đã mã hóa.

Đây là lúc IPSec phát huy vai trò. IPSec làm việc với các VPN tunnel để thiết lập kết nối hai chiều riêng tư giữa các thiết bị. IPSec không phải là một giao thức đơn lẻ; thay vào đó, đó là một bộ giao thức và tiêu chuẩn hoàn chỉnh, hoạt động cùng nhau để giúp đảm bảo tính bảo mật, toàn vẹn và xác thực của các gói dữ liệu Internet đi qua VPN tunnel.

Đây là cách IPSec tạo một VPN tunnel bảo mật :

• IPSec xác thực dữ liệu để đảm bảo tính toàn vẹn của gói dữ liệu trong quá trình truyền tải.

• IPSec mã hóa lưu lượng truy cập Internet qua các VPN tunnel để không thể xem dữ liệu.

• IPSec bảo vệ dữ liệu khỏi các cuộc tấn công Replay Attack, có thể dẫn đến việc đăng nhập trái phép.

• IPSec cho phép trao đổi khoá mật mã bảo mật giữa các máy tính.

• IPSec cung cấp hai chế độ bảo mật : Tunnel và Transport.

VPN IPSec bảo vệ dữ liệu truyền từ host đến host, mạng đến mạng, host đến mạng và cổng đến gateway (được gọi là chế độ Tunnel, khi toàn bộ gói IP được mã hóa và xác thực).

1.7.2. Giao thức PPTP (Point-to-Point Tunneling Protocol).

Point‒to‒Point Tunneling Protocol là giao thức mạng được sử dụng chủ yếu với các máy tính Windows. Ngày nay, nó bị coi là lỗi thời khi sử dụng trong các mạng riêng ảo, vì có nhiều thiếu sót về bảo mật. Tuy nhiên, PPTP vẫn được sử dụng trong một số mạng.

PPTP là một giao thức mạng được phát triển vào năm 1999 bởi một nhóm nhà cung cấp, thành lập bởi Microsoft, Ascend Communications (một phần của Nokia), 3Com và nhiều nhóm khác. PPTP được thiết kế để cải thiện Point‒to‒ Point Protocol, giao thức lớp liên kết dữ liệu (Layer 2) được thiết kế để kết nối trực tiếp hai router, trước đó.

Mặc dù là giao thức nhanh và ổn định cho các mạng Windows, nhưng PPTP không còn được coi là bảo mật nữa. PPTP đã được thay thế bởi các giao thức VPN tunneling an toàn và bảo mật hơn, bao gồm OpenVPN, L2TP/IPSec và IKEv2/IPSec.

Hình 1. 12: Giao thức PPTP

PPTP là sự phát triển vượt bậc của PPP và do đó, dựa trên framework xác thực và mã hóa của nó. Giống như tất cả các công nghệ tunneling, PPTP đóng gói những gói dữ liệu, tạo ra một tunnel để dữ liệu truyền qua mạng IP.

PPTP sử dụng thiết kế client‒server (thông số kỹ thuật có trong Internet RFC 2637) hoạt động ở Layer 2 của model OSI. Khi VPN tunnel được thiết lập, PPTP hỗ trợ hai loại luồng thông tin:

• Tin nhắn điều khiển chuyển trực tiếp giữa VPN client và server.

• Các gói dữ liệu đi qua tunnel, tức là đến hoặc từ VPN client.

Mọi người thường lấy thông tin địa chỉ PPTP VPN server từ admin. Chuỗi kết nối có thể là tên server hoặc địa chỉ IP.

Khi người dùng sử dụng thiết lập kết nối VPN, nó thường ảnh hưởng đến tốc độ Internet của người dùng do quá trình mã hóa. Tuy nhiên, người dùng không phải lo lắng về điều đó khi sử dụng PPTP vì giao thức này được mã hóa mức độ thấp.

Mặc dù sử dụng PTPP có những ưu điểm nhưng nó cũng đi kèm với một số hạn chế nhất định như:

• Bảo mật không đầy đủ.

• Giao thức PPTP được coi là kém bảo mật nhất vì nó chỉ sử dụng mã hóa 128‒bit để bảo vệ dữ liệu. Vì vậy, nếu đang xử lý thông tin nhạy cảm,

người dùng nên chọn các giao thức VPN khác cung cấp mức độ bảo mật tốt hơn.

• Hiệu suất kém trên mạng không ổn định.

• PPTP không phải là giao thức VPN đáng tin cậy nhất khi được sử dụng trên các kết nối không ổn định ‒ người dùng sẽ thường gặp phải các vấn đề về hiệu suất! Mặc dù nó có thể là một phương tiện được chấp nhận để kết nối giữa các nhân viên và chia sẻ tài liệu, PPTP sẽ khiến người dùng thất vọng nếu người dùng có nhiều thông tin riêng tư cần chia sẻ.

1.7.3. Giao thức L2TP (Layer 2 Tunneling Protocol).

Giao thức L2TP là viết tắt của Layer 2 Tunneling Protocol, và giống như tên của nó, đây là một giao thức tunneling được thiết kế để hỗ trợ các kết nối VPN. Thật thú vị khi L2TP thường được ISP sử dụng để cho phép hoạt động VPN.

L2TP được ra mắt lần đầu tiên vào năm 1999. Nó được thiết kế như một sự kế thừa của PPTP, do cả Microsoft và Cisco phát triển. Giao thức này sử dụng các tính năng khác nhau từ giao thức PPTP của Microsoft và L2F (Layer 2 Forwarding) của Cisco, sau đó cải thiện chúng.

Hình 1. 13: Giao thức L2TP/IPSec

L2TP Tunneling bắt đầu bằng cách kết nối LAC (L2TP Access Concentrator – bộ tập trung truy cập L2TP) và LNS (L2TP Network Server – máy chủ mạng L2TP) ‒ hai điểm cuối của giao thức ‒ trên Internet. Sau khi đạt

được điều đó, một layer liên kết PPP được kích hoạt và đóng gói lại, sau đó, lớp liên kết này được chuyển qua web.

Sau đó, kết nối PPP được khởi tạo bởi người dùng cuối (người dùng) với ISP. Khi LAC chấp nhận kết nối, liên kết PPP được thiết lập. Sau đó, một vị trí trống trong tunnel mạng được chỉ định và yêu cầu sau đó được chuyển đến LNS. Cuối cùng, khi kết nối được xác thực và chấp nhận hoàn toàn, một giao diện PPP ảo sẽ được tạo. Tại thời điểm đó, các link frame (đơn vị truyền dữ liệu số trong mạng máy tính) có thể tự do đi qua tunnel. Các frame được LNS chấp nhận, sau đó loại bỏ mã hóa L2TP và tiến hành xử lý chúng như các frame thông thường.

Một số chi tiết kỹ thuật về giao thức L2TP

• L2TP thường được ghép nối với IPSec để đảm bảo payload dữ liệu.

• Khi được ghép nối với IPSec, L2TP có thể sử dụng các key mã hóa lên đến 256‒bit và thuật toán 3DES.

L2TP thường được kết hợp với IPSec.

• L2TP hoạt động trên nhiều nền tảng và được hỗ trợ trên các thiết bị và hệ điều hành Windows và MacOS.

• Tính năng mã hóa kép của L2TP mang đến khả năng bảo mật tốt hơn, nhưng cũng có nghĩa là nó sử dụng nhiều tài nguyên hơn.

• L2TP thường sử dụng cổng TCP 1701, nhưng khi nó được ghép nối với IPSec, nó cũng sử dụng các cổng UDP 500 (cho IKE ‒ Internet Key Exchange), 4500 (cho NAT) và 1701 (cho lưu lượng L2TP).

Thuận lợi chính của L2TP được liệt kê theo danh sách dưới đây:

• L2TP là một giải pháp chung. Hay nói cách khác nó là một nền tảng độc lập. Nó cũng hỗ trợ nhiều công nghệ mạng khác nhau. Ngoài ra, nó còn hỗ trợ giao dịch qua kết nối WAN non-IP mà không cần một IP. • L2TP tunneling trong suốt đối với ISP giống như người dùng từ xa. Do

đó, không đòi hỏi bất kỳ cấu hình nào ở phía người dùng hay ở ISP. • L2TP cho phép một tổ chức điều khiển việc xác nhận người dùng thay

• L2TP cung cấp chức năng điều khiển cấp thấp có thể giảm các gói dữ liệu xuống tùy ý nếu đường hầm quá tải. Điều này làm cho qua trình giao dịch bằng L2TP nhanh hơn so với quá trình giao dịch bằng L2F. • L2TP cho phép người dùng từ xa chưa đăng ký (hoặc riêng tư) địa chỉ

IP truy cập vào mạng từ xa thông qua một mạng công cộng.

• L2TP nâng cao tính bảo mật do sử dụng IPSec-based payload encryption trong suốt qua trình tạo hầm, và khả năng triển khai xác nhận IPSec trên từng gói dữ liệu.

Triển khai L2TP cũng gặp một số bất lợi sau:

– L2TP chậm hơn so với PPTP hay L2F bởi vì nó dùng IPSec để xác nhận mỗi gói dữ liệu nhận được.

– Mặc dù PPTP được lưu chuyển như một giai pháp VPN dựng sẵn, một Routing and Remote Access Server (RRAS) cần có những cấu hình mở rộng

1.7.4. Giao thức Secure Socket Tunneling Protocol (VPN-SSTP).

SSTP (Secure Socket Tunneling Protocol) là một dạng của kết nối VPN trong Windows Vista và Windows Server 2008. SSTP sử dụng các kết nối HTTP đã được mã hóa SSL để thiết lập một kết nối VPN đến VPN gateway. SSTP là một giao thức rất an toàn vì các thông tin quan trọng của người dùng không được gửi cho tới khi có một “đường hầm” SSL an toàn được thiết lập với VPN gateway. SSTP cũng được biết đến với tư cách là PPP trên SSL, chính vì thế nó cũng có nghĩa là ta có thể sử dụng các cơ chế chứng thực PPP và EAP để bảo đảm cho các kết nối SSTP được an toàn hơn.

SSL cho phép truyền tải và mã hóa dữ liệu, cũng như kiểm tra tính toàn vẹn của lưu lượng. Do đó, SSTP có thể vượt qua hầu hết các tường lửa và proxy server bằng cách sử dụng kênh SSL qua cổng TCP 443.

SSTP có sẵn để sử dụng trong môi trường Windows (kể từ Windows Vista SP1), trong RouterOS và trong SEIL (kể từ phiên bản firmware 3.50). SSTP có thể được sử dụng với Winlogon hoặc xác thực thẻ thông minh, các chính sách truy cập từ xa và Windows VPN client, vì được tích hợp với kiến trúc RRAS.

Như với các giao thức tunneling IP-over-TCP khác, SSTP chỉ hoạt động tốt nếu có đủ băng thông trên liên kết mạng không được tạo tunnel. Nếu không có đủ băng thông, TCP timer (công cụ được sử dụng bởi TCP để tránh sự chậm trễ quá mức trong quá trình giao tiếp) có thể sẽ hết hạn, gây ra sự sụt giảm lớn về hiệu suất SSTP.

Hệ thống của client kết nối với máy chủ thông qua TCP (Transmission Control Port). SSL sử dụng cổng 443 để kết nối với máy chủ. Để xác nhận kết nối, nó yêu cầu xác thực người dùng và thường được xác thực bởi client. Giao thức sử dụng chứng chỉ máy chủ để xác thực.

Có nhiều lý do chứng thực sự phổ biến của SSTP. Ví dụ, SSTP cung cấp mức bảo mật cao nhất, tức là mã hóa AES 256-bit. Hơn nữa, cổng nó sử dụng có thể né tránh hầu hết các loại tường lửa. Vì SSTP là tài sản thuộc sở hữu của Microsoft nên nó hoàn toàn tương thích với Windows.

Hình 1. 14: Giao thức SSTP 1.7.5. Giao thức SSL

SSL (Secure Sockets Layer) là một giao thức cung cấp dịch vụ truyền thông có bảo mật giữa client và server thông qua việc cho phép client và server xác thực lẫn nhau sử dụng chữ ký số và bảo mật thông tin trao đổi qua lại bằng cách mã hoá các thông tin đó. Giao thức SSL có 03 phiên bản:

• SSL v2: phiên bản đầu tiên của SSL do Netscape thiết kế, chưa có sự trợ giúp chuỗi chứng chỉ (chain certìicate)

• SSL v3: SSL phiên bản 3.0 cũng do Netscape thiết kế, đã có sự trợ giúp cho chuỗi chứng chỉ và đã được sử dụng cho hầu hết các trình duyệt phổ thông.

• TLS v1: Transport Layer Security phiên bản 1.0, do IETF (Internet Engineering Task Force) thiết kế dựa trên SSL v3. Tuy nhiên không được hỗ trợ đối với nhiều trình duyệt thông dụng (ví dụ: Netscape). Hiện nay đã có các phiên bản mới của TLS đó là TLS v1.1 và TLS v1.2. Phiên bản TSL 1.0 tương đương với phiên bản SSL 3.1. Tuy nhiên SSL là thuật ngữ được sử dụng rộng rãi hơn.

SSL là tiêu chuẩn của công nghệ bảo mật, truyền thông mã hoá giữa máy chủ Web server và trình duyệt. Tiêu chuẩn này hoạt động và đảm bảo rằng các dữ liệu truyền tải giữa máy chủ và trình duyệt của người dùng đều riêng tư và toàn vẹn. SSL hiện tại cũng là tiêu chuẩn bảo mật cho hàng triệu website trên toàn thế giới, nó bảo vệ dữ liệu truyền đi trên môi trường Internet được an toàn.

SSL đảm bảo rằng tất cả các dữ liệu được truyền giữa các máy chủ web và các trình duyệt được mang tính riêng tư, tách rời. SSL được thiết kế như là một giao thức riêng cho vấn đề bảo mật có thể hỗ trợ cho rất nhiều ứng dụng. Giao thức SSL hoạt động bên trên TCP/IP và bên dưới các giao thức ứng dụng tầng cao hơn như là HTTP, IMAP và FTP.

SSL không phải là một giao thức đơn lẻ, mà là một tập các thủ tục đã được chuẩn hoá để thực hiện các nhiệm vụ bảo mật sau:

• Xác thực server: Cho phép người sử dụng xác thực được server muốn kết nối. Lúc này, phía browser sử dụng các kỹ thuật mã hoá công khai để chắc chắn rằng certificate và public ID của server là có giá trị và được cấp phát bởi một CA (certificate authority) trong danh sách các CA đáng tin cậy của client. Điều này rất quan trọng đối với người dùng. Ví dụ như khi gửi mã số credit card qua mạng thì người dùng thực sự muốn kiểm tra liệu server sẽ nhận thông tin này có đúng là server mà họ định gửi đến không. • Xác thực Client: Cho phép phía server xác thực được người sử dụng

muốn kết nối. Phía server cũng sử dụng các kỹ thuật mã hoá công khai để kiểm tra xem chứng chỉ (certificate) và public ID của server có giá trị hay

không và được cấp phát bởi một CA (certificate authority) trong danh sách các CA đáng tin cậy của server không. Điều này rất quan trọng đối với các nhà cung cấp. Ví dụ như khi một ngân hàng định gửi các thông tin tài chính mang tính bảo mật tới khách hàng thì họ rất muốn kiểm tra định danh của người nhận.

• Mã hoá kết nối: Tất cả các thông tin trao đổi giữa client và server được mã hoá trên đường truyền nhằm nâng cao khả năng bảo mật. Điều này rất quan trọng đối với cả hai bên khi có các giao dịch mang tính riêng tư. Ngoài ra, tất cả các dữ liệu được gửi đi trên một kết nối SSL đã được mã hoá còn được bảo vệ nhờ cơ chế tự động phát hiện các xáo trộn, thay đổi trong dữ liệu (đó là các thuật toán băm – hash algorithm).

Giao thức SSL bao gồm 2 giao thức con:

• Giao thức SSL record: xác định các định dạng dùng để truyền dữ liệu. • Giao thức SSL handshake: sử dụng SSL record protocol để trao đổi một

số thông tin giữa server và client vào lấn đầu tiên thiết lập kết nối SSL. Chắc rằng người dùng cũng đã nghe nhắc đến cụm từ chứng chỉ SSL (SSL Certificate) trên các website, vậy chứng chỉ SSL là gì?

Trước tiên, chúng ta nên biết rằng Giao thức bảo mật – SSL là một tiêu

Một phần của tài liệu Tìm hiểu về VPN wireguard và thực nghiệm (Trang 29 - 42)

Tải bản đầy đủ (DOCX)

(84 trang)
w