Si të mbroni SSH me fail2ban në CentOS 6


Statusi: I vjetëruar

Ky artikull mbulon një version të CentOS që nuk mbështetet më. Nëse aktualisht jeni duke përdorur një server që ekzekuton CentOS 6, ne rekomandojmë shumë përmirësimin ose migrimin në një version të mbështetur të CentOS.

Arsyeja:

Shih në vend të kësaj:

Tutoriali i mëposhtëm DigitalOcean mund të jetë me interes të menjëhershëm, pasi përshkruan se si të mbroni një demon të shërbimit SSH me fail2ban në një server CentOS 7:

  • Si të mbroni SSH me Fail2Ban në CentOS 7

Rreth Fail2Ban

Serverët nuk ekzistojnë të izoluar dhe ata serverë me vetëm konfigurimin më themelor SSH mund të jenë të cenueshëm ndaj sulmeve me forcë brutale. fail2ban ofron një mënyrë për të mbrojtur automatikisht serverin nga shenjat me qëllim të keq. Programi funksionon duke skanuar skedarët e regjistrave dhe duke reaguar ndaj veprimeve fyese si p.sh. përpjekjet e përsëritura të dështuara për hyrje.

Hapi i parë—Instaloni Fail2Ban

Për shkak se fail2ban nuk është i disponueshëm nga CentOS, duhet të fillojmë me shkarkimin e depove EPEL:

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Ndiqni duke instaluar fail2ban:

yum install fail2ban

Hapi i dytë - Kopjoni skedarin e konfigurimit

Skedari i parazgjedhur i konfigurimit fail2ban është vendndodhja në /etc/fail2ban/jail.conf. Sidoqoftë, puna e konfigurimit nuk duhet të bëhet në atë skedar, dhe ne duhet të bëjmë një kopje lokale të tij.

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

Pasi të kopjohet skedari, mund të bëni të gjitha ndryshimet brenda skedarit të ri jail.local. Shumë prej shërbimeve të mundshme që mund të kenë nevojë për mbrojtje janë tashmë në dosje. Secili ndodhet në seksionin e vet, i konfiguruar dhe i fikur.

Hapi i tretë—Konfiguro standardet në Jail.Local

Hapni skedarin e ri të konfigurimit fail2ban:

vi /etc/fail2ban/jail.local

Seksioni i parë i parazgjedhjeve mbulon rregullat bazë që do të ndjekë fail2ban. Nëse dëshironi të konfiguroni mbrojtje më të nuancuar për serverin tuaj privat virtual, mund t'i personalizoni detajet në çdo seksion.

Ju mund të shihni seksionin e paracaktuar më poshtë.

[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not
# ban a host which matches an address in this list. Several addresses can be
# defined using space separator.
ignoreip = 127.0.0.1

# "bantime" is the number of seconds that a host is banned.
bantime  = 3600

# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime  = 600

# "maxretry" is the number of failures before a host get banned.
maxretry = 3

Shkruani adresën tuaj IP personale në linjën ignoreip. Ju mund të ndani secilën adresë me një hapësirë. IgnoreIP ju lejon të listoni të bardhë disa adresa IP dhe sigurohuni që ato të mos jenë të bllokuara nga VPS-ja juaj. Përfshirja e adresës suaj do të garantojë që ju të mos e ndaloni aksidentalisht veten nga serveri juaj virtual privat.

Hapi tjetër është të vendosni për një bantime, numrin e sekondave që një host do të bllokohej nga serveri nëse zbulohet se ata shkelin ndonjë nga rregullat. Kjo është veçanërisht e dobishme në rastin e robotëve, që pasi të ndalohen, thjesht do të kalojnë te objektivi tjetër. Parazgjedhja është vendosur për 10 minuta - nëse dëshironi, mund ta rrisni këtë në një orë (ose më lart).

Maxretry është sasia e përpjekjeve të gabuara të hyrjes që mund të ketë një host përpara se të ndalohen për kohëzgjatjen e ndalimit.

Findtime i referohet sasisë së kohës që një host duhet të identifikohet. Cilësimi i parazgjedhur është 10 minuta; kjo do të thotë që nëse një host përpiqet dhe dështon të identifikohet më shumë se numri maksimal i herëve në 10 minutat e përcaktuara, ai do të ndalohet.

Hapi i katërt (Opsionale)—Konfiguro seksionin ssh-iptables në Jail.Local

Seksioni i detajeve SSH është pak më poshtë në konfigurim, dhe tashmë është konfiguruar dhe aktivizuar. Edhe pse nuk duhet t'ju kërkohet të bëni ndonjë ndryshim brenda këtij seksioni, ju mund të gjeni detajet për secilën rresht më poshtë.

[ssh-iptables]

enabled  = true
filter   = sshd
action   = iptables[name=SSH, port=ssh, protocol=tcp]
           sendmail-whois[name=SSH, dest=root, sender=fail2ban@example.com]
logpath  = /var/log/secure
maxretry = 5

Aktivizuar thjesht i referohet faktit që mbrojtja SSH është aktive. Mund ta çaktivizoni me fjalën \false\.

filtri, i vendosur si parazgjedhje në sshd, i referohet skedarit të konfigurimit që përmban rregullat që fail2banuses për të gjetur përputhje. Emri është një version i shkurtuar i shtesës së skedarit. Për shembull, sshd i referohet /etc/fail2ban/filter.d/sshd.conf.

Veprim përshkruan hapat që do të marrë fail2ban për të ndaluar një adresë IP të përputhshme. Ashtu si hyrja e filtrit, çdo veprim i referohet një skedari brenda drejtorisë action.d. Veprimi i parazgjedhur i ndalimit, \iptables\ mund të gjendet në /etc/fail2ban/action.d/iptables.conf .

Në detajet \iptables\, mund ta personalizoni fail2ban më tej. Për shembull, nëse jeni duke përdorur një portë jo standarde, mund ta ndryshoni numrin e portës brenda kllapave që të përputhet, duke e bërë linjën të duket më shumë si kjo:

 eg. iptables[name=SSH, port=30000, protocol=tcp]

Mund ta ndryshoni protokollin nga TCP në UDP edhe në këtë linjë, në varësi të cilës dëshironi të monitoroni fail2ban.

Nëse keni një server të postës të konfiguruar në serverin tuaj privat virtual, Fail2Ban mund t'ju dërgojë email kur ndalon një adresë IP. Në rastin e paracaktuar, sendmail-whois i referohet veprimeve të vendosura në /etc/fail2ban/action.d/sendmail-whois.conf.

shtegu i regjistrit i referohet vendndodhjes së regjistrit që do të gjurmojë fail2ban.

Rreshti riprovim maksimal brenda seksionit SSH ka të njëjtin përkufizim si opsioni i paracaktuar. Megjithatë, nëse keni aktivizuar shumë shërbime dhe dëshironi të keni vlera specifike për secilën prej tyre, mund të vendosni shumën e re maksimale të riprovës për SSH këtu.

Hapi i pestë—Rinisni Fail2Ban

Pasi të keni bërë ndonjë ndryshim në konfigurimin e fail2ban, sigurohuni gjithmonë të rinisni Fail2Ban:

sudo service fail2ban restart

Ju mund të shihni rregullat që fail2ban vë në fuqi brenda tabelës IP:

iptables -L