Beberapa hari yang lalu versi baru OpenVPN 2.4.9 dirilis, menjadi ini versi korektif yang diluncurkan untuk memperbaiki kerentanan CVE-2.020-11.810, yang memungkinkan untuk menerjemahkan sesi klien ke alamat IP baru, yang hingga saat itu belum terdaftar.
Masalahnya bisa digunakan untuk menghentikan klien yang baru terhubung pada tahap di mana identifikasi rekan telah dibuat, tetapi negosiasi kunci sesi belum selesai (klien dapat menghentikan sesi klien lain).
Tentang OpenVPN
Bagi mereka yang tidak terbiasa dengan OpenVPN, Anda harus tahu itu ini adalah alat konektivitas berbasis perangkat lunak gratis, SSL (Lapisan Soket Aman), Jaringan Pribadi Virtual VPN.
OpenVPN menawarkan konektivitas point-to-point dengan validasi hierarki dari pengguna dan host yang terhubung dari jarak jauh. Ini adalah opsi yang sangat baik dalam teknologi Wi-Fi (jaringan nirkabel IEEE 802.11) dan mendukung konfigurasi yang luas, termasuk penyeimbangan beban.
OpenVPN adalah alat multiplatform yang telah menyederhanakan konfigurasi VPN dibandingkan dengan yang lebih lama dan lebih sulit untuk dikonfigurasi seperti IPsec dan membuatnya lebih mudah diakses oleh orang yang tidak berpengalaman dalam jenis teknologi ini.
Apa yang baru di OpenVPN 2.4.9?
Selain perbaikan pada bug tersebut di atas, versi baru ini juga mengimplementasikan perubahan dalam prosedur untuk memverifikasi layanan pengguna interaktif (Di Windows, lokasi konfigurasi diverifikasi terlebih dahulu, lalu permintaan dikirim ke pengontrol domain.)
Saat menggunakan opsi "- file auth-user-pass", jika hanya ada satu nama pengguna di file untuk meminta kata sandi, untuksaat antarmuka diperlukan untuk mengelola kredensial (berhenti meminta kata sandi menggunakan OpenVPN melalui prompt konsol).
Pada platform Windows, diperbolehkan menggunakan string pencarian unicode dalam opsi "–cryptoapicert".
Juga memperbaiki masalah ketidakmampuan untuk mengunduh beberapa CRL (Daftar pencabutan sertifikat) yang terletak di file yang sama saat menggunakan opsi "–crl-verifikasi" pada sistem OpenSSL.
Dan masalah kompilasi telah diselesaikan di platform FreeBSD menggunakan flag –enable-async-push.
Memperbaiki pemberitahuan frasa sandi kunci pribadi OpenSSL dan sertifikat yang kedaluwarsa diteruskan ke penyimpanan sertifikat Windows.
Bagaimana cara menginstal OpenVPN?
Bagi mereka yang tertarik untuk dapat menginstal OpenVPN di sistem mereka, mereka dapat melakukannya dengan mengikuti instruksi yang kami bagikan di bawah ini.
Hal pertama adalah menginstal alat dan Easy RSA Karena untuk menerbitkan sertifikat tepercaya, Otoritas Sertifikat (CA) sederhana harus dikonfigurasi:
sudo apt update sudo apt install openvpn easy-rsa
sekarang kita akan mengkonfigurasi otoritas sertifikat dengan:
make-cadir ~/openvpn-ca cd ~/openvpn-ca
Y mari kita edit beberapa variabel yang membantu memutuskan cara membuat sertifikat:
gedit vars
Cari bagian easy-rsa dan edit sehingga terlihat seperti ini:
Setelah beberapa penyesuaian:
# These are the default values for fields # which will be placed in the certificate. # Don't leave any of these fields blank. export KEY_COUNTRY="US" export KEY_PROVINCE="CA" export KEY_CITY="Tustin" export KEY_ORG="SSD Nodes" export KEY_EMAIL= class="hljs-string">"joel@example.com" export KEY_OU="Marketing" # X509 Subject Field export KEY_NAME="vpnserver"
Anda menyimpan dan mengetik di terminal:
source vars ./build-ca
Kunci RSA baru akan dibuat dan Anda akan diminta untuk mengkonfirmasi detail yang Anda masukkan ke dalam file. Lakukan ini sekarang saatnya membuat kunci publik / pribadi klien, di mana di [server] mereka mencantumkan nama yang mereka inginkan.
./build-key-server [server]
Selanjutnya, mereka perlu membuat kunci Diffie-Hellman.
./build-dh
Terakhir, mereka harus membuat tanda tangan HMAC untuk memperkuat sertifikat.
openvpn --genkey --secret keys/ta.key source vars ./build-key client1
Y jika Anda ingin membuat kredensial yang dilindungi kata sandi:
vars sumber
./build-key-pass client1
Sekarang kita akan mengkonfigurasi server OpenVPN
cd ~/openvpn-ca/keys sudo cp ca.crt ca.key vpnserver.crt vpnserver.key ta.key dh2048.pem /etc/openvpn gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf
Sekarang kita perlu mengedit file konfigurasi.
sudo nano /etc/openvpn/server.conf
Pertama, pastikan OpenVPN mencari file .crt dan .key yang benar.
Sebelum:
ca ca.crt cert server.crt key server.key # This file should be kept secret
Sesudah:
ca ca.crt cert vpnserver.crt key vpnserver.key # This file should be kept secret
Kami kemudian menerapkan HMAC yang identik antara klien dan server.
Sebelum:
;tls-auth ta.key 0 # This file is secret
Sesudah:
tls-auth ta.key 0 # This file is secret key-direction 0
Jika Anda lebih suka menggunakan DNS selain opendns, Anda harus mengubah dua baris yang dimulai dengan push «dhcp-option.
Sebelum:
# If enabled, this directive will configure # all clients to redirect their default # network gateway through the VPN, causing # all IP traffic such as web browsing and # and DNS lookups to go through the VPN # (The OpenVPN server machine may need to NAT # or bridge the TUN/TAP interface to the internet # in order for this to work properly). ;push "redirect-gateway def1 bypass-dhcp" # Certain Windows-specific network settings # can be pushed to clients, such as DNS # or WINS server addresses. CAVEAT: # http://openvpn.net/faq.html#dhcpcaveats # The addresses below refer to the public # DNS servers provided by opendns.com. ;push "dhcp-option DNS 208.67.222.222" ;push "dhcp-option DNS 208.67.220.220"
Sesudah:
# If enabled, this directive will configure # all clients to redirect their default # network gateway through the VPN, causing # all IP traffic such as web browsing and # and DNS lookups to go through the VPN # (The OpenVPN server machine may need to NAT # or bridge the TUN/TAP interface to the internet # in order for this to work properly). push "redirect-gateway def1" # Certain Windows-specific network settings # can be pushed to clients, such as DNS # or WINS server addresses. CAVEAT: # http://openvpn.net/faq.html#dhcpcaveats # The addresses below refer to the public # DNS servers provided by opendns.com. push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220"
Kemudian kita harus memilih cipher yang akan digunakan:
Sebelum:
# Select a cryptographic cipher. # This config item must be copied to # the client config file as well. ;cipher BF-CBC # Blowfish (default) ;cipher AES-128-CBC # AES ;cipher DES-EDE3-CBC # Triple-DES
Sesudah:
# Select a cryptographic cipher. # This config item must be copied to # the client config file as well. ;cipher BF-CBC # Blowfish (default) cipher AES-256-CBC # AES ;cipher DES-EDE3-CBC # Triple-DES auth SHA512
Terakhir, mari buat OpenVPN menggunakan akun pengguna non-hak istimewa alih-alih root, yang tidak terlalu aman.
user openvpn group nogroup
Sekarang kita dapat menyimpan dan menutup file ini untuk membuat pengguna itu:
sudo adduser --system --shell /usr/sbin/nologin --no-create-home openvpn
Dan kami mengaktifkan layanan dengan:
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
Jadilah yang pertama mengomentari