Hvernig á að setja upp Fail2Ban til að vernda SSH á CentOS/RHEL 8


Fail2ban er ókeypis, opinn uppspretta og mikið notað tól til að koma í veg fyrir innbrot sem skannar annálsskrár fyrir IP tölur sem sýna skaðleg merki eins og of mörg lykilorðsbilun og margt fleira, og það bannar þær (uppfærir eldveggsreglur til að hafna IP tölunum) . Sjálfgefið er það sent með síum fyrir ýmsa þjónustu, þar á meðal sshd.

Í þessari grein munum við útskýra hvernig á að setja upp og stilla fail2ban til að vernda SSH og bæta öryggi SSH netþjóns gegn brute force árásum á CentOS/RHEL 8.

Setur upp Fail2ban á CentOS/RHEL 8

Fail2ban pakkinn er ekki í opinberu geymslunum en hann er fáanlegur í EPEL geymslunni. Eftir að þú hefur skráð þig inn á kerfið þitt skaltu opna skipanalínuviðmót og virkja síðan EPEL geymsluna á kerfinu þínu eins og sýnt er.

# dnf install epel-release
OR
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Síðan skaltu setja upp Fail2ban pakkann með því að keyra eftirfarandi skipun.

# dnf install fail2ban

Stillir Fail2ban til að vernda SSH

Fail2ban stillingarskrárnar eru staðsettar í /etc/fail2ban/ möppunni og síur eru geymdar í /etc/fail2ban/filter.d/ möppunni (síuskráin fyrir sshd er /etc/fail2ban/filter.d/sshd.conf) .

Alþjóðlega stillingarskráin fyrir fail2ban þjóninn er /etc/fail2ban/jail.conf, hins vegar er ekki mælt með því að breyta þessari skrá beint, þar sem hún verður líklega yfirskrifuð eða endurbætt ef uppfærsla á pakka verður í framtíðinni.

Í staðinn er mælt með því að búa til og bæta við stillingum þínum í jail.local skrá eða aðskildum .conf skrám undir /etc/fail2ban/jail.d/ möppunni. Athugaðu að stillingarbreytur settar í jail.local munu hnekkja því sem er skilgreint í jail.conf.

Fyrir þessa grein munum við búa til sérstaka skrá sem heitir jail.local í /etc/fail2ban/ möppunni eins og sýnt er.

# vi /etc/fail2ban/jail.local

Þegar skráin er opin skaltu afrita og líma eftirfarandi uppsetningu í hana. [DEFAULT] hlutinn inniheldur alþjóðlega valkosti og [sshd] inniheldur færibreytur fyrir sshd fangelsið.

[DEFAULT] 
ignoreip = 192.168.56.2/24
bantime  = 21600
findtime  = 300
maxretry = 3
banaction = iptables-multiport
backend = systemd

[sshd] 
enabled = true

Við skulum útskýra stuttlega valkostina í uppsetningunni hér að ofan:

  • ignoreip: tilgreinir lista yfir IP vistföng eða hýsilheiti sem ekki má banna.
  • banntími: tilgreindi fjölda sekúndna sem gestgjafi er bannaður (þ.e. gildistími banns).
  • maxretry: tilgreinir fjölda bilana áður en gestgjafi er bannaður.
  • findtime: fail2ban mun banna hýsil ef hann hefur búið til „maxretry“ á síðustu „findtime“ sekúndum.
  • banaction: banna aðgerð.
  • backend: tilgreinir bakendann sem notaður er til að fá breytingar á annálaskrá.

Ofangreind stilling þýðir því að ef IP hefur bilað 3 sinnum á síðustu 5 mínútum, banna hana í 6 klukkustundir og hunsa IP töluna 192.168.56.2.

Næst skaltu byrja og virkja fail2ban þjónustuna í bili og athuga hvort hún sé í gangi með eftirfarandi systemctl skipun.

# systemctl start fail2ban
# systemctl enable fail2ban
# systemctl status fail2ban

Vöktun mistókst og bönnuð IP tölu með því að nota fail2ban-client

Eftir að hafa stillt fail2ban til að tryggja sshd geturðu fylgst með misheppnuðum og bönnuðum IP tölum með því að nota fail2ban-client. Til að skoða núverandi stöðu fail2ban þjónsins skaltu keyra eftirfarandi skipun.

# fail2ban-client status

Til að fylgjast með sshd fangelsinu skaltu keyra.

# fail2ban-client status sshd

Til að afbanna IP tölu í fail2ban (í öllum fangelsum og gagnagrunni), keyrðu eftirfarandi skipun.

# fail2ban-client unban 192.168.56.1

Fyrir frekari upplýsingar um fail2ban, lestu eftirfarandi man síður.

# man jail.conf
# man fail2ban-client

Það lýsir þessari handbók! Ef þú hefur einhverjar spurningar eða hugsanir sem þú vilt deila um þetta efni skaltu ekki hika við að hafa samband við okkur í gegnum athugasemdaformið hér að neðan.