Pendahuluan
Fail2ban adalah perangkat lunak yang melindungi server Anda dari serangan brute force. Ini dilakukan dengan memantau log server dan mendeteksi aktivitas yang mencurigakan.
Program mendeteksi ketika ada sejumlah upaya gagal yang tidak masuk akal dan secara otomatis menambahkan baru ke iptables yang memblokir IP yang diberikan. IP (atau host) ini kemudian diblokir untuk waktu tertentu atau tanpa batas waktu.
Oleh karena itu, menginstal perangkat lunak pemantau log ini adalah cara terbaik untuk memberikan lapisan lain pada keamanan server Anda. Namun, hanya dapat menjadi satu bagian dari keseluruhan paket keamanan server Anda. Jelajahi lebih banyak tindakan dengan 21 Tips Keamanan Server ini.
Dalam tutorial ini, Anda akan mempelajari cara memasang dan mengonfigurasi Fail2ban di server Anda.
Prasyarat
- Akses ke baris perintah / jendela terminal
- Akses ke akun pengguna dengan sudo atau hak akses root
Instal Fail2ban
Cara menginstal Fail2ban tergantung pada sistem operasi yang berjalan di server Anda. Di bawah ini Anda akan menemukan perintah untuk menginstal dan mengaktifkan Fail2ban di Ubuntu , CentOS , Fedora , dan Debian .
Penting: Fail2ban bukan pengganti firewall perangkat lunak, seperti iptables. Ini dimaksudkan sebagai lapisan keamanan lain dan tidak boleh menjadi pengganti firewall.
Instal Fail2ban di Ubuntu
1. Sebelum menambahkan paket baru, penting untuk memperbarui repositori sistem dan upgrade perangkat lunak. Untuk melakukannya, jalankan perintah:
apt-get update && apt-get upgrade
Tekan y
untuk mengonfirmasi dan tekan Enter .
2. Sekarang Anda dapat menginstal Fail2ban dengan:
apt-get install fail2ban
3. Secara opsional, Anda dapat menginstal Sendmail untuk dukungan email:
apt-get install sendmail
4. Selanjutnya, Anda harus mengizinkan akses SSH melalui firewall:
ufw allow ssh
5. Terakhir, aktifkan firewall :
ufw enable
Instal Fail2ban di CentOS
1. Untuk menginstal Fail2ban di CentOS, Anda memerlukan repositori EPEL . Perbarui sistem dan tambahkan repositori dengan menjalankan:
yum update && yum install epel-release
2. Dengan penyiapan repositori EPEL, instal Fail2ban dengan perintah:
yum install fail2ban
3. Selanjutnya, Anda harus memulai layanan Fail2ban dan mengaktifkannya saat boot:
systemctl start fail2ban
systemctl enable fail2ban
4. Untuk dukungan email, Anda dapat menginstal Sendmail dengan:
yum install sendmail
5. Untuk memulai dan mengaktifkan Sendmail menjalankan layanan:
systemctl start sendmail
systemctl enable sendmail
Instal Fail2ban di Fedora
1. Mulailah dengan memperbarui sistem :
dnf update
2. Kemudian, instal Fail2ban dan Kirim email (opsional, jika Anda memerlukan dukungan email):
dnf install fail2ban
dnf install sendmail
3. Karena layanan ini tidak dimulai secara otomatis di Fedora, Anda harus memulai dan mengaktifkan mereka dengan:
systemctl start fail2ban
systemctl enable fail2ban
systemctl start sendmail
systemctl enable sendmail
Instal Fail2ban di Debian
1. Perbarui dan tingkatkan sistem:
apt-get update && apt-get upgrade -y
Tekan y dan Masuk untuk mengonfirmasi.
2. Kemudian, instal Fail2ban dengan perintah:
apt-get install fail2ban
3. Untuk dukungan email, Anda juga dapat menginstal Sendmail menggunakan perintah:
apt-get install sendmail-bin sendmail
Konfigurasikan Fail2ban
Konfigurasi Fail2ban dengan mengedit file konfigurasi berikut:
- file fail2ban.local
- file jail.local
Konfigurasi File fail2ban.local
Fail2ban mendefinisikan konfigurasi globalnya di fail2ban.conf mengajukan. File terdiri dari konfigurasi default dan umumnya tidak disarankan untuk dimodifikasi.
Semua perubahan pada konfigurasi harus dilakukan di fail2ban.local yang terpisah berkas.
1. Oleh karena itu, hal pertama yang harus dilakukan adalah menyalin konten .conf file ke .local mengajukan. Perintah untuk melakukannya adalah:
cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
2. Tidak akan ada output setelah perintah ini. Langkah selanjutnya adalah membuka file fail2ban.local menggunakan editor teks pilihan Anda:
nano fail2ban.local
3. Anda akan melihat file yang mirip dengan gambar di bawah ini:
Dalam contoh ini, komentar dengan warna biru menjelaskan setiap opsi dan kemungkinan nilainya. Garis putih adalah opsi yang dapat Anda ubah dan meliputi:
loglevel
– Setel output level log keCRITICAL,
ERROR
,WARNING
,NOTICE
,INFO
, atauDEBUG
.logtarget
– Tetapkan target log, yang dapat berupaFILE
,SYSLOG
,STDERR
, atauSTDOUT
.syslogsocket
– Setel file soket syslog keauto
atauFILE
(ini hanya digunakan jikalogtarget
diatur keSYSLOG
)socket
– Atur file socket yang digunakan untuk berkomunikasi dengan daemon. Pastikan untuk tidak menghapus file ini. Jalur defaultnya adalah:/var/run/fail2ban/fail2ban.sock
pidfile
– Atur file PID yang digunakan untuk menyimpan ID proses dari server fail2ban. Lokasi default adalah:/var/run/fail2ban/fail2ban.pid
Konfigurasi File jail.local
File konfigurasi Fail2ban lain yang mungkin perlu Anda modifikasi adalah jail.conf file yang menyertakan jail yang mendefinisikan Filter dengan Tindakan.
Sama seperti konfigurasi global, jail.config file tidak boleh langsung dimodifikasi. Sebagai gantinya, semua penyesuaian harus dilakukan di jail.local berkas.
1. Jika Anda perlu melakukan beberapa perubahan, salin konten .conf file ke .local berkas:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
2. Buka file jail.local dengan editor teks pilihan Anda:
nano jail.local
3. Anda akan melihat konten berikut:
Di sana Anda dapat mengatur opsi berikut:
ignoreself
– Tentukan apakah alamat IP lokal harus diabaikan dengan menyetel nilaitrue
false
.ignoreip
– Memungkinkan Anda menentukan alamat IP, topeng CIDR, atau host DNS yang harus dilarang. Pisahkan beberapa alamat dengan spasi.ignorecommand
– Tentukanpath/to/command
jika salah satu harus diabaikan.
bantime
– Tentukan jumlah detik host diblokir (defaultnya adalah600
)maxretry
– Jumlah kegagalan yang diizinkan sebelum host diblokir (secara default disetel ke5
).findtime
– Waktu di mana host tidak boleh menggunakanmaxretry
nomor agar tidak diblokir (umumnya disetel ke10
menit). Misalnya, jika sebuah host gagal 5 kali dalam 10 menit, host tersebut akan diblokir selama 600 detik.
backend
– Tentukan backend yang digunakan untuk mendapatkan modifikasi file. Jika Anda menggunakan CentOS atau Fedora, Anda perlu mengatur backend kesystemd
. Nilai defaultauto
cukup untuk sistem operasi lain.[ssh]
– secara default, Fail2ban tidak memiliki jail yang diaktifkan. Oleh karena itu, Anda perlu melakukannya secara manual dengan menambahkan jail ke file konfigurasi. Misalnya, Anda dapat mengaktifkan penjara daemon SSH dengan membatalkan komentar (menghapus#
) baris[ssh]
danenabled = true
.
destemail
– Menentukan alamat email tempat Anda ingin menerima notifikasisender
– Menentukan alamat email tempat Anda menerima pemberitahuan
Konfigurasi jail.local tambahan
Anda juga dapat mengatur konfigurasi tambahan di file jail.local, seperti untuk SSH dan iptables. Opsi ini meliputi:
banaction
– Menentukan tindakan default yang digunakan saatmaxretry
tercapai.banaction_allports
– Memungkinkan Anda memberi label IP yang harus diblokir di setiap port.port
– Nilainya harus sesuai dengan layanan yang ditetapkan. Ini bisa jadissh
atau nomor port (jika Anda menggunakan port alternatif).filter
– Nama file yang berisi informasi failregex, terletak di/etc/fail2ban/filter.d
.
Mulai Ulang Layanan
Jika Anda telah membuat perubahan apa pun pada fail2ban.local dan jail.local file, pastikan untuk memulai ulang layanan fail2ban.
Untuk memulai ulang layanan fail2ban dengan konfigurasi baru, jalankan perintah:
service fail2ban restart