Kako instalirati i konfigurirati Fail2ban na Debian 11

Fail2ban je softverski okvir za sprječavanje upada koji štiti računalne poslužitelje od prvenstveno napada grube sile, zabrane loših korisničkih agenata, zabrane URL skenera i još mnogo toga. Fail2ban to postiže čitanjem dnevnika pristupa/pogreške vašeg poslužitelja ili web aplikacija. Fail2ban je kodiran u programskom jeziku python.

Sljedeći vodič će vas naučiti kako instalirati Fail2ban i napraviti neke konfiguracije s potpunim primjerima i bitnim savjetima za početak korištenja Debian 11 Bullseye.

Preduvjeti

  • Preporučeni OS: Debian 11 Bullseye
  • Korisnički račun: Korisnički račun sa sudo ili root pristupom.
  • Potrebni paketi: wget

Ažurirajte operativni sustav

Ažurirajte svoj Debian operativni sustav kako biste bili sigurni da su svi postojeći paketi ažurirani:

sudo apt update && sudo apt upgrade -y

Tutorial će koristiti sudo naredba i pod pretpostavkom da imate sudo status.

Za provjeru sudo statusa na svom računu:

sudo whoami

Primjer izlaza koji prikazuje sudo status:

[joshua@debian~]$ sudo whoami
root

Da biste postavili postojeći ili novi sudo račun, posjetite naš vodič na Dodavanje korisnika u Sudoers na Debianu.

Za korištenje root račun, upotrijebite sljedeću naredbu s root lozinkom za prijavu.

su

Oglas


Instalirajte Fail2ban

Fail2ban je prema zadanim postavkama uključen u spremište Debian 11 Bullseye. Da biste instalirali softver, koristite sljedeću naredbu u svom terminalu:

sudo apt install fail2ban

Primjer rezultata:

Kako instalirati i konfigurirati Fail2ban na Debian 11

tip Y, tada pritisnite tipku enter za nastavak i dovršetak instalacije.

Prema zadanim postavkama, fail2ban nakon instalacije trebao bi biti aktivan i omogućen. Da biste to provjerili, koristite sljedeće systemctl naredba:

sudo systemctl status fail2ban

Primjer rezultata:

Kako instalirati i konfigurirati Fail2ban na Debian 11

Ako vaša usluga fail2ban nije aktivirana, pokrenite sljedeće naredbe za pokretanje i, ako želite, omogućite je pri pokretanju sustava prema zadanim postavkama:

sudo systemctl start fail2ban

Zatim da biste omogućili fail2ban pri pokretanju sustava, koristite sljedeće:

sudo systemctl enable fail2ban

Na kraju, provjerite verziju i izvedbu fail2ban:

fail2ban-client --version

Primjer rezultata:

Fail2Ban v0.11.2

To pokazuje da imate jedno od najnovijih stabilnih izdanja, a to jest ver. 0.11.2 (2020/11/23) – (liječi svijet sigurnosnim alatima). Ako biste u budućnosti željeli znati gdje se vaša instalirana verzija nalazi u rasporedu izdanja Fail2ban, posjetite stranicu izdanja na Fail2ban Github stranica.

Konfigurirajte Fail2ban

Nakon završetka instalacije, sada moramo napraviti neke postavke i osnovnu konfiguraciju. Fail2ban dolazi s dvije konfiguracijske datoteke koje se nalaze u /etc/fail2ban/jail.conf i Zadani Fail2ban /etc/fail2ban/jail.d/defaults-debian.conf. Nemojte mijenjati ove datoteke. Izvorne datoteke za postavljanje su vaši originali i bit će zamijenjene u svakom ažuriranju Fail2ban u budućnosti.

Sada se možete pitati kako postavljamo Fail2ban kao da ažurirate i izgubite svoje postavke. Jednostavno, stvaramo kopije koje završavaju na .lokalno umjesto .konf kao što će Fail2ban uvijek čitati .lokalno datoteke prije učitavanja .konf ako ga ne može pronaći.

Da biste to učinili, koristite sljedeću naredbu:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Sada otvorite konfiguracijsku datoteku da nastavite s konfiguriranjem:

sudo nano /etc/fail2ban/jail.local

Sljedeće, vodič će proći kroz neke postavke koje možete koristiti ili mijenjati po svom ukusu. Imajte na umu da je većina postavki komentirana; tutorial će dekomentirati dotične retke ili izmijeniti postojeće u postavkama primjera.

Zapamtite, ovo su izborne postavke i možete postaviti što god želite ako znate više o fail2ban-u i imate samopouzdanja.

Povećanje vremena zabrane

Prva postavka na koju ćete naići je Ban vremenski koraci. Trebali biste to omogućiti svaki put kada se napadač vrati. To će povećati vrijeme zabrane, čime se vaš sustav štedi od stalnog ponovnog zabranjivanja istog IP-a ako je vrijeme zabrane minimalno; na primjer, 1 sat, željeli biste da ovo bude duže ako se napadač vrati x5 puta.

Također morate postaviti množitelj ili faktor da bi logika povećanja zabrane funkcionirala. Možete odabrati bilo koji od ovih; međutim, u našem vodiču preferiramo množitelje, kao što je istaknuto u našem primjeru u nastavku, budući da možete podesiti prilagođena povećanja vremena zabrane po svom ukusu. Daljnje objašnjenje nalazi se u postavkama matematike iza toga.

Primjer u nastavku:

Kako instalirati i konfigurirati Fail2ban na Debian 11

Bijela lista IP-ova u Fail2ban

Sljedeći na popisu, nailazimo na opcije stavljanja na popis dopuštenih, dekomentirajte sljedeće i adresirajte sve IP adrese koje želite staviti na popis dopuštenih.

ignoreip = 127.0.0.1/8 ::1 192.167.5.5 (example IP address)

Pazite na razmak ili zarez između IP adresa. Također možete staviti na bijelu listu IP raspona.

Primjer u nastavku:

Kako instalirati i konfigurirati Fail2ban na Debian 11

Zadano postavljanje vremena zabrane

Zadane postavke vremena zabrane su zadane 10 minuta s 10 minuta tražila na 5 pokušaja. Objašnjenje ovoga je Fail2ban zatvor s filtriranjem zabranit će vašem napadaču 10 minuta nakon što je pokušao isti napad za 10 minuta (nađi vrijeme) x 5 puta (ponovni pokušaji). Ovdje možete postaviti neke zadane postavke zabrane.

Međutim, kada dođete u zatvor, savjetuje se da postavite različita vremena zabrane, jer bi neke zabrane automatski trebale biti dulje od drugih, uključujući ponovne pokušaje koji bi trebali biti manji ili više.

Primjer u nastavku:

Kako instalirati i konfigurirati Fail2ban na Debian 11

E-mail postavljen s Fail2ban

Možete postaviti adresu e-pošte za Fail2ban za slanje izvješća. Zadana vrijednost radnja = %(action_mw)s koji zabranjuje uvredljivu IP adresu i šalje e-mail s Whois izvješćem da ga pregledate.

Međutim, u vašoj mapi action.d postoje druge opcije e-pošte za izvještavanje ne samo sebe, već i slanje e-pošte davateljima usluga hostinga o aktivnostima napadača kako bi se nešto moglo učiniti. Napomena, učinite to samo ako koristite proxy e-pošte jer neki napadači neće biti ljubazni prema tome ili dobiti e-poštu izravno s IP adresom vašeg poslužitelja, koristite ovu radnju s krajnjim oprezom ili uopće ne.

Primjer u nastavku:

# Destination email address used solely for the interpolations in
# jail.{conf,local,d/*} configuration files.
destemail = admin@example.com

# Sender e-mail address used solely for some actions
sender = fail2ban@example.com

Primjer:

Kako instalirati i konfigurirati Fail2ban na Debian 11

Napomena, prema zadanim postavkama, Fail2ban koristi sendmail MTA za obavijesti putem e-pošte. Ovo možete promijeniti u funkcija pošte Slijedeći:

Promjena iz:

mta = sendmail

Promijeniti:

mail = sendmail

Fail2ban zatvori

Zatim dolazimo do zatvora. Možete postaviti unaprijed definirane zatvore s filterima i radnjama koje je stvorila zajednica koja pokriva mnoge popularne poslužiteljske aplikacije. Možete napraviti prilagođene zatvore ili pronaći vanjske na raznim suštine i web stranice zajednice; međutim, mi ćemo postaviti zadane zatvarače Fail2ban paketa.

Zadano postavljeno za sve zatvore kao na slici ispod. Primijetite kako ništa nije omogućeno.

Primjer u nastavku:

[apache-badbots]
# Ban hosts which agent identifies spammer robots crawling the web
# for email addresses. The mail outputs are buffered.
port     = http,https
logpath  = %(apache_access_log)s
bantime  = 48h
maxretry = 1

Dakle, imamo Apache 2 HTTP poslužitelj, i kao filtriranje/zabrana loših botova, sve što trebate učiniti je dodati enabled = true kao u primjeru ispod.

[apache-badbots]
# Ban hosts which agent identifies spammer robots crawling the web
# for email addresses. The mail outputs are buffered.
enabled = true
port     = http,https
logpath  = %(apache_access_log)s
bantime  = 48h
maxretry = 1

Primijetite kako je maksimalni ponovni pokušaj jednak 1, a vrijeme zabrane 48 sati. Ovo je individualna postavka maksimalnog ponovnog pokušaja i duljine zabrane za ovaj zatvor koji će se automatski povećati s množiteljem zabrane koje smo postavili ranije u vodiču. Ako nekom od filtara ovo nedostaje, možete ga dodati kao primjer.

[apache-noscript]
enabled = true
port     = http,https
logpath  = %(apache_error_log)s

Promijenite iznad sljedećeg primjera u nastavku:

[apache-noscript]
enabled = true
port     = http,https
logpath  = %(apache_error_log)s
bantime = 1d
maxretry = 3

Zatim biste željeli imati različite radnje od onih koje su navedene u zadanim postavkama u /etc/fail2ban/jail.local, dodatne radnje možete pronaći u direktoriju action.d. Različite radnje iz ovog direktorija mogu se jednostavno postaviti slijedeći upute unutar tih redova konfiguracije radnji u datotekama, ne zaboravite ih prvo preimenovati u .zatvor nad .conf, a zatim dodavanjem sljedećeg u vaše zatvorske postavke.

[apache-botsearch]
enabled = true
port     = http,https
logpath  = %(apache_error_log)s
banaction = action_mw
cloudflare
bantime = 72h
maxretry = 1

Kao što možete vidjeti, dodali smo action_mw, tako da se automatski zabranjuje prema našoj zadanoj radnji i šalje nam izvješće e-poštom s whois-om, a zatim sljedeća radnja, ako koristite Cloudflare, blokirat će i IP adresu na usluzi. Zapamtite, Cloudflare je potrebno postaviti prije upotrebe. Pročitajte datoteku action.d cloudflare.conf.

Nakon što ste zadovoljni svojim postavljanjem, napravite sljedeću naredbu da ponovno pokrenete fail2ban kako biste učitali svoje nove zatvore.

sudo systemctl restart fail2ban

Oglas


Primjeri korištenja Fail2ban-client-a

Sada kada ste počeli s Fail2ban-om, morate znati neke osnovne operativne naredbe. To radimo pomoću fail2ban-client naredba. Možda ćete trebati imati sudo privilegije, ovisno o vašim postavkama.

Zabranite IP adresu:

sudo fail2ban-client set apache-botsearch banip <ip address>

Poništi zabranu IP adrese:

sudo fail2ban-client set apache-botsearch unbanip <ip address>

Naredba za otvaranje izbornika pomoći ako trebate pronaći dodatne postavke ili dobiti pomoć za određenu.

sudo fail2ban-client -h

Instalirajte UFW (nekomplicirani vatrozid)

Prema zadanim postavkama, Debian ne dolazi s UFW-om. Za korisnike koji bi radije koristili UFW s Fail2ban, slijedite korake u nastavku.

Prvo instalirajte UFW:

sudo apt install ufw -y

Zatim provjerite instalaciju i izgradnju:

sudo ufw version

Primjer rezultata:

ufw 0.36
Copyright 2008-2015 Canonical Ltd.

Sada omogućite pri pokretanju sustava i aktivirajte fail2ban pomoću terminalske naredbe:

sudo ufw enable

Primjer rezultata:

Firewall is active and enabled on system startup

Dalje, dodajte UFW svojoj banci, koji umjesto toga neće koristiti zadane IPTABLES, a vi ono što navedete:

Primjer iz:

[apache-botsearch]
enabled = true
port     = http,https
logpath  = %(apache_error_log)s
bantime = 72h
maxretry = 1

primjer za:

[apache-botsearch]
enabled = true
port     = http,https
logpath  = %(apache_error_log)s
banaction = ufw
bantime = 72h
maxretry = 1

Kao što vidite, nova linija banakcija = ufw je dodan za promjenu zadane radnje zabrane. Možete dodati više, recimo da želite BAN na UFW i također koristiti Cloudflare skriptu za zabranu IP adrese koristeći njihovu uslugu vatrozida zajedno s prijavom IP adrese na AbuseIPDB Fail2ban integracija:

Primjer:

[apache-botsearch]
enabled = true
port     = http,https
logpath  = %(apache_error_log)s
banaction = ufw
                    cloudflare
                    abuseipdb
bantime = 72h
maxretry = 1

Popis unaprijed napravljenih radnji može se naći u /etc/fail2ban/actions.d; sve radnje imaju osnovne postavke i slučajeve upotrebe.

Za pregled zabranjenih IP adresa upotrijebite sljedeću UFW naredbu:

sudo ufw status verbrose

Primjer rezultata:

Anywhere                   REJECT      <IP ADDRESS>               # by Fail2Ban after 1 attempts against apache-botsearch

Kao što vidite, možete vidjeti da je UFW odbijanje IP adrese nakon što je zabranjen od strane Fail2ban UFW akcije na filter apache-botsearch nakon jednog pokušaja. Ovo je samo primjer Fail2ban-a koji radi u živom okruženju, a za očekivati ​​je da biste trebali modificirati svoje filtre kako bi odgovarali vašim potrebama.

Bilješka, nemojte debanirati IP adrese koristeći UFW. Obavezno upotrijebite akciju fail2ban-client unban, inače će IP biti ponovno zabranjen kada se vratite na stranicu jer UFW ne može komunicirati natrag na Fail2ban.


Oglas


Ažurirajte Fail2ban

Fail2ban izdanja ne izlaze često, tako da nećete vidjeti značajne promjene svaki tjedan ili, što se toga tiče, čak i mjesečno. Međutim, za ažuriranje Fail2ban, isti se postupak primjenjuje kada provjeravate ažuriranja vašeg Debian sustava.

Prvo upotrijebite Apt ažuriranje naredba:

sudo apt update

Drugo, ako je ažuriranje dostupno, možete koristiti apt nadogradnju, koja će pokrenuti nadogradnju i sve druge, ili ako želite nadograditi fail2ban, koristite sljedeće:

sudo apt upgrade fail2ban

Deinstalirajte Fail2ban

Ako više ne trebate Fail2ban, da biste ga uklonili iz vašeg sustava, koristite sljedeću naredbu:

sudo apt autoremove fail2ban --purge

Primjer rezultata:

tip Y, a zatim pritisnite ENTER TIPKA za nastavak uklanjanja.

Imajte na umu da će to također ukloniti sve neiskorištene ovisnosti koje su izvorno instalirane s Fail2ban radi potpunog uklanjanja.


Oglas


Nadgledanje zapisnika Fail2ban

Mnoge uobičajene pogreške postavljaju se u zatvore i odlaze bez testiranja ili praćenja onoga što rade. Pregledavanje dnevnika je bitno, a zapisnik fail2ban nalazi se na zadanoj putanji /var/log/fail2ban.log.

Ako imate poslužitelj koji prima pristojan promet, izvrsna naredba za gledanje uživo kako biste vidjeli sve probleme i držali ga na oku dok radite na drugim poslužiteljima je korištenje tail -f naredba u nastavku.

sudo tail -f /var/log/fail2ban.log

Naredba može biti korisna za provjeru na licu mjesta bez potrebe za uranjanjem u prijavu.

Komentari i zaključak

Vodič vam je pokazao osnove instaliranja Fail2bana na Debian 11 Bullseye sustav i postavljanja nekih zatvora s dostupnim filterima. Fail2ban je moćan alat. Možete ga postaviti na mnogo različitih načina od onoga što sam ovdje prikazao. To je samo primjer kako se možete snaći, za početak. Fail2ban se aktivno razvija i dobar je izbor za implementaciju na vašem poslužitelju u ovim vremenima kada napadi postaju tako česti.

Pretplati me
Obavijesti o
4 Komentari
Umetne povratne informacije
Pogledajte sve komentare

UFW -> ufw u jail.local konfiguraciji.
(ne uspijeva s "UFW")

banakcija = ufw
–> Mala slova za ufw su važna u vašem primjeru za jail.local

4
0
Volio bih vaše misli, molim vas komentirajte.x