Keamanan tentu menjadi hal yang utama dalam melakukan hardening server. Yup, sebagus apapun interface dari webclient kita, kalau servernya kebobolan tentu menjadi tidak berguna. Nah kali ini saya akan membagikan tips hardening security pada VPS / Server Linux.
1. Disable SSH Root Login
Yup, jangan pernah membiarkan user dapat login dengan "root" . Gunakan sudo pada user jika diperlukan, selain lebih aman, biasanya para hacker yang melakukan bruteforce selalu mengincar root akses.
Cara nya ?
$ sudo nano /etc/ssh/sshd_config
Cari kata PermitRootLogin dan ubah value nya menjadi no
PermitRootLogin no
2. Sistem Harus Selalu Update
Yup, alasan linux apa update-an biasanya karena telah ditemukan celah / bug pada versi lama. Jadi, selalu lakukan update server kalian supaya aman.
$ yum update
atau
$ apt-get update && apt-get upgrade
3. Gunakan Password Yang Kuat pada Semua Akun
Yep, ini untuk menghindari password guessing ataupun bruteforce. Selalu gunakan password yang kuat untuk akun seperti FTP, SSH , dll. Jangan gunakan password yang sudah ada di dictionari, apalagi password yang sama dengan username.
4. Disable SSH Password Authentification dan Gunakan Privat Keys Untuk Login
Ini yang PALING penting. Karena Privat Keys hanya tersimpan di komputer kita. Berbeda dengan login via password , yang jika password kecolongan si hacker bakal bisa login dengan password curiannya, nah dengan privat keys ini cuma kita yang punya akses ke server.
Cara nya ?
Pertama, kita buat dulu auth via private keys.
Selanjutnya, disable password authentification.
$ sudo nano /etc/ssh/sshd_config
Lalu setting value nya menjadi "no" seperti dibawah ini :
ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no
Jangan lupa restart
/etc/init.d/sshd restart
5. Minimalisir Penggunaan Software
Meminimalisir penggunaan software berarti juga meminimalisir kemungkinan terdapat celah.
Menjadi sysadmin tidak butuh DE, pure CLI.
Kalau bisa belajarlah melakukan semua nya serba via terminal, tidak perlu menginstall panel seperti webuzzo / zpanel dll. just using your terminal.
6. Turn on SELinux
Security - Enhanced Linux ( SELinux ) kontrol keaman yang tersedia dikernel .Biasanya ada beberapa user yang menonaktifkan ftur ini. Menonaktifkan SELinux berarti menghapus mekanisme keamanan dari sistem . Jadi pikir baik baik terlebih dahulu sebelum emngambil keputusan .
7. Matikan IPv6
Jika kalian tidak memerlukan service IPv6, sebih baik dimatikan saja agar lebih aman.
$ sudo nano /etc/sysconfig/network
NETWORKING_IPV6=no
IPV6INIT=no
8. Maksimalkan Iptables
Ini sangat dianjurkan karena cara kerja nya mirip firewall yaitu emmfilter akses yang tidak sah ke server kalian . Menerapkan rule di iptables untuk filter masuk, keluar dan paket forwarding . Kita juga bisa mengatur port yang dilarang, dsb.
9. Cek Log Secara Rutin
Yup, selalu cek log secara rutin untuk melihat kemungkinan akses dari luar.
/var/log/auth.log – Authentication logs.
/var/log/kern.log – Kernel logs.
/var/log/cron.log – Crond logs (cron job).
/var/log/maillog – Mail server logs.
/var/log/boot.log – System boot log.
/var/log/mysqld.log – MySQL database server log file.
/var/log/secure – Authentication log.
/var/log/utmp or /var/log/wtmp : Login records file.
/var/log/yum.log: Yum log files.
Nah , mungkin sekian dari saya.