SSH Tunneling

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 (local) port forwarding

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)

7 thoughts on “SSH Tunneling

  1. om ada cara ga biar koneksi via SSh ini …bisa di share ke perangkat lain via wifi…misalnya dengan sfwere conectify …kalo zaman pake open vpn bisa…tp saya kesulitan pas pake ssh….terima kasih

  2. Sy lpa email BBM sy bgmn crax agar bisa sy gunakan krn tmn BBM sy uda bnyk sy ingat pasword sy cma e-mail yg sy lpa bgmn cra agar sy bisa pke emai sy lg

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.