Thursday, October 9, 2008

Membobol Firewall dengan OpenSSH & PuTTY

Bayangkan skenario berikut ini:


Kantor pusat dan kantor cabang bisa mengakses Internet. Namun, kedua-duanya tidak bisa diakses dari Internet - karena berada di balik NAT gateway


Divisi IT kemudian diminta untuk membuat kantor cabang bisa
mengakses aplikasi web-based yang ada di kantor pusat, melalui koneksi
Internet yang sudah ada. Aplikasi tersebut diakses di server
192.168.0.31 port 80.


Bagaimana caranya ?


Solusi:

head office ---> NAT1 ---> internet ---> serverkantor.com < --- internet <--- NAT2 <--- branch office


  • Sewa sebuah server di Internet.

    Contoh; Linode.com harganya sangat ekonomis untuk keperluan ini, dan layanan tech.supportnya sangat bagus.
  • Di kantor pusat, ketikkan:

    putty -ssh -C -2 -R 8001:192.168.0.31:80 -l username -pw password -N serverkantor.com
  • Di kantor cabang, ketikkan:

    putty -ssh -C -2 -L 81:localhost:8001 -l username -pw password -N serverkantor.com
  • Maka kini kantor cabang bisa mengakses aplikasi tersebut, dengan membuka browser dan lalu mengetikkan:

    http://localhost:81

note:


  • Ya, tutorial ini untuk di Windows. Saya yakin para pengguna *nix sudah tahu caranya di Linux/BSD/dll :)
  • -C : kompresi, akses ke aplikasi web-based tersebut menjadi kencang
    (serasa seperti di LAN) karena adanya fitur kompresi dari SSH ini.
  • -2 : menggunakan protokol SSH2; selain lebih aman, juga memungkinkan -N
  • -N : No shell; kita hanya menggunakan fitur port forwarding dari OpenSSH
  • -pw : hati-hati, karena tentu saja password jadi terlihat. Tapi di lain pihak, kadang otomatisasi ini diperlukan.

    Solusinya? Tergantung kebutuhan Anda, tapi kalau Anda terpaksa menggunakan switch -pw ini:
    1. Gunakan username yang non-priviledged / bukan root di serverkantor.com
    2. Lalu set agar user tersebut menggunakan shell /bin/false (alias tidak mempunyai akses shell)


Selamat mencoba.


note: Di sebelah mana “membobol firewall”-nya …?

Jawab: Ganti “NAT gateway” di posting ini dengan
“firewall”, atau “firewall+NAT”, atau
“firewall+proxy”, dst.


Referensi:

[ Breaking firewalls with OpenSSH and PuTTY ]

[ PuTTY User Manual ]

http://harry.sufehmi.com/archives/2005-08-30-988/