Panduan Hardening SSH Untuk Meningkatkan Keamanan
Jika DomaiNesians mengelola server atau sering mengakses sistem melalui SSH, keamanan tentu menjadi prioritas utama. Sayangnya, banyak server masih menggunakan konfigurasi default yang rentan terhadap serangan seperti brute force dan akses tidak sah. Melalui Panduan Hardening SSH akan diajak memahami langkah-langkah untuk mengamankan akses remote secara efektif. Dengan menerapkan hardening SSH yang tepat, kamu bisa menjaga integritas sistem, melindungi data penting, dan memastikan server tetap aman digunakan.
Mengapa Hardening SSH Itu Penting
Konfigurasi default SSH memang memudahkan akses, tapi disisi lain menyimpan banyak celah keamanan. Port standar, metode login berbasis password, dan pengaturan izin yang terlalu longgar membuat SSH mudah ditebak dan dieksploitasi. Penyerang biasanya langsung menargetkan kondisi ini karena peluang berhasilnya jauh lebih besar.
Dengan melakukan hardening SSH, kamu memperkecil peluang orang yang tidak berhak untuk masuk ke server. Pengamanan seperti membatasi metode login, mengatur hak akses user, dan memantau aktivitas SSH membantu menjaga data tetap aman dan sistem tetap stabil.Â
Di sisi lain, hardening SSH juga membantu membangun kebiasaan keamanan yang lebih baik dalam pengelolaan server. Ketika akses sudah tertata dan terkontrol, risiko kesalahan konfigurasi bisa ditekan, respons terhadap potensi serangan jadi lebih cepat, dan server bisa dijalankan dengan lebih tenang dalam jangka panjang.
Cara Hardening SSH
Sebelum mulai melakukan hardening, penting dipahami bahwa tujuan utama pengamanan SSH bukan untuk mempersulit akses, melainkan memastikan hanya pihak yang berhak yang bisa masuk ke server. Berikut langkah-langkahnya:
1. Mengganti port default SSH
Secara bawaan, SSH berjalan di port 22 yang sudah sangat dikenal dan sering menjadi target serangan otomatis. Mengganti port ini tidak membuat SSH sepenuhnya aman, tetapi cukup efektif untuk mengurangi percobaan serangan dari bot yang melakukan scanning massal.
2. Menonaktifkan login langsung sebagai root
Login langsung menggunakan akun root sangat berisiko karena memberikan akses penuh ke sistem. Praktik yang lebih aman adalah login menggunakan user biasa, lalu menggunakan sudo saat membutuhkan hak akses administratif. Contoh konfigurasi di sshd_config
|
1 |
PermitRootLogin no |
3. Menggunakan SSH key sebagai metode autentikasi
Autentikasi berbasis password rentan terhadap brute force dan kebocoran kredensial. Menggunakan SSH key jauh lebih aman karena berbasis kriptografi dan sulit dipalsukan. Setelah SSH key aktif, login menggunakan password sebaiknya dinonaktifkan.
Contoh konfigurasi di sshd_config:Â
|
1 2 |
PubkeyAuthentication yes PasswordAuthentication no |
4. Membatasi user yang diperbolehkan login SSH
Tidak semua user di server perlu memiliki akses SSH. Dengan membatasi user tertentu saja, risiko akses tidak sah dapat dikurangi secara signifikan. Contoh konfigurasi di sshd_config
|
1 |
AllowUsers admin devops |
5. Membatasi akses SSH berdasarkan alamat IP
Jika akses SSH hanya dilakukan dari jaringan atau IP tertentu, pembatasan IP menjadi langkah yang sangat efektif. Cara ini membantu menutup akses dari sumber yang tidak dikenal.
Contoh konfigurasi di sshd_config
|
1 |
AllowUsers admin@123.456.7.89 |
6. Mengatur batas percobaan login dan waktu koneksi
Membatasi jumlah percobaan login dan waktu idle akan mengurangi peluang serangan brute force serta mencegah sesi SSH dibiarkan terbuka terlalu lama.
Contoh konfigurasi di sshd_config:
|
1 2 3 |
MaxAuthTries 3 ClientAliveInterval 300 ClientAliveCountMax 2 |
7. Menonaktifkan fitur yang tidak diperlukan
Beberapa fitur SSH seperti X11 forwarding atau agent forwarding jarang digunakan dan dapat menjadi celah keamanan jika dibiarkan aktif. Menonaktifkan fitur yang tidak diperlukan akan memperkecil permukaan serangan.
Contoh konfigurasi di sshd_config:
|
1 2 |
X11Forwarding no AllowAgentForwarding no |
8. Mengaktifkan logging untuk memantau aktivitas SSH
Logging membantu administrator memantau aktivitas login dan mendeteksi percobaan akses yang mencurigakan sejak dini. Dengan log yang baik, respons terhadap insiden keamanan bisa dilakukan lebih cepat.
Contoh konfigurasi di sshd_config: LogLevel VERBOSE
Cara Mengecek dan Memonitor Akses SSH
Sumber: Vecteezy
Setelah hardening diterapkan, pekerjaan belum selesai. Akses SSH tetap perlu dipantau secara rutin untuk memastikan tidak ada aktivitas mencurigakan yang luput dari perhatian. Monitoring membantu kamu mengetahui siapa yang masuk ke server, dari mana asalnya, dan apakah ada percobaan akses yang tidak wajar.
1. Mengecek login SSH yang sedang aktif
Untuk mengetahui siapa saja yang sedang login ke server melalui SSH, kamu bisa melihat daftar sesi aktif. Cara ini berguna untuk memastikan hanya user yang seharusnya saja yang sedang terhubung. Contoh perintah:
|
1 |
who |
2. Melihat riwayat login SSH
Riwayat login membantu melacak kapan dan dari mana user mengakses server. Informasi ini penting untuk audit keamanan dan investigasi jika terjadi insiden.
Cek dengan:
|
1 |
last |
3. Memeriksa log autentikasi SSH
Semua aktivitas SSH, termasuk login berhasil dan gagal, dicatat di log sistem. Dari sini kamu bisa mendeteksi percobaan brute force atau login mencurigakan. Log biasanya ada di /var/log/auth.log, cek dengan:
|
1 |
sudo tail -f /var/log/auth.log |
4. Mendeteksi percobaan login gagal
Percobaan login gagal berulang biasanya menjadi tanda serangan brute force. Mengecek bagian ini secara berkala membantu kamu bertindak lebih cepat sebelum terjadi kebobolan. Cek dengan:
|
1 |
sudo grep "Failed password" /var/log/auth.log |
5. Memantau aktivitas SSH secara real-time
Monitoring real-time memungkinkan kamu melihat aktivitas SSH yang sedang berlangsung tanpa harus menunggu log menumpuk. Ini berguna saat server sedang dalam kondisi rawan atau setelah terjadi perubahan konfigurasi. Cek:
|
1 |
sudo journalctl -u ssh -f |
6. Menggunakan tool tambahan untuk monitoring
Untuk pemantauan yang lebih otomatis, kamu bisa menggunakan tool seperti Fail2Ban atau sistem monitoring server. Tool ini dapat memberi notifikasi atau memblokir IP secara otomatis jika terdeteksi aktivitas mencurigakan. Contoh pengecekan status Fail2Ban:
|
1 |
sudo fail2ban-client status sshd |
Keamanan Server Dimulai dari SSH
SSH menjadi jalur utama untuk mengakses server, sehingga hardening perlu diperhatikan sejak awal. Jika masih menggunakan konfigurasi default, risiko seperti brute force, pencurian kredensial, hingga akses tidak sah dapat terjadi kapan saja. Dengan melakukan hardening SSH, mulai dari mengganti port default, menggunakan SSH key, membatasi user dan IP tertentu, hingga rutin memeriksa log aktivitas, keamanan server dapat ditingkatkan tanpa membuat proses pengelolaan menjadi rumit.
Selain membantu melindungi data dan layanan penting, konfigurasi SSH yang aman juga dapat meningkatkan stabilitas sistem dalam jangka panjang. Server menjadi lebih tahan terhadap serangan otomatis, meminimalkan potensi downtime, serta menjaga performa tetap optimal. Penerapan langkah-langkah hardening ini sangat penting, terutama bagi pengguna VPS dan administrator yang mengelola server untuk website, aplikasi, maupun kebutuhan bisnis online.
Supaya langkah-langkah ini berjalan lebih nyaman dan konsisten, penggunaan server yang stabil dan punya kontrol penuh jelas membantu. Cloud VPS DomaiNesia memberi fleksibilitas untuk mengatur konfigurasi SSH sesuai kebutuhan, performa yang responsif, dan lingkungan server yang siap mendukung praktik keamanan yang lebih baik. Dengan server yang tepat, proses pengamanan jadi lebih tenang, lebih rapi, dan bisa langsung diterapkan sejak awal.
