1. PPTP – http://poptop.sourceforge.net/
2. L2TP over IPSec – http://l2tpd.snapgear.org/
3. IPSec – http://openswan.org
4. SSL – http://openvpn.org
1. PPTP
ms-dns [dns_server_lokal_network_yg_diakses]
ms-wins [wins_server_lokal_network_yg_diakses]
proxyarp
debug
dump
lock
nobsdcomp
logfile /var/log/pptp.log
Buka Firewall untuk TCP port 1723 dan PROTO GRE
-A INPUT -i eth0 -p tcp --dport 1723 -j ACCEPT
-A INPUT -p gre -j ACCEPT
Berdasarkan artikel yang aku baca, gunakan authentikasi EAP-TLS (pengganti MSCHAP2),
katanya ini yg lebih baik … tp belum sempet ditest apakah PPTP Client yg standard di Windows
en MacOS X support.
2. IPSEC
IPSec di Linux sebenarnya dipelopori oleh software FreeSWAN, namun FreeSWAN sudah tidak
diteruskan lagi oleh pengembangnya, tapi versi 2.06 cukup handal bisa dipasang di kernel 2.4
dan 2.6.
Ada 2 group yg meneruskan development dari FreeSWAN :
OpenSWAN – http://openswan.org
StrongSWAN – http://strongswan.org
OpenSWAN lebih populer dari StrongSWAN, dan berdasarkan pengalaman pribadi …
OpenSWAN lebih fleksibel dibanding StrongSWAN, ada beberapa arsitektur VPN yang sedikit
lebih rumit dikonfigurasi di StrongSWAN. Kelebihan lainnya, OpenSWAN sudah dibikin RPM
nya utk Fedora .. hehehehehee
Cara nginstall :
—> baris version ini perlu ada dan sesuai dengan versi freeswan yang digunakan.
—> nat_traversal utk memungkinkan koneksi dari IP Private (NAT)
3. Tambahkan di ipsec.conf
conn vpn-ipsec
authby=secret
pfs=no
left=[ip_client/format_laen_contoh_%any]
right=[ip_interface_yg_dikonek_oleh_client/format_laen]
rightsubnet=[network_address_network_lokal]/[subnet_contoh_24]
auto=add
keyingtries=0
—-> right atau left boleh dibolak-balik, rightsubnet tidak perlu ditulis kalo konfigurasi
VPN yang dilakukan adalah HOST-to-HOST, rightsubnet hanya diperlukan untuk
HOST-to-NETWORK.
—-> authby=secret, kl mau otentikasi dengan Pre-Shared Key (semacam password). Bisa
juga dengan Certificate … authby=rsasig
4. Buat file /etc/ipsec.secrets untuk menyimpan presharedkey atau certificate
Contoh:
: PSK "[ketik_di_sini_utk_passwordnya]"
: RSA {
# RSA 2192 bits terowongan.1rstwap.com Tue Aug 2 18:56:23 2005
# for signatures only, UNSAFE FOR ENCRYPTION
#pubkey=0sAQ......
Modulus: 0xa0........
PublicExponent: 0x03
# everything after this point is secret
PrivateExponent: 0x1a....
}
[ip_client] [ip_server]: PSK "[ketik_di_sini_utk_passwordnya]"
1. Pertama kita perlu install dulu IPSEC nya, dan pasang konfigurasi seperti ini :
Untuk Client Win98/XP yg belum update SP2/MacOS X
conn vpn-l2tp-ipsec
authby=secret
pfs=no
left=[ip_client/format_laen_contoh_%any]
leftprotoport=17/0
right=[ip_interface_yg_dikonek_oleh_client/format_laen]
rightprotoport=17/1701
rightsubnet=[network_address_network_lokal]/[subnet_contoh_24]
auto=add
keyingtries=0
2. Install L2TPD
3. Edit file /etc/l2tpd/l2tpd.conf
[global]
port = 1701
[lns default]
ip range = [alokasi_range_ip_utk_client_contoh:_192.168.2.1-192.168.2.100]
local ip = [ip_lokal_utk_konek_ke_LAN]
require chap = yes
refuse pap = yes
require authentication = yes
name = [nama_VPN_bebas]
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd
length bit = yes
ipcp-accept-local
ipcp-accept-remote
auth
crtscts
idle 1800
mtu 1400
mru 1400
nodefaultroute
nodetach
debug
lock
connect-delay 5000
dump
logfd 2
logfile /var/log/l2tpd.log
allow-ip [ip_client_yg_boleh_pake_l2tp]
5. Sekarang tinggal buka Firewall nya, TCP port 1701 dan UDP port 500 dan PROTO ESP.
Contoh:
-A INPUT -i eth0 -p tcp --dport 1701 -j ACCEPT
-A INPUT -i eth0 -p udp --dport 500 -j ACCEPT
-A INPUT -p esp -j ACCEPT
4. OpenVPN (SSL)
1. Download source nya dari http://openvpn.org (mending dari source aja, krn dilengkapin
ama script2 buat generate certificatenya, biar gampang)
2. Setelah kelar make dan make install, masuk ke direktori source “easy-rsa”, jalankan :
export D=/etc/openvpn
export KEY_CONFIG=$D/openssl.cnf
export KEY_DIR=$D/keys
export KEY_SIZE=1024
export KEY_COUNTRY=ID
export KEY_PROVINCE="DKI Jakarta"
export KEY_CITY="Jakarta Selatan"
export KEY_ORG="[nama_pt]"
export KEY_EMAIL="dicky.wahyu@gmail.com"
export KEY_COMMON="[namalengkap/FQDN_host_yg_dipasangin_vpn]"
10. Di sisi client, perlu meng-copy file “ca.crt”, “client.key”, “client.crt” yang sudah
digenerate tadi.
Openvpn ini agak memiliki kelemahan untuk tunneling bandwidth besar, sepertinya overhead
untuk enkripsinya sangat besar sekali, yg menyebabkan beberapa point berikutnya.
Usahakan sebisa mungkin untuk menggunakan LZO (untuk kompresi data)
Gunakan UDP (jangan TCP, krn biasanya TCP akan bermasalah dengan Queue Data apalagi
kl tanpa LZO)
Saat melewatkan data yg besar, shg menyebabkan enkripsi bekerja keras … efeknya seakan2
koneksi terganggu seperti terputus / lag.
Melihat beberapa alternatif yang sudah pernah dicoba, kesimpulan sementara mengenai metode
VPN yg cukup meyakinkan adalah: L2TP over IPSec… perlindungan ganda, dari L2TP dan
IPSec nya … paling rumit tapi jaminan keamanan lebih terjamin. Semuanya tetep tergantung dari
yg nginstallin
PPTP merupakan alternatif paling mudah dan paling universal, tetapi mengenai enkripsi MS-
CHAPv2 masih sedikit meragukan tentang keamanannya, aku pernah baca bahwa enkripsi ini
“bisa” dihack. Sedangkan EAP sendiri, aku msh belum ngerti kemungkinannya. (maklum rada
baru soal ginian, sejauh ini banyak yg bilang PEAP-MSCHAPv2 … jd bingung, lg googling)
OpenVPN cukup secure, tp kayaknya kurang applicable utk hal2 yg mengharapkan performansi
yg tinggi.
Semoga membantu