Your IP

Sign by Danasoft - Get Your Free Sign

Selasa, 07 April 2009

Virtual Private Network (Linux 3)

lanjutan...

I Made Wiryana

Privasi

Seperti telah disebutkan, data yang dikirim antar ke dua site tersebut tidak dienkripsi. Untuk keperluan ini dapat digunakan paket public domain, misal SSH. SSH adalah kepanjangan dari Secure Shell, dan program ini mampu melakukan otentikasi ke dua pihak yang melakukan komunikasi dan melakukan ekripsi data yang mengalir. Informasi mengenai SSH dapat ditemukan di http://www.cs.hut.fi/ssh/

Perlu diketahui SSH menggunakan algoritma RSA, yang dipatenkan di USA. Sehingga perlu diperiksa aspek legalitasnya sebelum digunakan.

Penggunaan enkripsi data dan mengirimnya melalui jaringan publik pada beberapa negara adalah ilegal. Sehingga sebaiknya perlu dilakukan klarifikasi dari segi hukum terlebih dahulu. Dengan semakin banyak dipakainya software ekripsi dan makin meluasnya jaringan Internet, maka jumlah negara yang melarang pemakaian enkripsi ini makin bertambah pula. Sebagai contoh, di kalangan negara Eropa para politisi mulai mendiskusikan tentang pemakaian teknologi ini. Kekhawatiran negara-negara ini disebabkan ketakutan akan digunakannya teknologi enkripsi ini untuk mengirimkan pesan rahasia antar teroris yang dapat membahayakan keamanan nasional. Sehingga ingin sekali negara negara tersebut dapat melakukan pengawasan dan dapat membaca seluruh message yang dikirim.

Permasalahan lainnya adalah berkaitan dengan peraturan ITAR di USA. Perangkat lunak enkripsi tergolong amunisi, sehingga terbatas untuk dapat dieksport. Ini berarti perangkat lunak enkripsi yang bermutu tinggi (ingat perangkat lunaknya, bukan algoritmanya), dilarang dieksport. Sehingga versi Netscape internasional hanya menggunakan model enkripsi 40 bit, sedangkan versi yang boleh beredar di USA menggunakan 128 bit.

Karena pelarangan hanya berlaku bagi perangkat lunaknya, dan bukan algoritmanya, maka banyak implementasi dengan enkripsi yang kuat yang dilakukan di luar USA telah beredar. Dan itu legal saja bila dieksport ke USA, walaupun begitu setelah dieksport ke USA, dari USA tak boleh di-reeksport ke negara lainnya lagi.

SSH awalnya ditulis oleh Tatu Ylönen dari Finlandia. Kemampuan SSH yang penting untuk tunneling adalah :

  • Metoda otentikasi yang baik. Dengan menggunakan .rhosts bersama-sama dengan hots otentikasi berdasarkan RSA, dan otentikasi murni RSA.
  • Seluruh komunikasi secara otomatis, dan tranparansi dienkrip. Enkripsi juga bertujuan untuk melindungi dari spoofed packet dan hijacked connection.
  • Arbitrary port TCP/IP dapat di redirek melalui channel terenkripsi pada kedua arah.
  • Client RSA melakukan otentikasi mesin server pada awal setiap koneksi untuk melindungi dari trojan horse dan man in the middle attack. Server melakukan otentikasi mesin client dengan menggunakan RSA sebelum menerima otentikasi .rhosts atau /etc/hosts.equiv
  • Session X11 bahkan dapat diredirek dengan menggunakan SSH ini untuk melindungi dari orang yang mengambil alih suatu session X. Yang terpenting adalah, session dienkripsi di antara client dan server. Sehingga tunneling server tak perlu tahu enkripsi. SSH akan mengenkripsi pay load area pada paket IP yang asli, dan pada bagian penerima akan mendekripsi pay load area ini, dan memberikan pada program aplikasi.

SSH tersedia untuk sebagian besar variant UNIX, dan bekerja untuk platform yang berbeda. Dapat digunakan mesin LINUX pada salah satu ujung dan mesin SPARC atau HP pada sisi yang lainnya. Setelah mendownload dan menginstall SSH, maka akan ada beberapa program. Dua program yang terpenting adalah ssh dan sshd. Kedua paket ini dapat dibandingkan seperti rsh dan rshd yang awalnya ditemukan di UNIX versi BSD.

Konfigurasi Secure Shell (SSH)

sshd merupakan program server yang berjalan di background dan mendengar setiap koneksi yang datang (melalui port 22). Ketika suatu client melakukan koneksi, maka akan dilakukan otentikasi, dan jika dinyatakan lolos, maka sshd akan memulai program yang diminta oleh client tersebut. Input dan output program dienkripsi dengan menggunakan key yang telah saling ditukar pada saat negotiating phase, yaitu ketika penyusunan koneksi.

Program ssh adalah program client yang digunakan untuk mengeksekusi program pada remote host. ssh biasanya akan melakukan koneksi ke sshd pada mesin server, dan bertukar informasi otentikasi dan key enkripsi, dan kemudian sshd akan mengeksekusi perintah pada mesin remote. Ketika melakukan eksekusi seluruh pertukaran data antar ssh dan sshd, dienkripsi dengan menggunakan salah satu algoritma.

Untuk keperluan tunneling, ssh memberikan beberapa pilihan tambahan yang dapat digunakan untuk mengenkripsi traffic yang melalui tunnel. Option ini ditunjukkan di manual ssh (silahkan lihat ftp://ftp.mfi.com/pub/sysad min) dengan option -L dan -R. Keduanya dapat digunakan untuk melakukan redireksi traffic untuk port tertentu ke port tertentu di mesin remote. Traffic yang diredirect ini dienkripsi sebelum dikirim. Option -L, digunakan jika ingin meredirek akses dari port lokal ke suatu port di sistem remote. Gambar 3 menunjukkan kemungkinan setup. Mesin client yang ingin berkomunikasi secara aman dengan mesin server. Untuk memungkinkan hal ini, satu mesin pada local network yang sama bertindak sebagai client (dapat juga mesin yaang sama dengan client), dan menjalankan ssh dengan option -L. Secara lengkap maka perintah akan tampak seperti :

ssh -L portx:server:porty [nama mesin yang menjalankan sshd]

Mesin yang menjalankan ssh akan menjalankan subshell yang akan mendengar ke port x, dan ketika terjadi koneksi pada port tersebut, program ssh akan mengenkripsi dan membelokkan data ke mesin yang menjalalankan sshd pada mesin remote. Mesin ini kemudian akan mendekripsi data dan merelaynya melalui port y pada server.

Dapat juga melakukan pembelokkan secara remote dengaan menggunakan option -R. Dengan option ini, maka dapat diperintahkan pada sshd pada mesin remote untuk memulai ssh dengan option -L yang sesuai. Sisi remote akan membelokkan seluruh traffic pada port tersebut melalui koneksi yang aman antara ssh dan sshd.

Dapat juga membangun suatu tunnel, hanya dengan menggunakan SSH, akan tetapi hal ini hanya mungkin bila seluruh sistem dapat diakses secara langsung dari Internet. Bila tidak mungkin, maka dapat digunakan fasilitas tunelling pada Linux. Ketika melakukan instalasi SSH, secara otomatis akan dihasilkan host identification pairs untuk mesin tersebut. Sehingga tak perlu dilakukan hal yang khusus untuk menghasilkan kunci identifikasi mesin ini.

Kombinasi SSH dan Tunneling

Ketika mengkombinasikan SSH dan tunneling, terdapat bebeberapa pertimbangan. Ketika menggunakan SSH, maka transparansi akan sedikit hilang. Sehingga mungkin ssh dan sshd tak ingin dijalankan pada setiap mesin pada jaringan lokal. Karena akan menghabiskan waktu untuk memaintenance, dan ssh tak dapat jalan pada setiap plaform. Tempat terbaik untuk menginstall ssh dan sshd adalah pada mesin tunneling. Setelah dilakukan instalasi, maka dapat digunakan perintah ssh -R untuk membelokkan (redirect) port pada mesin di jaringan remote ke port pada mesin di jaringan lokal. Hal ini dilakukan pada tiap mesin tunneling di jaringan.. Bahkan dapat dilakukan mesin tunneling akan menjalankan ssh ketika pertama kali dihidupkan.

Ketika menspesifikasikan ssh -R, harus dispesifikasikan alamat IP (atau hostname, bila local name server memiliki copy dari name mapping pada network lainnya) yang digunakan pada jaringan lain. Dengan mengacu ke gambar 2, maka digunakan alamat IP di jangkauan 193.78.174.0, Dan tidak digunakan alamat IP di luar interface sisi luar dari firewall. Dengan menggunakan alamat ini, maka akan seluruh koneksi akan dipaksa melewati koneksi terenkripsi melalui module tunneling.

Ketika ingin menggunakan dari client suatu jaringan ke server di jaringan lain, maka harus dikoneksi melalui redirect port pada mesin tunneling seperti yang dispesifikasi pada perintah ssh -R. Jadi tak dapat dilakukan koneksi transparant langsung ke remote server untuk membangun koneksi terenkripsi, tetapi harus menggunakan sebuah port pada mesin tunneling lokal. Hal ini menjadi kurang begitu praktis, tetapi akan sebanding dengan hasilnya yaitu koneksi jaringan aman, yang mampu mencegah dilakukakannya snooping data.

Ada hal yang berkaitan dengan sisi sekuriti yang lainnya. Harus diperhatikan apakah resiko ini dapat diterima atau tidak. SSH hanyak akan mengenkrispi pay load area, dari paket IP asli, dan tidak mengenkripsi header information. Dan hal ini tak mungkin dilakukan karena header information berisi address IP, dan port dan hal lainnya. Jika dienkripsi, maka akan menghasikan packet IP yang tidak dideliver. Module tunneling akan mengenkapsulasi paket IP asli pada payload area. Header asli akan dimasukkan ke dalam message terenkapsulasi ini, dan header asli akan berisi alamat IP yang akan digunakan di bagian dalam firewall. Dengan tak tertutupnya informasi ini, maka jaringan dapat diserang dengan IP spoofing attack, karena si penyerang akan melihat jenis address IP manakah yang dipercaya oleh firewall. Hal inilah merupakan alasan lainnya, mengapa tunneling harus menggunakan mesin yang terpisah. Firewall sekarang hanya akan mempercayai satu mesin saja, yaitu satu mesin tunneling, dan akan menolak semua koneksi dari mesin lokal lainnya. Sehingga hal ini mengurangi resiko akan suatu serangan IP spoofing.

Sebetulnya masalah di atas dapat diatasi dengan membangun suatu otentikasi dan enkripsi dalam modul tunelling itu sendiri. Module tunneling seharusnya mengenkripsi payload area dari paket IP yang akan dikirim ke Internet. Dnegan mengenkripsi payload area, modul akan secara otomatis tak hanya mengenkripsi data asli, tetapi juga berikut informasi header, sehingga menyembunyikan address IP internal. Beberapa produk misal WriteProtect keluaran Le Resau, menggunakan modulke tunneling yang memecahkan masalah kedua ini, sehingga memungkinkan terjadinya tunnel yang terkenkrispsi secara benar benar transparan.

Penutup

Dengan menggunakan software yang saat ini tersedia di Internet, dapat dibangun suatu Virtual Private Network sendiri. Dengan menggunakan tunnel, dapat disembunyikan address IP internal dari Internet. Satu keuntungan adalah mampunya pemilihan jangkauan IP sendiri untuk penggunaan internal, dan memberikan satu jangkauan IP untuk setiap kantor. Seluruh kemampuan ini telah ada di Linux.

Dengan menggunakan paket lainnya, SSH, dapat dienkripsi data yang dipertukarkan antara 2 situs. Dengan menggunakan algoritma yang sesuai, dapat dibangun suatu komunikasi data yang aman dan otentikasi identitas pada pihak yang terlibat dalam proses komunikasi. Dengan menggunakan mesin tunneling terpisah, dapat mempertinggi otentikasi pada firewall dan membuat berbagai jaringan dapat saling berkomunikasi.

Akhir kata, selamat menggunakan Linux.

Tidak ada komentar:

Posting Komentar