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.