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.