Linux serweriňizi goramak üçin Fail2ban nädip ulanmaly
Serwer howpsuzlygyny ýokarlandyrmak, linux serwerini dolandyrmak meselesinde iň möhüm meseleleriň biri bolmaly. Serwer gündeligiňizi gözden geçirip, zalym güýç bilen girmek, web suw joşmalary, gözlemek we başgalar üçin dürli synanyşyklary tapyp bilersiňiz.
“Fail2ban” ýaly çozuşyň öňüni alyş programma üpjünçiligi bilen, serwer ýazgylaryňyzy gözden geçirip, problemaly IP adresleri blokirlemek üçin goşmaça iptables düzgünlerini goşup bilersiňiz.
Bu gollanma, Linux ulgamyňyzy zalym hüjümlerden goramak üçin “fail2ban” -y nädip gurmalydygyny we esasy konfigurasiýany nädip gurmalydygyny görkezer.
Fail2ban pifonda ýazylýar we ýeke-täk talap pifonyň gurulmagydyr:
- Fail2ban şahasy 0.9.x Python>=2.6 ýa-da Python>=3.2 talap edýär
- Fail2ban şahasy 0.8.x Python>=2.4 talap edýär
- Ulgamyňyza kök girmek
- Islege görä, iptables ýa-da görkeziş we poçta iberiş
Linux ulgamlarynda Fail2Ban-y nädip gurmaly
“Fail2ban” -y gurmak birneme aňsat:
Ilki bilen paketleriňizi täzeläň, Epel ammaryny işlediň we görkezilişi ýaly fail2ban guruň.
# yum update # yum install epel-release # yum install fail2ban
Ilki bilen paketleriňizi täzeläň we görkezilişi ýaly fail2ban guruň.
# apt-get update && apt-get upgrade -y # apt-get install fail2ban
Islege görä, poçta goldawyny işletmek isleseňiz (poçta habarnamalary üçin), poçta iberip bilersiňiz.
# yum install sendmail [On CentOS/RHEL] # apt-get install sendmail-bin sendmail [On Debian/Ubuntu]
Fail2ban we sendmail-i işletmek üçin aşakdaky buýruklary ulanyň:
# systemctl start fail2ban # systemctl enable fail2ban # systemctl start sendmail # systemctl enable sendmail
Linux ulgamlarynda Fail2ban-y nädip sazlamaly
Düzgüne görä, fail2ban ilki okalýan/etc/fail2ban/-da ýerleşýän .conf
faýllaryny ulanýar. Şeýle-de bolsa, şol bir katalogda ýerleşýän .local
faýllary ýok edip biler.
Şeýlelik bilen, .local
faýlyna .conf
faýlyndaky ähli sazlamalary goşmak zerurlygy ýok, diňe ýok etmek isleýänleriňiz bar. Üýtgeşmeler .conf
däl-de, .local
faýllarynda edilmelidir. “Fail2ban” paketini täzeläniňizde üýtgeşmeleriň gaýtadan ýazylmagynyň öňüni alar.
Bu gollanmanyň maksady üçin, bar bolan fail2ban.conf faýlyny fail2ban.local-a göçüreris.
# cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
Indi halaýan tekst redaktoryňyzy ulanyp, .local
faýlynda üýtgeşmeler girizip bilersiňiz. Redaktirläp biljek bahalaryňyz:
- loglevel - bu hasaba alynmaly jikme-jiklik derejesi. Mümkin bolan mümkinçilikler:
- Möhüm
- RAL .YŞLYK DUNDURYŞ
- BELLIK
- INFO
- DEBUG
- STDOUT - islendik maglumatlary çykaryň
- STDERR - islendik ýalňyşlygy çykaryň
- SYSLOG - habara esaslanýan ýazgy
- Faýl - bir faýla çykyş
Fail2ban-da iň möhüm faýllaryň biri, türmeleriňizi kesgitleýän prison.conf
. Ine, şowsuz2ban açyk bolmaly hyzmatlary kesgitleýärsiňiz.
Öň hem belläp geçişimiz ýaly .conf
faýllary täzelenmeler wagtynda üýtgedip bolýar, şonuň üçin üýtgetmeleriňizi ulanyp boljak türme.local faýly döretmeli.
Muny etmegiň başga bir usuly .conf faýlyny diňe göçürmekdir:
# cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
CentOS ýa-da Fedora ulanýan bolsaňyz, türmedäki arkasyny\awto -dan\systemd -e üýtgetmeli bolarsyňyz.
Ubuntu/Debian ulanýan bolsaňyz, systemd ulansalar-da, bu üýtgetmäni etmegiň zerurlygy ýok.
Türme faýly, Debian we Ubuntu üçin SSH-e mümkinçilik döreder, ýöne CentOS-da däl. Işletmek isleseňiz, /etc/fail2ban/jail.local sahypasyndaky aşakdaky setiri üýtgediň:
[sshd] enabled = true
IP adresi petiklenen ýagdaýy düzüp bilersiňiz. Şol maksat bilen, “fail2ban” nahar wagty, iş wagty we maksretri ulanýar.
- bantime - bu IP adresiň gadagan ediljek sekunt sanydyr (deslapky 10 minut).
- findtime - öý eýesi gadagan edilmezden ozal giriş synanyşyklarynyň arasyndaky wagt. (deslapky 10 minut) Başga bir söz bilen aýdylanda, 3 gezek şowsuz giriş synanyşygyndan soň IP2 adresini blokirlemeli bolsa, bu 3 synanyşyk, iş möhletiniň dowamynda (10 minut) edilmelidir.
- maxretry - gadaganlyk ulanylmazdan ozal ediljek synanyşyklaryň sany. (asyl 3).
Elbetde, käbir IP adresleri ak sanawda görkezmek islärsiňiz. Şeýle IP adresleri düzmek üçin halaýan tekst redaktoryňyz bilen /etc/fail2ban/jail.local açyň we aşakdaky setiri açyň:
ignoreip = 127.0.0.1/8 ::1
Soň bolsa, ünsden düşürmek isleýän IP adresleriňizi goýup bilersiňiz. IP adresleri boşlukdan ýa-da verguldan bölünmeli.
Waka barada poçta duýduryşlaryny almak isleseňiz, aşakdaky sazlamalary /etc/fail2ban/jail.local-da düzmeli bolarsyňyz:
- niýetlenen poçta - habarnamany aljak poçta salgyňyz.
- Iberiji ady - habary alanyňyzda görjek iberiji.
- iberiji - şowsuz2ban e-poçta iberjek e-poçta salgysy.
Adaty mta (poçta geçiriji agent) poçta ibermek üçin düzüldi.
Poçta habarnamalaryny almak üçin\hereket sazlamasyny hem üýtgetmeli bolarsyňyz:
Action = %(action_)s
Bularyň birine:
action = %(action_mw)s action = %(action_mwl)s
- % (action_mw) s - öý eýesini gadagan eder we kimiň habary bilen poçta iberer.
- % (action_mwl) s - öý eýesini gadagan eder, Whois maglumatyny we gündelik faýldan ähli degişli maglumatlary berer.
Goşmaça Fail2ban türme konfigurasiýasy
Şu wagta çenli esasy konfigurasiýa wariantlaryna göz aýladyk. Türmäni düzmek isleseňiz, ony türme.local faýlynda açmaly bolarsyňyz. Sintaksis gaty ýönekeý:
[jail_to_enable] . . . enabled = true
Türme_to_enable-ny hakyky türme bilen çalyşmaly ýeriňizde, mysal üçin\sshd. Türme.local faýlynda ssh hyzmaty üçin aşakdaky gymmatlyklar kesgitlener:
[sshd] port = ssh logpath = %(sshd_log)s
Gündeligiň bir setiriniň şowsuzdygyny ýa-da ýokdugyny anyklamaga kömek etjek süzgüçi açyp bilersiňiz. Süzgüçiň bahasy, aslynda .conf hyzmat ady bilen bir faýla salgylanýar. Mysal üçin: /etc/fail2ban/filter.d/sshd.conf.
Sintaksis:
filter = service
Mysal üçin:
filter = sshd
Bar bolan süzgüçleri aşakdaky katalogda gözden geçirip bilersiňiz: /etc/fail2ban/filter.d/.
Fail2ban, häzirki konfigurasiýany gözden geçirmek we üýtgetmek üçin ulanyp boljak müşderi bilen gelýär. Köp warianty üpjün edýändigi sebäpli, gollanmadan şu aşakdakylary alyp bilersiňiz:
# man fail2ban-client
Bu ýerde ulanyp boljak käbir esasy buýruklary görersiňiz. Fail2ban ýa-da belli bir türme üçin häzirki ýagdaýyny gözden geçirmek üçin ulanyp bilersiňiz:
# fail2ban-client status
Netije şuňa meňzeýär:
Aýry-aýry türmeler üçin ylgap bilersiňiz:
# fail2ban-client status sshd
Aşakdaky skrinshotda, köp sanly girişden bilgeşleýin şowsuzlygymy görersiňiz, şonuň üçin fail2ban birikdirjek bolýan IP adresimi ýapyp biler:
Fail2ban, Linux ulgamyňyza goşmaça howpsuzlygy üpjün edýän ajaýyp, gowy resminamalaşdyrylan çozuşyň öňüni alyş ulgamy. Gurmak we sintaksis bilen öwrenişmek üçin birneme wagt gerek, ýöne bu zatlar bilen tanyş bolanyňyzdan soň, düzgünlerini üýtgetmek we giňeltmek üçin arkaýyn bolarsyňyz.