Akses Linux Server Menggunakan SSH Dengan Selamat
Secara asasnya, port SSH iaitu port 22 tidak dibuka kepada public.
Port SSH perlu ditutup daripada public kerana ia akan menjadi pintu kepada masalah keselamatan seperti password guessing, brute force attack dan juga DDoS attack.
Jika anda perlu SSH kepada server, anda boleh gunakan beberapa method antaranya :
1) Gunakan VPN.
Hanya akses SSH daripada VPN network sahaja dibenarkan. Ini adalah cara paling selamat.
2) IP Whitelisting.
Hanya public IP yang di whitelist sahaja boleh akses port 22 server anda. Cara ini tidak memerlukan VPN namun memerlukan Public Static IP untuk akses server anda. Jika anda menggunakan Dynamic IP, anda akan menghadapi masalah untuk SSH ke server kerana IP anda akan sentiasa berubah.
3) Jumpbox atau Bastion Host.
Anda perlu SSH masuk ke server Jumpbox atau Bastion Host ini terlebih dahulu kemudian baru masuk ke server yang sebenar. Server yang sebenar pula hanya akan benarkan akses daripada private IP Jumpbox atau Bastion Host ini sahaja.
4) Fail2Ban
Jika anda tiada fasiliti untuk setup VPN atau anda tidak mempunyai Public Static IP untuk akses server daripada mana-mana menggunakan method IP whitelist, atau juga anda tidak mempunyai Jumpbox atau Bastion Host, anda boleh gunakan Fail2Ban.
Fail2Ban adalah satu perisian yang akan membantu anda mengesan dan menyekat IP yang cuba untuk SSH ke server tapi gagal berkali-kali. Ia akan membaca fail log var/log/auth.log dan mencari IP yang gagal untuk SSH dalam jumlah cubaan tertentu dan dalam tempoh tertentu.
Ia kemudiannya akan menyekat dengan cara memberi arahan kepada firewall server untuk deny IP tersebut.
Anda boleh tetapkan sensitiviti dan tempoh sekatan mengikut keperluan. Sebagai contoh, jika satu2 IP gagal untuk SSH ke server sebanyak 3 kali dalam masa satu minit, IP tersebut akan disekat sebelum di release semula dalam tempoh 24 jam.
Setting tersebut boleh diubah mengikut kemahuan anda. Dengan cara ini server anda dapat dilindungi daripada cubaan rawak atau penggodam untuk SSH masuk ke server anda.
Untuk menggunakan fail2ban, anda perlu mahir menggunakan terminal.
Untuk memudahkan anda mengkonfigurasi dan menguruskan fail2ban, anda boleh menggunakan perisian fail2ban-ui yang dihasilkan oleh syarikat Swissmakers.
fail2ban-ui membolehkan anda menguruskan fail2ban dalam server yang berbeza daripada satu panel sahaja. Ini memudahkan pengurusan keselamatan SSH dan menjimatkan masa.
Namun begitu, anda perlu pastikan fail2ban-ui ini dilindungi daripada akses umum kerana sesiapa sahaja yang mendapat aksesnya boleh membuang IP yang telah disekat.
Anda boleh cuba perisian fail2ban-ui dari https://github.com/swissmakers/fail2ban-ui
Oh ya sebagai nota tambahan, pastikan anda disable password access untuk SSH server anda. Hanya benarkan akses menggunakan SSH Key sahaja.
Lagi satu, gunakan SSH Key ED25519 sahaja ya. SSH Key RSA dah tak selamat untuk digunakan 😉




