Salah satu vektor serangan yang paling biasa terhadap pelayan adalah percubaan masuk kekerasan. Di sinilah penyerang cuba mengakses pelayan anda, mencuba kombinasi nama pengguna dan kata laluan yang tidak terhingga.
Untuk masalah seperti ini penyelesaian terpantas dan paling berkesan adalah menghadkan bilangan percubaan dan menyekat akses kepada pengguna atau IP tersebut untuk masa tertentu. Penting juga untuk mengetahui bahawa untuk ini terdapat juga aplikasi sumber terbuka yang direka khusus untuk mempertahankan diri dari serangan jenis ini.
Dalam catatan hari ini, Saya akan memperkenalkan anda yang bernama Fail2Ban. Awalnya dikembangkan oleh Cyril Jaquier pada tahun 2004, Fail2Ban adalah kerangka perisian pencegahan pencerobohan yang melindungi pelayan dari serangan kekerasan.
Mengenai Fail2ban
Fail2ban mengimbas fail log (/ var / log / apache / error_log) dan melarang IP yang menunjukkan aktiviti jahat, seperti terlalu banyak kata laluan yang salah dan mencari kelemahan dll.
En umum, Fail2Ban digunakan untuk mengemas kini peraturan firewall untuk menolak alamat IP untuk jangka masa yang ditentukan, walaupun tindakan sewenang-wenangnya yang lain (misalnya, menghantar e-mel) juga dapat dikonfigurasi.
Memasang Fail2Ban di Linux
Fail2Ban dijumpai di kebanyakan repositori distribusi Linux utama dan lebih khusus lagi yang paling banyak digunakan untuk digunakan pada pelayan, seperti CentOS, RHEL dan Ubuntu.
Dalam kes Ubuntu, ketik sahaja yang berikut untuk pemasangan:
sudo apt-get update && sudo apt-get install -y fail2ban
Sementara untuk Centos dan RHEL, mereka mesti menaip perkara berikut:
yum install epel-release
yum install fail2ban fail2ban-systemd
Sekiranya anda mempunyai SELinux, penting untuk mengemas kini polisi dengan:
yum update -y selinux-policy*
Setelah ini selesai, mereka harus tahu di latar depan bahawa fail konfigurasi Fail2Ban ada di / etc / fail2ban.
Konfigurasi dari Fail2Ban terbahagi kepada dua fail utama; ini adalah fail2ban.conf dan jail.conf. fail2ban.confes fail konfigurasi Fail2Ban yang lebih besar, di mana anda boleh mengkonfigurasi tetapan seperti:
- Tahap log.
- Fail untuk log masuk.
- Fail soket proses.
- Fail pid.
jail.conf adalah tempat anda mengkonfigurasi pilihan seperti:
- Konfigurasi perkhidmatan untuk mempertahankan.
- Berapa lama untuk melarang sekiranya mereka harus diserang.
- Alamat e-mel untuk menghantar laporan.
- Tindakan yang perlu diambil ketika serangan dikesan.
- Satu set tetapan yang telah ditentukan, seperti SSH.
konfigurasi
Sekarang kita akan beralih ke bahagian konfigurasi, Perkara pertama yang akan kami lakukan adalah salinan sandaran fail jail.conf kami dengan:
cp -pf /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Dan kami terus mengedit sekarang dengan nano:
nano /etc/fail2ban/jail.local
Di dalamnya kita pergi ke bahagian [Default] di mana kita dapat membuat beberapa penyesuaian.
Di sini di bahagian "ingoreip" terdapat alamat IP yang akan ditinggalkan dan mereka akan diabaikan sepenuhnya oleh Fail2Ban, yang pada dasarnya adalah IP pelayan (yang tempatan) dan yang lain yang anda fikir harus diabaikan.
Dari sana ke luar IP lain yang gagal mendapat akses akan dilarang dan tunggu berapa saat ia akan dilarang (secara lalai adalah 3600 saat) dan fail2ban hanya bertindak setelah 6 percubaan gagal
Selepas konfigurasi umum, kami sekarang akan menunjukkan perkhidmatan. Fail2Ban sudah mempunyai beberapa penapis yang telah ditentukan untuk pelbagai perkhidmatan. Oleh itu, lakukan beberapa penyesuaian. Berikut adalah contoh:
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
Dengan perubahan yang relevan yang dibuat, anda akhirnya perlu memuat semula Fail2Ban, berjalan:
service fail2ban reload
systemctl enable firewalld
systemctl start firewalld
Setelah selesai, mari kita periksa cepat untuk melihat bahawa Fail2Ban sedang berjalan:
sudo fail2ban-client status
Batalkan IP
Setelah berjaya melarang IP, bagaimana jika kita ingin membatalkan pembatalan IP? Untuk melakukan itu, kita sekali lagi dapat menggunakan fail2-client-client dan menyuruhnya membatalkan pembatalan IP tertentu, seperti contoh di bawah.
sudo fail2ban-client set ssh unbanip xxx.xxx.xx.xx
Di mana "xxx ...." Ia akan menjadi alamat IP yang anda nyatakan.