Ketika kita berada di jaringan wi-fi tempat umum dan
merasa takut untuk berselancar di internet dengan pengiriman paket yang
plaintext, maka manfaatkanlah salah satu protokol tunneling
bernama SSH sehingga koneksi anda menjadi aman -setidaknya- sampai di
server SSH tunnel =P. Selain SSH salah satu contoh protokol tunneling
yang lain adalah SSL. Tunneling protokol dapat membungkus data
‘protokol-protokol lain’ yang dibawa bersama koneksi tunneling protokol
tersebut. Ambil contoh HTTPS… Sebenarnya adalah data protokol ‘http’
yang dikirimkan melalui koneksi SSL a.k.a HTTP over SSL. Jadi tunneling
berarti melakukan pengiriman data melalui koneksi lain yang sudah
terbentuk. Perbedaan antara tunneling protokol SSL dan SSH adalah SSL
menggunakan certificate format X.509 yang diverifikasi oleh CA (Certificate Authority) resmi sedangkan SSH tidak menggunakan publik key certificate.
Tunneling SSH akan menggunakan port forwarding atau pengalihan port komunikasi. Ada 2 jenis port forwarding, yaitu:Static port forwarding
Static port forwarding terbagi menjadi 2 jenis
- Local port forwarding
Local port forwarding berarti memanfaatkan port lokal sebagai pintu masuk dan server yang kita tuju sebagai pintu keluar komunikasi. Semua data yang kita kirim akan dicatat pada node tujuan berasal dari server kita. Contohnya:
pengguna@diguna:~$ ssh -L 9999:tibandung.com:80 useraccount@192.168.1.7
Dengan perintah tunnel local port forward di atas, maka komputer yang menjalankan perintah tersebut jika melakukan koneksi ke "localhost:9999", akan otomatis di redirect ke "tibandung.com:80" melalui 192.168.1.7. Catatan di log tibandung.com akan terlihat ada request yang berasal dari 192.168.1.7, bukan dari host asal semula. (Kalo kita melakukan kejahatan, yang dituduh host 192.168.1.7-nya hehehe) - Remote port forwarding
Remote port forwarding berarti memanfaatkan port remote di server remote sebagai pintu masuk ke host tertentu. Semua data yang kita kirim akan dicatat berasal dari komputer yang melakukan perintah ssh ini (ssh client) pada host tujuan. Contohnya:
pengguna@diguna:~$ ssh -R 9999:localhost:22 inan@tibandung.com
Dengan perintah tunnel remote port forward ini, maka jika saya melakukan koneksi "tibandung.com:9999", maka koneksi akan di alihkan ke localhost (mesin itu sendiri) port 22. Log asal koneksi akan terlihat berasal dari komputer yang melakukan perintah ssh (ssh client). Yah.. dalam hal ini localhost itu sendiri. Karena kita ngetiknya di console localhost. Sangat bagus untuk membuat tunnel backdoor jika kita sudah menguasai sebuah server. Jadi pintu masuk ke koneksi SSH server yang sudah kita kuasai tersebut adalah di tibandung.com:9999.
Dynamic sebenarnya port forwarding yang tidak statis
seperti static port forwading (ya iyalah hahah). Jadi kita tidak perlu
mendefinisikan IP:port asal untuk di forward ke IP:port tujuan. Kita
cukup mengisi port berapa yang listen pada localhost/ssh client/komputer
yang menjalankan perintah ssh dan semua protokol bisa memanfaatkan
koneksi di port tersebut sebagai proxy ke mana saja memanfaatkan
protokol tunneling SOCKS.
Contohnya adalah membuat koneksi seperti ini:
pengguna@diguna:~$ ssh -D 12345 useraccount@192.168.1.7
Maksud command diatas adalah kita membuat port 12345
listen di localhost dan memanfaatkan port tersebut ke tujuan manapun.
Seluruh komunikasi diwakilkan atas nama host 192.168.1.7
Misalnya kita mau browsing website menggunakan
browser firefox. Tinggal ubah settingan proxy ke "localhost" port
"9999". Maka sekarang kita bisa internetan dengan proxy di server
192.168.1.7. Kecepatan browsing secepat kecepatan browsing di
192.168.1.7… (tapi dikurangi dengan besar koneksi dari localhost ke
192.168.1.7 juga hehehe)



0 komentar:
Posting Komentar