Hardening Server

🛡️ Bab 13 – SOP Hardening Server di Ubuntu

Hardening Server di Ubuntu. Bab ini adalah tahap penting untuk membuat server lebih tahan banting terhadap serangan, karena selain firewall dan update, ada langkah-langkah ekstra yang wajib dilakukan agar server aman dari akses tidak sah.

🎯 Tujuan

  • Menguatkan keamanan server (hardening).
  • Membatasi akses tidak sah.
  • Menjaga data dan service penting.

🔧 Lingkup

  • Sistem operasi: Ubuntu Server
  • Fokus: SSH, user management, firewall, intrusion prevention

3. Langkah Kerja

3.1 Disable Login Root via SSH

Edit konfigurasi SSH:

sudo nano /etc/ssh/sshd_config
      

Cari baris:

PermitRootLogin yes
      

Ubah menjadi:

PermitRootLogin no
      

Simpan, lalu restart SSH:

sudo systemctl restart ssh
      

3.2 Gunakan SSH Key Authentication

  1. Buat SSH key di client (Windows/Linux):
    ssh-keygen -t rsa -b 4096
              
  2. Copy public key ke server:
    ssh-copy-id user@IP_SERVER
              
  3. Edit konfigurasi SSH:
    PasswordAuthentication no
              
  4. Restart SSH:
    sudo systemctl restart ssh
              

3.3 Batasi Port & Service

  • Hanya buka port yang diperlukan (22, 80, 443).
  • Gunakan UFW:
    sudo ufw allow 22/tcp
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw deny all
              

3.4 Install Fail2ban (Proteksi Brute Force)

Fail2ban akan memblokir IP yang mencoba login berkali-kali.

sudo apt install fail2ban -y
      

Konfigurasi default sudah cukup, tapi bisa edit di:

sudo nano /etc/fail2ban/jail.local
      

3.5 Audit & Monitoring

  • Cek login user:
    last
              
  • Cek login gagal:
    cat /var/log/auth.log
              
  • Gunakan journalctl untuk log sistem:
    journalctl -xe
              

3.6 Update & Patch Rutin

  • Update sistem:
    sudo apt update && sudo apt upgrade -y
              
  • Gunakan unattended-upgrades untuk auto update:
    sudo apt install unattended-upgrades -y
    sudo dpkg-reconfigure unattended-upgrades
              

3.7 Proteksi File & Folder Penting

  • Ubah permission file konfigurasi:
    chmod 600 /etc/ssh/sshd_config
    chmod 600 /etc/mysql/my.cnf
              
  • Pastikan hanya root yang bisa akses file sensitif.

4. Command Ringkas

Fungsi Command
Disable root login Edit /etc/ssh/sshd_config → PermitRootLogin no
Disable password login Edit /etc/ssh/sshd_config → PasswordAuthentication no
Generate SSH key ssh-keygen -t rsa -b 4096
Copy SSH key ssh-copy-id user@IP_SERVER
Install Fail2ban sudo apt install fail2ban -y
Cek login user last
Cek login gagal cat /var/log/auth.log
Update sistem sudo apt update && sudo apt upgrade -y
Auto update sudo apt install unattended-upgrades -y

5. Catatan Penting

  • ⚠️
    Jangan pernah login sebagai root langsung, gunakan user biasa + sudo.
  • 🔒
    Gunakan SSH key, bukan password, untuk keamanan lebih tinggi.
  • 🛡️
    Fail2ban sangat efektif melawan brute force.
  • 🔄
    Rutin update sistem agar celah keamanan tertutup.
  • 💾
    Simpan backup konfigurasi sebelum mengubah setting keamanan.
👉 Dengan bab ini, servermu sudah lebih aman dan tahan banting terhadap serangan umum.

Komentar

Postingan populer dari blog ini

Automation dengan Ansible

Logging & Observability Modern (ELK Stack)

Docker & Container