Đi vào trung tâm Linux 5.6 đã bật VPN WireGuard

Hôm nay Linus đã chuyển chi nhánh net-next có giao diện VPN cho chính mình WireGuard. Về sự kiện này báo cáo trong danh sách gửi thư WireGuard.

Đi vào trung tâm Linux 5.6 đã bật VPN WireGuard

Việc thu thập mã nguồn cho nhân hệ điều hành mới hiện đang được tiến hành. Linux 5.6. WireGuard — một VPN thế hệ mới tốc độ cao, sử dụng công nghệ mã hóa hiện đại. Ban đầu, nó được phát triển như một giải pháp thay thế đơn giản và tiện lợi hơn cho các VPN hiện có. Nó được phát triển bởi chuyên gia an ninh thông tin người Canada Jason A. Donenfeld. Vào tháng 8 năm 2018, WireGuard nhận được lời khen ngợi Từ Linus Torvalds. Khoảng thời gian đó, công việc tích hợp VPN vào nhân hệ điều hành bắt đầu. LinuxQuá trình này mất nhiều thời gian hơn một chút.

"Tôi thấy Jason đã gửi yêu cầu kéo (pull request) để bao gồm..." WireGuard “Vào nhân hệ điều hành,” Linus viết vào ngày 2 tháng 8 năm 2018. “Tôi chỉ muốn nhắc lại tình yêu của mình dành cho VPN này và hy vọng nó sẽ sớm được hợp nhất? Mã nguồn có thể không hoàn hảo, nhưng tôi đã xem xét nó và so sánh với những thứ kinh khủng khác.” OpenVPN Và IPSec, nó thực sự là một tác phẩm nghệ thuật."

Bất chấp mong muốn của Linus, việc sáp nhập đã kéo dài suốt một năm rưỡi. Vấn đề chính hóa ra lại gắn liền với việc triển khai độc quyền các chức năng mật mã, được sử dụng để cải thiện hiệu suất. Sau các cuộc đàm phán kéo dài vào tháng 2019 năm XNUMX, một quyết định thỏa hiệp đã được đưa ra Dịch các bản vá cho các hàm API mã hóa có sẵn trong nhân hệ điều hành mà các nhà phát triển có quyền truy cập. WireGuard Đã có một số phàn nàn về hiệu năng và bảo mật tổng thể. Nhưng các chức năng mã hóa gốc đã giải quyết được vấn đề. WireGuard Tách biệt các API Zinc cấp thấp và chuyển chúng dần lên nhân hệ điều hành theo thời gian. Vào tháng 11, các nhà phát triển nhân hệ điều hành đã giữ lời hứa của họ và đã đồng ý chuyển một phần mã từ Zinc sang kernel chính. Ví dụ: trong API tiền điện tử bao gồm được chuẩn bị trong WireGuard Các phương pháp triển khai nhanh thuật toán ChaCha20 và Poly1305.

Cuối cùng, vào ngày 9 tháng 12 năm 2019, David S. Miller, người chịu trách nhiệm về hệ thống con mạng hạt nhân, Linux, Đã được chấp nhận đến nhánh tiếp theo bản vá lỗi với việc triển khai giao diện VPN từ dự án WireGuard.

Và hôm nay, ngày 29 tháng 2020 năm XNUMX, những thay đổi đã đến với Linus để đưa vào kernel.

Đi vào trung tâm Linux 5.6 đã bật VPN WireGuard

Quyền lợi đã yêu cầu WireGuard So với các giải pháp VPN khác:

  • Dễ sử dụng.
  • Sử dụng mật mã hiện đại: Khung giao thức tiếng ồn, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF, v.v.
  • Mã nhỏ gọn, dễ đọc, dễ dàng điều tra các lỗ hổng hơn.
  • Hiệu suất cao.
  • Rõ ràng và chi tiết sự chỉ rõ.

Tất cả những logic cơ bản WireGuard cần ít hơn 4000 dòng mã, trong khi đó OpenVPN và IPSec bao gồm hàng trăm nghìn đường truyền.

"TRONG WireGuard Khái niệm định tuyến khóa mã hóa được sử dụng, bao gồm việc liên kết một khóa riêng tư với mỗi giao diện mạng và sử dụng nó để liên kết khóa công khai. Các khóa công khai được trao đổi để thiết lập kết nối theo cách tương tự như SSH. Để đàm phán khóa và thiết lập kết nối mà không cần chạy một daemon riêng biệt trong không gian người dùng, cơ chế Noise_IK từ được sử dụng. Khung giao thức tiếng ồntương tự như việc duy trì ủy quyền trong SSH. Việc truyền dữ liệu được thực hiện thông qua việc đóng gói trong các gói UDP. Hỗ trợ thay đổi địa chỉ IP của máy chủ VPN (chuyển vùng) mà không ngắt kết nối với cấu hình lại tự động của máy khách, - пишет Mạng mở.

Để mã hóa được sử dụng mật mã dòng ChaCha20 và Thuật toán xác thực tin nhắn (MAC) Poly1305, được thiết kế bởi Daniel Bernstein (Daniel J. Bernstein), Tanja Lange và Peter Schwabe. ChaCha20 và Poly1305 được định vị là các chất tương tự nhanh hơn và an toàn hơn của AES-256-CTR và HMAC, việc triển khai phần mềm cho phép đạt được thời gian thực thi cố định mà không cần sử dụng hỗ trợ phần cứng đặc biệt. Để tạo khóa bí mật dùng chung, giao thức Diffie-Hellman đường cong elip được sử dụng trong quá trình triển khai Curve25519, cũng được đề xuất bởi Daniel Bernstein. Thuật toán được sử dụng để băm BLAKE2 (RFC7693)'.

Những phát hiện Kiểm tra hiệu năng từ trang web chính thức:

Băng thông (megabit/s)
Đi vào trung tâm Linux 5.6 đã bật VPN WireGuard

Ping (ms)
Đi vào trung tâm Linux 5.6 đã bật VPN WireGuard

Cấu hình thử nghiệm:

  • Intel Core i7-3820QM và Intel Core i7-5200U
  • Thẻ Gigabit Intel 82579LM và Intel I218LM
  • Linux 4.6.1
  • Cấu hình WireGuard: ChaCha20 256-bit với Poly1305 dành cho MAC
  • Cấu hình IPsec đầu tiên: ChaCha256 20-bit với Poly1305 cho MAC
  • Cấu hình IPsec thứ hai: AES-256-GCM-128 (với AES-NI)
  • Cấu hình OpenVPN: bộ mã hóa tương đương của AES 256-bit với HMAC-SHA2-256, chế độ UDP
  • Hiệu suất được đo bằng cách sử dụng iperf3, hiển thị kết quả trung bình trong 30 phút.

Về mặt lý thuyết, sau khi tích hợp vào ngăn xếp mạng, WireGuard Đáng lẽ nó phải hoạt động nhanh hơn nữa. Nhưng trên thực tế, điều này không nhất thiết đúng do quá trình chuyển đổi sang các chức năng mã hóa tích hợp sẵn của Crypto API. Có thể không phải tất cả các chức năng đó đều được tối ưu hóa đến mức hiệu năng của phiên bản gốc. WireGuard.

"Theo quan điểm của tôi, WireGuard Nó hoàn toàn lý tưởng cho người dùng. Tất cả các quyết định cấp thấp đều được tính đến trong bản đặc tả, vì vậy việc thiết lập một cơ sở hạ tầng VPN điển hình chỉ mất vài phút. Hầu như không thể cấu hình sai. писали trên Habré vào năm 2018. - Quá trình cài đặt được mô tả chi tiết trên trang web chính thức, tôi muốn lưu ý riêng về sự xuất sắc Hỗ trợ OpenWRT. Tính dễ sử dụng và gọn nhẹ của cơ sở mã này đạt được bằng cách loại bỏ việc phân phối khóa. Không có hệ thống chứng chỉ phức tạp và tất cả những điều kinh khủng của công ty này; các khóa mã hóa ngắn được phân phối giống như các khóa SSH.”

Dự án WireGuard Dự án này đã được phát triển từ năm 2015, đã được kiểm toán và xác minh chính thức. Ủng hộ WireGuard Được tích hợp vào NetworkManager và systemd, và các bản vá lỗi kernel được bao gồm trong các bản phân phối cơ bản. Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph và ALT.

Nguồn: www.habr.com

Mua dịch vụ lưu trữ đáng tin cậy cho các trang web có bảo vệ DDoS, máy chủ VPS VDS 🔥 Mua dịch vụ hosting website đáng tin cậy với bảo vệ DDoS, máy chủ VPS VDS | ProHoster