Jumat, 28 Februari 2020

Administrasi Server Bagian 4 : Tentang SSH & Instal SSH di Ubuntu untuk Remote Server


Pagi,,, Bekasi pagi diguyur hujan namun tidak membuat patah semangat untuk berkativitas. Postingan kali ini saya akan menjelaskan tentang SSH. Kemajuan teknologi membuat penggunanya dapat mengontrol perangkat yang jaraknya sangat jauh dan terpisah oleh benua. Salah satunya adalah berkat SSH atau dikenal dengan Secure Shell Conection. SSH memungkinkan Anda untuk melakukan remote server atau perangkat lain yang terkoneksi dengan jaringan internet. Apa itu SSH dan bagaimana cara kerjanya?


SSH adalah sebuah protokol administrasi yang memungkinkan user untuk mengakses dan memodifikasi berbagai macam pengaturan maupun file yang ada di dalam server.
Anda pernah mengenal Telnet? Nah, SSH merupakan pengembangan dari Telnet yang sebelumnya dianggap tidak aman karena tidak adanya proses enkripsi.
Berbeda dengan Telnet, koneksi yang terjadi SSK dienkripsi menggunakan beberapa teknologi, seperti enkripsi simetris, enkripsi asimetris, dan hashing. Ketiganya merupakan teknik kriptografi yang menjamin koneksi yang terenkripsi. Itulah mengapa dinamakan SSH yang berasal dari kata Secure Shell Connection atau koneksi Shell yang aman.
Jika menggunakan SSH, Anda mempunyai opsi untuk melakukan autentikasi pengguna remote sebelum melakukan koneksi. Selain itu, SSH juga dapat mengirimkan input dari SSH client ke host (server) kemudian mengirimkan kembali hasilnya kembali ke user client.
Jadi SSH memudahkan Anda untuk mengelola server tanpa harus datang ke lokasi fisik server. Tidak hanya server saja, Anda dapat memanfaatkan SSH untuk mengatur dan mengelola komputer maupun perangkat desktop yang ada di jaringan yang sama tanpa harus menyentuh perangkat tersebut.
Setelah mengetahui apa itu SSH, ada baiknya untuk tahu juga bagaimana cara kerja SSH.
Cara kerja protokol SSH adalah menggunakan model client-server. Jadi koneksi yang terjadi adalah SSH client melakukan koneksi ke SSH server.
SSH client melakukan proses koneksi dan menggunakan kunci kriptografi untuk memverifikasi dan mengidentifikasi SSH server. Selama kunci yang dipakai SSH client tidak sama dengan SSH server maka koneksi tidak akan pernah dapat tersambung.
SSH client dan SSH server dapat tersambung menggunakan kunci yang sama serta melalui proses verifikasi. Kemudian koneksi yang tersambung dienkripsi menggunakan symmetric encryption dan hashing algorithm. Proses enkripsi ini bertujuan untuk memastikan kerahasiaan dan keutuhan data yang dipertukarkan antara client dengan server.
Jadi SSH client mengawali koneksi dengan memanggil SSH server menggunakan aplikasi SSH client (PuTTY di Windows). Kemudian SSH server mengirimkan public key ke SSH client. Kemudian SSH client merespon dengan memberikan pasangan kunci yang diberikan oleh SSH server.
Selanjutnya keduanya melakukan negosiasi atau verifikasi koneksi dan memulai membuka koneksi yang aman. Setelah selesai, SSH client sudah dapat masuk ke dalam server dengan pertukaran data yang terus dienkripsi.

Apa itu SSH client?

SSH client adalah aplikasi yang dipakai untuk menghubungkan sistem operasi dengan SSH server. Aplikasi ini terkadang sudah terpasang pada sistem operasi, seperti Linux dan MacOS. Sedangkan jika menggunakan Windows, Anda bisa menggunakan aplikasi semacam PuTTY. 
Pengguna MacOS dan Linux tidak perlu menginstall aplikasi tambahan karena fitur SSH client sudah ada di Terminal masing-masing. Anda hanya tinggal menggunakan perintah “$ ssh username@alamat_server” untuk melakukan koneksi.

3 Teknologi Enkripsi SSH

Pada bagian apa itu SSH tadi sudah disinggung sedikit mengenai teknologi enkripsi SSH. Setidaknya ada tiga teknologi yang ditawarkan seperti enkripsi simetris, enkripsi asimetris, dan hashing. Ketiganya berfungsi untuk memastikan proses pertukaran data yang lebih aman antara client dan server.

1. Enkripsi Simetris (Symmetric Encryption)

Enkripsi simetris biasa dikenal dengan nama enkripsi kunci bersama (shared key). Sesuai dengan namanya, enkripsi simetris merupakan jenis enkripsi memanfaatkan kunci untuk melakukan dekripsi maupun enkripsi data yang dipertukarkan antara client dan server.
Enkripsi simetris menggunakan sepasang kunci. Biasanya satu kunci ada di sisi server dan kunci yang lain berada di sisi user supaya server dapat mengenali user yang benar-benar terpercaya. Jadi setiap user yang mempunyai kunci tersebut dapat melihat data yang sedang dipertukarkan.
Enkripsi simetris akan terus menjalankan tugasnya selama proses berjalannya koneksi SSH client dengan server sesuai dengan metode yang disepakati. Persetujuan metode komunikasi ini juga bertujuan untuk menghalangi pihak ketiga untuk membaca data yang sedang dipertukarkan.
Algoritma Pertukaran Kunci berperan pada proses pembuatan enkripsi simetris dalam pertukaran data. Selain itu, selama proses pertukaran data, kunci di client maupun server tidak ikut dipertukarkan sehingga membuat algoritma ini aman.
Jadi uniknya di dalam Algoritma Pertukaran Kunci adalah proses enkripsi dan dekripsi berjalan di masing-masing perangkat (client maupun server). Hal ini membuat pihak ketiga yang mencoba mencuri atau mengintip pertukaran data yang sedang terjadi tidak akan pernah bisa membacanya.

2. Enkripsi Asimetris (Asymmetric Encryption)

Jenis enkripsi asimetris cukup berbeda dengan enkripsi simetris. Jika enkripsi simetris menggunakan satu kunci yang dipakai untuk client maupun server, di dalam enkripsi asimetris terdapat dua kunci yaitu kunci pribadi (private key) dan kunci publik (public key). Biasanya kunci private hanya dimiliki oleh server, sedangkan public key dimiliki oleh user atau client.
Sesuai dengan namanya, kunci publik atau public key secara terbuka dapat dipakai oleh semua client. Tetapi, dalam proses pertukaran data, proses enkripsi hanya bisa dilakukan oleh pasangan public key dan private key –tidak bisa oleh kunci yang berbeda. Jadi hubungan yang terjadi adalah satu arah sehingga host (server atau client) yang mempunyai kunci publik tidak akan pernah bisa membuka pesannya sendiri setelah dienkripsi.

3. Hashing

SSH juga menggunakan salah satu teknik enkripsi hashing. Hashing merupakan salah satu jenis kriptografi yang tidak dapat didekripsi sehingga dinamakan juga one-way-hash (hashing satu arah).
One-way-hash mempunyai fungsi untuk membuat enkripsi panjang dengan tidak mempunyai pola yang jelas untuk dieksploitasi. Jadi fungsi dari enkripsi one-way-hash adalah membuat nilai yang panjang dan unik. Enkripsi ini tentu tentu saja untuk mengamankan setiap data yang sedang dipertukarkan selama proses koneksi SSH berlangsung. Melalui enkripsi hashing seluruh data mengalami enkripsi satu arah dan tidak dapat dibalik (dekripsi)
One-way-hash ini tidak bisa dipakai di seluruh jenis pertukaran data. SSH hanya menggunakan enkripsi one-way-hash untuk mengecek keaslian dari pesan dan sejenisnya. Anda dapat menggunakan sistem pengecekan seperti HMAC (Hash-based Message Authentication) untuk melakukan pengecekan. Sistem seaman HMAC memastikan data sangat sulit untuk dimanipulasi dengan cara apapun.

Penutup

SSH merupakan salah satu hal yang sangat perlu Anda pelajari. Apalagi jika sering berhubungan dengan koneksi client-server. Meskipun sudah ada Telnet sebelumnya, tapi belum bisa menjamin keamanan koneksi yang dihasilkan. Sedangkan SSH mampu mengamankan pertukaran data yang sedang terjadi menggunakan berbagai macam teknologi enkripsi yang diperolehnya, dibawah ini adalah video cara instalasi SSH di SO Linux Ubuntu dan tes di Client SO Windows.

Tidak ada komentar:

Posting Komentar