Mana yang lebih baik untuk dipilih: Wireguard atau OpenVPN? VPN Favorit Linus Torvalds





Teknologi VPN jarang menjadi subjek banyak pengawasan: ada dan ada. Pencipta Wireguard, Jason A. Donenfeld, ternyata beruntung setelah penilaian kualitas kode yang sangat dipuji oleh Linus Torvalds.



Bisakah saya sekali lagi menyatakan cinta saya untuk itu dan berharap itu segera menyatu? Mungkin kodenya tidak sempurna, tetapi saya telah membacanya sekilas, dan dibandingkan dengan kengerian OpenVPN dan IPSec, ini adalah sebuah karya seni.


Tak lama kemudian, Wireguard berada di bagian atas kernel Linux yang stabil. Apa yang membuat Wireguard begitu hebat dan berbeda dari VPN lain?



Enkripsi: Perbedaan antara Wireguard dan OpenVPN



Wireguard mengambil pendekatan enkripsi yang minimalis dan tanpa basa-basi, dengan sengaja menghilangkan fleksibilitas dan pilihan protokol yang terlalu mahal. Jika tidak ada pilihan protokol, tidak ada proses negosiasi di mana lubang keamanan biasanya ditemukan. Selain itu, kerentanan SSL / TLS yang mengalir dengan lancar juga tidak mendukung banyaknya pilihan.



Wireguard





Tidak seperti OpenVPN, Wireguard tidak menggunakan sertifikat X.509 dan tidak memiliki masalah terkait . Sebaliknya, Wireguard menggunakan enkripsi kunci publik dan privat asimetris.



Protokol enkripsi OpenVPN



OpenVPN mendukung banyak algoritma kriptografi menggunakan pustaka OpenSSL . Lebih khusus lagi, algoritme berikut digunakan untuk enkripsi dan otentikasi. Fungsi tersebut tersedia untuk jumlah hash. OpenVPN bersama dengan OpenSSL mendukung standar PKI RSA, DSA dan ECDSA, tetapi tidak semuanya cocok untuk semua skenario pengguna. Misalnya, kunci ECDSA belum menerima dukungan luas dari CA root.



aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb

aes-256-cbc aes-256-ecb aria-128-cbc aria-128-cfb

aria-128-cfb1 aria-128-cfb8 aria-128-ctr aria-128-ecb

aria-128-ofb aria-192-cbc aria-192-cfb aria-192-cfb1

aria-192-cfb8 aria-192-ctr aria-192-ecb aria-192-ofb

aria-256-cbc aria-256-cfb aria-256-cfb1 aria-256-cfb8

aria-256-ctr aria-256-ecb aria-256-ofb base64

bf bf-cbc bf-cfb bf-ecb

bf-ofb camellia-128-cbc camellia-128-ecb camellia-192-cbc

camellia-192-ecb camellia-256-cbc camellia-256-ecb cast

cast-cbc cast5-cbc cast5-cfb cast5-ecb

cast5-ofb des des-cbc des-cfb

des-ecb des-ede des-ede-cbc des-ede-cfb

des-ede-ofb des-ede3 des-ede3-cbc des-ede3-cfb

des-ede3-ofb des-ofb des3 desx

idea idea-cbc idea-cfb idea-ecb

idea-ofb rc2 rc2-40-cbc rc2-64-cbc

rc2-cbc rc2-cfb rc2-ecb rc2-ofb

rc4 rc4-40 rc5 rc5-cbc

rc5-cfb rc5-ecb rc5-ofb seed

seed-cbc seed-cfb seed-ecb seed-ofb

sm4-cbc sm4-cfb sm4-ctr sm4-ecb












(1:701)$ openssl dgst --list



Supported digests:



-blake2b512 -blake2s256 -md4

-md5 -md5-sha1 -mdc2

-ripemd -ripemd160 -rmd160

-sha1 -sha224 -sha256

-sha3-224 -sha3-256 -sha3-384

-sha3-512 -sha384 -sha512

-sha512-224 -sha512-256 -shake128

-shake256 -sm3 -ssl3-md5

-ssl3-sha1 -whirlpool











  • UDP / TCP - sebagai protokol lapisan transport;
  • Kerahasiaan sempurna ke depan adalah prinsip mencegah kompromi kunci sesi.


Kesimpulan tentang enkripsi dan standar keamanan



Wireguard secara arsitektural lebih aman karena fakta bahwa permukaan serangan jauh lebih kecil dibandingkan dengan OpenVPN. Namun demikian, OpenVPN dianggap sangat aman dan andal, karena telah melewati audit kode independen berkali-kali. Karenanya, OpenVPN mendapat manfaat dari pendekatan konservatif untuk memilih solusi VPN.



Di saat yang sama, kurangnya fleksibilitas dan pilihan metode enkripsi menciptakan hambatan yang signifikan untuk penggunaan Wireguard di segmen korporat pengguna VPN. Bayangkan situasi tipikal karyawan kami di mana karyawan terhubung ke jaringan kerja melalui VPN dari berbagai perangkat. Dalam situasi seperti itu, kurangnya fleksibilitas dan pilihan akan menciptakan lebih banyak masalah daripada yang dapat dihilangkannya.



Perbandingan kinerja



Karena Wireguard diimplementasikan di ruang kernel dan OpenVPN ada di ruang pengguna, yang pertama harus memiliki keunggulan kecepatan. Hal ini disebabkan oleh fakta bahwa paket secara konstan disalin dari satu ruang ke ruang lain, dan sebagai tambahan, layanan OpenVPN latar belakang yang konstan diperlukan.



Semua ini perlu diperiksa dalam praktiknya, untungnya ada banyak pengukuran kecepatan untuk terowongan VPN. Sebagai permulaan, Anda dapat melihat hasil derby VPN dari penulis Wireguard sendiri. Berikut beberapa detail dan hasil pengukurannya.



  • Teknologi - IPSEC, OpenVPN dan Wireguard;
  • Prosesor IntelCore i7-3820QM dan Intel Core i7-5200U;
  • Kartu jaringan - Intel 82579LM dan Intel I218LM gigabit Ethernet;






Perbandingan Kinerja VPN Jason A. Donenfeld



Dalam uji throughput dan respons ping, Wireguard secara signifikan mengungguli OpenVPN, serta dua variasi IPSec. Selain itu, selama uji throughput menggunakan OpenVPN dan IPSec, utilisasi CPU mencapai 100% . Pada saat yang sama, penggunaan Wireguard tidak terlalu banyak memuat prosesor pusat, sehingga memungkinkan untuk sepenuhnya memanfaatkan sumber daya kartu jaringan Gigabit Ethernet.



Wajar jika berasumsi bahwa penulis Wireguard mungkin bias dalam membuat skrip dan menafsirkan hasil pengukuran kinerja teknologi VPN. Oleh karena itu, masuk akal untuk melihat uji kecepatan lain dari berbagai VPN. Untungnya, semua yang dibutuhkan untuk ini adalah server VPS, VPN dan paket iperf3.



Tetapi tes serupa lainnya menunjukkan keunggulan Wireguard dalam tes kinerja.





Perbandingan Kinerja Wireguard dan OpenVPN



Fakta yang tidak terduga adalah bahwa openvpn-tcp lebih cepat daripada openvpn-udp, tetapi setelah diperiksa lebih dekat, semuanya akan beres. Aliran TCP memiliki lebih sedikit pengujian yang diselesaikan daripada UDP. Bagaimanapun, Wireguard juga menunjukkan hasil kinerja terbaik di sini.



Dalam rangkaian pengujian yang sama, menarik untuk membandingkan kecepatan koneksi VPN tergantung pada jumlah soket yang terbuka. Dengan peningkatan jumlah mereka, kinerja Wireguard turun secara tiba-tiba, meskipun tetap lebih tinggi dari openvpn-tcp dan openvpn-udp.





Perbandingan kinerja Wireguard dan OpenVPN tergantung pada jumlah soket terbuka. TestID 0-600 sesuai dengan openvpn-udp, 700-1200 ke openvpn-tcp, dan 1300-1800 untuk Wireguard



Kesimpulan tentang kecepatan koneksi VPN



Tes kecepatan sintetik dari berbagai penulis yang menggunakan paket iperf3 menunjukkan Wireguard lebih cepat daripada OpenVPN.



Privasi data



Protokol VPN lebih menekankan pada keamanan koneksi daripada privasi. Namun, kemungkinan untuk mempertahankan anonimitas juga penting - siapa yang ingin menulis catatan penjelasan tentang fakta mengunduh buku teks Oracle, atau emulator topologi Cisco? Tidak ada yang mengkhianati pelanggaran serta alamat IP pengguna.



Pengaturan Wireguard secara eksplisit berisi alamat IP pengguna dan keadaan ini tidak akan memungkinkan mereka untuk luput dari perhatian setelah server tertarik pada lembaga penegak hukum. Tentu saja, Anda tidak akan dapat membaca lalu lintas jaringan, tetapi Anda dapat mengidentifikasi peserta dalam koneksi aman.



Menyiapkan koneksi aman Wireguard sendiri cukup mudah. Instalasi dulu.



(1:530)$ sudo emerge -av wireguard-modules wireguard-tools
These are the packages that would be merged, in order:

Calculating dependencies... done!
[binary  N     ] net-dns/openresolv-3.11.0  USE="(-selinux)" 
[binary  N     ] virtual/resolvconf-1 
[ebuild  N     ] net-vpn/wireguard-modules-1.0.20201221  USE="module -debug -module-src" 
[binary  N     ] net-vpn/wireguard-tools-1.0.20200827  USE="wg-quick" 

Would you like to merge these packages? [Yes/No] 
      
      





Kami membuat kunci publik dan pribadi.



(1:531)$ wg genkey | tee privatekey | wg pubkey > publickey
      
      





Selanjutnya, Anda perlu mengkonfigurasi file /etc/wireguard/wg0.conf.



/etc/wireguard/wg0.conf

[Interface]
Address = 10.0.0.1/24, fdc9:1f28:04d7:9ee9::1/64
SaveConfig = true
ListenPort = 51820
PrivateKey = 2JtKAUFzecmgIVzbscQh3iUZrZanxIzvbejcIkvC5Hk= #PEER_A_PRIVATE_KEY

[Peer]
PublicKey = rgqd1cHKgRWX3IkYYSlrKA/SW3qZUhSJMqwTq4+3eFs= #PEER_B_PUBLIC_KEY
PresharedKey = PEER_A-PEER_B-PRESHARED_KEY
AllowedIPs = 10.0.0.2/32, fdc9:1f28:04d7:9ee9::2/128
Endpoint = pb.example.com:51280
      
      





Partisipan kedua dari koneksi tersebut harus mengkonfigurasi file yang sama dalam dirinya sendiri, menentukan kunci privatnya dan kunci publik dari partisipan A. Untuk membuat koneksi, masing-masing pihak melakukannya wg-quick up interface_name.







. terlihat di file log sistem dan tabel SNMP hingga server di-boot ulang.

OpenVPN lebih melindungi kerahasiaan koneksi klien, karena tidak memerlukan pengaturan alamat IP atau nama jaringan komputer klien sebelum membuat koneksi aman.



Kesimpulan tentang privasi data



Dalam nominasi ini, OpenVPN memiliki keuntungan yang pasti karena fakta bahwa hanya Wireguard yang mengasumsikan menyimpan alamat IP pengguna di server VPN untuk waktu yang lama.



Intinya: VPN Mana yang Dipilih?



Ada banyak sekali kasus penggunaan VPN khusus di luar sana, dan rekomendasi yang sama mungkin tidak baik untuk semua orang. Karenanya, untuk skenario yang berbeda, dua grup dapat dibedakan dengan solusi VPN yang paling sesuai.



  • Jika Anda adalah pengguna biasa;
  • Anda memerlukan VPN untuk menerobos batasan RKN yang konyol;
  • kecepatan penting bagi Anda, misalnya, untuk berbagi file, atau pengoperasian aplikasi Anda;


Gunakan Wireguard.



  • Pengguna bisnis perusahaan menengah dan besar yang menggunakan VPN untuk akses jarak jauh ke jaringan internal;
  • pengguna bisnis yang menyediakan akses jarak jauh melalui VPN ke sumber daya TI yang berisi data rahasia atau rahasia dagang;
  • siapa pun yang membutuhkan solusi VPN yang andal dan teruji waktu;




Lebih baik gunakan OpenVPN.



Nah, Anda sudah tahu VPS mana yang harus diambil untuk VPN.






All Articles