Halo good people,

Pada kesempatan kali ini Renocloud akan sharing knowledge tentang tutorial bagaimana cara installasi OpenVPN Server dan Client pada server Cloud dengan OS Linux Centos. Namun sebelum itu, yuk kita baca terlebih dahulu penjelasan tentang OpenVPN.

OpenVPN adalah aplikasi open source yang dapat membuat jaringan private kamu dengan aman melalui internet publik. OpenVPN mengimplementasikan jaringan private virtual (VPN) untuk membuat koneksi yang aman. OpenVPN Menggunakan library OpenSSL untuk menyediakan enkripsi dan menyediakan beberapa mekanisme otentikasi, seperti berbasis sertifikat, kunci yang dibagikan sebelumnya, dan otentikasi nama pengguna atau kata sandi.

Dalam tutorial ini, Renocloud akan menunjukkan kepada kamu cara menginstal dan mengkonfigurasi OpenVPN step by step pada Linux dengan OS CentOS serta akan menerapkan otentikasi OpenVPN berbasis sertifikat.

LANGKAH 1

Dalam tutorial ini,  kita akan menggunakan server Renocloud (cloud server) dengan OS CentOS 6 atau 7 beserta OpenVPN versi 2.4 dengan easy-rsa 3. Sebelum menginstal OpenVPN dan paket easy-rsa, pastikan repositori ‘epel’ diinstal terlebih dahulu pada sistem. Jika kamu belum memilikinya, instal repositori epel menggunakan perintah yum di bawah ini:

yum install epel-release -y

Selanjutnya install OpenVPN 2.4 dengan easy-rsa 3 pada system dengan perintah:

yum install openvpn easy-rsa -y

LANGKAH 2

Pada langkah ini, kita akan mengkonfigurasi easy-rsa 3 dengan membuat file ‘vars’ baru. File ‘vars’ berisi pengaturan Easy-RSA 3. Pertama-tama buka terlebih dahulu direktori /etc/openvpn/ dan salin skrip ‘easy-rsa’:

cd /etc/openvpn/
cp -r /usr/share/easy-rsa /etc/openvpn/

Sekarang buka direktori /etc/openvpn/easy-rsa/3/ dan buat file vars baru menggunakan vi atau vim:

cd /etc/openvpn/easy-rsa/3/
vi vars

kemudian copas konfigurasi vars easy-rsa 3 di bawah ini

set_var EASYRSA “$ PWD”
set_var EASYRSA_PKI “$ EASYRSA / pki”
set_var EASYRSA_DN “cn_only”
set_var EASYRSA_REQ_COUNTRY “ID”
set_var EASYRSA_REQ_PROVINCE “Jakarta”
set_var EASYRSA_REQ_CITY “Jakarta”
set_var EASYRSA_REQ_ORG “reno-labs OTORITAS SERTIFIKAT”
set_var EASYRSA_REQ_EMAIL ” support@renocloud.net ”
set_var EASYRSA_REQ_OU “RENO-LABS MUDAH CA”
set_var EASYRSA_KEY_SIZE 2048
set_var EASYRSA_ALGO rsa
set_var EASYRSA_CA_EXPIRE 7500
set_var EASYRSA_CERT_EXPIRE 365
set_var EASYRSA_NS_SUPPORT “tidak”
set_var EASYRSA_NS_COMMENT “RENO-LABS AUTHORITY CERTIFICATE”
set_var EASYRSA_EXT_DIR “$ EASYRSA / x509-types”
set_var EASYRSA_SSL_CONF “$ EASYRSA / openssl-1.0.cnf”
set_var EASYRSA_DIGEST “sha256”

Simpan dan keluar.

selanjutnya buat file ‘vars’ tersebut untuk dapat dieksekusi dengan cara mengubah izin file:

chmod +x vars

File vars untuk pengaturan Easy-RSA 3 telah dibuat.

LANGKAH 3

Pada langkah ini, kita akan membangun kunci/KEY OpenVPN berdasarkan file ‘vars’ easy-rsa 3 yang telah kita buat. Renocloud akan membuat kunci/ KEY CA, kunci/KEY Server dan Klien, file DH dan CRL PEM.

Renocloud akan membuat semua kunci tersebut menggunakan baris perintah ‘easyrsa’. masuk ke direktori /etc/openvpn/easy-rsa/3/

cd /etc/openvpn/easy-rsa/3/

  1. Installasi dan build CA

Sebelum membuat kunci/KEY, terlebih dahulu kita perlu menginisialisasi direktori PKI dan membuat kunci CA. Inisialisasi direktori PKI dan bangun kunci CA menggunakan perintah di bawah ini:

./easyrsa init-pki
./easyrsa build-ca

Sekarang ketikkan kata sandi kamu (WAJIB DICATAT) untuk kunci CA kamu dan berikutnya kamu akan mendapat file ‘ca.crt’ dan ‘ca.key’ di bawah direktori ‘pki’.

  1. Membuat Kunci Server

Sekarang Renocloud ingin membuat kunci server dan juga akan membangun kunci server bernama ‘cloud-server’. Buat kunci server ‘cloud-server’ menggunakan perintah di bawah ini:

./easyrsa gen-req cloud-server nopass

catatan:
* nopass = opsi untuk menonaktifkan kata sandi untuk kunci ‘cloud-server’.
* Dan tandatangani kunci ‘server cloud’ menggunakan sertifikat CA Renocloud.

./easyrsa sign-req server cloud-server

Kamu akan diminta untuk memasukkan password ‘CA’, ketikkan password dan tekan Enter. Selanjutnya kamu akan mendapatkan file sertifikat ‘cloud-server.crt‘ di bawah direktori /pki/issued/

Selanjutnya verifikasi file sertifikat menggunakan perintah OpenSSL dan pastikan tidak ada kesalahan.

openssl verify -CAfile pki/ca.crt pki/issued/cloud-server.crt

Semua kunci sertifikat server telah dibuat. Kunci pribadi server terletak di /pki/private/cloud-server.key dan sertifikat server pada /pki/issued/cloud-server.crt’.

  1. Membuat Kunci Client

Sekarang kita perlu membuat kunci untuk klien. Renocloud akan menghasilkan kunci klien baru bernama ‘client01’.

Hasilkan kunci ‘client01’ menggunakan perintah di bawah ini:

./easyrsa gen-req client01 nopass

Sekarang tandatangani kunci ‘client01‘ menggunakan sertifikat CA Renocloud seperti di bawah ini.

./easyrsa sign-req client client01

Ketikkan ‘YA‘ untuk mengonfirmasi permintaan sertifikat client, lalu ketikkan kata sandi CA.Setelah kata sandi CA diketik dan dienter, maka sertifikat client bernama ‘client01’ telah dibuat, verifikasi sertifikat client menggunakan perintah openssl.

openssl verify -CAfile pki/ca.crt pki/issued/client01.crt

  1. Membuat Kunci Diffie-Hellman

Tindakan ini akan memakan banyak waktu, tergantung pada panjang kunci yang Renocloud pilih dan entropi yang tersedia di server. Renocloud akan menggunakan kunci panjang yang sudah ditentukan pada file ‘vars’.

Hasilkan kunci Diffie-Hellman menggunakan perintah di bawah ini.

./easyrsa gen-dh

Kunci DH telah dibuat, terletak di direktori ‘pki’.

  1. Hasilkan Kunci CRL

Kunci CRL (Daftar Pencabutan Sertifikat) akan digunakan untuk mencabut kunci client. Jika kamu memiliki beberapa sertifikat client di server vpn kamu, dan kamu ingin mencabut beberapa kunci, kamu hanya perlu mencabut menggunakan perintah easy-rsa.

Jika kamu ingin mencabut beberapa kunci, jalankan perintah seperti di bawah ini.

./easyrsa revoke someone

kemudian lakukan Generate kunci CRL.

./easyrsa gen-crl

  1. Salin File Sertifikat

Semua sertifikat telah dibuat, sekarang kamu bisa salin file sertifikat dan file PEM.

Salin Kunci dan Sertifikat Server dengan perintah seperti dibawah ini :

cp pki/ca.crt /etc/openvpn/server/
cp pki/issued/cloud-server.crt /etc/openvpn/server/
cp pki/private/cloud-server.key /etc/openvpn/server/

Salin Kunci dan Sertifikat dari client01 dengan perintah seperti dibawah ini :

cp pki/ca.crt /etc/openvpn/client/
cp pki/issued/client01.crt /etc/openvpn/client/
cp pki/private/client01.key /etc/openvpn/client/

Salin Kunci DH dan CRL

cp pki/dh.pem /etc/openvpn/server/
cp pki/crl.pem /etc/openvpn/server/

LANGKAH 4 – Konfigurasi OpenVPN

Pada langkah ini, kita akan membuat konfigurasi baru ‘server.conf‘ untuk server openvpn. Masuk ke direktori /etc/openvpn/ dan buat file konfigurasi baru ‘server.conf‘ menggunakan vi atau vim.

cd /etc/openvpn/
vim server.conf

Copas konfigurasi server OpenVPN berikut :

# OpenVPN Port, Protocol and the Tun
port 1194
proto udp
dev tun
# OpenVPN Server Certificate – CA, server key and certificate
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/hakase-server.crt
key /etc/openvpn/server/hakase-server.key
#DH and CRL key
dh /etc/openvpn/server/dh.pem
crl-verify /etc/openvpn/server/crl.pem

# Network Configuration – Internal network
# Redirect all Connection through OpenVPN Server
server 10.10.1.0 255.255.255.0
push “redirect-gateway def1”

# Using the DNS from https://dns.watch
push “dhcp-option DNS 84.200.69.80”
push “dhcp-option DNS 84.200.70.40”

#Enable multiple client to connect with same Certificate key
duplicate-cn

# TLS Security
cipher AES-256-CBC
tls-version-min 1.2
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256
auth SHA512
auth-nocache

# Other Configuration
keepalive 20 60
persist-key
persist-tun
comp-lzo yes
daemon
user nobody
group nobody

# OpenVPN Log
log-append /var/log/openvpn.log
verb 3

Simpan dan keluar. Konfigurasi untuk OpenVPN telah dibuat.

LANGKAH 5 – Pengaturan Client OpenVPN

Masuk ke server dengan winscp atau filezilla, cari directory /etc/openvpn/server/ . Kemudian copy file *.crt seperti gambar dibawah ke PC / Notebook local anda :

Kemudian sebelumnya install terlebih dahulu OpenVPN client pada PC / Notebook windows anda. Lalu masuk ke directory C: ProgramFilesOpenvpnconfig. Copy file yang sesuai dengan gambar diatas.  Kemudian create file connect.ovpn lalu  masukan konfigurasi sbb :

client
#dev tap0
dev tun
#proto tcp-client
proto tcp
remote xxx.xxx.xxx.xxx 1194 (harus IP Public)
nobind
persist-key
persist-tun
cipher AES-256-CBC
auth SHA1
pull
verb 4
mute 3

# Create a file ‘user.auth’ with a username and a password
#
# cat << EOF > user.auth
# user
# password
# EOF
#auth-user-pass user.auth

# Copy the certificates from MikroTik and change
# the filenames below if needed
ca ca.crt
cert client01.crt
key client01.key

#Add routes to networks behind MikroTik
#route 192.168.10.0 255.255.255.0

Selanjutnya jalan OpenVPN dan koneksikan.

Leave a Reply

Your email address will not be published. Required fields are marked *