OpenVPN: Arsitektur VPN Berbasis TLS
Pelajari cara OpenVPN menggunakan TLS untuk kanal kendali dan sandi yang dapat dikonfigurasi untuk kanal data.
OpenVPN: Arsitektur VPN Berbasis TLS adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cryptology Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cryptology Academy mencakup 4 pelajaran total.
Arsitektur Dua Kanal OpenVPN
OpenVPN menggunakan dua kanal terpisah: kanal kontrol dan kanal data. Kanal kontrol menangani autentikasi, pembentukan sesi, dan pertukaran konfigurasi menggunakan TLS. Kanal data membawa lalu lintas VPN sebenarnya yang dienkripsi dengan sandi simetris yang dinegosiasikan melalui kanal kontrol. Pemisahan ini memungkinkan OpenVPN memanfaatkan seluruh ekosistem TLS untuk manajemen kunci.
Kanal Kontrol: TLS untuk Negosiasi Kunci
Kanal kontrol OpenVPN menjalankan sesi TLS lengkap. Kedua sisi melakukan autentikasi menggunakan sertifikat X.509 yang ditandatangani oleh CA bersama. TLS menyediakan pertukaran kunci, validasi sertifikat, dan negosiasi parameter sandi kanal data. Karena TLS mendukung ECDHE, kanal kontrol menyediakan kerahasiaan maju sempurna: kunci kanal data tidak dapat dipulihkan dari sesi yang direkam, bahkan jika kunci CA diperoleh.
Enkripsi Kanal Data
Enkripsi kanal data dinegosiasikan melalui kanal kontrol TLS. OpenVPN 2.4 dan versi setelahnya secara bawaan menggunakan AES-256-GCM, yaitu sandi AEAD yang menyediakan kerahasiaan dan integritas dalam satu operasi. Versi sebelumnya menggunakan AES-256-CBC dengan HMAC-SHA256 secara terpisah. Mode AEAD lebih disukai karena menghilangkan kebutuhan akan verifikasi MAC terpisah dan tahan terhadap serangan oracle padding.
tls-crypt: Pembungkusan dengan Kunci Prabagi
Opsi tls-crypt membungkus seluruh sesi TLS, termasuk client hello, di dalam selubung terautentikasi HMAC simetris menggunakan kunci prabagi. Artinya, klien yang belum diautentikasi bahkan tidak dapat memulai jabat tangan TLS; paket awalnya dibuang secara diam-diam. Hal ini melindungi server OpenVPN dari serangan amplifikasi DDoS berbasis TLS dan menyembunyikan fakta bahwa server VPN sedang berjalan.
tls-auth dibandingkan dengan tls-crypt
Opsi tls-auth yang lebih lama menambahkan tag HMAC ke paket kanal kontrol TLS, tetapi tidak mengenkripsinya. Hal ini mencegah injeksi paket, tetapi tetap mengungkapkan jabat tangan TLS kepada pengamat. tls-crypt mengenkripsi dan mengautentikasi pembungkus kanal kontrol, sehingga menyediakan perlindungan DoS dan ketahanan terhadap analisis lalu lintas. tls-crypt adalah opsi modern yang direkomendasikan; tls-auth sudah tidak digunakan lagi dan digantikan oleh tls-crypt-v2.
Autentikasi Klien Berbasis Sertifikat
OpenVPN mengautentikasi klien menggunakan sertifikat X.509 yang ditandatangani oleh Otoritas Sertifikat VPN. Setiap klien menerima sertifikat dan kunci privat yang unik. Server memverifikasi rantai sertifikat dan, jika diinginkan, memeriksa Daftar Pencabutan Sertifikat (CRL) untuk menolak sertifikat yang telah dicabut. Pencabutan sertifikat segera menghapus akses klien, berbeda dengan sistem berbasis PSK yang perubahan kuncinya memengaruhi semua klien.
Transportasi UDP dibandingkan dengan TCP
OpenVPN dapat berjalan melalui UDP (bawaan dan direkomendasikan) atau TCP. UDP menghindari masalah TCP-di-atas-TCP, ketika kehilangan paket menyebabkan pengiriman ulang ganda pada lapisan TCP dan lapisan aplikasi VPN, sehingga kinerja menurun secara signifikan. Namun, beberapa jaringan memblokir UDP. Menjalankan OpenVPN pada port TCP 443 dapat melewati firewall yang hanya mengizinkan lalu lintas HTTPS, dengan konsekuensi kinerja yang menurun saat terjadi kehilangan paket.
Mode Antarmuka tun dan tap
OpenVPN beroperasi dalam mode tun (perutean) atau mode tap (penjembatanan). Mode tun membuat antarmuka jaringan IP titik-ke-titik yang merutekan paket IP antara klien dan jaringan VPN. Mode tap membuat antarmuka jembatan Ethernet yang meneruskan bingkai Ethernet, termasuk siaran dan protokol non-IP. Mode tun lebih efisien dan cocok untuk sebagian besar penggunaan VPN; mode tap diperlukan untuk menjembatani segmen jaringan atau protokol non-IP.
Direktif push untuk Konfigurasi Klien
Server OpenVPN dapat mengirimkan direktif konfigurasi kepada klien yang terhubung secara otomatis. Direktif push yang umum mencakup push "route 10.0.0.0 255.0.0.0" (menambahkan rute pada klien), push "dhcp-option DNS 10.0.0.1" (menetapkan server DNS), dan push "redirect-gateway def1" (merutekan seluruh lalu lintas klien melalui VPN). Hal ini memusatkan pengelolaan konfigurasi klien tanpa mengubah berkas konfigurasi setiap klien.
Kerahasiaan Maju Sempurna di OpenVPN
OpenVPN mencapai kerahasiaan maju sempurna melalui TLS ECDHE (Elliptic Curve Diffie-Hellman Ephemeral) di kanal kontrol. Pasangan kunci sementara yang baru digunakan untuk setiap sesi TLS, sehingga kunci sesi tidak dapat diturunkan dari kunci privat sertifikat jangka panjang milik server. Merekam lalu lintas terenkripsi hari ini dan kemudian memperoleh sertifikat server tetap tidak memungkinkan dekripsi sesi sebelumnya.
Menghentikan Dukungan terhadap Sandi Lemah di OpenVPN 2.5+
OpenVPN 2.5 menghentikan dukungan terhadap sandi Blowfish (BF-CBC), yang secara historis merupakan bawaan. BF-CBC menggunakan ukuran blok 64-bit yang rentan terhadap serangan ulang tahun SWEET32 dalam sesi yang panjang. OpenVPN modern menggunakan AES-256-GCM sebagai bawaan. OpenVPN 2.5 juga menghentikan dukungan terhadap sandi non-AEAD di kanal data dan memperketat persyaratan versi minimum TLS dengan menghentikan dukungan untuk TLS 1.0 dan 1.1.
Kanal Kontrol dibandingkan dengan Kanal Data
Apa fungsi utama kanal kontrol OpenVPN?
Ringkasan Arsitektur OpenVPN
Ringkasan OpenVPN: kanal kontrol menggunakan TLS untuk autentikasi dan negosiasi sandi, kanal data menggunakan sandi AEAD yang dinegosiasikan (bawaan AES-256-GCM), tls-crypt membungkus TLS untuk mencegah jabat tangan tanpa autentikasi, ECDHE menyediakan kerahasiaan maju, autentikasi klien berbasis sertifikat dengan pencabutan melalui CRL, UDP lebih disukai daripada TCP untuk kinerja, dan mode tun lebih disukai untuk penggunaan perutean IP.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “OpenVPN: Arsitektur VPN Berbasis TLS” gratis?
Ya — teks lengkap “OpenVPN: Arsitektur VPN Berbasis TLS” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cryptology Academy, upgrade ke CoddyKit PRO. Kursus Cryptology Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “OpenVPN: Arsitektur VPN Berbasis TLS”?
Pelajari cara OpenVPN menggunakan TLS untuk kanal kendali dan sandi yang dapat dikonfigurasi untuk kanal data. Kamu berlatih Cryptology Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Cryptology Academy?
Tidak diperlukan pengalaman sebelumnya. Cryptology Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “OpenVPN: Arsitektur VPN Berbasis TLS” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Cryptology Academy ini?
Ya. Setiap pelajaran Cryptology Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- IPsec: Protokol IKEv2, ESP, dan AH
- WireGuard: VPN ChaCha20 dan Curve25519
- OpenVPN: Arsitektur VPN Berbasis TLS
- Membandingkan Protokol VPN: Keamanan dan Kinerja