frame

Sveiki apsilankę!

Jei forume lankaisi pirmą kartą, kviečiame registruotis ir prisijungti prie diskusijų.

Prisijungti Registruotis

SSH apsaugojimas naudojant Fail2ban CentOS operacinėje sistemoje

SSH prieiga serverio naudotojui suteikia saugų būdą prisijungti prie serverio ir atlikti norimus administravimo darbus. Tačiau lygiai dėl tų pačių priežasčių ji yra dažnai atakuojama bandant prisijungti prie serverio. Kiekvieną kartą prisijungdami prie serverio galite pastebėti, kad per laiką nuo paskutinio prisijungimo buvo bandoma kelis tūkstančius kartų prisijungti. Tai išduoda, kad brute-force atakos vykdomos aktyviai netikrinant ar serveryje yra naudingos informacijos. Pagrindinis tikslas - turėti prieigą prie suteikiamo resurso žalingos veiklos vykdymui.

Todėl šioje pamokoje nurodysime, kaip apsaugoti SSH tarnyba naudojant patikimą programinę įrangą - Fail2ban.


0. Preliminarūs reikalavimai

- Linux serveris naudojantis mūsų parengtą CentOS 7/8 operacinę sistemą
- Naudotojas turintis sudo teises (ne root).


1. Fail2ban diegimas

Kadangi Fail2ban nėra suteikiamas oficialiuose CentOS paketuose, turite įsirašyti EPEL paketų rinkinį:
sudo yum install epel-release

Dabar galime atlikti fai2ban paketo diegimą:
sudo yum install fail2ban

Užbaigus diegimą įjungiame fail2ban:
sudo systemctl enable fail2ban


2. Nustatymų koregavimas

Fail2ban konfigūracinis failas yra /etc/fail2ban/jail.conf. Kadangi šis failas būna perrašomas atnaujinimų metu, sukuriame papildomą failą /etc/fail2ban/jail.local, kuriame atliksime norimus pakeitimus. Visos reikšmės įvestos į /etc/fail2ban/jail.local bus perrašomos į /etc/fail2ban/jail.conf failą. Šie failai turi [DEFAULT] skiltį, kuri ir būna perrašoma. Visų pirmą susikuriame naują jail.local failą:
sudo nano /etc/fail2ban/jail.local

Ir įkeliame šį kodą:
[DEFAULT]
#
nustatomas blokavimo laikas sekundėmis. Šiuo atveju valandai.
bantime = 3600 #
perrašomos iptables taisyklės /etc/fail2ban/jail.d/00-firewalld.conf faile banaction = iptables-multiport
# aktyvuojama sshd apsauga [sshd] enabled = true

Dabar galite perkrauti fail2ban tarnyba:
sudo systemctl restart fail2ban

Patikriname ar nustatymai įsigaliojo:
sudo fail2ban-client status
Atsakymas:
Status
|- Number of jail:      1
`- Jail list:   sshd

Taip pat galite gauti platesnę informaciją apie sshd apsaugą:
sudo fail2ban-client status sshd


3. Kiti galimi SSH blokavimo nustatymai

Jeigu norėsite koreguoti ir daugiau nustatymų, juos matysite faile jail.conf. Tačiau kaip ir minėjome, juos geriau koreguokite jail.local faile. Atsidarome jail.conf failą:
sudo nano /etc/fail2ban/jail.conf

Skiltyje [DEFAULT] matysite šiuos nustatymus:

ignoreip - standartiškai yra netikrinamas tik vietinis IP adresas, tačiau galite įvesti ir konkrečius IP adresus, kuriems nebus taikomi apribojimai prisijungti prie serverio. IP adresai atskiriami tarpais.
bantime (sekundėmis) - laikas, kurį nebus leidžiama prisijungti užbanintiems naudotojams.
findtime (sekundėmis) - šis nustatymas veikia kartu su maxretry. findtime nustatomas terminas per kurį gali bandoma jungtis, o maxretry kiek kartų būtų galima bandyti jungtis kartų.
destemail, sendername, mta - jeigu norite gauti pranešimus apie nesėkmingus prisijungimus galite nustatyti el. pašto dėžutę (destemail), siuntėjo pavadinimą (sendername) ir pašto tarnyba (mta). Pagal šiuos parametrus Jums bus siunčiami laiškai apie bandymus prisijungti.
action - šis parametras nurodo veiksmą, kurio Fail2ban imasi, kai norima aktyvuoti apribojimą. Standartinė blokavimo veikla yra nurodoma prieš pat šį parametrą. Numatytasis veiksmas yra tiesiog nustatyti, kad būtų atmestas srautas iš atakuojančio IP adreso, kol pasibaigs draudimo laikas.

Jei norėtumėte sukonfigūruoti el. pašto įspėjimus, galite koreguoti action_ reikšmę į action_mw. Jei norite, kad el. laiškuose būtų įtraukiami išrašai, galite pakeisti jį į action_mwl. Jei pasirinksite naudoti el. pašto pranešimus, įsitikinsite, kad naudojate tinkamus pašto nustatymus.


4. Fail2ban išrašų stebėjimas bei ugniasienės konfigūracija

Svarbu yra stebėti ar nėra kokių klaidų tam, kad tarnyba veiktų korektiškai. Galite patikrinti ar fail2ban veikia paleisdami komandą:
sudo systemctl status fail2ban

Jeigu matysite kokių nors klaidų, jų priežastis galite peržiūrėti tikrindami išrašus nuo paskutinio tarnybos įjungimo:
sudo journalctl -b -u fail2ban

Stebėti bendrus Fail2ban išrašus galite paleidę komandą:
sudo tail -F /var/log/fail2ban.log

Šiuo metu veikiančias taisykles galite tikrinti su komanda:
sudo iptables -L

Arba pateikti taisykles tokiu formatu, kuris rodytų komandas būtinas kiekvienai taisyklei įjungti:
sudo iptables -S


Apibendrinimas

Nuo šiol galite sėkmingai konfigūruoti fail2ban tarnybą SSH apsaugojimui. Fail2ban labai lengva konfigūruoti ir kitų tarnybų konfigūravimui ir tai yra puikus būdas apsaugoti bet kokio tipo tarnybas, kurios naudoja autentifikaciją.




Pažymėtos temos:
Norėdami palikti komentarą, turite prisijungti arba registruokis.
Dedikuoti.lt
Šiame forume rasite informaciją kaip atlikti serverio administravimą, konfigūravimą, įvairių tarnybų bei papildomų aplikacijų diegimą. Taip pat pateiksime rekomendacijų, skirtų serverių saugumui, monitoringui ir optimizavimui. Kviečiame prisijungti prie dedikuotų serverių administratorių bendruomenės, dalyvauti diskusijose ir praplėsti savo žinias serverių administravimo srityje!
© 2007 - 2020 Dedikuoti.lt forumas, visos teisės saugumos.

Susisiekite

info@dedikuoti.lt