Apa itu SSH ?

Secure Shell atau SSH adalah protokol jaringan yang memungkinkan pertukaran data melalui saluran aman antara dua perangkat jaringan. Terutama banyak digunakan pada sistem berbasis Linux dan Unix untuk mengakses akun shell, SSH dirancang sebagai pengganti Telnet dan shell remote tak aman lainnya, yang mengirim informasi, terutama kata sandi, dalam bentuk teks sederhana yang membuatnya mudah untuk dicegat. Enkripsi yang digunakan oleh SSH menyediakan kerahasiaan dan integritas data melalui jaringan yang tidak aman seperti Internet.

Definisi

SSH menggunakan kriptografi kunci publik untuk mengotentikasi komputer remote dan biarkan komputer remote untuk mengotentikasi pengguna, jika perlu. SSH biasanya digunakan untuk login ke mesin remote dan mengeksekusi berbagai perintah, tetapi juga mendukung tunneling, forwarding TCP port dan X11 connections; itu dapat mentransfer file menggunakan terkait SFTP atau SCP protocols. SSH menggunakan klien-server model. Yang standar TCP port 22 telah ditetapkan untuk menghubungi server SSH. Sebuah klien program SSH ini biasanya digunakan untuk membangun koneksi ke SSH daemon untuk dapat diremote. Keduanya biasanya terdapat pada sistem operasi modern, termasuk Mac OS X, Linux, FreeBSD, Solaris dan OpenVMS. Tersedia versi berpemilik, freeware dan open source untuk berbagai tingkat kerumitan dan kelengkapan.

Penggunaan SSH

SSH adalah sebuah protokol yang dapat digunakan untuk berbagai aplikasi. Beberapa aplikasi di bawah ini mungkin membutuhkan fitur-fitur yang hanya tersedia atau yang kompatibel dengan klien atau server SSH yang spesifik. Sebagai contoh, menggunakan protokol SSH untuk mengimplementasikan VPN adalah dimungkinkan, tapi sekarang hanya dapat dengan implementasi server dan klien OpenSSH.

  • untuk login ke shell pada remote host (menggantikan Telnet dan rlogin)
  • untuk mengeksekusi satu perintah pada remote host (menggantikan rsh)
  • untuk menyalin file dari server lokal ke remote host. Lihat SCP, sebagai alternatif untuk rcp
  • dalam kombinasi dengan SFTP, sebagai alternatif yang aman untuk FTP transfer file
  • dalam kombinasi dengan rsync untuk mem-backup, menyalin dan me-mirror file secara efisien dan aman
  • untuk port forwarding atau tunneling port (jangan dikelirukan dengan VPN yang rute paket antara jaringan yang berbeda atau menyambung dua wilayah broadcast menjadi satu)
  • untuk digunakan sebagai VPN yang terenkripsi penuh. Perhatikan bahwa hanya OpenSSH server dan klien yang mendukung fitur ini
  • untuk meneruskan X11 melalui beberapa host
  • untuk browsing web melalui koneksi proxy yang dienkripsi dengan klien SSH yang mendukung protokol SOCKS
  • untuk mengamankan mounting direktori di server remote sebagai sebuah sistem file di komputer lokal dengan menggunakan SSHFS
  • untuk mengotomasi remote monitoring dan pengelolaan server melalui satu atau lebih dari mekanisme seperti yang dibahas di atas

Arsitektur SSH

SSH-2 protokol memiliki arsitektur internal (didefinisikan dalam RFC 4.251) pada lapisan terpisah dengan baik. Yaitu:

  • Lapisan transportasi (RFC 4253). Lapisan ini menangani pertukaran kunci awal dan server otentikasi dan set up enkripsi, kompresi dan integritas verifikasi. Lapisan ini memperlihatkan ke lapisan atas sebuah antarmuka untuk mengirim dan menerima paket teks terang hingga masing-masing 32.768 byte (atau lebih yang diperbolehkan oleh implementasi). Lapisan transportasi juga mengatur ulang pertukaran kunci, biasanya setelah 1 GB data yang ditransfer atau setelah 1 jam telah berlalu, tergantung mana yang lebih cepat.
  • Lapisan otentikasi pengguna (RFC 4252). Lapisan ini menangani otentikasi klien dan menyediakan sejumlah metode otentikasi. Otentikasi client-driven: ketika seseorang diminta untuk memasukkan password, mungkin diminta oleh klien SSH, bukan servernya. Server hanya menanggapi permintaan otentikasi klien. Metode otentikasi pengguna yang sering digunakan meliputi:
    • password: sebuah metode untuk otentikasi password secara langsung, termasuk fasilitas yang memungkinkan sandi untuk diubah. Metode ini tidak diimplementasikan pada semua program.
    • kunci publik: sebuah metode untuk otentikasi berbasis kunci publik, biasanya mendukung setidaknya pasangan kunci DSA atau RSA, pada implementasi lain juga mendukung sertifikat X.509.
    • keyboard-interactive (RFC 4256): sebuah metode serbaguna di mana server akan mengirimkan satu atau lebih prompt untuk memasukkan informasi sehingga klien menampilkannya dan mengirimkan kembali tanggapan oleh pengguna. Digunakan untuk menyediakan otentikasi password sekali-waktu seperti S/Key atau SecurID. Digunakan oleh beberapa konfigurasi OpenSSH dimana PAM bertindak sebagai penyedia otentikasi host yang mendasar agar secara efektif dapat menyediakan otentikasi password, namun kadang-kadang menyebabkan kegagalan untuk login dengan klien yang hanya mendukung metode otentikasi password biasa.
    • metode otentikasi GSSAPI yang menyediakan sebuah skema extensible untuk melakukan otentikasi SSH menggunakan mekanisme eksternal seperti Kerberos 5 atau NTLM, menyediakan satu kemampuan sign on untuk sesi SSH. These methods are usually implemented by commercial SSH implementations for use in organizations, though OpenSSH does have a working GSSAPI implementation. Metode ini biasanya digunakan pada implementasikan SSH komersial untuk digunakan dalam organisasi, meskipun OpenSSH memang memiliki implementasi kerja GSSAPI.
  • Lapisan koneksi. Lapisan ini mendefinisikan konsep kanal, kanal permintaan dan permintaan global menggunakan layanan yang disediakan SSH. Sebuah koneksi SSH dapat melayani beberapa kanal secara bersamaan, masing-masing mentransfer data dalam dua arah. Permintaan kanal tersebut digunakan untuk menyambungkan saluran data spesifik secara out-of-band, seperti perubahan ukuran jendela terminal atau exit code dari sebuah proses server-side. Klien SSH meminta sebuah port server-side untuk diteruskan menggunakan sebuah permintaan global. Jenis saluran standar yang tersedia adalah:
    • shell untuk terminal, SFTP dan request exec (termasuk transfer SCP)
    • direct-tcpip untuk koneksi klien-ke-server yang diteruskan
    • forwarded-tcpip for server-to-client forwarded connections forwarded-tcpip untuk koneksi server-ke-klien yang diteruskan
  • SSHFP DNS record (RFC 4255) menyediakan sidik jari kunci publik untuk membantu memverifikasi keaslian host.

Fungsi lapisan transportasi sendiri sebanding dengan TLS; lapisan otentikasi pengguna sangat extensible dengan metode otentikasi khusus; dan lapisan sambungan menyediakan kemampuan untuk membuat banyak sesi sekunder ke dalam satu koneksi SSH, sebuah fitur yang sebanding dengan BIP dan tidak tersedia di TLS.

Peringatan keamanan

Sejak SSH-1 memiliki kelemahan desain yang melekat dan membuatnya rentan (misalnya, terhadap serangan man-in-the-middle), sekarang umumnya dianggap usang dan harus dihindari pengguannya dengan menonaktifkan fallback ke SSH-1 secara eksplisit. Sementara server dan klien modern telah mendukung SSH-2, beberapa organisasi masih menggunakan perangkat lunak tanpa dukungan untuk SSH-2, dan dengan demikian SSH-1 tidak selalu dapat dihindari.

Dalam semua versi SSH, penting untuk memverifikasi kunci publik sebelum menerimanya secara valid. Menerima sebuah kunci publik atttacker sebagai kunci publik yang valid memiliki efek membuka password yang ditransmisikan dan memungkinkan serangan man in-the-middle.

Silahkan Komentar

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s