Panduan Hardening SSH di Kali Linux untuk Pemula: Mengamankan Akses Jarak Jauh Anda

Dalam dunia keamanan siber, mengamankan akses jarak jauh ke sistem adalah fundamental. SSH (Secure Shell) adalah protokol yang banyak digunakan untuk tujuan ini, menyediakan saluran terenkripsi untuk komunikasi. Namun, konfigurasi default SSH seringkali tidak cukup aman. Artikel ini akan memandu Anda melalui proses hardening SSH pada Kali Linux (yang dijalankan di VMware) dari perspektif seorang pemula, berdasarkan pengalaman praktis dalam sebuah proyek. Kita akan membahas langkah-langkah krusial untuk meningkatkan keamanan akses SSH Anda.

Mengapa Hardening SSH Penting?

Bayangkan server Linux Anda sebagai rumah. Akses SSH adalah pintu masuk utama. Jika pintu ini tidak terkunci dengan baik atau menggunakan kunci yang mudah diduplikasi, maka risiko penyusupan akan sangat tinggi. Hardening SSH bertujuan untuk:

  • Mengurangi Permukaan Serangan (Attack Surface): Dengan membatasi port, pengguna, dan metode autentikasi yang diizinkan.
  • Mencegah Serangan Brute Force: Dengan menonaktifkan autentikasi password dan membatasi percobaan login.
  • Meningkatkan Integritas: Dengan menggunakan metode autentikasi yang lebih kuat seperti kunci kriptografi.

Alat yang Digunakan:

  • Kali Linux (Guest OS di VMware)
  • Host OS (Windows/macOS/Linux) dengan Git Bash/Terminal/PowerShell
  • Editor teks Nano (di Kali Linux)

Langkah-langkah Hardening SSH (Remote Tools):

  1. Membuat Cadangan File Konfigurasi SSH Sebelum melakukan perubahan apa pun, selalu buat cadangan dari file konfigurasi sshd_config. Ini adalah langkah keamanan penting untuk pemulihan jika terjadi kesalahan. Bash sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
  2. Mengubah Port Default SSH Port default SSH (22) adalah target umum untuk scanner otomatis dan serangan. Mengubahnya ke port non-standar (misalnya 2222) dapat mengurangi “kebisingan” dari upaya scanning yang tidak relevan.
    • Edit file sshd_config: sudo nano /etc/ssh/sshd_config
    • Cari baris Port 22 dan ubah menjadi Port 2222.
    • Simpan (Ctrl + O, Enter) dan keluar (Ctrl + X) dari Nano.
    • Restart layanan SSH: sudo systemctl restart ssh
    • Verifikasi port baru aktif menggunakan sudo ss -tuln | grep 2222 di Kali Linux, dan uji koneksi dari Host OS: ssh namauseruser@IP_KALI_LINUX -p 2222.
  3. Menonaktifkan Login Langsung sebagai “root” Akun root memiliki hak akses penuh. Mencegah login langsung sebagai root via SSH memaksa penyerang untuk menargetkan akun dengan hak istimewa lebih rendah, sehingga mengurangi risiko kompromi total.
    • Edit file sshd_config: sudo nano /etc/ssh/sshd_config
    • Cari baris PermitRootLogin dan ubah menjadi PermitRootLogin no.
    • Simpan dan keluar dari Nano.
    • Restart layanan SSH: sudo systemctl restart ssh
    • Verifikasi dengan mencoba login sebagai root dari Host OS; seharusnya akan ditolak dengan pesan “Permission denied”.
  4. Membatasi Percobaan Login Untuk mengurangi efektivitas serangan brute force pada password (selama autentikasi password masih aktif), kita bisa membatasi jumlah percobaan login yang diizinkan sebelum koneksi terputus.
    • Edit file sshd_config: sudo nano /etc/ssh/sshd_config
    • Tambahkan atau ubah baris: MaxAuthTries 3
    • Simpan dan keluar dari Nano.
    • Restart layanan SSH: sudo systemctl restart ssh
  5. Mengkonfigurasi Autentikasi Kunci SSH (Public Key Authentication) – Langkah Krusial! Ini adalah peningkatan keamanan paling signifikan. Autentikasi kunci SSH menggunakan pasangan kunci kriptografi (privat dan publik) yang jauh lebih kuat dan aman daripada password.
    • Periksa atau Buat Kunci SSH di Host OS Anda:
      • Di terminal Host OS (misalnya Git Bash), periksa apakah sudah ada kunci di ls -la ~/.ssh/. Jika Anda melihat id_rsa dan id_rsa.pub, berarti Anda sudah memiliki kunci.
      • Jika belum, buat kunci baru: ssh-keygen -t rsa -b 4096. Ikuti instruksi (cukup tekan Enter untuk lokasi default dan passphrase kosong untuk kemudahan awal, meskipun passphrase disarankan untuk keamanan produksi).
    • Salin Kunci Publik ke Kali Linux: Ini adalah langkah yang paling sering mengalami kendala bagi pemula.
      • Masalah Umum: Anda mungkin mendapatkan error seperti “Too many arguments” atau “Permission denied (publickey)”.
      • Penyebab: Ini seringkali disebabkan oleh izin file yang salah di Kali Linux, folder .ssh yang belum ada di direktori home user Kali Linux, atau sintaks perintah yang salah saat menyalin dari Host OS Windows.
      • Solusi:
        • Pertama, pastikan folder .ssh dan izinnya benar di Kali Linux. Jika belum ada atau izinnya salah, buat dan perbaiki izinnya di terminal Kali Linux Anda (melalui VMware console): Bash mkdir -p ~/.ssh chmod 700 ~/.ssh
        • Kemudian, dari terminal Host OS Anda, salin kunci publik secara manual (karena ssh-copy-id terkadang bermasalah di Git Bash dengan path yang mengandung spasi atau interpretasi argumen): Bash cat ~/.ssh/id_rsa.pub | ssh namauser@IP_KALI_LINUX -p 2222 "cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys" Anda akan diminta password user kali untuk proses penyalinan ini.
    • Uji Login dengan Kunci SSH:
      • Dari terminal Host OS: ssh namauser@IP_KALI_LINUX -p 2222
      • Verifikasi: Jika berhasil login tanpa diminta password, berarti kunci SSH Anda berfungsi. Ini adalah titik kritis sebelum melanjutkan ke langkah berikutnya. Jika masih diminta password, Anda harus memecahkan masalah ini (biasanya terkait izin file di Kali Linux atau kunci yang tidak tersalin dengan benar) sebelum melanjutkan.
  6. Menonaktifkan Autentikasi Password Sepenuhnya Setelah Anda yakin 100% bahwa autentikasi kunci SSH berfungsi, Anda bisa menonaktifkan autentikasi password untuk mencegah serangan brute force pada password. Ini adalah langkah final untuk mengamankan SSH Anda secara signifikan.
    • Edit file sshd_config: sudo nano /etc/ssh/sshd_config
    • Cari baris PasswordAuthentication dan ubah menjadi PasswordAuthentication no.
    • Simpan dan keluar dari Nano.
    • Restart layanan SSH: sudo systemctl restart ssh
    • Verifikasi Akhir:
      • Coba login dari Host OS menggunakan password (INI SEHARUSNYA GAGAL): ssh namauser@IP_KALI_LINUX -p 2222 (Anda akan melihat Permission denied (publickey). tanpa diminta password).
      • Coba login menggunakan kunci SSH (INI SEHARUSNYA BERHASIL): ssh namauser@IP_KALI_LINUX -p 2222 (Anda akan langsung login tanpa diminta password).

Kesimpulan

Melalui proyek hardening SSH ini, kita telah meningkatkan keamanan Kali Linux secara signifikan. Dengan mengubah port default, menonaktifkan login root langsung, membatasi percobaan login, dan yang terpenting, mengimplementasikan autentikasi kunci SSH serta menonaktifkan autentikasi password, kita telah membangun “pintu belakang” yang jauh lebih kuat dan aman.

Pengalaman mengatasi masalah seperti “Permission denied (publickey)” dan masalah sintaks perintah menegaskan pentingnya pemahaman dasar Linux, ketelitian dalam konfigurasi keamanan, dan kesabaran dalam troubleshooting. Proyek ini adalah langkah awal yang sangat baik dalam memahami dan menerapkan praktik keamanan siber yang esensial.

Leave a Reply

Your email address will not be published. Required fields are marked *