Giunsa Paggamit ang Fail2ban aron Masiguro ang Imong Linux Server


Ang pagpauswag sa imong seguridad sa server kinahanglan nga usa sa imong panguna nga mga prayoridad kung bahin sa pagdumala sa usa ka linux server. Pinaagi sa pagrepaso sa imong mga log sa server, mahimo nimo kanunay nga makit-an ang lainlaing mga pagsulay alang sa brute force login, pagbaha sa web, pagpangita sa pagpahimulos ug daghan pa.

Uban sa intrusion prevention software sama sa fail2ban, mahimo nimong susihon ang imong mga log sa server ug idugang ang dugang nga mga lagda sa iptables aron babagan ang mga problema nga IP address.

Kini nga panudlo magpakita kanimo kung giunsa ang pag-install sa fail2ban ug pag-setup sa sukaranan nga pag-configure aron mapanalipdan ang imong sistema sa Linux gikan sa mga pag-atake sa kusog nga kusog.

Ang Fail2ban gisulat sa python ug ang bugtong kinahanglanon mao ang pag-install sa python:

  • Ang Fail2ban branch 0.9.x nagkinahanglan og Python >=2.6 o Python >=3.2
  • Ang Fail2ban branch 0.8.x nagkinahanglan og Python >=2.4
  • Root access sa imong sistema
  • Opsyonal, iptables o showewall ug sendmail

Giunsa ang Pag-install sa Fail2Ban sa Linux Systems

Ang pag-instalar sa fail2ban sayon ra:

Una, i-update ang imong mga pakete, i-enable ang Epel repository ug i-install ang fail2ban sama sa gipakita.

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

Una, i-update ang imong mga pakete ug i-install ang fail2ban sama sa gipakita.

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

Opsyonal, kung gusto nimo i-enable ang suporta sa mail (alang sa mga abiso sa mail), mahimo nimong i-install ang sendmail.

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

Aron mahimo ang fail2ban ug sendmail gamita ang mosunod nga mga sugo:

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

Giunsa ang Pag-configure sa Fail2ban sa Linux Systems

Sa kasagaran, ang fail2ban naggamit sa .conf nga mga file nga anaa sa /etc/fail2ban/ nga unang basahon. Bisan pa, kana mahimong ma-override sa .local nga mga file nga nahimutang sa parehas nga direktoryo.

Busa, ang .local nga payl dili kinahanglan nga maglakip sa tanang mga setting gikan sa .conf nga payl, apan ang mga gusto lang nimo i-override. Ang mga kausaban kinahanglang himoon sa .local files, dili sa .conf. Makapugong kini sa pag-overwrit sa mga pagbag-o kung mag-upgrade sa fail2ban nga pakete.

Alang sa katuyoan niini nga panudlo, among kopyahon ang naglungtad nga fail2ban.conf file sa fail2ban.local.

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

Karon mahimo nimong buhaton ang mga pagbag-o sa .local file pinaagi sa paggamit sa imong paborito nga editor sa teksto. Ang mga kantidad nga mahimo nimong usbon mao ang:

  • loglevel – kini ang lebel sa detalye nga i-log. Posible nga mga kapilian mao ang:
    • KRITIKAL
    • SAYOP
    • WARNING
    • PAHIBALO
    • INFO
    • DEBUG

    • STDOUT – magpagawas ug bisan unsang datos
    • STDERR – magpagawas ug bisan unsang mga sayop
    • SYSLOG – message-based logging
    • File – output sa usa ka file

    Usa sa labing importante nga mga file sa fail2ban mao ang jail.conf nga naghubit sa imong mga bilanggoan. Dinhi imong gihubit ang mga serbisyo diin ang fail2ban kinahanglan nga mahimo.

    Sama sa among nahisgutan sa sayo pa nga .conf nga mga file mahimong mausab sa panahon sa pag-upgrade, busa kinahanglan ka nga maghimo og jail.local file diin mahimo nimo gamiton ang imong mga pagbag-o.

    Ang laing paagi sa pagbuhat niini mao ang pagkopya lang sa .conf file sa:

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

    Sa kaso nga ikaw naggamit sa CentOS o Fedora, kinahanglan nimo nga usbon ang backend sa jail.local gikan sa \auto ngadto sa \systemd.

    Kung naggamit ka sa Ubuntu/Debian, dili kinahanglan nga himuon kini nga pagbag-o, bisan kung gigamit usab nila ang systemd.

    Ang jail file makahimo sa SSH nga default alang sa Debian ug Ubuntu, apan dili sa CentOS. Kung gusto nimo nga mahimo kini, usba lang ang mosunod nga linya sa /etc/fail2ban/jail.local:

    [sshd]
    enabled = true
    

    Mahimo nimong i-configure ang kahimtang nga pagkahuman gibabagan ang usa ka IP address. Alang niana nga katuyoan, ang fail2ban naggamit sa bantime, findtime ug maxretry.

    • bantime – kini ang gidaghanon sa mga segundo nga ang usa ka IP address magpabiling gidili (default 10 min).
    • findtime – ang gidugayon sa panahon tali sa mga pagsulay sa pag-login, sa wala pa idili ang host. (default 10 min). Sa laing pagkasulti, kung ang fail2ban gitakda nga i-block ang usa ka IP address pagkahuman sa 3 ka napakyas nga pagsulay sa pag-login, kadtong 3 nga pagsulay, kinahanglan buhaton sulod sa panahon sa pagpangita (10 ka minuto).
    • maxretry – gidaghanon sa mga pagsulay nga himoon sa dili pa ipatuman ang pagdili. (default 3).

    Siyempre, gusto nimo nga i-whitelist ang pipila ka mga adres sa IP. Aron ma-configure ang ingon nga mga adres sa IP abli /etc/fail2ban/jail.local gamit ang imong paborito nga editor sa teksto ug i-uncomment ang mosunod nga linya:

    ignoreip = 127.0.0.1/8  ::1
    

    Dayon, mahimo nimong ibutang ang mga IP address nga gusto nimo nga dili tagdon. Ang mga adres sa IP kinahanglan ibulag sa wanang o koma.

    Kung gusto nimo makadawat mga alerto sa mail sa panghitabo, kinahanglan nimo nga i-configure ang mga mosunod nga setting sa /etc/fail2ban/jail.local:

    • destemail – adres sa koreo, diin imong madawat ang pahibalo.
    • Sendername – ang nagpadala nga imong makita kung makadawat sa mensahe.
    • nagpadala – email adres diin ang fail2ban magpadala sa mga email.

    Ang default mta (mail transfer agent) gibutang sa sendmail.

    Aron makadawat sa mga pahibalo sa mail, kinahanglan nimo usab nga usbon ang setting nga \aksyon gikan sa:

    Action = %(action_)s
    

    Sa usa niini:

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

    • %(action_mw)s – idili ang host ug magpadala ug mail nga adunay whois report.
    • %(action_mwl)s – magdili sa host, maghatag og whois info ug tanang may kalabutan nga impormasyon gikan sa log file.

    Dugang nga Fail2ban Jail Configuration

    Sa pagkakaron among gitan-aw ang batakang mga kapilian sa pag-configure. Kung gusto nimo nga i-configure ang usa ka jail kinahanglan nimo nga i-enable kini sa jail.local file. Ang syntax yano ra:

    [jail_to_enable]
    . . .
    enabled = true
    

    Diin kinahanglan nimo nga ilisan ang jail_to_enable sa aktuwal nga jail, pananglitan, \sshd.

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

    Mahimo nimong palihokon ang filter nga makatabang sa pag-ila kung ang usa ka linya sa log usa ka napakyas. Ang bili sa filter sa pagkatinuod usa ka reperensiya sa usa ka file nga adunay ngalan sa serbisyo nga gisundan sa .conf. Pananglitan: /etc/fail2ban/filter.d/sshd.conf.

    Ang syntax mao ang:

    filter = service
    

    Pananglitan:

    filter = sshd
    

    Mahimo nimong ribyuhon ang kasamtangan nga mga filter sa mosunod nga direktoryo: /etc/fail2ban/filter.d/.

    Ang Fail2ban adunay usa ka kliyente nga magamit alang sa pagrepaso ug pagbag-o sa karon nga pagsumpo. Tungod kay naghatag kini daghang mga kapilian, mahimo nimong susihon ang manwal niini gamit ang:

    # man fail2ban-client 
    

    Dinhi imong makita ang pipila sa mga sukaranan nga mga sugo nga imong magamit. Aron marepaso ang kasamtangan nga kahimtang sa fail2ban o alang sa piho nga prisohan, mahimo nimong gamiton ang:

    # fail2ban-client status
    

    Ang resulta susama niini:

    Alang sa indibidwal nga bilanggoan, mahimo kang modagan:

    # fail2ban-client status sshd
    

    Sa screenshot sa ubos, imong makita nga gituyo nako nga napakyas ang daghang mga pag-login aron ang fail2ban maka-block sa IP address diin ako naningkamot sa pagkonektar:

    Ang Fail2ban usa ka maayo, maayo nga dokumentado nga sistema sa pagpugong sa pagsulod, nga naghatag dugang nga seguridad sa imong sistema sa Linux. Nagkinahanglan kini og pipila ka panahon aron maanad sa setup ug syntax niini, apan sa higayon nga pamilyar ka niini, mobati ka nga gawasnon sa pag-usab ug pagpalapad sa mga lagda niini.