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.