OpenVPN membuat terowongan terenkripsi antara dua titik, mencegah pihak ketiga mengakses lalu lintas jaringan Anda. Dengan menyiapkan server jaringan pribadi virtual (VPN), Anda menjadi penyedia VPN Anda sendiri. Banyak layanan VPN populer sudah menggunakan OpenVPN, jadi mengapa menghubungkan koneksi Anda ke penyedia tertentu jika Anda dapat memiliki kendali penuh?
Artikel pertama dalam seri ini menunjukkan cara mengatur dan mengkonfigurasi PC Linux untuk berfungsi sebagai server OpenVPN Anda. Itu juga membahas cara mengkonfigurasi router Anda sehingga Anda dapat mencapai server VPN Anda dari jaringan luar.
Artikel kedua ini menunjukkan cara menginstal perangkat lunak server OpenVPN menggunakan langkah-langkah yang disesuaikan dari wiki OpenVPN.
Instal OpenVPN
Pertama, instal OpenVPN dan easy-rsa
application (untuk membantu Anda mengatur otentikasi di server Anda) menggunakan manajer paket Anda. Contoh ini menggunakan Fedora Linux; jika Anda telah memilih sesuatu yang berbeda, gunakan perintah yang sesuai untuk distribusi Anda:
$ sudo dnf install openvpn easy-rsa
Ini membuat beberapa direktori kosong:
/etc/openvpn
/etc/openvpn/client
/etc/openvpn/server
Jika ini tidak dibuat selama penginstalan, buatlah secara manual.
Menyiapkan autentikasi
OpenVPN bergantung pada easy-rsa
skrip dan harus memiliki salinannya sendiri. Salin easy-rsa
skrip dan file:
$ sudo mkdir /etc/openvpn/easy-rsa
$ sudo cp -rai /usr/share/easy-rsa/3/* \
/etc/openvpn/easy-rsa/
Lebih banyak sumber daya Linux
- Lembar contekan perintah Linux
- Lembar contekan perintah Linux tingkat lanjut
- Kursus online gratis:Ikhtisar Teknis RHEL
- Lembar contekan jaringan Linux
- Lembar contekan SELinux
- Lembar contekan perintah umum Linux
- Apa itu container Linux?
- Artikel Linux terbaru kami
Otentikasi itu penting, dan OpenVPN menganggapnya sangat serius. Teorinya adalah jika Alice perlu mengakses informasi pribadi di dalam perusahaan Bob, Bob harus memastikan bahwa Alice benar-benar Alice. Demikian juga, Alice harus memastikan bahwa Bob benar-benar Bob. Kami menyebutnya otentikasi timbal balik.
Praktik terbaik hari ini memeriksa atribut dari dua dari tiga faktor yang mungkin:
- Sesuatu yang Anda miliki
- Sesuatu yang Anda ketahui
- Sesuatu yang Anda
Ada banyak pilihan. Pengaturan OpenVPN ini menggunakan:
- Sertifikat: Sesuatu yang dimiliki klien dan server
- Kata sandi sertifikat: Sesuatu yang diketahui orang
Alice dan Bob membutuhkan bantuan untuk saling mengotentikasi. Karena mereka berdua memercayai Cathy, Cathy mengambil peran yang disebut otoritas sertifikat (CA). Cathy membuktikan bahwa Alice dan Bob sama-sama seperti yang mereka klaim. Karena Alice dan Bob sama-sama mempercayai Cathy, sekarang mereka juga saling percaya.
Tapi apa yang meyakinkan Cathy bahwa Alice dan Bob benar-benar Alice dan Bob? Reputasi Cathy di komunitas bergantung pada cara melakukannya dengan benar, jadi jika dia ingin Danielle, Evan, Fiona, Greg, dan yang lainnya juga memercayainya, dia akan menguji klaim Alice dan Bob dengan ketat. Setelah Alice dan Bob meyakinkan Cathy bahwa mereka benar-benar Alice dan Bob, Cathy menandatangani sertifikat agar mereka dapat berbagi satu sama lain dan dunia.
Bagaimana Alice dan Bob mengenal Cathy—dan bukan seseorang yang meniru identitasnya—menandatangani sertifikat? Mereka menggunakan teknologi yang disebut kriptografi kunci publik:
- Temukan algoritme kriptografi yang mengenkripsi dengan satu kunci dan mendekripsi dengan kunci lain.
- Deklarasikan satu kunci pribadi dan bagikan kunci lainnya dengan publik.
- Cathy membagikan kunci publiknya dan salinan teks jelas dari tanda tangannya kepada dunia.
- Cathy mengenkripsi tanda tangannya dengan kunci pribadinya. Siapa pun dapat mendekripsinya dengan kunci publiknya.
- Jika tanda tangan Cathy yang didekripsi cocok dengan salinan teks-jelas, Alice dan Bob dapat mempercayai bahwa Cathy benar-benar menandatanganinya.
Anda menggunakan teknologi yang sama ini setiap kali Anda membeli barang dan jasa secara online.
Terapkan otentikasi
Dokumentasi OpenVPN menyarankan pengaturan CA pada sistem terpisah atau setidaknya direktori terpisah di server OpenVPN. Dokumentasi juga menyarankan pembuatan sertifikat server dan klien dari server dan klien. Karena ini adalah pengaturan yang sederhana, Anda dapat menggunakan server OpenVPN sebagai CA-nya sendiri dan meletakkan sertifikat dan kunci ke dalam direktori tertentu di server.
Buat sertifikat dari server dan salin ke setiap klien sebagai bagian dari penyiapan klien.
Implementasi ini menggunakan sertifikat yang ditandatangani sendiri. Ini berfungsi karena server memercayai dirinya sendiri, dan klien memercayai server. Oleh karena itu, server adalah CA terbaik untuk menandatangani sertifikat.
Dari server OpenVPN, atur CA:
$ sudo mkdir /etc/openvpn/ca
$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa init-pki
$ sudo / etc/openvpn/easy-rsa/easyrsa build-ca
Gunakan frasa sandi yang mudah diingat tetapi sulit ditebak.
Siapkan pasangan kunci server dan permintaan sertifikat:
$ cd /etc/openvpn/server
$ sudo /etc/openvpn/easy-rsa/easyrsa init-pki
$ sudo /etc/openvpn/easy-rsa/easy-rsa gen-req OVPNserver2020 tidak lulus
Dalam contoh ini, OVPNServer2020
adalah nama host apa pun yang Anda tetapkan untuk server OpenVPN Anda di artikel pertama dalam seri ini.
Buat dan tandatangani sertifikat
Sekarang Anda harus mengirim permintaan server ke CA dan membuat serta menandatangani sertifikat server.
Langkah ini pada dasarnya menyalin file permintaan dari /etc/openvpn/server/pki/reqs/OVPNserver2020.req
ke /etc/openvpn/ca/pki/reqs/OVPNserver2020.req
untuk mempersiapkannya untuk ditinjau dan ditandatangani:
$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa \
import-req /etc/openvpn/server/pki/reqs/OVPNserver2020.req OVPNserver2020
Tinjau dan tandatangani permintaan
Anda telah membuat permintaan, jadi sekarang Anda harus meninjau dan menandatangani sertifikat:
$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa \
show-req OVPNserver2020
Masuk sebagai server:
$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa \
sign-req server OVPNserver2020
Letakkan salinan server dan sertifikat CA di mana mereka berada untuk file konfigurasi untuk mengambilnya:
$ sudo cp /etc/openvpn/ca/pki/issued/OVPNserver2020.crt \
/etc/openvpn/server/pki/
$ sudo cp /etc/openvpn/ca/pki/ ca.crt \
/etc/openvpn/server/pki/
Selanjutnya, buat parameter Diffie-Hellman sehingga klien dan server dapat bertukar kunci sesi:
$ cd /etc/openvpn/server
$ sudo /etc/openvpn/easy-rsa/easyrsa gen-dh
Hampir sampai
Artikel berikutnya dalam seri ini akan menunjukkan cara mengonfigurasi dan memulai server OpenVPN yang baru saja Anda buat.
Artikel ini didasarkan pada blog D. Greg Scott dan digunakan kembali dengan izin.