Perlu kita ketahui konfigurasi default ssh sangat rentan terhadap serangan dari luar, seperti brute force attack dan sebagainya. Dapat anda bayangkan betapa bahayanya jika seseorang dapat masuk ke server/computer kita. Anda yang menjadi seorang admin network/server akan berasa malu kepada atasan anda, jika atasan anda mengetahui hal ini. Namun jika atasan anda tidak mengetahui telah terjadi penyusupan terhadap server tidak jadi masalah, tetapi masalah akan timbul jika penyusup tersebut malakukan hal-hal yang tidak diinginkan misalnya merubah konfigurasi system sehingga server/komputer anda bermasalah dan masih banyak kemungkinan lainnya.
Anda dapat menginstal server SSH (Secure Shell) di Debian 12 dengan mudah menggunakan APT, dan mengamankannya dengan beberapa langkah konfigurasi dasar. SSH memungkinkan Anda mengelola server dari jarak jauh dengan aman.
Menginstal Server SSH
Untuk menginstal server SSH, Anda cukup menjalankan perintah berikut di terminal sebagai pengguna root
atau menggunakan sudo
:
apt update
apt install openssh-server
apt update
: Memperbarui daftar paket yang tersedia.apt install openssh-server
: Menginstal paket server SSH.
Setelah instalasi selesai, layanan SSH akan otomatis berjalan. Anda bisa memeriksa statusnya dengan perintah:
systemctl status ssh
Jika statusnya menunjukkan “active (running)”, server SSH Anda sudah siap digunakan.
Mengamankan Server SSH
Mengamankan server SSH sangat penting untuk mencegah akses yang tidak sah. Berikut adalah beberapa langkah utama yang bisa Anda terapkan.
1. Menonaktifkan Login Root
Login langsung sebagai root
melalui SSH sangat tidak disarankan karena root
memiliki semua hak istimewa. Untuk menonaktifkannya, edit file konfigurasi SSH di /etc/ssh/sshd_config
.
nano /etc/ssh/sshd_config
Cari baris PermitRootLogin
. Jika tidak ada, tambahkan. Ganti nilainya menjadi no
:
PermitRootLogin no
Setelah perubahan, simpan dan keluar dari editor (Ctrl+X
, lalu Y
, Enter
).
2. Menggunakan Autentikasi Kunci Publik
Autentikasi dengan kata sandi rentan terhadap serangan brute-force. Menggunakan kunci SSH (pasangan kunci publik/pribadi) jauh lebih aman.
- Membuat Kunci SSH: Di komputer lokal Anda, jalankan perintah berikut untuk membuat pasangan kunci.
ssh-keygen -t rsa
Ikuti petunjuknya. Kunci publik Anda biasanya disimpan di
~/.ssh/id_rsa.pub
. - Menyalin Kunci Publik ke Server: Gunakan
ssh-copy-id
untuk menyalin kunci publik ke server Anda.ssh-copy-id nama_pengguna@alamat_ip_server
Anda akan diminta memasukkan kata sandi server sekali untuk mengizinkan penyalinan.
- Menonaktifkan Autentikasi Kata Sandi: Setelah berhasil mengonfigurasi kunci, nonaktifkan login dengan kata sandi di file
/etc/ssh/sshd_config
untuk meningkatkan keamanan.nano /etc/ssh/sshd_config
Ubah nilai
PasswordAuthentication
menjadino
:PasswordAuthentication no
Sekarang, hanya pengguna yang memiliki kunci pribadi yang benar yang dapat masuk.
3. Mengubah Port SSH Default
Port default SSH adalah 22
. Mengubahnya menjadi port lain dapat mengurangi serangan otomatis yang menargetkan port ini.
Buka file konfigurasi /etc/ssh/sshd_config
dan cari baris Port 22
. Ubah angkanya menjadi port lain yang belum digunakan, misalnya 2222
.
Port 2222
Pastikan port yang Anda pilih tidak digunakan oleh layanan lain.
4. Menggunakan Firewall
Firewall sangat penting untuk membatasi akses ke port SSH. Di Debian, Anda bisa menggunakan ufw
(Uncomplicated Firewall).
apt install ufw
ufw enable
Setelah mengaktifkan ufw
, izinkan port SSH yang baru Anda konfigurasikan (misalnya, 2222
).
ufw allow 2222/tcp
Anda juga bisa membatasi akses SSH hanya dari alamat IP tertentu:
ufw allow from 192.168.1.100 to any port 2222
5. Mengaktifkan Fail2ban
Fail2ban
adalah alat yang memindai log dan memblokir alamat IP yang mencoba masuk berulang kali dengan kata sandi yang salah. Ini sangat efektif melawan serangan brute-force.
apt install fail2ban
systemctl enable fail2ban
systemctl start fail2ban
Fail2ban
akan otomatis berjalan dengan konfigurasi default yang sudah cukup aman.
Setelah melakukan semua perubahan pada file konfigurasi /etc/ssh/sshd_config
, Anda harus memulai ulang layanan SSH agar perubahan diterapkan.
restart ssh
Sebelum keluar dari sesi SSH saat ini, buka sesi terminal baru dan coba login kembali untuk memastikan konfigurasi baru tidak mengunci Anda dari server. Jika berhasil, barulah Anda bisa menutup sesi lama.