Internet

Cara Install OpenVPN di Debian 8

OpenVPN adalah aplikasi VPN open source yang memungkinkan Anda membuat dan bergabung dengan jaringan pribadi secara aman melalui Internet publik. Singkatnya, ini memungkinkan pengguna akhir untuk menyembunyikan koneksi dan lebih aman menavigasi jaringan yang tidak dipercaya.
Tutorial install OpenVPN, solusi VPN Secure Socket Layer (SSL) open source, pada Debian 8.

Langkah 1 – Instal OpenVPN
Sebelum menginstal paket apa pun, perbarui indeks paket apt.

#apt-get update

Sekarang, kita dapat menginstal server OpenVPN bersama dengan mudah-RSA untuk enkripsi.

#apt-get install openvpn easy-rsa

Langkah 2 – Konfigurasikan OpenVPN

Contoh file konfigurasi server VPN perlu diekstrak ke /etc /openvpn sehingga kita dapat memasukkannya ke dalam setup kami. Ini bisa dilakukan dengan satu perintah:

#gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf

Setelah diekstrak, buka file konfigurasi server menggunakan nano atau editor teks favorit Anda.

#nano /etc/openvpn/server.conf

Dalam file ini, kita perlu membuat empat perubahan (masing-masing akan dijelaskan secara terperinci):

  1. Server aman dengan enkripsi tingkat lebih tinggi
  2. Meneruskan lalu lintas web ke tujuan
  3. Cegah permintaan DNS agar tidak bocor di luar koneksi VPN
  4. Izin penyiapan

Pertama, kita akan menggandakan panjang kunci RSA yang digunakan saat membuat kunci server dan klien. Setelah blok komentar utama dan beberapa potongan lagi, cari baris yang berbunyi:

/etc/openvpn/server.conf

# Diffie hellman parameters.
# Generate your own with:
#   openssl dhparam -out dh1024.pem 1024
# Substitute 2048 for 1024 if you are using
# 2048 bit keys.
dh
dh1024.pem

Ubah dh1024.pem ke dh2048.pem, sehingga sekarang baris berbunyi:

/etc/openvpn/server.conf

dh  dh2048.pem

Kedua, kami akan memastikan untuk mengalihkan semua lalu lintas ke lokasi yang tepat. Masih di server.conf, gulir melewati blok komentar lainnya, dan cari bagian berikut:

 

/etc/openvpn/server.conf

# 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”

 

Ubah menjadi push “redirect-gateway def1 bypass-dhcp” sehingga server VPN meneruskan lalu lintas web klien ke tujuannya. Seharusnya terlihat seperti ini ketika selesai:

 

/etc/openvpn/server.conf

push “redirect-gateway def1 bypass-dhcp”

 

Ketiga, kami akan memberi tahu server untuk menggunakan OpenDNS untuk resolusi DNS jika memungkinkan. Ini dapat membantu mencegah permintaan DNS bocor di luar koneksi VPN. Segera setelah blok yang dimodifikasi sebelumnya, edit yang berikut:

 

/etc/openvpn/server.conf

# 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”

 

Hapus tanda komentar menjadi push “dhcp-option DNS 208.67.222.222” dan push “dhcp-option DNS 208.67.220.220”. Seharusnya terlihat seperti ini ketika selesai:

 

/etc/openvpn/server.conf

push “dhcp-option DNS 208.67.222.222”
push “dhcp-option DNS 208.67.220.220”

 

Keempat, kita akan mendefinisikan perizinan di server.conf:

 

/etc/openvpn/server.conf

# You can uncomment this out on
# non-Windows systems.
;user nobody
;group nogroup

 

Hapus komentar pengguna tidak ada dan grup nogroup. Seharusnya terlihat seperti ini ketika selesai:

 

/etc/openvpn/server.conf

user nobody
group nogroup

 

Secara default, OpenVPN berjalan sebagai pengguna root dan dengan demikian memiliki akses root penuh ke sistem. Kami malah akan membatasi OpenVPN ke pengguna tidak ada dan grup nogroup. Ini adalah pengguna yang tidak memiliki hak dengan tanpa kemampuan login default, sering disediakan untuk menjalankan aplikasi yang tidak tepercaya seperti server yang menghadap ke web.

Sekarang simpan perubahan Anda dan keluar.

Langkah 3 – Aktifkan Penerusan Paket
Di bagian ini, kami akan memberi tahu kernel server untuk meneruskan lalu lintas dari layanan klien ke Internet. Jika tidak, lalu lintas akan berhenti di server.
Aktifkan penerusan paket selama waktu proses dengan memasukkan perintah ini:
#echo 1 > /proc/sys/net/ipv4/ip_forward
Selanjutnya, kita perlu membuat ini permanen sehingga pengaturan ini berlanjut setelah reboot server. Buka file konfigurasi sysctl menggunakan nano atau editor teks favorit Anda.
#nano /etc/sysctl.conf
Di dekat bagian atas file sysctl, Anda akan melihat:
/etc/openvpn/server.conf

# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1

Hapus komentar net.ipv4.ip_forward. Seharusnya terlihat seperti ini ketika selesai:

/etc/openvpn/server.conf
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
Simpan perubahan Anda dan keluar.

 

 

Langkah 4 – Instal dan Konfigurasikan ufw

UFW adalah front-end untuk IPTables. Kita hanya perlu membuat beberapa aturan dan penyuntingan konfigurasi. Kemudian kita akan mengaktifkan firewall. Sebagai referensi untuk lebih banyak kegunaan untuk UFW, lihat Cara Menata Firewall dengan UFW di Ubuntu dan Debian Cloud Server.

 

Pertama, instal paket ufw.

 

#apt-get install ufw

 

Kedua, atur UFW untuk mengizinkan SSH:

 

#ufw allow ssh

 

Tutorial ini akan menggunakan OpenVPN melalui UDP, jadi UFW juga harus mengizinkan lalu lintas UDP melalui port 1194.

 

#ufw allow 1194/udp

 

Kebijakan penerusan UFW perlu ditetapkan juga. Kami akan melakukan ini di file konfigurasi utama.

 

#nano /etc/default/ufw

 

Carilah baris berikut:

 

/etc/default/ufw
DEFAULT_FORWARD_POLICY=”DROP

 

Ini harus diubah dari DROP ke ACCEPT. Seharusnya terlihat seperti ini ketika selesai:

 

/etc/default/ufw
DEFAULT_FORWARD_POLICY=”ACCEPT

 

Simpan dan keluar.

 

Selanjutnya kita akan menambahkan aturan UFW tambahan untuk terjemahan alamat jaringan dan penyamaran IP dari klien yang terhubung.

 

#nano /etc/ufw/before.rules

 

Selanjutnya, tambahkan area berwarna merah untuk ATURAN OPENVPN:

 

/etc/ufw/before.rules

#
# rules.before
#
# Rules that should be run before the ufw command line added rules. Custom
# rules should be added to one of these chains:
# ufw-before-input
# ufw-before-output
# ufw-before-forward
#

# START OPENVPN RULES
# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]
# Allow traffic from OpenVPN client to eth0
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMIT
# END OPENVPN RULES

# Don’t delete these required lines, otherwise there will be errors
*filter

 

 

Simpan dan keluar.

Dengan perubahan yang dilakukan pada UFW, sekarang kita dapat mengaktifkannya. Masuk ke command prompt:

#ufw enable

Mengaktifkan UFW akan mengembalikan perintah berikut:

Command may disrupt existing ssh connections. Proceed with operation (y|n)?

Jawab y. Hasilnya akan menjadi output ini:

Firewall is active and enabled on system startup

Untuk memeriksa aturan firewall utama UFW:

#ufw status

Perintah status harus mengembalikan entri-entri ini:

Status: active

To Action From
— —— —-
22 ALLOW Anywhere
1194/udp ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
1194/udp (v6) ALLOW Anywhere (v6)

Langkah 5 – Configure and Build the Certificate Authority

OpenVPN menggunakan sertifikat untuk mengenkripsi lalu lintas.

Di bagian ini, kita akan mengatur Otoritas Sertifikat (CA) kita sendiri dalam dua langkah: (1) variabel pengaturan dan (2) menghasilkan CA.

OpenVPN mendukung otentikasi dua arah berdasarkan sertifikat, yang berarti bahwa klien harus mengotentikasi sertifikat server dan server harus mengotentikasi sertifikat klien sebelum kepercayaan timbal balik terbentuk. Kami akan menggunakan skrip Easy RSA untuk melakukan ini.

Salinan pertama di atas skrip generasi Easy-RSA.

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

Kemudian, buat direktori untuk menyimpan kunci.

#mkdir /etc/openvpn/easy-rsa/keys

Selanjutnya, kami akan menetapkan parameter untuk sertifikat kami. Buka file variabel menggunakan nano atau editor teks favorit Anda.

#nano /etc/openvpn/easy-rsa/vars

Variabel di bawah ini ditandai dengan warna merah harus diubah sesuai dengan preferensi Anda.

/etc/openvpn/easy-rsa/vars

export KEY_COUNTRY=”US”
export KEY_PROVINCE=”TX”
export KEY_CITY=”Dallas”
export KEY_ORG=”My Company Name”
export KEY_EMAIL=”sammy@example.com”
export KEY_OU=”MYOrganizationalUnit”

Dalam file vars yang sama, edit juga baris yang ditampilkan di bawah ini. Untuk mempermudah, kami akan menggunakan server sebagai nama kunci. Jika Anda ingin menggunakan nama yang berbeda, Anda juga perlu memperbarui file konfigurasi OpenVPN yang mereferensikan server.key dan server.crt.

Di bawah ini, di file yang sama, kami akan menentukan sertifikat yang benar. Cari garisnya, tepat setelah blok yang sebelumnya dimodifikasi yang berbunyi

/etc/openvpn/easy-rsa/vars

# X509 Subject Field
export KEY_NAME=”EasyRSA”

Ubah nilai default KEY_NAME dari EasyRSA ke nama server yang Anda inginkan. Tutorial ini akan menggunakan nama server.

/etc/openvpn/easy-rsa/vars

# X509 Subject Field
export KEY_NAME=”
server

Simpan dan keluar.

Selanjutnya, kita akan menghasilkan parameter Diffie-Helman menggunakan alat OpenSSL bawaan yang disebut dhparam; Ini mungkin memakan waktu beberapa menit.

Tanda -out menentukan tempat untuk menyimpan parameter baru.

#openssl dhparam -out /etc/openvpn/dh2048.pem 2048

Sertifikat kami sekarang dibuat, dan sekarang saatnya untuk menghasilkan kunci.
Pertama, kita akan beralih ke direktori easy-rsa.

#cd /etc/openvpn/easy-rsa

Sekarang, kita bisa mulai mengatur CA itu sendiri. Pertama, menginisialisasi Public Key Infrastructure (PKI).

Perhatikan dot (.) Dan space di depan perintah ./vars. Itu menandakan direktori kerja saat ini (sumber).

#. ./vars

Peringatan berikut akan dicetak. Jangan khawatir, karena direktori yang ditentukan dalam peringatan kosong. 

NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys.

Selanjutnya, kami akan menghapus semua kunci lain yang dapat mengganggu instalasi kami.

#./clean-all

Akhirnya, kita akan membangun CA menggunakan perintah OpenSSL. Perintah ini akan meminta Anda untuk konfirmasi variabel “Distinguished Name” yang dimasukkan sebelumnya. Tekan ENTER untuk menerima nilai yang ada.

#./build-ca

Tekan ENTER untuk melewati setiap prompt karena Anda hanya mengatur nilainya di file vars.

Otoritas Sertifikat sekarang siap.

Langkah 6 – Generate a Certificate and Key for the Server

Di bagian ini, kami akan mengatur dan meluncurkan server OpenVPN kami.

Pertama, masih bekerja dari /etc /openvpn/easy-rsa, buat kunci Anda dengan nama server. Ini ditetapkan sebelumnya sebagai KEY_NAME di file konfigurasi Anda. Default untuk tutorial ini adalah server.

#./build-key-server server

Sekali lagi, output akan meminta konfirmasi dari Distinguished Name. Tekan ENTER untuk menerima nilai default yang ditentukan. Kali ini, akan ada dua permintaan tambahan.

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Keduanya harus dibiarkan kosong, jadi cukup tekan ENTER untuk melewati masing-masing.

Dua pertanyaan tambahan di bagian akhir membutuhkan respons positif (y):

Sign the certificate? [y/n]
1 out of 1 certificate requests certified, commit? [y/n]

Anda kemudian akan diminta dengan yang berikut, menunjukkan keberhasilan.

Output
Write out database with 1 new entries
Data Base Updated
Langkah 7 – Pindahkan Server Certificates and Keys
Sekarang akan menyalin sertifikat dan kunci ke /etc/openvpn, karena OpenVPN akan mencari di direktori itu untuk CA, sertifikat, dan kunci server.
#cp /etc/openvpn/easy-rsa/keys/{server.crt,server.key,ca.crt} /etc/openvpn
Anda dapat memverifikasi bahwa salinan berhasil dengan:
#ls /etc/openvpn
Anda harus melihat sertifikat dan file kunci untuk server.
Pada titik ini, server OpenVPN siap digunakan. Mulai dan periksa statusnya.
#service openvpn start
#service openvpn status
Perintah status akan mengembalikan sesuatu ke efek berikut:
Output

* openvpn.service – OpenVPN service
Loaded: loaded (/lib/systemd/system/openvpn.service; enabled)
Active: active (exited) since Thu 2015-06-25 02:20:18 EDT; 9s ago
Process: 2505 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 2505 (code=exited, status=0/SUCCESS)

Yang terpenting, dari output di atas, Anda harus menemukan Active: active (exited) since… dari pada Active: inactive (dead) since….

 

Server OpenVPN Anda sekarang sudah beroperasi. Jika pesan status mengatakan VPN tidak berjalan, maka lihat file /var/log/syslog untuk kesalahan seperti:

 

Options error: –key fails with ‘server.key’: No such file or directory

 

Kesalahan itu menunjukkan server.key tidak disalin ke /etc/openvpn dengan benar. Salin ulang file dan coba lagi.

Langkah 8 – Generate Certificates and Keys for Clients

Sejauh ini kami telah menginstal dan mengkonfigurasi server OpenVPN, membuat Otoritas Sertifikat, dan membuat sertifikat dan kunci server sendiri. Pada langkah ini, kami menggunakan CA server untuk menghasilkan sertifikat dan kunci untuk setiap perangkat klien yang akan terhubung ke VPN.

Key and Certificate Building

Ini ideal untuk setiap klien yang terhubung ke VPN untuk memiliki sertifikat dan kunci uniknya sendiri. Ini lebih baik untuk menghasilkan satu sertifikat umum dan kunci untuk digunakan di antara semua perangkat klien.

Catatan: Secara default, OpenVPN tidak mengizinkan koneksi simultan ke server dari klien menggunakan sertifikat dan kunci yang sama. (Lihat duplikat-cn di /etc/openvpn/server.conf.)

 

Untuk membuat kredensial otentikasi terpisah untuk setiap perangkat yang ingin Anda hubungkan ke VPN, Anda harus menyelesaikan langkah ini untuk setiap perangkat, tetapi ubah nama client1 di bawah ini ke sesuatu yang berbeda seperti client2 atau iphone2. Dengan kredensial terpisah per perangkat, mereka nantinya dapat dinonaktifkan di server secara terpisah, jika perlu. Contoh yang tersisa dalam tutorial ini akan menggunakan client1 sebagai contoh nama perangkat klien kami.

 

Seperti yang kita lakukan dengan kunci server, sekarang kita membangun satu untuk contoh client1 kami. Anda masih harus bekerja di /etc/openvpn/easy-rsa.

 

#./build-key client1

 

Sekali lagi, Anda akan diminta untuk mengubah atau mengkonfirmasi variabel-variabel Nama yang Dimuliakan dan dua perintah ini yang harus dibiarkan kosong. Tekan ENTER untuk menerima default.

 

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

 

Seperti sebelumnya, dua konfirmasi ini di akhir proses pembuatan memerlukan tanggapan (y):

 

Sign the certificate? [y/n]
1 out of 1 certificate requests certified, commit? [y/n]

 

Anda kemudian akan menerima output berikut, mengkonfirmasikan keberhasilan pembuatan kunci.

 

Write out database with 1 new entries.
Data Base Updated

 

Kemudian, kami akan menyalin kunci yang dihasilkan ke direktori kunci Easy-RSA yang kami buat sebelumnya. Perhatikan bahwa kita mengubah ekstensi dari .conf menjadi .ovpn. Ini untuk mencocokkan konvensi.

 

#cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/easy-rsa/keys/client.ovpn

 

Anda dapat mengulangi bagian ini lagi untuk setiap klien, mengganti cient1 dengan nama klien yang sesuai di seluruh.

 

Catatan: Nama client.ovpn Anda yang telah diduplikasi tidak perlu dikaitkan dengan perangkat klien. Aplikasi OpenVPN sisi-klien akan menggunakan nama file sebagai identifier untuk koneksi VPN itu sendiri. Sebagai gantinya, Anda harus menduplikasi client.ovpn ke apa pun yang Anda inginkan tag nama VPN berada di sistem operasi Anda. Sebagai contoh: work.ovpn akan diidentifikasi sebagai kerja, school.ovpn sebagai sekolah, dll.
Kita perlu memodifikasi setiap file klien untuk memasukkan alamat IP dari server OpenVPN sehingga ia tahu apa yang harus terhubung. Buka client.ovpn menggunakan nano atau editor teks favorit Anda.

 

#nano /etc/openvpn/easy-rsa/keys/client.ovpn

 

Pertama, edit baris dimulai dengan remote. Ubah my-server-1 ke your_server_ip.

 

/etc/openvpn/easy-rsa/keys/client.ovpn
# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote
your_server_ip 1194

 

Selanjutnya, temukan area yang ditunjukkan di bawah ini dan hapus komentar user nobody dan group nogroup, seperti yang kami lakukan di server.conf pada Langkah 1.

Catatan: Ini tidak berlaku untuk Windows sehingga Anda dapat melewatinya.

Seharusnya terlihat seperti ini ketika selesai:

 

/etc/openvpn/easy-rsa/keys/client.ovpn
# Downgrade privileges after initialization (non-Windows only)
user nobody
group no group

 

Mentransfer Certificates and Keys ke Perangkat Klien

Ingat kembali dari langkah-langkah di atas bahwa kami membuat sertifikat dan kunci klien, dan bahwa mereka disimpan di server OpenVPN di direktori /etc/openvpn/easy-rsa/keys.

Untuk setiap klien kami perlu mentransfer client certificate, key, dan file templat profil ke folder di komputer lokal kami atau perangkat klien lain.
Dalam contoh ini, perangkat client1 kami memerlukan sertifikat dan kunci, yang terletak di server dalam:

 

  • /etc/openvpn/easy-rsa/keys/client1.crt
  • /etc/openvpn/easy-rsa/keys/client1.key

 

File ca.crt dan client.ovpn adalah sama untuk semua klien. Unduh kedua file ini juga; perhatikan bahwa file ca.crt ada di direktori yang berbeda dari yang lain.

 

  • /etc/openvpn/easy-rsa/keys/client.ovpn
  • /etc/openvpn/ca.crt

 

Sementara aplikasi yang tepat digunakan untuk menyelesaikan transfer ini akan tergantung pada pilihan Anda dan sistem operasi perangkat, Anda ingin aplikasi menggunakan SFTP (SSH file transfer protocol) atau SCP (Secure Copy) pada backend. Ini akan mengangkut file autentikasi VPN klien Anda melalui koneksi terenkripsi.

Berikut ini contoh perintah SCP menggunakan contoh client1 kami. Ini menempatkan file client1.key ke dalam direktori Downloads di komputer lokal.

 

#scp root@your-server-ip:/etc/openvpn/easy-rsa/keys/client1.key Downloads/

 

Di akhir bagian ini, pastikan Anda memiliki empat file ini di perangkat klien Anda:

 

  • `client1.crt`
  • `client1.key`
  • client.ovpn
  • ca.crt

 

Langkah 9 – Membuat Profil OpenVPN untuk Perangkat Klien

 

Ada beberapa metode untuk mengelola file klien tetapi yang paling mudah menggunakan profil terpadu. Ini dibuat dengan memodifikasi file template client.ovpn untuk menyertakan Otoritas Sertifikat server, dan sertifikat klien dan kuncinya. Setelah digabungkan, hanya profil client.ovpn tunggal yang perlu diimpor ke aplikasi OpenVPN klien.

Area yang diberikan di bawah ini membutuhkan tiga baris yang ditampilkan untuk dikomentari sehingga kita dapat memasukkan sertifikat dan kunci langsung di file client.ovpn. Seharusnya terlihat seperti ini ketika selesai:

 

/etc/openvpn/easy-rsa/keys/client.ovpn
# SSL/TLS parms.
# . . .
;ca ca.crt
;cert client.crt
;key client.key

 

Simpan perubahan dan keluar. Kami akan menambahkan sertifikat dengan kode.

Pertama, tambahkan Otoritas Sertifikat.

 

#echo ‘<ca>’ >> /etc/openvpn/easy-rsa/keys/client.ovpn
#cat /etc/openvpn/ca.crt >> /etc/openvpn/easy-rsa/keys/client.ovpn
#echo ‘</ca>’ >> /etc/openvpn/easy-rsa/keys/client.ovpn

 

Kedua, tambahkan sertifikat.

 

#echo ‘<cert>’ >> /etc/openvpn/easy-rsa/keys/client.ovpn
#cat /etc/openvpn/easy-rsa/keys/client1.crt >> /etc/openvpn/easy-rsa/keys/client.ovpn
#echo ‘</cert>’ >> /etc/openvpn/easy-rsa/keys/client.ovpn

 

Ketiga dan akhirnya, tambahkan kunci.

 

#echo ‘<key>’ >> /etc/openvpn/easy-rsa/keys/client.ovpn
#cat /etc/openvpn/easy-rsa/keys/client1.key >> /etc/openvpn/easy-rsa/keys/client.ovpn
#echo ‘</key>’ >> /etc/openvpn/easy-rsa/keys/client.ovpn

 

Kami sekarang memiliki profil klien terpadu. Dengan menggunakan scp, Anda dapat menyalin file client.ovpn ke sistem kedua Anda.

 

Langkah 10 – Memasang Profil Klien

Silahkan copy file client.ovpn atau nama lain yang sudah Anda buat ke computer/device Anda pada aplikasi OpenVPN.

 

Sumber : digitalocean.com

 

 

Click to comment

Leave a Reply

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Paling Populer

Tulisan tentang dunia teknologi terkini dan kuno, semua informasi tentang teknologi dapat ditemukan di Malasbaca.com

Copyright © 2018 Malasbaca. Powered by Wordpress.

To Top