Cara Menginstal dan Mengkonfigurasi Fail2ban di Ubuntu Server 16.04

Pernahkah Anda masuk ke server Anda dan melihat pesan seperti ini?

Last failed login: Fri Dec 28 11:37:02 MST 2018 from 192.168.0.102 on ssh:notty
There were 942 failed login attempts since the last successful login.
Last login: Mon Dec 24 13:35:57 2018 from 192.168.0.101


Apa yang terjadi disini? Pesan ini memberitahu saya bahwa ketika saya keluar, ada 942 upaya gagal untuk mengakses server saya melalui SSH! Jenis pesan ini adalah indikator kuat bahwa server saya mungkin berada di bawah serangan "brute force". Dalam jenis skenario ini, penyerang akan mencoba menebak kata sandi secara acak berulang kali sampai mereka beruntung dengan kata sandi yang benar. Ini adalah salah satu alasan mengapa menggunakan   kata sandi yang aman sangat penting! Jangan takut, Fail2ban bisa menjadi alat yang fantastis untuk secara dinamis menggagalkan jenis serangan brute force ini. Tutorial ini akan memandu Anda melalui menginstal dan mengkonfigurasi Fail2ban untuk membantu melindungi sshd dari serangan brute force. Ayo gali!

Menginstal Fail2ban

Menginstal Fail2ban di Ubuntu Server 16.04 sederhana. Jalankan dua perintah berikut untuk menginstal program:

apt-get update
apt-get install fail2ban -y

Kami akan memulai layanan, sehingga sedang berjalan.
service fail2ban restart

Akhirnya, kami memeriksa untuk memastikan Fail2ban berjalan setelah restart:
service fail2ban status

Output akan menampilkan aktif (berjalan) yang menunjukkan layanan sudah habis dan kami siap untuk melanjutkan ke konfigurasi.

Mengkonfigurasi Fail2ban

Sekarang setelah Fail2ban diinstal dan dijalankan, kita dapat menetapkan aturan khusus untuk layanan apa yang dilindungi, dan cara menangani pelanggaran.
Pertama, buat file konfigurasi untuk Fail2ban. File ini tidak ada secara default, tetapi Fail2ban akan mencari file ini dan membaca kontennya jika ada:
touch /etc/fail2ban/jail.local
Sekarang kita akan membuka file konfigurasi untuk diedit. Kami menggunakan vi sebagai editor teks kami dalam contoh ini, tetapi jangan ragu untuk menggunakan nano atau editor teks apa pun yang paling nyaman bagi Anda. (Terkait: lihat tutorial bermanfaat kami jika Anda perlu memoles cara menggunakan nano .) Jalankan perintah berikut untuk membuka file untuk diedit:

nano /etc/fail2ban/jail.local

pastekan konten berikut, dan simpan file:


[DEFAULT] ignoreip = 127.0.0.1/8 ::1 
bantime = 3600 
findtime = 600 
maxretry = 5 
[sshd] enabled = true



Mari kita tinjau opsi yang baru saja kita atur. Pertama, kami memberi tahu Fail2ban untuk mengabaikan alamat IP 127.0.0.1 dan :: 1. Ini adalah masing-masing alamat IPv4 dan IPv6 untuk localhost . Untuk baris yang tersisa, penting untuk memahami Fail2ban membaca waktu sebagai detik dalam file konfigurasi. Aturan-aturan ini akan melarang alamat IP selama satu jam { bantime = 3600 }, jika mereka membuat 5 kesalahan { maxretry = 5 }, dalam 10 menit { findtime = 600 }. Akhirnya, kami mengaktifkan jail untuk sshd. Jangan ragu untuk menyesuaikan angka-angka ini sesuai dengan keinginan Anda, tetapi harap pertimbangkan hal-hal berikut:

Menetapkan larangan waktu -1 akan menghasilkan larangan permanen pada alamat IP tersebut. Anda mungkin perlu menghubungi dukungan Liquid Web jika Anda secara tidak sengaja memblokir diri Anda dari server Anda sendiri. Pertimbangkan opsi-opsi ini dengan cermat!

Sekarang kita telah membuat konfigurasi untuk digunakan, restart Fail2ban sehingga aturan baru kita dibaca dan digunakan:

service fail2ban restart

Kami juga akan memeriksa ulang untuk memastikan Fail2ban berjalan setelah restart:

service fail2ban status

Penggunaan Fail2ban

Pada titik ini, Anda telah berhasil menginstal dan mengkonfigurasi Fail2ban, selamat! Untuk sisa tutorial ini, kami akan menunjukkan kepada Anda bagaimana menggunakan untuk menggunakan program dan cara mengelola blok IP.
Jalankan perintah berikut untuk memeriksa status Fail2ban:

fail2ban-client status

Contoh output menunjukkan jumlah penjara yang saat ini dikonfigurasi. Saat ini kami hanya membuat penjara untuk sshd :

Status 
|- Number of jail: 1 
`- Jail list: sshd


Anda juga dapat memilih status terperinci dari masing-masing penjara. Perintah ini akan memeriksa status penjara sshd yang baru saja kita konfigurasi:

fail2ban-client status sshd
Contoh output menunjukkan tidak ada IP yang diblokir, terlihat bagus!

Status for the jail: sshd 
|- Filter 
| |- Currently failed: 0 
| |- Total failed: 0 
| `- File list: /var/log/auth.log 
`- Actions 
|- Currently banned: 0 
|- Total banned: 0 
`- Banned IP list:


Sekarang, misalnya, saya akan gagal lima upaya untuk SSH ke server saya. Setelah upaya kelima gagal, IP saya akan diblokir secara otomatis! Berikut ini menunjukkan output dari workstation saya ketika saya mencoba SSH ke server setelah upaya kelima gagal:


ssh root@192.168.0.101 
ssh: connect to host 192.168.0.101 port 22: Connection refused


Pesan " koneksi ditolak " menunjukkan bahwa firewall server sekarang memblokir kami.
Kembali ke server, mari kita periksa lagi status penjara SSH dengan menjalankan:

fail2ban-client status sshd

Keluaran menunjukkan bahwa IP saya memang telah diblokir! Melihat statusnya, kita dapat melihat alamat IP workstation saya telah ditambahkan ke " Daftar IP yang dilarang ".

Status for the jail: sshd 

|- Filter 
| |- Currently failed: 1 
| |- Total failed: 1 
| `- File list: /var/log/auth.log 
`- Actions 
|- Currently banned: 1 
|- Total banned: 1 
`- Banned IP list: 192.168.0.102


Terakhir, kami akan menunjukkan cara menghapus IP yang terlarang. Ini berguna jika Anda memiliki klien yang secara tidak sengaja memblokir diri dari upaya kata sandi yang salah. Sintaks untuk perintah ini adalah sebagai berikut:

fail2ban-client set unbanip

Sebagai contoh, perintah ini akan menghapus 192.168.0.102 dari sshd jail.

fail2ban-client set sshd unbanip 192.168.0.102

Mari kita periksa pekerjaan kita dan pastikan alamat IP saya berhasil diblokir:

fail2ban-client status sshd


Status for the jail: sshd 
|- Filter 
| |- Currently failed: 1 
| |- Total failed: 6 
| `- File list: /var/log/auth.log 
`- Actions 
|- Currently banned: 0 
|- Total banned: 1 
`- Banned IP list:



Itu membungkusnya untuk tutorial ini! Kami hanya membahas melindungi sshd dalam tutorial ini, tetapi Fail2ban dapat digunakan untuk membantu melindungi semua jenis layanan lain seperti httpd. Kami mendorong Anda untuk membaca lebih lanjut dan melihat kemampuannya! Ingatlah bahwa meskipun Fail2ban mengagumkan, ini bukan pengganti untuk sekumpulan aturan firewall yang kuat. Namun, ketika dikonfigurasi dengan benar, Fail2ban adalah alat yang hebat untuk membantu semakin memperketat keamanan server Anda . Selamat bersenang-senang dan senang memblokir IP!


Post a Comment

Lebih baru Lebih lama
Tempat Iklas Dinamis
Tempat Iklas Dinamis