📁 Hardening Linux: Remote Tools (SSH & Web Server)
Keamanan server Linux sangat penting, terutama untuk layanan yang sering diakses secara remote, seperti SSH dan Web Server. Pada artikel ini, kita akan membahas bagaimana melakukan hardening atau penguatan pada kedua layanan tersebut agar server kamu aman dari ancaman umum di internet.
🔐 Hardening SSH (Secure Shell)
SSH adalah protokol yang memungkinkan kamu mengakses server Linux secara remote dengan aman. Namun, bila menggunakan pengaturan default, servermu bisa menjadi target serangan brute force atau percobaan login ilegal lainnya.
1. Ubah Port Default (22)
Port 22 adalah port standar SSH dan biasanya jadi target utama serangan. Dengan mengubah port ini ke angka lain (misal 2222), kamu mengurangi risiko serangan otomatis.
sudo nano /etc/ssh/sshd_config
# Ganti:
Port 22
# Menjadi misal:
Port 2222
2. Nonaktifkan Login Root
Login langsung sebagai root sangat berbahaya. Jika seseorang berhasil menebak password root, mereka akan memiliki kontrol penuh. Sebaiknya, nonaktifkan login root via SSH dan gunakan akun biasa dengan akses sudo.
PermitRootLogin no
3. Gunakan Autentikasi Key SSH
Daripada menggunakan password, metode yang lebih aman adalah menggunakan SSH keypair. Ini melibatkan pembuatan sepasang kunci: private key di komputer lokal dan public key yang disimpan di server.
# Generate key di client
ssh-keygen
# Salin key ke server
ssh-copy-id user@ip-server
"Password bisa ditebak, tapi keypair jauh lebih aman dan sulit ditembus."
4. Batasi Akses Berdasarkan IP
Kamu juga bisa memperkuat keamanan SSH dengan membatasi alamat IP yang bisa terhubung, misalnya hanya dari jaringan internal atau IP tertentu.
# Contoh menggunakan UFW:
sudo ufw allow from 192.168.1.0/24 to any port 2222
🌐 Hardening Web Server (Apache/Nginx)
Web server adalah wajah publik server kamu, sehingga harus dilindungi dengan baik agar tidak jadi sasaran serangan.
1. Nonaktifkan Directory Listing
Directory listing memungkinkan siapa saja melihat isi folder web kamu jika tidak ada file index. Ini berbahaya karena bisa membuka informasi yang tidak perlu diketahui publik.
# Apache
Options -Indexes
# Nginx
autoindex off;
2. Sembunyikan Versi Server
Menampilkan versi server web dapat memudahkan penyerang mencari celah spesifik. Oleh karena itu, sembunyikan informasi ini.
# Apache
ServerSignature Off
ServerTokens Prod
# Nginx
server_tokens off;
3. Gunakan HTTPS
Selalu gunakan HTTPS agar data yang dikirim dan diterima dienkripsi. Let's Encrypt menyediakan sertifikat SSL gratis dan mudah dipasang.
# Dengan Let's Encrypt:
sudo certbot --apache
# atau untuk nginx:
sudo certbot --nginx
4. Batasi Ukuran Request dan Timeout
Mengatur batas ukuran request dan timeout membantu melindungi server dari serangan DoS atau upload file berbahaya yang terlalu besar.
# Contoh konfigurasi nginx:
client_max_body_size 1M;
client_body_timeout 10s;
🎯 Kesimpulan
- Selalu perbarui dan audit sistem secara berkala.
- Minimalkan layanan yang berjalan untuk mengurangi permukaan serangan.
- Pasang firewall dan tools monitoring seperti Fail2ban untuk mencegah serangan berulang.
- Backup data dan konfigurasi secara rutin agar mudah pemulihan jika terjadi masalah.
Keamanan adalah proses berkelanjutan, bukan sekali jadi. Dengan langkah-langkah hardening ini, kamu sudah meningkatkan pertahanan server Linux secara signifikan. Selamat mencoba dan tetap jaga keamanan servermu!
Comments
Post a Comment