5 Praktik Terbaik Untuk Mencegah Serangan Login Brute-Force SSH di Linux

5 Praktik Terbaik Untuk Mencegah Serangan Login Brute-Force SSH di Linux

Server berjalan Ssh biasanya target lunak untuk serangan brute-force. Peretas terus-menerus datang dengan perangkat dan bot perangkat lunak yang inovatif untuk mengotomatisasi serangan kekuatan brutal yang selanjutnya meningkatkan risiko intrusi.

Dalam panduan ini, kami mengeksplorasi beberapa tips yang dapat Anda terapkan untuk melindungi server SSH Anda dari serangan brute-force pada distribusi Linux yang berbasis di RHEL dan turunan Debian.

Nonaktifkan otentikasi kata sandi ssh dan aktifkan otentikasi ssh-key

Metode otentikasi default untuk Ssh Apakah nama pengguna/kata sandi otentikasi. Tapi seperti yang telah kita lihat, otentikasi kata sandi rentan terhadap serangan brute-force. Untuk berada di sisi yang aman, disarankan untuk menerapkan otentikasi SSH berbasis kunci di mana otentikasi dimungkinkan oleh pasangan kunci SSH publik dan swasta. Kunci pribadi tetap ada di PC klien saat kunci publik disalin ke server.

Selama otentikasi kunci SSH, server memeriksa apakah PC klien memiliki kunci pribadi. Jika cek berhasil, sesi shell dibuat atau perintah yang dikirim ke server jarak jauh dijalankan dengan sukses. Kami memiliki panduan komprehensif tentang cara mengkonfigurasi otentikasi berbasis kunci SSH.

Bahkan setelah mengatur otentikasi berbasis kunci, server Anda masih rentan terhadap serangan brute-force karena alasan sederhana bahwa otentikasi kata sandi masih aktif. Ini perlu dinonaktifkan.

Oleh karena itu, edit file konfigurasi SSH default.

$ sudo vim/etc/ssh/sshd_config 

Mengatur PasswordAuthentication parameter ke TIDAK seperti yang ditunjukkan.

Kata sandi no 
Nonaktifkan otentikasi kata sandi ssh

Kemudian simpan file dan muat ulang SSH untuk menerapkan perubahan.

$ sudo systemctl Reload ssh 

Menerapkan alat pencegahan intrusi fail2ban

Tertulis di Python, Fail2Ban adalah kerangka kerja pencegahan intrusi open-source yang memindai file log layanan untuk kegagalan otentikasi dan larangan IP yang berulang kali gagal dalam pemeriksaan otentikasi kata sandi untuk jumlah waktu tertentu yang ditentukan.

Fail2ban terus -menerus memantau file log server untuk upaya intrusi dan aktivitas jahat lainnya, setelah sejumlah kegagalan otentikasi yang telah ditentukan - dalam kebanyakan kasus, 3 upaya login yang gagal - Fail2BAN secara otomatis memblokir host jarak jauh dari mengakses server, dan host disimpan di A 'Penjara'untuk durasi waktu tertentu.

Dalam melakukannya, Fail2ban secara signifikan mengurangi tingkat upaya otentikasi kata sandi yang salah. Lihat panduan kami tentang bagaimana Anda dapat menginstal dan mengkonfigurasi Fail2ban di Linux untuk mengamankan server Anda dari serangan bruteforce.

Batasi jumlah maksimum upaya otentikasi SSH

Cara sederhana lainnya untuk melindungi server Anda dari serangan brute-force adalah dengan membatasi jumlah upaya login SSH. Secara default, ini diatur ke 3, Tetapi jika kebetulan ini diatur ke nilai yang lebih tinggi, atur ke 3 upaya koneksi paling banyak.

Misalnya, untuk mengatur upaya koneksi maksimum ke 3 mengatur MaxAuthtries parameter ke 3 seperti yang ditunjukkan

MaxAuthtries = 3 

Sekali lagi, simpan perubahan dan muat ulang layanan SSH.

$ sudo systemctl Reload ssh 

Menerapkan pembungkus TCP untuk membatasi akses SSH dari klien

TCP Wrappers adalah perpustakaan yang menyediakan berbasis host Daftar Kontrol Akses (ACL) Itu membatasi akses ke layanan TCP oleh klien jarak jauh berdasarkan alamat IP mereka

Host jarak jauh dari mengakses layanan pada sistem. Pembungkus TCP menggunakan /etc/host.mengizinkan Dan /etc/host.membantah file konfigurasi (dalam urutan itu) untuk menentukan apakah klien jarak jauh diizinkan untuk mengakses layanan tertentu atau tidak.

Biasanya, file -file ini dikomentari dan semua host diizinkan melalui lapisan pembungkus TCP. Aturan untuk memungkinkan akses ke layanan tertentu ditempatkan di /etc/host.mengizinkan mengajukan dan diutamakan atas aturan di /ETC/HOSTS.membantah mengajukan.

Praktik terbaik merekomendasikan pemblokiran semua koneksi yang masuk. Oleh karena itu, buka /etc/host.membantah mengajukan.

$ sudo vim /etc /host.membantah 

Tambahkan baris berikut.

SEMUA SEMUA 

Simpan perubahan dan keluar dari file.

Lalu akses /etc/host.mengizinkan mengajukan.

$ sudo vim /etc /host.mengizinkan 

Konfigurasikan host atau domain yang dapat terhubung ke server melalui SSH seperti yang ditunjukkan. Dalam contoh ini, kami hanya mengizinkan dua host jarak jauh untuk terhubung ke server (173.82.227.89 Dan 173.82.255.55) dan menyangkal sisanya.

SSHD: 173.82.227.89 173.82.255.55 SSHD: Semua: DENY 
Batasi akses SSH ke klien

Simpan perubahan dan keluar dari file konfigurasi.

Untuk mengujinya, cobalah untuk terhubung ke server dari host yang tidak ada di antara mereka yang mengizinkan akses. Anda harus mendapatkan kesalahan izin seperti yang ditunjukkan.

$ ssh [email dilindungi] Kex_exchange_Identification: Baca: Reset koneksi dengan reset koneksi peer by 173.82.235.7 Port 22 Koneksi Kehilangan 

Menerapkan otentikasi dua faktor SSH

Otentikasi dua faktor Memberikan lapisan keamanan tambahan untuk otentikasi kata sandi, sehingga membuat server Anda lebih aman dari serangan brute-force. Banyak digunakan Otentikasi dua faktor Solusi adalah Aplikasi Google Authenticator Dan kami memiliki panduan yang terdokumentasi dengan baik tentang bagaimana Anda dapat mengatur otentikasi dua faktor.

Kesimpulan

Ini adalah ringkasan dari 5 praktik terbaik yang dapat Anda terapkan untuk mencegah SSH Brute Force serangan login dan pastikan keamanan server Anda. Anda juga dapat membaca cara mengamankan dan mengeraskan server openssh.