Otu esi eji Fail2ban chekwaa sava Linux gị
Imelite nchekwa nke ihe nkesa gị kwesịrị ịbụ otu n'ime ihe kacha mkpa gị ma a bịa n'ijikwa sava Linux. Site n'ịtụle ndekọ ndekọ ihe nkesa gị, ị nwere ike ịhụ mbọ dị iche iche maka nbanye ike na-adịghị mma, idei mmiri weebụ, ịchọ ihe na ọtụtụ ndị ọzọ.
Site na ngwanrọ mgbochi mbanye dị ka fail2ban, ị nwere ike nyochaa ndekọ ihe nkesa gị wee tinye iwu iptables ọzọ iji gbochie adreesị IP nwere nsogbu.
Nkuzi a ga-egosi gị otu esi etinye fail2ban na nhazi ntọala iji chebe sistemụ Linux gị na mwakpo ike ike.
Edere Fail2ban na Python na naanị ihe achọrọ bụ ka etinyere Python:
- Fail2ban alaka 0.9.x chọrọ Python>=2.6 ma ọ bụ Python>=3.2
- Fail2ban alaka 0.8.x chọrọ Python>=2.4
- Nnweta mgbọrọgwụ na sistemụ gị
- Nhọrọ, iptables ma ọ bụ showewall na sendmail
Otu esi etinye Fail2Ban na sistemụ Linux
Nwụnye fail2ban dị mfe:
Nke mbụ, melite ngwungwu gị, mee ka ebe nchekwa Epel wee wụnye fail2ban dị ka egosiri.
# yum update # yum install epel-release # yum install fail2ban
Mbụ, melite ngwugwu gị ma wụnye fail2ban dị ka egosiri.
# apt-get update && apt-get upgrade -y # apt-get install fail2ban
Nhọrọ, ọ bụrụ na-ịchọrọ ime ka nkwado ozi (maka ọkwa ozi), ị nwere ike ịwụnye sendmail.
# yum install sendmail [On CentOS/RHEL] # apt-get install sendmail-bin sendmail [On Debian/Ubuntu]
Iji mee ka fail2ban na sendmail jiri iwu ndị a:
# systemctl start fail2ban # systemctl enable fail2ban # systemctl start sendmail # systemctl enable sendmail
Otu esi ahazi Fail2ban na Sistemụ Linux
Na ndabara, fail2ban na-eji faịlụ .conf
dị na /etc/fail2ban/ nke a na-ebu ụzọ gụọ. Agbanyeghị, faịlụ .local
dị n'otu akwụkwọ ndekọ aha nwere ike ịkagbu ndị ahụ.
Ya mere, faịlụ .local
adịghị mkpa ịgụnye ntọala niile sitere na faịlụ .conf
, kama ọ bụ naanị ndị ịchọrọ iwepụ. Ekwesịrị ime mgbanwe na faịlụ .local
, ọ bụghị na .conf
. Nke a ga-egbochi mgbanwe ngbanwe mgbe ị na-emelite ngwugwu fail2ban.
Maka ebumnuche nkuzi a, anyị ga-eṅomi faịlụ fail2ban.conf dị na fail2ban.local.
# cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
Ugbu a ị nwere ike ịme mgbanwe na faịlụ .local
site na iji nchịkọta ederede ọkacha mmasị gị. Ụkpụrụ ị nwere ike dezie bụ:
- loglevel – nke a bụ ọkwa nkọwa nke a ga-abanye. Nhọrọ enwere ike bụ:
- KWAKWU
- EERROR
- Ịdọ aka ná ntị
- MAKA
- INFO
- DEBUG
- STDOUT – wepụta data ọ bụla
- STDERR – wepụta mperi ọ bụla
- SYSLOG – ndekọ dabere na ozi
- Faịlụ – wepụta na faịlụ
Otu n'ime faịlụ kachasị mkpa na fail2ban bụ
jail.conf
nke na-akọwa ụlọ mkpọrọ gị. Nke a bụ ebe ị na-akọwapụta ọrụ nke fail2ban kwesịrị ịgbanyere.Dịka anyị kwuru na mbụ
.conf
faịlụ nwere ike gbanwee n'oge nkwalite, yabụ ị ga-emepụta faịlụ jail.local ebe ị nwere ike itinye mgbanwe gị.Ụzọ ọzọ isi mee nke a bụ iji naanị detuo faịlụ .conf na:
# cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Ọ bụrụ na ị na-eji CentOS ma ọ bụ Fedora, ị ga-achọ ịgbanwe azụ azụ na jail.local site na auto gaa na systemd.
Ọ bụrụ na ị na-eji Ubuntu/Debian, ọ dịghị mkpa ime mgbanwe a, n'agbanyeghị na ha na-ejikwa systemd.
Faịlụ nga ga-enyere SSH aka na ndabara maka Debian na Ubuntu, mana ọ bụghị na CentOS. Ọ bụrụ na ịchọrọ ịme ya, gbanwee ahịrị na-esonụ na /etc/fail2ban/jail.local:
[sshd] enabled = true
Ị nwere ike hazie ọnọdụ mgbe emechiri adreesị IP egbochiri. Maka ebumnuche ahụ, fail2ban na-eji bantime, oge ịchọta na maxretry.
- bantime – nke a bụ ọnụọgụ sekọnd nke adreesị IP ga-anọgide na-amachibido (nkeji 10 ndabara).
- nchọta oge - ọnụọgụ oge n'etiti mbọ nbanye, tupu amachibido onye nnabata. (nke izizi 10 min). N'ikwu ya n'ụzọ ọzọ, ọ bụrụ na fail2ban atọrọ ka ọ gbochie adreesị IP mgbe mbọ nbanye 3 dara, a ga-emerịrị mbọ 3 ahụ n'ime oge nchọta (mins 10).
- maxretry – ọnụ ọgụgụ nke mgbalị a ga-eme tupu etinyere mmachibido iwu. (nke mbụ 3).
N'ezie, ị ga-achọ idepụta ụfọdụ adreesị IP. Iji hazie adreesị IP ndị dị otú ahụ mepee /etc/fail2ban/jail.local na onye nchịkọta ederede ọkacha mmasị gị ma kwupụta ahịrị na-esonụ:
ignoreip = 127.0.0.1/8 ::1
Mgbe ahụ, ị nwere ike itinye adreesị IP nke ịchọrọ ka eleghara anya. Ekwesịrị ịkewapụ adreesị IP na oghere ma ọ bụ rikoma.
Ọ bụrụ na ịchọrọ ịnata ọkwa ozi na mmemme ahụ, ị ga-ahazi ntọala ndị a na /etc/fail2ban/jail.local:
- destemail – adreesị ozi, ebe ị ga-enweta ọkwa.
- Aha izi ozi – onye izipu nke ị ga-ahụ mgbe ị na-enweta ozi.
- onye zitere – adreesị ozi-e nke fail2ban ga-ezite ozi-e ahụ.
Mta ndabara (onye nnọchite mbufe ozi) ka atọrọ ka izipu ozi.
Iji nweta ọkwa ozi, ị ga-achọkwa ịgbanwe ntọala \omume site na:
Action = %(action_)s
Maka otu n'ime ndị a:
action = %(action_mw)s action = %(action_mwl)s
- %(action_mw)s - ga-amachibido onye ọbịa ahụ wee zipụ ozi nwere mkpesa whois.
- %(action_mwl)s - ga-amachibido onye nnabata ahụ, nye ozi whois na ozi niile dabara na faịlụ ndekọ.
Nhazi Jail Fail2ban agbakwunyere
Ka ọ dị ugbu a, anyị lere anya na nhọrọ nhazi ntọala. Ọ bụrụ na-ịchọrọ ịhazi ụlọ nga, ị ga-emerịrị ya na faịlụ jail.local. Syntax ahụ dị mfe:
[jail_to_enable] . . . enabled = true
Ebe ị ga-eji ezigbo nga dochie jail_to_enable, dịka ọmụmaatụ, \sshd na faịlụ jail.local, a ga-akọwapụta ụkpụrụ ndị a maka ọrụ ssh:
[sshd] port = ssh logpath = %(sshd_log)s
Ị nwere ike ime ka nzacha ga-enyere aka chọpụta ma ọ bụrụ na ahịrị dị n'ime ndekọ ahụ bụ nke dara ada. Uru nzacha bụ n'ezie ntụaka maka faịlụ nwere aha ọrụ nke .conf sochiri ya. Dịka ọmụmaatụ: /etc/fail2ban/filter.d/sshd.conf.
Okwu syntax bụ:
filter = service
Ọmụmaatụ:
filter = sshd
Ị nwere ike nyochaa nzacha ndị dị na ndekọ na-esonụ: /etc/fail2ban/filter.d/.
Fail2ban na-abịa na onye ahịa enwere ike iji maka nyocha na ịgbanwe nhazi ugbu a. Ebe ọ na-enye ọtụtụ nhọrọ, ị nwere ike iji akwụkwọ ntuziaka ya mee:
# man fail2ban-client
N'ebe a, ị ga-ahụ ụfọdụ iwu ndị bụ isi ị nwere ike iji. Ka inyochaa ọnọdụ fail2ban dị ugbu a ma ọ bụ maka ụlọ mkpọrọ akọwapụtara, ị nwere ike iji:
# fail2ban-client status
Nsonaazụ ga-adị ka nke a:
Maka ụlọ mkpọrọ onye ọ bụla, ị nwere ike ịgba ọsọ:
# fail2ban-client status sshd
Na nseta ihuenyo dị n'okpuru, ị ga-ahụ na m kpachapụrụ anya daa ọtụtụ nbanye ya mere fail2ban nwere ike igbochi adreesị IP nke m na-achọ ijikọ:
Fail2ban bụ usoro mgbochi mgbochi nke etinyere nke ọma, nke na-enye nchekwa na sistemụ Linux gị. Ọ na-achọ oge iji mee ka nhazi ya na syntax ya mara ya, ma ozugbo ịmara onwe gị na ya, ị ga-enwere onwe gị ịgbanwe na ịgbatị iwu ya.