6.1 Giới thiệu về VPN
Virtual Private Network hay VPN hiểu nôm na là mạng riêng ảo. Rất có thể, bạn thường nghe thấy từ VPN khi muốn thay đổi quốc gia trên trình duyệt của điện thoại hoặc máy tính. Khởi chạy VPN, chọn một quốc gia và bạn đã hoàn tất.
![Giới thiệu về VPN](https://cdn.codegym.cc/images/article/4f03d22b-44ac-47e2-afa2-e74011890d2e/1024.jpeg)
Mặc dù trên thực tế, VPN không liên quan gì đến các quốc gia. Trường hợp là một chút khác nhau.
Hãy tưởng tượng rằng bạn làm việc trong văn phòng trên máy tính và trong văn phòng này có nhiều thiết bị máy tính khác nhau có quyền truy cập mạng: máy tính, máy chủ, máy in, thiết bị hội nghị truyền hình.
Tình huống 1 : văn phòng của bạn đã lớn hơn, bạn quyết định chuyển lên tầng tiếp theo. Bạn lấy máy tính của mình, chuyển nó sang một phòng khác, cắm nó vào một ổ cắm mạng khác và bạn vẫn có quyền truy cập vào tất cả các máy chủ và máy tính của công ty.
Rất có thể, máy tính của bạn hiện đang nói chuyện với một bộ định tuyến khác, nhưng tất cả các bộ định tuyến trong công ty của bạn đều biết cách giao tiếp với nhau và cung cấp cho bạn tất cả những lợi ích khi ở trên cùng một mạng cục bộ. Bạn không gặp vấn đề gì khi truy cập bất kỳ thiết bị nào trên mạng công ty.
Tình huống 2 : Một đại dịch đã bắt đầu và bạn quyết định làm việc tại nhà. Bạn mang máy tính cơ quan về nhà, nhưng thật không may, không có quyền truy cập vào máy chủ văn phòng ở nhà. Điều đó có vẻ hợp lý, bởi vì họ ở lại văn phòng ở đầu kia của thành phố. Mặt khác, câu hỏi đặt ra: khi bạn chuyển máy tính trong trường hợp đầu tiên, bạn vẫn có quyền truy cập vào máy tính văn phòng. Khi bạn di chuyển máy tính trong trường hợp thứ hai, không có quyền truy cập. Điều gì đã thay đổi?
Trong trường hợp đầu tiên, tất cả các máy tính trong văn phòng của bạn (ngay cả những máy tính ở các tầng khác nhau) đều nằm trên cùng một mạng cục bộ. Nhưng trong trường hợp thứ hai, không. Máy tính của bạn ở nhà không được kết nối với mạng LAN của cơ quan. Theo đó, bạn không có quyền truy cập vào tài nguyên nội bộ của mạng văn phòng.
Để giải quyết vấn đề này, một giải pháp đã được đề xuất - mạng cục bộ ảo (VPN). Trong văn phòng của bạn, ở mỗi tầng, có một bộ định tuyến gửi dữ liệu cho nhau và đảm bảo hoạt động của mạng cục bộ.
Chúng ta cần tạo hai bộ định tuyến ảo (dưới dạng chương trình), một bộ định tuyến ở văn phòng của bạn, bộ định tuyến thứ hai ở nhà, bộ định tuyến này cũng sẽ gửi dữ liệu được mã hóa cho nhau qua Internet. Và có những chương trình như vậy: một trong số đó được gọi là máy chủ VPN và chương trình thứ hai là máy khách VPN .
Máy chủ VPN được cấu hình bởi quản trị viên hệ thống trong văn phòng và máy khách VPN hiện có trong mọi máy tính và/hoặc điện thoại.
Bạn khởi chạy ứng dụng khách VPN trên máy tính của mình và sử dụng nó để kết nối với máy chủ VPN, vì vậy máy tính hiện cho rằng nó nằm trong mạng cục bộ nơi đặt máy chủ VPN.
Nếu bây giờ bạn khởi chạy trình duyệt của mình, thì tất cả dữ liệu từ trình duyệt của bạn sẽ được chuyển đến bộ định tuyến ảo cục bộ (máy khách VPN), từ bộ định tuyến ảo đó đến bộ định tuyến ảo của công ty (máy chủ VPN), sau đó tiếp tục đi ra thế giới thông qua cổng Internet của bạn. công ty văn phòng.
Địa chỉ IP bên ngoài của máy tính của bạn bây giờ sẽ khớp với địa chỉ IP công cộng của văn phòng của bạn. Và nếu văn phòng này ở Đức chẳng hạn, thì máy chủ mà trình duyệt của bạn truy cập sẽ chắc chắn rằng bạn đang ở văn phòng ở Đức.
6.2 Các loại VPN
Các mạng VPN được phân chia theo các chức năng mục tiêu của chúng. Có nhiều giải pháp khác nhau, nhưng đây là danh sách các giải pháp VPN điển hình:
VPN mạng nội bộ
Nó được sử dụng để kết hợp một số chi nhánh phân tán của một tổ chức thành một mạng an toàn duy nhất, trao đổi dữ liệu qua các kênh liên lạc mở. Đây là cái đầu tiên bắt đầu tất cả.
VPN truy cập từ xa
Nó được sử dụng để tạo một kênh an toàn giữa phân đoạn mạng công ty (văn phòng trung tâm hoặc văn phòng chi nhánh) và một người dùng duy nhất, khi đang làm việc tại nhà, kết nối với tài nguyên của công ty từ máy tính ở nhà, máy tính xách tay của công ty, điện thoại thông minh hoặc ki-ốt Internet. Đây là tùy chọn bạn có nếu làm việc ở nhà và kết nối với văn phòng qua VPN.
VPN bên ngoài
Được sử dụng cho các mạng mà người dùng "bên ngoài" (ví dụ: khách hàng hoặc máy khách) kết nối. Mức độ tin cậy đối với họ thấp hơn nhiều so với nhân viên của công ty, vì vậy cần phải cung cấp các "biên giới" bảo vệ đặc biệt để ngăn chặn hoặc hạn chế quyền truy cập của họ đối với thông tin bí mật, đặc biệt có giá trị.
Internet VPN
Được các nhà cung cấp sử dụng để cung cấp quyền truy cập Internet, thường là nếu một số người dùng kết nối qua một kênh vật lý. Giao thức PPPoE đã trở thành tiêu chuẩn trong các kết nối ADSL.
L2TP đã phổ biến vào giữa những năm 2000 trong các mạng gia đình: vào thời đó, lưu lượng truy cập mạng nội bộ không được trả tiền và lưu lượng truy cập bên ngoài rất đắt. Điều này giúp kiểm soát chi phí: khi tắt kết nối VPN, người dùng không phải trả bất kỳ khoản nào.
Hiện tại, Internet có dây rẻ hoặc không giới hạn và về phía người dùng thường có một bộ định tuyến, việc bật và tắt Internet không thuận tiện như trên máy tính. Do đó, truy cập L2TP đã là dĩ vãng.
VPN máy khách/máy chủ
Cũng là một lựa chọn phổ biến. Nó đảm bảo bảo vệ dữ liệu được truyền giữa hai nút (không phải mạng) của mạng công ty. Điểm đặc biệt của tùy chọn này là VPN được xây dựng giữa các nút thường nằm trong cùng một phân đoạn mạng, chẳng hạn như giữa máy trạm và máy chủ. Nhu cầu này rất thường phát sinh trong trường hợp cần tạo một số mạng logic trong một mạng vật lý.
Ví dụ khi cần phân chia lưu lượng giữa bộ phận tài chính và bộ phận nhân sự truy cập các máy chủ nằm trong cùng một phân khúc vật lý. Tùy chọn này tương tự như công nghệ VLAN, nhưng thay vì phân tách lưu lượng, nó được mã hóa.
6.3 OpenVPN
Hãy nhớ rằng, chúng ta đã nói về một bộ định tuyến ảo ở phía văn phòng mà bạn có thể kết nối bằng máy khách VPN? Vì vậy, có một giải pháp rất phổ biến mà bạn nên biết. Đây là OpenVPN.
OpenVPN là một chương trình miễn phí triển khai công nghệ mạng riêng ảo (VPN). Nó hỗ trợ hai chế độ hoạt động phổ biến: máy khách-máy chủ và điểm-điểm, khi bạn cần kết hợp hai mạng lớn.
Nó duy trì mức mã hóa lưu lượng tốt giữa những người tham gia và cũng cho phép bạn thiết lập kết nối giữa các máy tính phía sau NAT và tường lửa mà không phải thay đổi cài đặt của chúng.
Để bảo mật kênh điều khiển và luồng dữ liệu, OpenVPN sử dụng thư viện OpenSSL . Điều này cho phép bạn sử dụng toàn bộ bộ thuật toán mã hóa có sẵn trong thư viện này.
Nó cũng có thể sử dụng xác thực hàng loạt HMAC để bảo mật hơn và tăng tốc phần cứng để cải thiện hiệu suất mã hóa. Thư viện này sử dụng OpenSSL, cụ thể hơn là giao thức SSLv3/TLSv1.2 .
Có các triển khai của chương trình này cho tất cả các hệ điều hành phổ biến: Solaris, OpenBSD, FreeBSD, NetBSD, GNU/Linux, Apple Mac OS X, QNX, Microsoft Windows, Android, iOS.
OpenVPN cung cấp cho người dùng một số loại xác thực :
- Phím đặt trước là phương pháp dễ nhất.
- Xác thực chứng chỉ là phương pháp linh hoạt nhất trong cài đặt.
- Sử dụng thông tin đăng nhập và mật khẩu - có thể được sử dụng mà không cần tạo chứng chỉ ứng dụng khách (vẫn cần chứng chỉ máy chủ).
Thông tin kĩ thuật
OpenVPN tiến hành tất cả các hoạt động mạng qua truyền tải TCP hoặc UDP. Nói chung, UDP được ưu tiên hơn vì đường hầm sẽ mang lưu lượng lớp mạng trở lên qua OSI nếu sử dụng kết nối TUN hoặc lưu lượng lớp liên kết trở lên nếu sử dụng TAP.
Điều này có nghĩa là OpenVPN hoạt động như một kênh hoặc thậm chí là giao thức lớp vật lý cho máy khách, nghĩa là độ tin cậy truyền dữ liệu có thể được đảm bảo bởi các mức OSI cao hơn, nếu cần.
Cho rằng chúng tôi đã phân tích kỹ mô hình OSI, bạn sẽ hiểu những gì đang được nói ở đây.
Đó là lý do tại sao giao thức UDP, theo khái niệm của nó, gần nhất với OpenVPN, vì nó, giống như các giao thức của liên kết dữ liệu và các lớp vật lý, không cung cấp độ tin cậy của kết nối, chuyển sáng kiến này lên các cấp cao hơn. Nếu bạn định cấu hình đường hầm để hoạt động trên TCP, máy chủ thường sẽ nhận các phân đoạn OpenVPN TCP có chứa các phân đoạn TCP khác từ máy khách.
Ngoài ra, điều này không quan trọng, OpenVPN có thể hoạt động thông qua hầu hết các máy chủ proxy, bao gồm HTTP, SOCKS, thông qua NAT và các bộ lọc mạng. Máy chủ có thể được cấu hình để chỉ định cài đặt mạng cho máy khách. Ví dụ: địa chỉ IP, cài đặt định tuyến và tham số kết nối.