Wednesday, June 22, 2022

 

VPN là gì? Ưu nhược điểm của mạng riêng ảo VPN

Đối với những bạn mới đi học, mới bước chân vào lĩnh vực Công Nghệ Thông Tin - CNTT, cho đến những người đi làm... chắc hẳn họ đã nhiều lần nghe đến từ VPN, hay mạng riêng ảo, mạng cá nhân ảo... Vậy thực sự VPN là gì, ưu nhược điểm của VPN ra sao? Hãy cùng Quản Trị Mạng thảo luận về định nghĩa của VPN, cách ứng dụng mô hình, hệ thống này trong công việc nhé.

1. Mạng riêng ảo VPN là gì?

VPN là mạng riêng ảo, Virtual Private Network, là một công nghệ mạng giúp tạo kết nối mạng an toàn khi tham gia vào mạng công cộng như Internet hoặc mạng riêng do một nhà cung cấp dịch vụ sở hữu. Các tập đoàn lớn, các cơ sở giáo dục và cơ quan chính phủ sử dụng công nghệ VPN để cho phép người dùng từ xa kết nối an toàn đến mạng riêng của cơ quan mình.

🖼️
Mô hình VPN là như này

1 hệ thống VPN có thể kết nối được nhiều site khác nhau, dựa trên khu vực, diện tích địa lý... tượng tự như chuẩn Wide Area Network (WAN). Bên cạnh đó, VPN còn được dùng để "khuếch tán", mở rộng các mô hình Intranet nhằm truyền tải thông tin, dữ liệu tốt hơn. Ví dụ, các trường học vẫn phải dùng VPN để nối giữa các khuôn viên của trường (hoặc giữa các chi nhánh với trụ sở chính) lại với nhau.

Loaded1.32%

Nếu muốn kết nối vào hệ thống VPN, thì mỗi 1 tài khoản đều phải được xác thực (phải có Username và Password). Những thông tin xác thực tài khoản này được dùng để cấp quyền truy cập thông qua 1 dữ liệu - Personal Identification Number (PIN), các mã PIN này thường chỉ có tác dụng trong 1 khoảng thời gian nhất định (30s hoặc 1 phút).

Khi kết nối máy tính hoặc một thiết bị khác chẳng hạn như điện thoại, máy tính bảng với một VPN, máy tính hoạt động giống như nó nằm trên cùng mạng nội bộ với VPN. Tất cả traffic trên mạng được gửi qua kết nối an toàn đến VPN. Nhờ đó, bạn có thể truy cập an toàn đến các tài nguyên mạng nội bộ ngay cả khi đang ở rất xa.

Bạn cũng có thể sử dụng Internet giống như đang ở vị trí của của VPN, điều này mang lại một số lợi ích khi sử dụng WiFi public hoặc truy cập trang web bị chặn, giới hạn địa lý.

Khi duyệt web với VPN, máy tính sẽ liên hệ với trang web thông qua kết nối VPN được mã hóa. Mọi yêu cầu, thông tin, dữ liệu trao đổi giữa bạn và website sẽ được truyền đi trong một kết nối an toàn. Nếu sử dụng VPN tại Hoa Kỳ để truy cập vào Netflix, Netflix sẽ thấy kết nối của bạn đến từ Hoa Kỳ.

Dù nghe có vẻ khá đơn giản, nhưng trên thực tế VPN lại được ứng dụng để làm rất nhiều thứ:

  • Truy cập vào mạng doanh nghiệp khi ở xa: VPN thường được sử dụng bởi những người kinh doanh để truy cập vào mạng lưới kinh doanh của họ, bao gồm tất cả tài nguyên trên mạng cục bộ, trong khi đang đi trên đường, đi du lịch,... Các nguồn lực trong mạng nội bộ không cần phải tiếp xúc trực tiếp với Internet, nhờ đó làm tăng tính bảo mật.
  • Truy cập mạng gia đình, dù không ở nhà: Bạn có thể thiết lập VPN riêng để truy cập khi không ở nhà. Thao tác này sẽ cho phép truy cập Windows từ xa thông qua Internet, sử dụng tập tin được chia sẻ trong mạng nội bộ, chơi game trên máy tính qua Internet giống như đang ở trong cùng mạng LAN.
  • Duyệt web ẩn danh: Nếu đang sử dụng WiFi công cộng, duyệt web trên những trang web không phải https, thì tính an toàn của dữ liệu trao đổi trong mạng sẽ dễ bị lộ. Nếu muốn ẩn hoạt động duyệt web của mình để dữ liệu được bảo mật hơn thì bạn nên kết nối VPN. Mọi thông tin truyền qua mạng lúc này sẽ được mã hóa.
  • Truy cập đến những website bị chặn giới hạn địa lý, bỏ qua kiểm duyệt Internet, vượt tường lửa,...
  • Tải tập tin: Tải BitTorrent trên VPN sẽ giúp tăng tốc độ tải file. Điều này cũng có ích với các traffic mà ISP của bạn có thể gây trở ngại.

2. Các giao thức thường dùng trong VPN

Các sản phẩm VPN thường co sự tiện lợi, tính hiệu quả và bảo mật rất đa dạng. Nếu bảo mật là một mối quan tâm hàng đầu, thì một tổ chức cần phải chú ý đến các giao thức mà dịch vụ VPN hỗ trợ. Một số giao thức được sử dụng rộng rãi có những điểm yếu đáng quan ngại, trong khi những giao thức khác lại cung cấp khả năng bảo mật tiên tiến nhất. Những giao thức tốt nhất hiện nay là OpenVPN và IKEv2.

Tìm hiểu về các giao thức VPN

Các giao thức VPN

Bản chất của giao thức VPN là một tập hợp các giao thức. Có một số chức năng mà mọi VPN phải giải quyết được:

Tunnelling (kỹ thuật truyền dữ liệu qua nhiều mạng có giao thức khác nhau) - Chức năng cơ bản của VPN là phân phối các gói (packet) từ điểm này đến điểm khác mà không để lộ chúng cho bất kỳ ai trên đường truyền. Để làm điều này, VPN đóng gói tất cả dữ liệu theo định dạng mà cả máy khách và máy chủ đều hiểu được. Bên gửi dữ liệu đặt nó vào định dạng tunnelling và bên nhận trích xuất để có được thông tin.

Mã hóa: Tunnelling không cung cấp tính năng bảo vệ. Bất cứ ai cũng có thể trích xuất dữ liệu. Dữ liệu cũng cần phải được mã hóa trên đường truyền. Bên nhận sẽ biết cách giải mã dữ liệu từ một người gửi nhất định.

Xác thực. Để bảo mật, VPN phải xác nhận danh tính của bất kỳ client nào cố gắng “giao tiếp” với nó. Client cần xác nhận rằng nó đã đến đúng máy chủ dự định.

Quản lý phiên: Một khi người dùng được xác thực, VPN cần duy trì phiên để client có thể tiếp tục “giao tiếp” với nó trong một khoảng thời gian.

Nói chung các giao thức VPN coi việc tạo tunnel, xác thực và quản lý phiên như một gói. Điểm yếu trong bất kỳ chức năng nào đều là những lỗ hổng bảo mật tiềm ẩn trong giao thức. Mã hóa là một chuyên ngành, nó cũng rất khó, nên thay vì cố gắng tạo ra cái mới, các VPN thường sử dụng kết hợp nhiều giao thức mã hóa đáng tin cậy. Dưới đây là những giao thức VPN phổ biến và độ mạnh yếu của chúng.

Những giao thức yếu

Point-To-Point Tunneling Protocol (PPTP)

Giao thức cũ nhất vẫn đang được sử dụng là PPTP (Point-to-Point Tunneling Protocol). PPTP lần đầu tiên được sử dụng vào năm 1995. PPTP không chỉ định giao thức mã hóa nhưng có thể sử dụng một số giao thức như MPPE-128 mạnh mẽ. Việc thiếu sự tiêu chuẩn hóa về giao thức mạnh là một rủi ro, vì nó chỉ có thể sử dụng tiêu chuẩn mã hóa mạnh nhất mà cả 2 phía cùng hỗ trợ. Nếu một phía chỉ hỗ trợ tiêu chuẩn yếu hơn thì kết nối phải sử dụng mã hóa yếu hơn người dùng mong đợi.

Tuy nhiên, vấn đề thực sự với PPTP là quá trình xác thực. PPTP sử dụng giao thức MS-CHAP, có thể dễ dàng bị crack trong giai đoạn hiện nay. Kẻ tấn công có thể đăng nhập và mạo danh người dùng được ủy quyền.

IP security (IPSec)

Được dùng để bảo mật các giao tiếp, các luồng dữ liệu trong môi trường Internet (môi trường bên ngoài VPN). Đây là điểm mấu chốt, lượng traffic qua IPSec được dùng chủ yếu bởi các Transport mode, hoặc các tunnel (hay gọi là hầm - khái niệm này hay dùng trong Proxy, SOCKS) để MÃ HÓA dữ liệu trong VPN.

Sự khác biệt giữa các mode này là:

  • Transport mode chỉ có nhiệm vụ mã hóa dữ liệu bên trong các gói (data package - hoặc còn biết dưới từ payload). Trong khi các Tunnel mã hóa toàn bộ các data package đó.

IPSec VPN

Do vậy, IPSec thường được coi là Security Overlay, bởi vì IPSec dùng các lớp bảo mật so với các Protocol khác.

L2TP

L2TP

Giao thức L2TP thường hoạt động với thuật toán mã hóa IPSec. Nó mạnh hơn đáng kể so với PPTP nhưng vẫn khiến người dùng lo ngại. Lỗ hổng chính trong L2TP/IPSec là phương thức trao đổi khóa công khai (public key). Trao đổi khóa công khai Diffie-Hellman là cách để hai bên thỏa thuận về khóa mã hóa tiếp theo và không ai được biết về khóa này. Có một phương pháp có thể “bẻ khóa” quá trình này, đòi hỏi sức mạnh điện toán khá lớn, nhưng sau đó nó cho phép truy cập vào tất cả các giao tiếp trên một VPN nhất định.

Secure Sockets Layer (SSL) và Transport Layer Security (TLS)

Có 1 phần tương tự như IPSec, 2 giao thức trên cũng dùng mật khẩu để đảm bảo an toàn giữa các kết nối trong môi trường Internet.

Mô hình SSL VPN

Bên cạnh đó, 2 giao thức trên còn sử dụng chế độ Handshake - có liên quan đến quá trình xác thực tài khoản giữa client và server. Để 1 kết nối được coi là thành công, quá trình xác thực này sẽ dùng đến các Certificate - chính là các khóa xác thực tài khoản được lưu trữ trên cả server và client.

Những giao thức có bảo mật tốt hơn

IKEv2 (Internet Key Exchange)

IKEv2

IKEv2 (Internet Key Exchange) được xếp hạng bảo mật cao trong số các giao thức hiện tại. IKEv2 sử dụng IPSec tunnelling và có nhiều lựa chọn giao thức mã hóa. IKEv2 được sử dụng với mã hóa AES-256 nên rất khó bị bẻ khóa. IKEv2 sử dụng tính năng xác thực dựa trên chứng chỉ mạnh mẽ và có thể sử dụng thuật toán HMAC để xác minh tính toàn vẹn của dữ liệu được truyền. IKEv2 hỗ trợ giao tiếp nhanh và đặc biệt mạnh mẽ trong việc duy trì phiên, ngay cả khi kết nối Internet bị gián đoạn. Windows, MacOS, iOS và Android đều hỗ trợ IKEv2. Một số triển khai mã nguồn mở cũng có sẵn.

Phiên bản 1 của giao thức được giới thiệu vào năm 1998 và phiên bản 2 vào năm 2005. IKEv2 không phải là một trong những giao thức mới nhất, nhưng được duy trì rất tốt.

SSTP (Secure Socket Tunneling Protocol)

SSTP

SSTP (Secure Socket Tunneling Protocol) là một sản phẩm của Microsoft, được hỗ trợ chủ yếu trên Windows. Khi được sử dụng với mã hóa AES và SSL, SSTP cung cấp tính năng bảo mật tốt, xét về mặt lý thuyết. Hiện tại chưa tìm thấy lỗ hổng nào của SSTP nhưng rất có thể một điểm yếu nào đó vẫn tồn tại.

Một vấn đề thực tế với SSTP là sự hỗ trợ hạn chế trên các hệ thống không phải Windows.

OpenVPN

OpenVPN

OpenVPN là một bộ giao thức mở, cung cấp tính năng bảo mật mạnh mẽ và đã trở nên rất phổ biến. OpenVPN được phát hành lần đầu tiên vào năm 2001 theo giấy phép GPL. OpenVPN có mã nguồn mở, nên việc kiểm tra lỗ hổng được bảo đảm. Chức năng mã hóa của OpenVPN thường sử dụng thư viện OpenSSL. OpenSSL hỗ trợ nhiều thuật toán mã hóa, bao gồm AES.

Không có bất kỳ sự hỗ trợ nào cho OpenVPN ở cấp hệ điều hành, nhưng nhiều gói bao gồm các OpenVPN client của riêng chúng.

Việc có được sự bảo mật nhất với một giao thức đòi hỏi các quản trị viên phải xử lý một cách chính xác. Cộng đồng OpenVPN cung cấp các khuyến nghị để tăng cường bảo mật cho OpenVPN.

SoftEther (Software Ethernet)

SoftEther

SoftEther (Software Ethernet) là một cái tên mới, lần đầu tiên ra mắt vào năm 2014. Giống như OpenVPN, SoftEther cũng có mã nguồn mở. SoftEther hỗ trợ các giao thức mã hóa mạnh nhất, bao gồm AES-256 và RSA 4096-bit. SoftEther cung cấp tốc độ giao tiếp lớn hơn so với hầu hết các giao thức, bao gồm OpenVPN, ở một tốc độ dữ liệu nhất định. Nó không hỗ trợ hệ điều hành riêng nhưng có thể được cài đặt trên nhiều hệ điều hành, bao gồm Windows, Mac, Android, iOS, Linux và Unix.

Là một giao thức mới, SoftEther không được hỗ trợ nhiều như một số giao thức khác. SoftEther không tồn tại đủ lâu như OpenVPN, vì vậy người dùng chưa có nhiều thời gian để kiểm tra những điểm yếu có thể xuất hiện trên giao thức này. Tuy nhiên, SoftEther là một ứng cử viên nặng ký cho bất kỳ ai cần chất lượng bảo mật hàng đầu.

Vậy nên chọn giao thức nào?

Câu hỏi “Giao thức nào an toàn nhất?” rất khó để đưa ra câu trả lời. IKEv2, OpenVPN và SoftEther đều là những ứng cử viên mạnh. OpenVPN và SoftEther có lợi thế là mã nguồn mở. IKEv2 có các triển khai mã nguồn mở nhưng cũng có các triển khai độc quyền. Ưu điểm bảo mật chính của IKEv2 là dễ cài đặt, giảm nguy cơ lỗi cấu hình. SoftEther cung cấp bảo mật rất tốt, nhưng người dùng chưa có nhiều thời gian trải nghiệm với SoftEther như với hai giao thức còn lại, nên rất có thể SoftEther còn tồn tại những vấn đề mà người dùng chưa phát hiện ra.

Code của OpenVPN đã xuất hiện trong nhiều năm để các chuyên gia bảo mật kiểm tra. OpenVPN được sử dụng rộng rãi và hỗ trợ các giao thức mã hóa mạnh nhất. Việc đưa ra quyết định cuối cùng còn cần xem xét những yếu tố khác, chẳng hạn như sự thuận tiện và tốc độ, hay vấn đề bảo mật có phải là điều quan tâm lớn nhất hay không.

3. Ưu điểm, nhược điểm của VPN

Lý thuyết là như vậy, còn khi áp dụng vào thực tế thì VPN sẽ có những ưu, nhược điểm như thế nào. Mời các bạn tiếp tục thảo luận với Quản Trị Mạng.

Để xây dựng 1 hệ thống mạng riêng, mạng cá nhân ảo thì dùng VPN là 1 giải pháp không hề tốn kém. Chúng ta có thể tưởng tượng thế này, môi trường Internet là cầu nối, giao tiếp chính để truyền tải dữ liệu, xét về mặt chi phí thì nó hoàn toàn hợp lý so với việc trả tiền để thiết lập 1 đường kết nối riêng với giá thành cao. Bên cạnh đó, việc phải sử dụng hệ thống phần mềm và phần cứng nhằm hỗ trợ cho quá trình xác thực tài khoản cũng không phải là rẻ. Việc so sánh sự tiện lợi mà VPN mang lại cùng với chi phí bỏ ra để bạn tự thiết lập 1 hệ thống như ý muốn, rõ ràng VPN chiếm ưu thế hơn hẳn.

Nhưng bên cạnh đó, có nhược điểm rất dễ nhận thấy như:

VPN không có khả năng quản lý Quality of Service (QoS) qua môi trường Internet, do vậy các gói dữ liệu - Data package vẫn có nguy cơ bị thất lạc, rủi ro. Khả năng quản lý của các đơn vị cung cấp VPN là có hạn, không ai có thể ngờ trước được những gì có thể xảy ra với khách hàng của họ, hay nói ngắn gọn là bị hack đó.

No comments:

Post a Comment

So sánh các GitFlow model và áp dụng với CICD

https://medium.com/oho-software/so-s%C3%A1nh-c%C3%A1c-gitflow-model-v%C3%A0-%C3%A1p-d%E1%BB%A5ng-v%E1%BB%9Bi-cicd-b6581cfc893a