Wednesday, January 14, 2009

Setting OpenVPN Server

1 Konfigurasi Ethernet OpenVPN Server



Pada topik ini diasumsikan bahwa telah tersedia satu komputer dengan openSUSE Linux O/S dan komputer ini memiliki 2 Ethernet Card. Kita akan memulai konfigurasi Ethernet Card dengan menggunakan tool YAST di openSUSE.

Apabila Ethernet Cards di komputer yang akan dijadikan OpenVPN Server telah terkonfigurasi dengan benar maka langkah-langkah di bawah ini tidak diperlukan lagi.

Pilih Start --> System --> YaST, kemudian akan muncul YaST dialog Window. Di window pane sebelah kiri, pilih icon Network Devices. Setelah itu akan muncul beberapa icons di window pane sebelah kanan. Pilih icon Network Card dan akan muncul dialog window untuk konfigurasi ethernet card.

Di Tab Hostname/DNS:

l Isi Hostname dengan nama hostname yang diinginkan, misalnya: linux-gateway

l Isi Domain Name dengan domain name yang dikehendaki, misalnya: SERVER.COM

l Isi Name Server 1 dengan IP Address atau hostname server DNS lokal, misalnya: 172.16.0.3

l Isi Name Server 2 dengan IP Address atau hostname server DNS Internet, misalnya: 192.168.0.1

l Isi Domain Search dengan domain name yang dikehendaki, misalnya: SERVER.COM

Di Tab Routing:

l Isi Default Gateway dengan IP Address yang terhubung ke WAN, misalnya: 192.168.0.1

Di Tab Overview:

l Pilih Ethernet Card yang terhubung ke LAN, kemudian click tombol Configure. Kemudian akan muncul window Ethernet Card configuration.

Pilih option Static IP Address dan kemudian isi IP Address, Subnet Mask, dan Hostname fields.

Contoh:

l IP Address = 172.16.0.8.

l Subnet Mask = 255.255.0.0

l Hostname = LAN

l Pilih Ethernet Card yang terhubung ke WAN, kemudian click tombol Configure. Kemudian akan muncul window Ethernet Card configuration.

Pilih option Static IP Address dan kemudian isi IP Address, Subnet Mask, dan Hostname fields.

Contoh:

l IP Address = 192.168.0.2.

l Subnet Mask = 255.255.255.0

l Hostname = WAN

2 Installasi OpenVPN

Pada topik ini diasumsikan bahwa komputer yang akan dijadikan OpenVPN Server telah disetting Local Repository sehingga paket-paket tambahan dari openSUSE Linux dapat diinstall dengan menggunakan perintah zypper.

Pada konsole terminal, login sebagai root dan kemudian install paket openvpn dengan perintah berikut:

zypper in openvpn

Proses installasi OpenVPN akan selesai dalam waktu singkat dan akan terbentuk directories

/etc/openvpn/

/usr/share/doc/packages/openvpn/

/usr/share/openvpn/

yang berisikan file-file yang diperlukan untuk konfigurasi OpenVPN Server & Client. Selain itu, kita dapat melihat file-file contoh konfigurasi untuk OpenVPN Server & Client yang tersimpan di /usr/share/doc/packages/openvpn/.

Installasi paket openvpn tergantung pada beberapa paket di bawah ini:

lzo

openssl

pam

Sebelum installasi paket openvpn dimulai, pastikan bahwa paket-paket tersebut di atas telah terinstall di komputer tersebut.

3 Setting Up Certificate Authority (CA) dan Generating Certificates & Keys untuk OpenVPN server & clients

Langkah pertama dari konfigurasi OpenVPN adalah membuat PKI (Public Key Infrastructure). PKI itu terdiri atas:

l Public dan Private Key untuk server dan tiap-tiap client.

l Master Certificate Authority (CA) certificate dan Key yang berfungsi untuk verifikasi sertifikat server dan client.

Generate master Certificate Authority (CA) certificate & key

Untuk Linux/BSD/Unix:

Buka terminal konsole dan lakukan perintah-perintah berikut ini:

## Copy directory /usr/share/openvpn/easy-rsa/ ke /etc/openvpn/ ##

cp -fr /usr/share/openvpn/easy-rsa /etc/openvpn

## Pindah ke directory /etc/openvpn/easy-rsa/ ##

cd /etc/openvpn/easy-rsa

## Edit vars file dan set nilai KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, dan KEY_EMAIL. Pastikan atribut-atribut tersebut tidak ada yang kosong nilainya. ##

vi var

## Initialize atribut-atribut tersebut di atas dan generate master CA certificate & key ##

. vars

. clean-all

. build-ca

Untuk Windows:

Buka terminal Command Prompt dan lakukan perintah-perintah berikut ini:

## Pindah ke directory \Program Files\OpenVPN\easy-rsa\ ##

cd \Program Files\OpenVPN\easy-rsa

## Generate vars.bat dan openssl.cnf files ##

init-config

## Edit vars file dan set nilai KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, dan KEY_EMAIL. Pastikan atribut-atribut tersebut tidak ada yang kosong nilainya. ##

edit vars.bat

## Initialize atribut-atribut tersebut di atas dan generate master CA certificate & key ##

vars

clean-all

build-ca

Perintah build-ca akan membuat certificate authority certificate & key dengan mempergunakan utility openssl.

ai:easy-rsa # ./build-ca

Generating a 1024 bit RSA private key

............++++++

...........++++++

writing new private key to 'ca.key'

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [KG]:

State or Province Name (full name) [NA]:

Locality Name (eg, city) [BISHKEK]:

Organization Name (eg, company) [OpenVPN-TEST]:

Organizational Unit Name (eg, section) []:

Common Name (eg, your name or your server's hostname) []:OpenVPN-CA

Email Address [me@myhost.mydomain]:

Perhatikan bahwa nilai-nilai yang diperlukan parameters di atas akan mempunyai default ke nilai-nilai yang kita masukkan di file vars. Cuma ada satu parameter yang perlu kita input secara langsung yaitu Common Name. Nilainya terserah kepada yang kita inginkan. Untuk contoh di atas, nilainya adalah OpenVPN-CA.

Generate certificate & key untuk server

Untuk Linux/BSD/Unix:

## Pastikan bahwa kita masih berada di /etc/openvpn/easy-rsa/ directory ##

. build-key-server server

Untuk Windows:

## Pastikan bahwa kita masih berada di \Program Files\OpenVPN\easy-rsa\ directory ##

build-key-server server

Hampir semua parameter akan mempunyai nilai default yang kita berikan kecuali Common Name. Kita dapat memberikan nilai sesuai keinginan kita di Common Name, misalnya: “OpenVPN-Server”. Untuk dua pertanyaan berikutnya memerlukan jawaban yang positif untuk bisa generate certificate & key untuk server, "Sign the certificate? [y/n]" and "1 out of 1 certificate requests certified, commit? [y/n]".

Generate certificates & keys untuk 3 clients

Untuk Linux/BSD/Unix:

## Pastikan bahwa kita masih berada di /etc/openvpn/easy-rsa/ directory ##

. build-key client1

. build-key client2

. build-key client3

Untuk Windows:

## Pastikan bahwa kita masih berada di \Program Files\OpenVPN\easy-rsa\ directory ##

build-key client1

build-key client2

build-key client3

Hampir semua parameter akan mempunyai nilai default yang kita berikan kecuali Common Name. Kita dapat memberikan nilai sesuai keinginan kita di Common Name, misalnya: “client1”, “client2”, dan “client3”. Untuk dua pertanyaan berikutnya memerlukan jawaban yang positif untuk bisa generate certificate & key untuk server, "Sign the certificate? [y/n]" and "1 out of 1 certificate requests certified, commit? [y/n]".

Apabila ingin password proteksi pada client keys, ga-nti perintah di atas dengan perintah build-key-pass.

Generate Diffie Hellman parameters

Untuk Linux/BSD/Unix:

## Pastikan bahwa kita masih berada di /etc/openvpn/easy-rsa/ directory ##

. build-dh

Untuk Windows:

## Pastikan bahwa kita masih berada di /etc/openvpn/easy-rsa/ directory ##

build-dh

Key Files

Setelah semua perintah-perintah di atas dijalankan maka akan terbentuk certificates dan keys di subdirectory keys. Berikut adalah files-files tersebut:

Filename

Needed By

Purpose

Secret

ca.crt

server + all clients

Root CA certificate

No

ca.key

key signing machine only

Root CA key

Yes

dh{n}.pem

server only

Diffie Hellman parameters

No

server.crt

server only

Server Certificate

No

server.key

server only

Server Key

Yes

client1.crt

client1 only

Client1 Certificate

No

client1.key

client1 only

Client1 Key

Yes

client2.crt

client2 only

Client2 Certificate

No

client2.key

client2 only

Client2 Key

Yes

client2.crt

client3 only

Client3 Certificate

No

client2.key

client3 only

Client3 Key

Yes

Langkah terakhir dari proses pembuatan certificates dan keys adalah copy files di tabel atas ke komputer-komputer yang diconfigure sesuai dengan keterangan yang terdapat di tabel atas.


Selamata mencoba



No comments:

Post a Comment