
Të kesh një server Linux të ekspozuar ndaj rrjetit është në thelb si të lëshosh një magnet për botët. Nëse nuk ke konfiguruar ndonjë masë sigurie, ka të ngjarë që tashmë të kesh mijëra përpjekje të dështuara hyrjeje në regjistrat e tua; ka makina të automatizuara që përpiqen vazhdimisht të përdorin kombinime të emrit të përdoruesit dhe fjalëkalimit për të marrë kontrollin e makinës tënde përmes sulmeve brutale.
Këtu hyn në lojë Fail2ban, një mjet që vepron si një mbikëqyrës i palodhur. Nuk është një firewall në kuptimin më të ngushtë, por përkundrazi analizon regjistrat e sistemit dhe, kur zbulon dikë që përpiqet të hyjë me forcë, ia mbyll derën në fytyrë duke bllokuar adresën e tyre IP duke përdorur mjete si iptables ose nftables. Le të shohim se si ta konfiguroni atë për ta bërë serverin tuaj një arrë të fortë për t'u thyer.
Çfarë është saktësisht Fail2ban dhe si funksionon?
Thënë thjesht, Fail2ban është një daemon që monitoron vazhdimisht skedarët e regjistrave të shërbimeve tuaja. Kur gjen modele të dyshimta që përputhen me rregulla të paracaktuara, të quajtura filtra , ai fillon të numërojë dështimet. Nëse një adresë IP arrin limitin e përpjekjeve të lejuara brenda një kohe të caktuar, programi ekzekuton një veprim , i cili zakonisht përfshin shtimin e asaj adrese IP në listën e zezë të firewall-it.
Këto konfigurime janë të organizuara në ato që quhen burgje . Një burg është në thelb një grup rregullash të aplikuara në një shërbim specifik (si SSH, Apache ose MySQL). Në këtë mënyrë, mund të keni një politikë shumë të rreptë për aksesin në distancë dhe një më tolerante për serverin web, duke siguruar që ndërhyrësit të bllokohen automatikisht pa pasur nevojë të kontrolloni manualisht regjistrat çdo pesë minuta.

Instalimi sipas shpërndarjes suaj të Linux-it
Në varësi të sistemit që po përdorni, komanda për ta instaluar ndryshon pak, por në përgjithësi është e disponueshme në pothuajse të gjitha depot zyrtare.
- Në Ubuntu dhe Debian: Është shumë e thjeshtë, thjesht duhet të vraposh
sudo apt updateNdjekido desudo apt install fail2ban. - Në Rocky Linux ose AlmaLinux: Meqenëse këto janë shpërndarje të Ndërmarrjes, së pari duhet të aktivizoni depon EPEL me
sudo dnf install epel-releasedhe pastaj instaloni paketën mesudo dnf install fail2ban fail2ban-firewalld. - Në Alpine Linux: Përdorni menaxherin e APK-ve me
sudo apk add fail2banDhe, meqenëse përdor OpenRC, duhet ta aktivizoni mesudo rc-update add fail2ban defaultdhe filloje mesudo rc-service fail2ban start.

Konfigurimi kryesor: Sekreti i skedarit .local
Një gabim shumë i zakonshëm është redaktimi i drejtpërdrejtë i skedarit. jail.confMos e bëj! Ai skedar mund të mbishkruhet kur përditëson sistemin. Rregulli i artë është të krijosh një kopje të quajtur burg.lokalÇdo parametër që shtoni në këtë skedar të dytë do të ketë përparësi ndaj atij origjinal dhe ndryshimet tuaja do të mbishkruhen. i sigurt nga përditësimet.
Për të filluar, mund ta klononi skedarin origjinal me sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local dhe pastaj hapeni atë me redaktorin tuaj të preferuar, siç është nano ose vim. Në seksionin [PARASHIKIM] Këtu përcaktohet sjellja e përgjithshme e sistemit:
- koha e ndalimit: Kohëzgjatja e kohës që adresa IP keqdashëse do të mbetet e ngrirë. Kjo mund të jetë në sekonda ose duke përdorur 'm' për minuta (p.sh., 10m).
- koha e gjetjes: Intervali kohor në të cilin Fail2ban kontrollon për gabime. Nëse dikush dështon 5 herë në një orë, por koha e gjetjes është 10 minuta, ai nuk do të ndalohet.
- maksimumi i provës: Numri i përpjekjeve të dështuara të lejuara përpara se sistemi të thotë Mjaft dhe blloko IP-në.
- ignoreip: Esenciale për të shmangur bllokimin e vetes. Këtu duhet të futni tëndin adresa IP publike ose diapazoni juaj i VPN-së.
Mbrojtja e shërbimeve specifike hap pas hapi
Pasi të jenë konfiguruar cilësimet e përgjithshme, është koha për të aktivizuar burgjet për shërbimet që ju shqetësojnë më shumë. Që një mbrojtje të funksionojë, duhet të caktoni enabled = true në seksionin e saj përkatës brenda jail.local.
Qasja në SSH (Pika më kritike)
Porta 22 është objektivi numër një. Një konfigurim i fuqishëm do të përcaktonte maxretry = 3 dhe një bantime = 3600 (një orë). Fail2ban do ta lexojë skedarin. /var/log/auth.log (në Debian/Ubuntu) ose /var/log/i sigurt (në CentOS/RHEL) për të zbuluar dështimet e vërtetimit dhe për të mbyllur aksesin ndaj sulmuesit.
Serverat e Uebit (Apache dhe Nginx)
Nëse keni një faqe interneti ose dyqan online, botët do të përpiqen të hyjnë në rrugë të ndjeshme si p.sh. /wp-admin o /login.phpMund të krijoni filtra të personalizuar në /etc/fail2ban/filter.d/ për të zbuluar këto modele. Për shembull, për të Mbroni WordPress-in403 gabime ose përpjekje të dështuara monitorohen në wp-login.php, duke bllokuar IP-në nëse ajo tejkalon kufijtë e vendosur në burgun Apache ose Nginx.
Bazat e të dhënave dhe FTP
Për MySQL, mund të monitoroni regjistrin e gabimeve për frazën Qasja e përdoruesit u refuzuaNë rastin e FTP-së (siç është ProFTPD), është thelbësore të sigurohet që logpath përputhni rrugën aktuale për te regjistrat tuaj, sepse nëse Fail2ban nuk mund ta gjejë skedarin e regjistrit, mbrojtja thjesht nuk do të funksionojë.
Menaxhim i avancuar me fail2ban-client
Nuk është gjithmonë e nevojshme të modifikoni skedarët dhe të rinisni shërbimin për të bërë ndryshime të shpejta. Komanda fail2ban-client Ju lejon të menaxhoni sistemin menjëherë nga konzola.
Për të parë se cilat burgje janë aktive dhe sa IP janë bllokuar, përdorni sudo fail2ban-client statusNëse doni të thelloheni më shumë në një shërbim, siç është SSH, ekzekutoni sudo fail2ban-client status sshdPër më tepër, nëse gabimisht Ke bllokuar një koleg Ose mund ta lironi shpejt adresën IP vetë me komandën sudo fail2ban-client set sshd unbanip IP_A_DESBLOQUEAR.
Mirëmbajtja dhe zgjidhja e problemeve
Nëse vini re se Fail2ban nuk po bllokon siç duhet, vendi i parë që duhet të shikoni është skedari i regjistrit të vetë mjetit. /var/log/fail2ban.log. Duke përdorur tail -f Mund të shihni në kohë reale se kush po ndalohet dhe pse.
Mos harroni se Fail2ban ruan statusin e bllokimit në një bazë të dhënash SQLite në /var/lib/fail2ban/fail2ban.sqlite3Prandaj, nëse e rinisni serverin, IP-të që ishin të ndaluara do të hiqen nga ndalimi. do të mbetet i bllokuar derisa të skadojë periudha e penalizimit. Sa herë që bëni ndryshime në skedarët e konfigurimit, mos harroni t'i zbatoni ndryshimet me sudo systemctl restart fail2ban.
Zbatimi i këtij mjeti e transformon serverin tuaj nga një objektiv i lehtë në një fortesë të automatizuar, duke zvogëluar ngarkesën e CPU-së duke hedhur poshtë trafikun keqdashës në shtresën e rrjetit dhe duke ju lejuar të flini të qetë duke e ditur se botët nuk do të jenë në gjendje të hyjnë me forcë. Duke kombinuar përdorimin e skedarëve .local, menaxhimin e burgjeve specifike dhe monitorimin e vazhdueshëm të regjistrave, ju arrini një sistem mbrojtjeje të thellë, thelbësor për çdo administrator sistemi Linux.
