Cộng đồng công nghệ đang thảo luận về các giải pháp thay thế cho việc lưu trữ cơ sở hạ tầng WebRTC sau khi gói miễn phí của Google Cloud trở nên kém khả thi hơn cho các dự án VPN tự làm. Oracle Cloud Free Tier đã nổi lên như một lựa chọn phổ biến trong số các nhà phát triển đang tìm kiếm giải pháp tự lưu trữ máy chủ TURN (Traversal Using Relays around NAT) và các dịch vụ mạng khác mà không tốn nhiều chi phí.
Oracle Cloud như một Nền tảng Tiết kiệm Chi phí
Oracle Cloud Infrastructure (OCI) cung cấp một gói miễn phí hấp dẫn bao gồm máy ảo, bộ nhớ và lưu trữ có thể sử dụng vô thời hạn. Mặc dù bài viết cung cấp hướng dẫn chi tiết để thiết lập máy chủ TURN trên nền tảng của Oracle, các thành viên cộng đồng chỉ ra rằng việc triển khai kỹ thuật sẽ hoạt động trên hầu hết mọi nền tảng lưu trữ VM. Ưu điểm chính của dịch vụ Oracle dường như là mức giá, mặc dù một số người bày tỏ sự hoài nghi về tính khả thi lâu dài của nó.
Phần Oracle có lẽ là thành phần cơ bản nhất, có thể hoán đổi nhất trong toàn bộ hệ thống. Phần khó khăn đối với tôi là tất cả cấu hình cổng/tường lửa, điều này như bạn nói sẽ giống nhau/rất giống nhau ở bất kỳ đâu.
Đối với các dự án nghiệp dư và các trường hợp sử dụng cá nhân, gói miễn phí của Oracle cung cấp đủ tài nguyên để chạy các dịch vụ như máy chủ TURN mà nếu không sẽ yêu cầu các gói đăng ký trả phí trên các nền tảng đám mây khác.
Tài nguyên của Oracle Cloud Free Tier:
- 1-2 máy chủ ảo chạy Ubuntu hoặc CentOS
- 24GB bộ nhớ cho các máy chủ
- 200GB lưu trữ khối
Các phương pháp bảo mật cho máy chủ TURN:
- Xác thực cơ bản
- Tạo thông tin xác thực có thời hạn ngắn
- Chặn yêu cầu từ nguồn gốc khác
- Cơ chế xác thực có giới hạn thời gian
- API xác minh phân bổ
Thách thức của NAT Traversal
Một phần đáng kể trong cuộc thảo luận của cộng đồng xoay quanh các thách thức kỹ thuật khiến máy chủ TURN trở nên cần thiết. NAT (Network Address Translation) traversal vẫn là một vấn đề dai dẳng trong mạng, đặc biệt là đối với các giao tiếp ngang hàng. Máy chủ TURN hoạt động như các trạm chuyển tiếp khi kết nối trực tiếp giữa các máy ngang hàng không khả thi do cấu hình NAT hoặc tường lửa.
Một số người bình luận mô tả TURN như một giải pháp tạm thời không mấy hoàn hảo, yêu cầu định tuyến lưu lượng qua các máy chủ xa khi hai máy tính về lý thuyết có thể giao tiếp trực tiếp. Tuy nhiên, những người khác bảo vệ TURN như một giải pháp thực tế với những hạn chế của địa chỉ IPv4 và việc triển khai NAT rộng rãi. Cuộc thảo luận nhấn mạnh cách IPv6 đáng lẽ phải giải quyết nhiều vấn đề này nhưng chưa được áp dụng đủ rộng rãi để loại bỏ nhu cầu về máy chủ TURN.
Ngoài việc vượt qua NAT, máy chủ TURN còn cung cấp các lợi ích bổ sung bao gồm cầu nối giao thức (TCP sang UDP), bảo vệ quyền riêng tư bằng cách ẩn địa chỉ IP của khách hàng và một số lợi thế bảo mật nhất định bằng cách tạo ra các phân bổ được kiểm soát ở các cạnh mạng.
Các Cân nhắc Bảo mật cho Máy chủ TURN Công khai
Bảo mật nổi lên như một mối quan tâm quan trọng khi tự lưu trữ máy chủ TURN. Các thành viên cộng đồng nhấn mạnh các vectơ lạm dụng tiềm ẩn, lưu ý rằng nếu không có cơ chế xác thực phù hợp, máy chủ TURN công khai có thể bị lạm dụng để chuyển tiếp lưu lượng tùy ý không liên quan đến ứng dụng của máy chủ.
Bài viết và các bình luận tiếp theo mô tả một số cách tiếp cận để giảm thiểu những rủi ro này, bao gồm:
- Triển khai xác thực cơ bản như được mô tả trong hướng dẫn
- Tạo thông tin xác thực ngắn hạn, dùng một lần cho người dùng
- Chặn các yêu cầu cross-origin đến máy chủ thông tin xác thực
- Sử dụng cơ chế xác thực có thời gian hết hạn
- Tận dụng API của coturn để xác minh rằng các phân bổ và quyền chỉ được tạo cho người dùng được ủy quyền
Những biện pháp bảo mật này là thiết yếu cho bất kỳ ai có kế hoạch triển khai máy chủ TURN, đặc biệt là trong môi trường sản xuất.
Nền tảng và Triển khai Thay thế
Mặc dù Oracle Cloud nổi bật trong cuộc thảo luận, những người bình luận đề cập đến các nền tảng thay thế như Hetzner cung cấp giá cả cạnh tranh cho những người sẵn sàng trả một khoản phí nhỏ. Cộng đồng cũng đề cập ngắn gọn đến các triển khai máy chủ TURN khác nhau ngoài coturn (được đề cập trong bài viết), bao gồm các tùy chọn được viết bằng Elixir và Go.
Một số thành viên cộng đồng bày tỏ sự đánh giá cao đối với các dịch vụ như PeerJS cung cấp quyền truy cập tạm thời vào cơ sở hạ tầng TURN trong quá trình phát triển, cho phép các nhà phát triển làm việc với các ứng dụng thử nghiệm trước khi triển khai các giải pháp sẵn sàng cho sản xuất của riêng họ.
Tóm lại, việc tự lưu trữ máy chủ TURN đại diện cho một khả năng quan trọng đối với các nhà phát triển làm việc với WebRTC và các công nghệ ngang hàng khác. Trong khi Oracle Cloud Free Tier hiện cung cấp một con đường triển khai kinh tế, kiến thức kỹ thuật được chia sẻ trong các cuộc thảo luận này áp dụng rộng rãi trên các nền tảng. Như với bất kỳ dịch vụ hướng công khai nào, các cân nhắc về bảo mật nên luôn là ưu tiên hàng đầu khi triển khai cơ sở hạ tầng TURN của riêng bạn.
Tham khảo: How to Self-Host (Almost) Free, Open-Source, VPN Servers