Mengenal Apa itu SSH
SSH adalah suatu protokol administrasi jaringan yang memberi akses pada user untuk mengontrol maupun memodifikasi server secara remote.
Manfaat remote server bagi user yaitu, tidak perlu datang ke lokasi server fisik untuk melakukan pengelolaan. Pengelolaan bisa dilakukan dimanapun Anda berada, selama ada jaringan internet.
SSH juga jadi cara komunikasi aman antara client dan host/server. Data yang ditransfer akan dienkripsi sehingga pihak ketiga tidak bisa melihat data asli tersebut.
Sebelumnya, protokol administrasi yang umum digunakan adalah Telnet. Sayangnya, Telnet memiliki banyak celah keamanan.
Maka dari itu, pada pertengahan 90an SSH muncul sebagai protokol pengganti yang jauh lebih aman.
SSH memiliki sistem keamanan yang berlapis untuk menjaga komunikasi data tetap aman.
Sistem Keamanan pada SSH
Teknik kriptografi diterapkan untuk mengenkripsi data yang di transfer. Pada proses ini, data asli tidak akan terlihat.
Jadi saat user mengirim suatu data dari komputer client ke server, pihak ketiga tidak akan bisa melihat data yang dikirim. Meski data tersebut di intercept, selama enkripsi SSH tidak bisa dipecahkan, data akan tetap terlindungi.
Sistem ini memberi keleluasaan pada untuk melakukan remote server secara aman, di manapun. Bahkan di jaringan wifi publik yang cukup rentan.
Ada tiga jenis teknik enkripsi data yang diterapkan di berbagai titik transmisi. Ketiga teknik tersebut diantaranya:
Enkripsi Simetris
Jenis ini biasa juga disebut shared key.
Secret key digunakan baik untuk mengenkripsi maupun mendekripsi pesan oleh klien dan juga host.
Satu secret key masing-masing terdapat di server dan client. Kunci tersebut digunakan oleh server untuk mengenali user yang terpercaya melalui metode yang sudah sama-sama disepakati.
Selama proses pertukaran data, kunci tidak ikut di ditukarkan. Hal ini untuk menjaga keamanannya. Dalam hal ini, Key Exchange Algorithm berperan sangat penting.
Selama sesi SSH masih berlangsung, enkripsi simetris akan terus beroperasi di berbagai tempat.
Untuk bisa mengimplementasikan Key Exchange Algorithm, dibutuhkan Enkripsi Asimetris.
Enkripsi Asimetris
Jenis enkripsi ini menggunakan dua key yang terpisah untuk melakukan enkripsi dan deskripsi data.
Kedua key tersebut adalah public key dan private key.
Public key dimiliki oleh client. Private key dimiliki oleh server atau host. Keduanya membentuk pasangan kunci: public-private key pair.
Public key bisa dibagikan ke banyak client. Private key tidak akan dibagikan.
Pesan yang di enkripsi oleh public key hanya bisa di dekripsikan dengan private keynya.
Penggunaan enkripsi asimetris mengacu pada otentikasi berbasis kunci yang ada di SSH. Metode ini lebih aman dibanding otentikasi menggunakan username dan password.
Komunikasi antara server dan client terjadi, diamankan dengan enkripsi simetris. Setelah itu, terjadi proses otentikasi di pihak client supaya mendapat izin akses.
Server menggunakan public key dalam file untuk mengenkripsi pesan tantangan yang ditujukan ke client.
Client harus bisa mendeskripsikan pesan tantangan tersebut sebagai bukti bahwa dia memiliki private key yang sesuai.
Hashing
Hashing memungkinkan client untuk membuat signature. Hash berjalan satu arah dan tidak bisa di deskripsi. Maka dari itu, hal ini biasa juga disebut dengan one-way-hash.
Bagaimana kegunaannya?
SSH menggunakan HMAC atau Hash-based Message Authentication Codes. HMAC digunakan untuk memastikan otentikasi pesan. Pesan yang dikirim dan diterima sama, tidak dimodifikasi.
Setiap pesan yang dikirim client wajib mengandung MAC. MAC merupakan hash yang dihasilkan dari kunci simetris, nomor urut paket dan isi pesan yang dikirimkan.
Ketiga elemen tersebut digabungkan. Dijadikan masukan dalam fungsi hash. Fungsi hash kemudian mengeluarkan string yang tidak punya arti.
String tersebut, atau signature, dikirim ke server.
Server juga memiliki informasi tentang 3 elemen pembentuk fungsi hash. Jika fungsi hash yang dihasilkan server sama dengan fungsi hash yang diterima, signature sudah terverifikasi.
Setelah mengetahui 3 fitur keamanan pada SSH, Anda akan bisa lebih mudah memahami cara kerja SSH.
Cara Kerja SSH
Untuk memudahkan pemahaman Anda, penjelasan tentang cara kerja SSH akan dibagi dalam beberapa tahapan:
- Instal Aplikasi SSH
SSH menggunakan model client-server. Terdapat SSH client dan SSH server. Posisinya, SSH client melakukan remote login ke SSH server.
SSH client butuh aplikasi penunjang untuk bisa melakukan koneksi ke server.
Jika Anda menggunakan Linux atau Mac OS, Anda bisa menggunakan Terminal. Jika menggunakan Windows, bisa menggunakan Putty.
SSH server juga butuh aplikasi penunjang untuk bisa mengoperasikan SSH. Umumnya provider VPS sudah menginstal OpenSSH di server. Jadi Anda hanya perlu menginstal aplikasi penunjang di SSH client
- Verifikasi Server
SSH client melakukan proses koneksi ke server.
SSH Client melakukan request terhadap public key dan host key yang dimiliki SSH server.
Proses koneksi menggunakan kunci kriptografi tersebut. Hal ini untuk memverifikasi dan mengidentifikasi SSH server.
Koneksi bisa terjadi jika kunci yang digunakan SSH client sama dengan kunci SSH server.
- Session Key
Setelah server diverifikasi, client dan server menegosiasikan session key.
Algoritma Diffie-Hellman digunakan dalam proses ini. Dengan algoritma ini, kedua belah pihak sama-sama berkontribusi terhadap pembuatan session key.
Session key yang dihasilkan adalah kunci simetris atau shared key.
Saat koneksi terjadi, seluruh komunikasi dienkripsi. Enkripsi simetris dan hashing algorithm digunakan.
Dengan demikian, data yang dipertukarkan antara client dan server tetap terjaga kerahasiaan dan keutuhannya.
- Client Authentication
Setelah enkripsi simetris berhasil dibuat, otentikasi klien terjadi.
Proses otentikasi menggunakan SSH key pair. SSH key pair sendiri merupakan 2 perangkat kunci asimetris.
Dengan kunci asimetris ini, client tidak butuh menginput password untuk otentikasi.
Jika client berhasil mengotentikasi dirinya, client bisa masuk ke dalam server. Seluruh proses pertukaran data yang berlangsung akan terus dienkripsi.
SSH: Protocol Jaringan yang Aman
Anda membutuhkan SSH untuk bisa mengakses server atau hosting secara remote.
Selain itu, fungsi ssh adalah untuk mengamankan koneksi antara client dan server, berikut pertukaran datanya.
Protocol ini memiliki lapisan keamanan yang mumpuni. Seluruh pertukaran data yang berlangsung akan melalui proses enkripsi dan otentikasi.
SSH client menggunakan aplikasi untuk terkoneksi dengan SSH server.
Public key milik SSH server dikirim ke SSH client. Kemudian, SSH client memberikan pasangan kunci yang tepat supaya bisa terkoneksi.
SSH server dan SSH client melakukan verifikasi koneksi. Hal ini untuk menciptakan suatu koneksi yang aman.
SSH client bisa masuk ke dalam server secara aman. Pertukaran data yang terjadi akan terus dienkripsi.
1 thought on “Protokol SSH: Akses Remote Server & Pertukaran Data Aman.”
penjelasannya bagus , bisa dibikin sbg referensi tugas nih