Kif tuża Fail2ban biex Tiżgura s-Server Linux tiegħek


It-titjib tas-sigurtà tas-server tiegħek għandu jkun wieħed mill-prijoritajiet ewlenin tiegħek meta niġu għall-ġestjoni ta 'server linux. Billi tirrevedi r-reġistri tas-server tiegħek, tista 'spiss issib tentattivi differenti għal login tal-forza bruta, għargħar fuq il-web, tfittix ta' sfruttament u ħafna oħrajn.

B'softwer għall-prevenzjoni ta 'intrużjoni bħal fail2ban, tista' teżamina r-reġistri tas-server tiegħek u żżid regoli iptables żejda biex timblokka indirizzi IP problematiċi.

Dan it-tutorja jurik kif tinstalla fail2ban u tissettja l-konfigurazzjoni bażika biex tipproteġi s-sistema Linux tiegħek minn attakki tal-forza bruta.

Fail2ban huwa miktub f'python u l-uniku rekwiżit huwa li jkollok python installat:

  • Il-fergħa 0.9.x tal-Fail2ban teħtieġ Python >=2.6 jew Python >=3.2
  • Il-fergħa 0.8.x tal-Fail2ban teħtieġ Python >=2.4
  • Aċċess root għas-sistema tiegħek
  • B'għażla, iptables jew showewall u sendmail

Kif Tinstalla Fail2Ban fis-Sistemi Linux

L-installazzjoni ta 'fail2ban hija relattivament faċli:

L-ewwel, aġġorna l-pakketti tiegħek, ppermettiet ir-repożitorju Epel u installa fail2ban kif muri.

# yum update
# yum install epel-release
# yum install fail2ban

L-ewwel, aġġorna l-pakketti tiegħek u installa fail2ban kif muri.

# apt-get update && apt-get upgrade -y
# apt-get install fail2ban

B'għażla, jekk tixtieq li tippermetti l-appoġġ tal-posta (għal notifiki tal-posta), tista' tinstalla sendmail.

# yum install sendmail                   [On CentOS/RHEL]
# apt-get install sendmail-bin sendmail  [On Debian/Ubuntu]

Biex tippermetti fail2ban u sendmail uża l-kmandi li ġejjin:

# systemctl start fail2ban
# systemctl enable fail2ban
# systemctl start sendmail
# systemctl enable sendmail

Kif tikkonfigura Fail2ban fis-Sistemi Linux

B'mod awtomatiku, fail2ban juża l-fajls .conf li jinsabu f'/etc/fail2ban/ li jinqraw l-ewwel. Madankollu, dawk jistgħu jiġu sostitwiti minn .local fajls li jinsabu fl-istess direttorju.

Għalhekk, il-fajl .local m'għandux għalfejn jinkludi s-settings kollha mill-fajl .conf, iżda dawk biss li tixtieq tegħleb. Il-bidliet għandhom isiru fil-fajls .local, mhux fil-.conf. Dan jipprevjeni tibdiliet ta' kitba fuqhom meta jaġġornaw il-pakkett fail2ban.

Għall-iskop ta 'dan it-tutorja, aħna se nikkopja l-fajl fail2ban.conf eżistenti għal fail2ban.local.

# cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local

Issa tista 'tagħmel il-bidliet fil-fajl .local billi tuża l-editur tat-test favorit tiegħek. Il-valuri li tista' teditja huma:

  • loglevel – dan huwa l-livell ta' dettall li għandu jiġi illoggjat. Għażliet possibbli huma:
    • KRITIKA
    • Żball
    • TWISSIJA
    • AVVIŻ
    • INFO
    • DEBUG

    • STDOUT – joħroġ kwalunkwe data
    • STDERR – joħroġ kwalunkwe żball
    • SYSLOG – illoggjar ibbażat fuq messaġġ
    • Fajl – joħroġ għal fajl

    Wieħed mill-aktar fajls importanti f'fail2ban huwa jail.conf li jiddefinixxi l-ħabsijiet tiegħek. Dan huwa fejn tiddefinixxi s-servizzi li għalihom fail2ban għandu jkun attivat.

    Kif semmejna qabel il-fajls .conf jistgħu jinbidlu waqt it-titjib, għalhekk għandek toħloq fajl jail.local fejn tista' tapplika l-modifiki tiegħek.

    Mod ieħor biex tagħmel dan huwa li sempliċement tikkopja l-fajl .conf bi:

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

    Fil-każ li qed tuża CentOS jew Fedora, ser ikollok bżonn tibdel il-backend f'jail.local minn \auto għal \systemd.

    Jekk qed tuża Ubuntu/Debian, m'hemmx għalfejn tagħmel din il-modifika, minkejja li huma wkoll jużaw is-systemd.

    Il-fajl tal-ħabs se jippermetti SSH awtomatikament għal Debian u Ubuntu, iżda mhux fuq CentOS. Jekk tixtieq tattivaha, sempliċement ibdel il-linja li ġejja f'/etc/fail2ban/jail.local:

    [sshd]
    enabled = true
    

    Tista 'tikkonfigura ċ-ċirkustanza li warajha indirizz IP jiġi mblukkat. Għal dak il-għan, fail2ban juża bantime, findtime u maxretry.

    • bantime – dan huwa n-numru ta’ sekondi li indirizz IP se jibqa’ pprojbit (default 10 min).
    • findtime – l-ammont ta’ ħin bejn tentattivi ta’ login, qabel ma l-host jiġi pprojbit. (default 10 min). Fi kliem ieħor, jekk fail2ban huwa ssettjat biex jimblokka indirizz IP wara 3 tentattivi ta' login falluti, dawk it-3 tentattivi, iridu jsiru fil-perjodu ta' żmien tas-sejba (10 minuti).
    • maxretry – numru ta' tentattivi li jridu jsiru qabel ma tiġi applikata projbizzjoni. (default 3).

    Naturalment, tkun trid whitelist ċerti indirizzi IP. Biex tikkonfigura indirizzi IP bħal dawn, iftaħ /etc/fail2ban/jail.local bl-editur tat-test favorit tiegħek u neħħi l-kumment tal-linja li ġejja:

    ignoreip = 127.0.0.1/8  ::1
    

    Imbagħad, tista 'tpoġġi l-indirizzi IP li trid tiġi injorata. L-indirizzi IP għandhom ikunu separati mill-ispazju jew mill-virgola.

    Jekk tixtieq tirċievi twissijiet bil-posta mal-avveniment, ikollok tikkonfigura s-settings li ġejjin f'/etc/fail2ban/jail.local:

    • destemail – indirizz tal-posta, fejn tirċievi n-notifika.
    • Sendername – il-mittent li se tara meta tirċievi l-messaġġ.
    • mittent – indirizz elettroniku li minnu fail2ban jibgħat l-emails.

    L-mta default (aġent tat-trasferiment tal-posta) huwa ssettjat għal sendmail.

    Sabiex tirċievi notifiki bil-posta, ikollok bżonn ukoll tibdel is-setting ta' \azzjoni minn:

    Action = %(action_)s
    

    Għal waħda minn dawn:

    action = %(action_mw)s
    action = %(action_mwl)s
    

    • %(action_mw)s – se jipprojbixxi lill-host u jibgħat posta b'rapport whois.
    • %(action_mwl)s – se jipprojbixxi lill-host, jipprovdi info whois u l-informazzjoni rilevanti kollha mill-fajl log.

    Konfigurazzjoni tal-Ħabs Fail2ban addizzjonali

    S'issa ħarsu lejn l-għażliet bażiċi ta 'konfigurazzjoni. Jekk tixtieq tikkonfigura ħabs ser ikollok bżonn li tattivaha fil-fajl jail.local. Is-sintassi hija pjuttost sempliċi:

    [jail_to_enable]
    . . .
    enabled = true
    

    Fejn għandek tissostitwixxi jail_to_enable bil-ħabs attwali, pereżempju, \sshd. Fil-fajl jail.local, il-valuri li ġejjin se jkunu predefiniti għas-servizz ssh:

    [sshd]
    
    port = ssh
    logpath = %(sshd_log)s
    

    Tista 'tippermetti filtru li jgħin biex jidentifika jekk linja fil-ġurnal hijiex waħda falluta. Il-valur tal-filtru huwa fil-fatt referenza għal fajl bl-isem tas-servizz segwit minn .conf. Per eżempju: /etc/fail2ban/filter.d/sshd.conf.

    Is-sintassi hija:

    filter = service
    

    Pereżempju:

    filter = sshd
    

    Tista' tirrevedi l-filtri eżistenti fid-direttorju li ġej: /etc/fail2ban/filter.d/.

    Fail2ban jiġi ma 'klijent li jista' jintuża għar-reviżjoni u l-bidla tal-konfigurazzjoni attwali. Peress li tipprovdi ħafna għażliet, tista 'tgħaddi mill-manwal tagħha bi:

    # man fail2ban-client 
    

    Hawnhekk se tara xi wħud mill-kmandi bażiċi li tista 'tuża. Biex tirrevedi l-istatus attwali ta 'fail2ban jew għal ħabs speċifiku, tista' tuża:

    # fail2ban-client status
    

    Ir-riżultat se jidher simili għal dan:

    Għal ħabs individwali, tista' tmexxi:

    # fail2ban-client status sshd
    

    Fil-screenshot t'hawn taħt, se tara li nsaqajt apposta minn logins multipli sabiex fail2ban jista' jimblokka l-indirizz IP li minnu kont qed nipprova nikkonnettja:

    Fail2ban hija sistema eċċellenti ta 'prevenzjoni ta' intrużjoni dokumentata tajjeb, li tipprovdi sigurtà żejda lis-sistema Linux tiegħek. Jeħtieġ xi żmien biex tidra s-setup u s-sintassi tagħha, iżda ladarba tiffamiljarizza ruħek magħha, tħossok liberu li tibdel u testendi r-regoli tagħha.