WNDW: SSH

From OnnoWiki
Jump to navigation Jump to search
Gambar 6.6: Tunnel SSH melindungi trafik web sampai kepada server SSH.

Kebanyakan orang berpikir SSH adalah pengganti telnet yang aman, seperti scp dan sftp adalah aplikasi yang sama dengan rcp dan ftp tapi lebih aman. SSH melakukan lebih dari hanya sekedar meng-enkripsi remote shell. Seperti SSL, dia menggunakan public key cryptography yang kuat untuk mencek server dan meng-enkripsi data. Daripada menggunakan PKI, SSH memakai cache dari key fingerprint yang diperiksa sebelum koneksi diizinkan. SSH dapat memakai password, public key, atau metode lain untuk authentikasi pemakai.


Kebanyakan orang tidak tahu bahwa SSH juga bisa bertindak sebagai tunnel pengenkripsi, bahkan proxy web yang berenkripsi. Dengan terlebih dulu membuat koneksi SSH ke lokasi terpercaya di dekat (atau langsung ke) remote server , protokol yang tidak aman dapat dilindungi dari eavesdropper dan penyerangan.

Biarpun teknik ini mungkin sedikit lebih maju untuk kebanyakan user, arsitek jaringan dapat mempergunakan SSH untuk meng-enkripsi trafik melalui sambungan yang tak terpercaya, seperti sambungan nirkabel point-to-point. Karena tool tersedia secara leluasa dan berjalan di atas TCP standar, user yang mengetahui tekniknya dapat menjalankan SSH sendiri, menyediakan enkripsi end-to-end mereka tanpa intervensi administrator.

OpenSSH (http://openssh.org/) mungkin adalah implementasi yang paling populer di platform seperti UNIX. Implementasi gratis seperti Putty (http://www.putty.nl/) dan WinSCP (http://winscp.net/) tersedia di Windows. OpenSSH juga bisa dipakai di Windows di bawah paket Cygwin (http://www.cygwin.com/). Contoh berikut ini berasumsi bahwa anda memakai versi OpenSSH yang terbaru.


Untuk membangin tunnel yang ter-enkripsi dari sebuah port di mesin lokal ke port di mesin remote, gunakan switch -L. Misalnya, jika anda mau menyampaikan trafik web proxy melalui sambungan yang sudah ter-enkripsi ke server squid di squid.example.net. Forward port 3128 (port proxy standar) memakai perintah berikut:

ssh -fN -g -L3128:squid.example.net:3128 squid.example.net 

Switch -fN memerintahkan ssh untuk masuk ke background sesudah tersambung. Switch -g mengijinkan user lain di segmen lokal anda untuk menyambung dengan mesin lokal dan memakainya untuk untuk enkripsi melalui sambungan yang tak terpercaya. OpenSSH akan memakai public key untuk authentikasi jika anda mensetupnya, atau dia akan meminta untuk memasukan password anda di remote side. Anda kemudian bisa mengatur web browser anda untuk menyambung ke localhost port 3128 sebagai layanan web proxy nya. Semua trafik web kemudian akan di enkripsi sebelum dikirim ke remote side.

SSH juga dapat bertindak sebagai proxy SOCKS4 atau SOCKS5 dinamis. Ini memungkinkan anda membuat web browser yang mengenkripsi, tanpa perlu menggunakan squid. Perhatikan bahwa ini bukan proxy caching; dia hanya meng-enkripsi semua trafik.

ssh -fN -D 8080 remote.example.net 

Atur web browser anda untuk memakai SOCKS4 or SOCKS5 di local port 8080, dan anda dapat langsung memakainya.

SSH bisa meng-enkripsi data di TCP port manapun, termasuk port yang dipakai untuk email. Ia bahkan bisa meng-kompres data sepanjang jalan, yang bisa mengurangi latensi di sambungan yang berkapasitas rendah.

ssh -fNCg -L110:localhost:110 -L25:localhost:25 mailhost.example.net 

Switch -C mengaktifkan kompresi. Anda bisa menambahkan banyak aturan port forwarding yang anda mau dengan menggunakan switch -L berkali-kali. Perhatikan bahwa untuk mengikat ke port lokal dibawah 1024, anda harus mempunyai hak root di mesin lokal.

Itu hanya sedikit contoh fleksibilitas SSH. Dengan mengimplementasikan public key dan menggunakan agen ssh forwarding, anda dapat mengautomatisasi pembuatan tunnel yang terenkripsi sepanjang jaringan nirkabel anda, dan melindungi komunikasi anda dengan enkripsi dan authentikasi yang kuat.


Pranala Menarik