Cara Setup SSH yang Secure di Linux Server

SSH (Secure Shell) adalah salah satu layanan paling penting dalam administrasi server Linux. SSH digunakan untuk mengakses server secara remote dengan aman melalui jaringan.

Namun jika tidak dikonfigurasi dengan benar, SSH juga bisa menjadi target utama serangan seperti brute force attack.

Pada artikel ini kita akan membahas cara mengamankan SSH server agar lebih secure untuk production environment.

1. Update Server Terlebih Dahulu

Sebelum melakukan konfigurasi keamanan, pastikan server dalam kondisi terbaru.

Ubuntu / Debian:

sudo apt update && sudo apt upgrade -y

CentOS / AlmaLinux / Rocky:

sudo dnf update -y

2. Mengubah Port SSH Default

Secara default SSH menggunakan port 22. Karena port ini sangat umum, banyak bot internet yang mencoba brute force ke port tersebut.

Edit konfigurasi SSH:

sudo nano /etc/ssh/sshd_config

Cari baris berikut:

#Port 22

Ubah menjadi misalnya:

Port 2222

Restart SSH:

sudo systemctl restart ssh

Sekarang login SSH menggunakan:

ssh user@server-ip -p 2222

3. Disable Login Root

Login langsung menggunakan root sangat berbahaya.

Edit file konfigurasi:

sudo nano /etc/ssh/sshd_config

Cari:

PermitRootLogin yes

Ubah menjadi:

PermitRootLogin no

Kemudian restart SSH.

4. Menggunakan SSH Key Authentication

SSH key jauh lebih aman dibandingkan password.

Generate SSH key di komputer lokal:

ssh-keygen

Copy public key ke server:

ssh-copy-id user@server-ip

Setelah itu login menggunakan key.

5. Disable Password Authentication

Jika sudah menggunakan SSH key, kita bisa mematikan login password.

Edit konfigurasi:

sudo nano /etc/ssh/sshd_config

Cari:

PasswordAuthentication yes

Ubah menjadi:

PasswordAuthentication no

Restart SSH:

sudo systemctl restart ssh

Sekarang server hanya menerima login menggunakan SSH key.

6. Batasi User yang Bisa Login SSH

Untuk meningkatkan keamanan, kita bisa membatasi user yang boleh login SSH.

Edit konfigurasi:

sudo nano /etc/ssh/sshd_config

Tambahkan:

AllowUsers admin

Artinya hanya user admin yang dapat login SSH.

7. Install Fail2Ban

Fail2Ban membantu memblokir IP yang mencoba brute force login SSH.

Install Fail2Ban:

sudo apt install fail2ban -y

Start service:

sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Fail2Ban akan otomatis memblokir IP yang melakukan banyak percobaan login gagal.

8. Gunakan Firewall

Pastikan hanya port SSH yang diperlukan saja yang dibuka.

Jika menggunakan UFW:

sudo ufw allow 2222/tcp
sudo ufw enable

Kesimpulan

Mengamankan SSH server sangat penting untuk melindungi server dari serangan yang tidak diinginkan.

Beberapa langkah penting yang bisa dilakukan antara lain:

  • Mengubah port SSH default
  • Menonaktifkan login root
  • Menggunakan SSH key authentication
  • Menonaktifkan login password
  • Menggunakan Fail2Ban
  • Mengaktifkan firewall

Dengan menerapkan konfigurasi ini, server Linux akan jauh lebih aman dari serangan brute force dan akses yang tidak sah.

Leave a Reply

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