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
- β 4000 Wireguard.
- :
- ChaCha20 AEAD RFC7539;
- Poly1305 , AEAD RFC7539;
- Curve25519 β Diffie-Hellman;
- Blake2 β RFC7693 -;
- SipHash2-4 β ;
- HKDF β ;
- UDP - sebagai protokol lapisan transport;
- Kerahasiaan sempurna ke depan adalah prinsip mencegah kompromi kunci sesi.
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.