Hvernig á að setja upp Fail2ban á Rocky Linux og AlmaLinux
Skrifað í Python, Fail2ban er ókeypis og opinn uppspretta Intrusion Prevention System (IPS) sem verndar þjóninn gegn brute-force árásum.
Eftir ákveðinn fjölda rangra tilrauna með lykilorði er IP-tölu viðskiptavinar bannað að fá aðgang að kerfinu í tiltekinn tíma eða þar til kerfisstjórinn opnar það. Þannig er kerfið varið fyrir endurteknum árásum frá einum hýsil.
[Þér gæti líka líkað við: Hvernig á að tryggja og herða OpenSSH Server ]
Fail2ban er mjög stillanlegt og hægt að setja upp til að tryggja mýgrút af þjónustu eins og SSH, vsftpd, Apache og Webmin.
Í þessari handbók leggjum við áherslu á hvernig þú getur sett upp og stillt Fail2ban á Rocky Linux og AlmaLinux.
Skref 1: Gakktu úr skugga um að Firewalld sé í gangi
Sjálfgefið er að Rocky kemur með Firewalld í gangi. Hins vegar, ef þetta er ekki raunin á kerfinu þínu, byrjaðu Firewalld með því að keyra:
$ sudo systemctl start firewalld
Virkjaðu síðan til að byrja á ræsitíma:
$ sudo systemctl enable firewalld
Staðfestu síðan stöðu Firewalld
$ sudo systemctl status firewalld
Að auki geturðu staðfest allar Firewalld reglurnar sem nú er framfylgt með því að nota skipunina:
$ sudo firewall-cmd --list-all
Skref 2: Settu upp EPEL í Rocky Linux
Sem kröfu fyrir uppsetningu á fail2ban og öðrum nauðsynlegum pakka þarftu að setja upp EPEL geymsluna sem veitir viðbótar hágæða pakka fyrir RHEL-undirstaða dreifingar.
$ sudo dnf install epel-release
Skref 3: Settu upp Fail2ban í Rocky Linux
Með EPEL uppsett skaltu halda áfram og setja upp fail2ban og fail2ban-firewalld pakkann.
$ sudo dnf install fail2ban fail2ban-firewalld
Þetta setur upp fail2ban þjóninn og eldvegg íhlutinn ásamt öðrum ósjálfstæðum.
Þegar uppsetningu fail2ban er lokið skaltu ræsa fail2ban þjónustuna.
$ sudo systemctl start fail2ban
Og virkjaðu það til að byrja á ræsitíma.
$ sudo systemctl enable fail2ban
Þú getur staðfest stöðu fail2ban þjónustunnar með því að keyra skipunina:
$ sudo systemctl status fail2ban
Úttakið er staðfesting á því að Fail2ban er í gangi eins og við var að búast.
Skref 4: Stilla Fail2ban í Rocky Linux
Áfram þurfum við að stilla fail2ban til að það virki eins og ætlað er. Helst myndum við breyta aðalstillingarskránni - /etc/fail2ban/jail.conf. Þessu er hins vegar hætt. Sem lausn mun afrita innihald jail.conf stillingarskránnar í jail.local skrána.
$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Opnaðu nú jail.local skrána með því að nota ritilinn sem þú vilt.
$ sudo vim /etc/fail2ban/jail.local
Undir [sjálfgefið] hlutanum skaltu ganga úr skugga um að þú hafir eftirfarandi stillingar eins og þær birtast.
bantime = 1h findtime = 1h maxretry = 5
Við skulum skilgreina eiginleikana:
- Bantime tilskipunin tilgreinir þann tíma sem viðskiptavinur verður bannaður eftir misheppnaðar auðkenningartilraunir.
- Findtime tilskipunin er tímalengd eða tímabil sem fail2ban mun taka til greina þegar endurteknar rangar tilraunir með lykilorð eru skoðaðar.
- Maxretry færibreytan er hámarksfjöldi rangra tilrauna með lykilorði áður en ytri biðlari er lokað fyrir aðgang að þjóninum. Hér verður viðskiptavinurinn læstur eftir 5 auðkenningarbilanir.
Sjálfgefið er að fail2ban virkar með iptables. Hins vegar hefur þetta verið afskrifað í þágu eldveggsins. Við þurfum að stilla fail2ban til að vinna við hlið eldveggsins í stað iptables.
Svo skaltu keyra með skipuninni:
$ sudo mv /etc/fail2ban/jail.d/00-firewalld.conf /etc/fail2ban/jail.d/00-firewalld.local
Til að beita breytingunum skaltu endurræsa fail2ban:
$ sudo systemctl restart fail2ban
Skref 5: Tryggja SSH þjónustu með Fail2ban
Sjálfgefið er að fail2ban lokar ekki á neinn ytri hýsil fyrr en þú virkjar fangelsisstillingu fyrir þjónustu sem þú vilt tryggja. Jail stillingin er tilgreind í /etc/fail2ban/jail.d slóðinni og mun hnekkja stillingunum sem tilgreind eru í jail.local skránni.
Í þessu dæmi munum við búa til stillingarskrá fyrir fangelsi til að vernda SSH þjónustuna. Þess vegna skaltu búa til SSH fangelsisskrána.
$ sudo vim /etc/fail2ban/jail.d/sshd.local
Næst skaltu líma eftirfarandi línur:
[sshd] enabled = true # Override the default global configuration # for specific jail sshd bantime = 1d maxretry = 3
Í uppsetningunni hér að ofan verður fjarlægur gestgjafi bannaður aðgangur að kerfinu í 1 dag eftir 3 misheppnaðar SSH innskráningartilraunir. Vistaðu breytingarnar og endurræstu fail2ban þjónustuna.
$ sudo systemctl restart fail2ban
Næst skaltu staðfesta stillingu fangelsisins með því að nota fail2ban-client skipanalínuforritið.
$ sudo fail2ban-client status
Af úttakinu getum við séð að við höfum 1 fangelsi stillt fyrir þjónustu sem kallast „sshd“.
Að auki geturðu staðfest maxretry gildi sshd fangelsisins með því að nota get valkostinn.
$ sudo fail2ban-client get sshd maxretry 3
Gildið prentað 3 ætti að passa við það sem þú tilgreindir í sshd.local skránni.
Skref 6: Prófaðu Fail2ban stillingar
Eftir að hafa sett upp fail2ban og búið til fangelsisstillingarskrá fyrir SSH þjónustuna, ætlum við að framkvæma prufukeyrslu og líkja eftir 3 misheppnuðum innskráningum með því að tilgreina rangt lykilorð fyrir hverja lykilorðabeiðni.
Svo farðu yfir í ytra Linux kerfi og reyndu að skrá þig inn með röngu lykilorði. Eftir 3 misheppnaðar tilraunir mun tengingin falla niður og allar síðari tilraunir til að tengjast aftur verða lokaðar þar til bannstíminn rennur út.
Til að afla innsýnar á biðlarakerfin sem eru læst, athugaðu stöðu fangelsisins.
$ sudo fail2ban-client status sshd
Til að afbanna eða fjarlægja viðskiptavininn úr fangelsinu skaltu framkvæma skipunina:
$ sudo fail2ban-client unban 192.168.2.102
Enn og aftur, athugaðu stöðu fangelsisins til að tryggja að viðskiptavinurinn sé ekki með á bannlista IP-listans.
$ sudo fail2ban-client status sshd
Eins og við höfum séð er Fail2ban mjög gagnlegt tæki til að koma í veg fyrir boðflenna sem reyna að brjóta Linux kerfið þitt. Það virkar í tengslum við Firewalld að banna biðlarakerfi í tiltekinn tíma eftir ákveðinn fjölda misheppnaðra innskráningartilrauna. Með því að gera það veitir það auka verndarlag fyrir Linux netþjóninn þinn.