- Dinamiskas IP bloķēšanas sistēmas ieviešana, kuras pamatā ir piekļuves žurnālu analīze.
- .Local konfigurācijas failu izmantošana, lai novērstu iestatījumu zudumu sistēmas atjauninājumu laikā.
- Daudzkanālu aizsardzības iespējas kritiski svarīgiem pakalpojumiem, piemēram, SSH, tīmekļa serveriem, datubāzēm un FTP.
- Bloķējumu un bloķējumu atcelšanas pārvaldība reāllaikā, izmantojot komandrindas rīku fail2ban-client.
Linux servera pieejamība tīklam būtībā ir kā piesaistīt magnētu robotiem. Ja neesat konfigurējis nekādus drošības pasākumus, jūsu žurnālos, iespējams, jau ir tūkstošiem neveiksmīgu pieteikšanās mēģinājumu; automatizētas mašīnas pastāvīgi mēģina izmantot lietotājvārdu un paroļu kombinācijas, lai mēģinātu pārņemt kontroli pār jūsu mašīnu, izmantojot brutāla spēka uzbrukumus.
Šeit noder Fail2ban — rīks, kas darbojas kā nenogurstošs sargsuns. Tas nav ugunsmūris stingrā nozīmē, bet gan analizē sistēmas žurnālus un, konstatējot, ka kāds mēģina ielauzties sistēmā, aizcērt durvis viņam sejā, bloķējot viņa IP adresi, izmantojot tādus rīkus kā iptables vai nftables. Apskatīsim, kā to konfigurēt, lai jūsu serveris kļūtu par grūtu uzdevumu.
Kas īsti ir Fail2ban un kā tas darbojas?
Vienkārši sakot, Fail2ban ir dēmons, kas nepārtraukti uzrauga jūsu pakalpojumu žurnālfailus. Kad tas atrod aizdomīgus modeļus, kas atbilst iepriekš definētiem noteikumiem, ko sauc par filtriem , tas sāk skaitīt kļūmes. Ja IP adrese noteiktā laikā sasniedz atļauto mēģinājumu ierobežojumu, programma veic darbību , kas parasti ietver šīs IP adreses pievienošanu ugunsmūra melnajam sarakstam.
Šīs konfigurācijas ir organizētas tā sauktajos cietumos (jail ). Cietums būtībā ir noteikumu kopums, kas tiek piemērots konkrētam pakalpojumam (piemēram, SSH, Apache vai MySQL). Tādā veidā var būt ļoti stingra politika attālajai piekļuvei un atļaujošāka politika tīmekļa serverim, nodrošinot, ka iebrucēji tiek automātiski bloķēti, jums manuāli nepārbaudot žurnālus ik pēc piecām minūtēm.

Instalēšana atbilstoši jūsu Linux izplatīšanai
Atkarībā no izmantotās sistēmas, instalēšanas komanda nedaudz atšķiras, taču tā parasti ir pieejama gandrīz visās oficiālajās krātuvēs.
- Ubuntu un Debian sistēmās: Tas ir ļoti vienkārši, jums tikai jāskrien
sudo apt updatepēc tamsudo apt install fail2ban. - Rocky Linux vai AlmaLinux vidē: Tā kā šie ir uzņēmuma līmeņa distribūcijas, vispirms ir jāiespējo EPEL repozitorijs ar
sudo dnf install epel-releaseun pēc tam instalējiet pakotni arsudo dnf install fail2ban fail2ban-firewalld. - Alpine Linux sistēmā: Izmantojiet APK pārvaldnieku ar
sudo apk add fail2banUn, tā kā tas izmanto OpenRC, tas ir jāiespējo arsudo rc-update add fail2ban defaultun sāciet to arsudo rc-service fail2ban start.

Galvenā konfigurācija: .local faila noslēpums
Ļoti izplatīta kļūda ir faila tieša rediģēšana. jail.confNedariet to! Šis fails var tikt pārrakstīts, atjauninot sistēmu. Zelta likums ir izveidot kopiju ar nosaukumu cietums.vietējaisVisi parametri, ko pievienosiet šim otrajam failam, būs prioritāri salīdzinājumā ar oriģinālu, un jūsu izmaiņas tiks pārrakstītas. pasargāts no atjauninājumiem.
Lai sāktu, varat klonēt sākotnējo failu ar sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local un pēc tam atveriet to ar savu iecienītāko redaktoru, piemēram, nano vai vim. Sadaļā [DEFAULT] Šeit jūs definējat sistēmas vispārējo darbību:
- aizlieguma laiks: Laiks, cik ilgi ļaunprātīgā IP adrese paliks iesaldēta. Tas var būt sekundēs vai izmantojot “m” minūšu vietā (piemēram, 10m).
- atrašanas laiks: Laika intervāls, kurā Fail2ban pārbauda kļūdas. Ja kādam neizdodas 5 reizes stundas laikā, bet meklēšanas laiks ir 10 minūtes, viņš netiks bloķēts.
- maksimālais mēģinājums: Neveiksmīgu mēģinājumu skaits, kas atļauts pirms sistēmas paziņojuma Pietiek un bloķējiet IP adresi..
- ignorēt IP: Svarīgi, lai neaizliegtu sevi. Šeit jāievada savs publiska IP adrese vai jūsu VPN diapazonu.

Konkrētu pakalpojumu aizsardzība soli pa solim
Kad vispārīgie iestatījumi ir konfigurēti, ir pienācis laiks aktivizēt cietumus pakalpojumiem, kas jūs visvairāk interesē. Lai aizsardzība darbotos, jums ir jāiestata enabled = true attiecīgajā sadaļā jail.local.
SSH piekļuve (viskritiskākais punkts)
22. ports ir galvenais mērķis. Stabila konfigurācija definētu maxretry = 3 un bantime = 3600 (viena stunda). Fail2ban nolasīs failu. /var/log/auth.log (operētājsistēmās Debian/Ubuntu) vai / var / log / Secure (operētājsistēmās CentOS/RHEL), lai atklātu autentifikācijas kļūmes un slēgtu piekļuvi uzbrucējam.
Tīmekļa serveri (Apache un Nginx)
Ja jums ir tīmekļa vietne vai tiešsaistes veikals, roboti mēģinās piekļūt sensitīviem maršrutiem, piemēram, /wp-admin o /login.phpVarat izveidot pielāgotus filtrus sadaļā /etc/fail2ban/filter.d/ lai atklātu šos modeļus. Piemēram, lai Aizsargājiet WordPress403 kļūdas vai neveiksmīgi mēģinājumi tiek uzraudzīti wp-login.php, bloķējot IP adresi, ja tā pārsniedz Apache vai Nginx cietumā noteiktos ierobežojumus.
Datu bāzes un FTP
MySQL gadījumā varat uzraudzīt frāzes kļūdu žurnālu Lietotājam liegta piekļuveFTP (piemēram, ProFTPD) gadījumā ir svarīgi nodrošināt, lai logpath saskaņojiet faktisko ceļu ar jūsu žurnāliem, jo, ja Fail2ban nevar atrast žurnālfailu, aizsardzība vienkārši nedarbosies.
Uzlabota pārvaldība ar fail2ban klientu
Jums ne vienmēr ir jārediģē faili un jārestartē pakalpojums, lai veiktu ātras izmaiņas. Komanda fail2ban-client Tas ļauj pārvaldīt sistēmu operatīvi no konsoles.
Lai redzētu, kuri cietumi ir aktīvi un cik IP adreses ir bloķētas, izmantojiet sudo fail2ban-client statusJa vēlaties iedziļināties pakalpojumā, piemēram, SSH, palaidiet sudo fail2ban-client status sshdTurklāt, ja kļūdas dēļ Jūs esat bloķējis kolēģi Vai arī jūs varat ātri atbrīvot IP adresi pats ar komandu sudo fail2ban-client set sshd unbanip IP_A_DESBLOQUEAR.
Apkope un traucējummeklēšana
Ja pamanāt, ka Fail2ban nebloķē, kā paredzēts, vispirms jāpārbauda paša rīka žurnālfails. /var/log/fail2ban.log. Izmantojot tail -f Jūs varat reāllaikā redzēt, kas tiek bloķēts un kāpēc.
Atcerieties, ka Fail2ban saglabā bloķēšanas statusu SQLite datubāzē /var/lib/fail2ban/fail2ban.sqlite3Tādēļ, ja restartēsiet serveri, aizliegtās IP adreses tiks atceltas. paliks bloķēts līdz soda perioda beigām. Veicot izmaiņas konfigurācijas failos, neaizmirstiet tās lietot ar sudo systemctl restart fail2ban.
Šī rīka ieviešana pārveido jūsu serveri no viegla mērķa par automatizētu cietoksni, samazinot centrālā procesora slodzi, atmetot ļaunprātīgu datplūsmu tīkla slānī, un ļaujot jums mierīgi gulēt, zinot, ka roboti nevarēs ielauzties ar brutālu spēku. Apvienojot .local failu izmantošanu, īpašu cietumu pārvaldību un pastāvīgu žurnālu uzraudzību, jūs iegūstat padziļinātas aizsardzības sistēmu, kas ir būtiska jebkuram Linux sistēmas administratoram.