Paano i-configure ang Fail2ban para protektahan ang iyong Linux server

Huling pag-update: 3 Septiyembre 2026
May-akda: TecnoDigital
  • Pagpapatupad ng isang dynamic na sistema ng pagharang sa IP batay sa pagsusuri ng mga access log.
  • Paggamit ng mga .local configuration file upang maiwasan ang pagkawala ng mga setting habang nag-a-update ng system.
  • Kakayahang protektahan ang maraming channel para sa mga kritikal na serbisyo tulad ng SSH, mga web server, mga database, at FTP.
  • Pamamahala sa mga ban at pag-unban sa totoong oras gamit ang command-line tool na fail2ban-client.

Isang IT professional na nagtatrabaho gamit ang isang laptop sa isang modernong data center, mainam para sa pagpapakilala ng seguridad sa server.

Ang pagkakaroon ng isang Linux server na nakalantad sa network ay parang paglalagay ng magnet para sa mga bot. Kung hindi ka pa nakakapag-configure ng anumang mga hakbang sa seguridad, malamang na mayroon ka nang libu-libong nabigong pagtatangka sa pag-login sa iyong mga log; may mga awtomatikong makina na patuloy na sumusubok ng mga kumbinasyon ng username at password upang subukang kontrolin ang iyong makina sa pamamagitan ng mga brute-force na pag-atake.

Dito pumapasok ang Fail2ban, isang tool na nagsisilbing walang kapagurang bantay. Hindi ito isang firewall sa pinakahuling kahulugan, kundi sinusuri nito ang mga system log at, kapag nakita nitong may pumipilit na pumasok, binabasag nito ang pinto sa harap nila sa pamamagitan ng pagharang sa kanilang IP address gamit ang mga tool tulad ng iptables o nftables. Tingnan natin kung paano ito i-configure upang gawing mahirap lutasin ang iyong server.

Ano nga ba ang Fail2ban at paano ito gumagana?

Sa madaling salita, ang Fail2ban ay isang daemon na patuloy na sinusubaybayan ang mga log file ng iyong mga serbisyo. Kapag nakakita ito ng mga kahina-hinalang pattern na tumutugma sa mga paunang natukoy na panuntunan, na tinatawag na mga filter , sinisimulan nitong bilangin ang mga pagkabigo. Kung ang isang IP address ay umabot sa limitasyon ng mga pinapayagang pagtatangka sa loob ng isang partikular na oras, ang programa ay nagsasagawa ng isang aksyon , na karaniwang kinabibilangan ng pagdaragdag ng IP address na iyon sa blacklist ng firewall.

Ang mga konpigurasyong ito ay nakaayos sa tinatawag na mga jail . Ang jail ay karaniwang isang hanay ng mga patakaran na inilalapat sa isang partikular na serbisyo (tulad ng SSH, Apache, o MySQL). Sa ganitong paraan, maaari kang magkaroon ng isang napakahigpit na patakaran para sa malayuang pag-access at isang mas mapagpahintulot para sa web server, na tinitiyak na ang mga nanghihimasok ay awtomatikong naharang nang hindi mo kinakailangang manu-manong suriin ang mga log bawat limang minuto.

  Kumpletong gabay sa seguridad ng lalagyan ng Docker

Simbolo ng isang cyberattack na may kasamang taong may hawak na hacker mask sa tabi ng mga Linux server rack.

Pag-install ayon sa iyong distribusyon ng Linux

Depende sa kung aling sistema ang iyong ginagamit, ang utos na i-install ito ay bahagyang nag-iiba, ngunit karaniwan itong makukuha sa halos lahat ng opisyal na repositoryo.

  • Sa Ubuntu at Debian: Napakasimple lang, kailangan mo lang tumakbo sudo apt update sinusundan ng sudo apt install fail2ban.
  • Sa Rocky Linux o AlmaLinux: Dahil ang mga ito ay mga distribusyon ng Enterprise, dapat mo munang paganahin ang repositoryo ng EPEL gamit ang sudo dnf install epel-release at pagkatapos ay i-install ang pakete gamit ang sudo dnf install fail2ban fail2ban-firewalld.
  • Sa Alpine Linux: Gamitin ang APK manager gamit ang sudo apk add fail2ban At, dahil gumagamit ito ng OpenRC, dapat mo itong paganahin gamit ang sudo rc-update add fail2ban default at simulan ito sa sudo rc-service fail2ban start.

Propesyonal na detalye ng mga server rack sa isang data center na may asul na ilaw, na kumakatawan sa imprastraktura ng server.

Pangunahing konpigurasyon: Ang sikreto ng .local file

Ang isang karaniwang pagkakamali ay ang direktang pag-edit ng file. jail.confHuwag mong gawin 'yan! Maaaring ma-overwrite ang file na 'yan kapag na-update mo ang system. Ang ginintuang tuntunin ay ang paggawa ng kopya na tinatawag na jail.localAnumang mga parameter na idadagdag mo sa pangalawang file na ito ay uunahin kaysa sa orihinal, at ang iyong mga pagbabago ay mapapatungan. ligtas mula sa mga update.

Para magsimula, maaari mong i-clone ang orihinal na file gamit ang sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local at pagkatapos ay buksan ito gamit ang iyong paboritong editor, tulad ng nano o vim. Sa seksyong [DEFAULT] Dito mo tinutukoy ang pangkalahatang pag-uugali ng sistema:

  • oras ng kainan: Ang tagal ng panahon na mananatiling naka-freeze ang malisyosong IP address. Maaari itong nasa segundo o gamit ang 'm' sa loob ng minuto (hal., 10m).
  • oras ng paghahanap: Ang agwat ng oras kung kailan sinusuri ng Fail2ban ang mga error. Kung ang isang tao ay nabigo ng 5 beses sa isang oras ngunit ang findtime ay 10 minuto, hindi sila maba-ban.
  • maxretry: Ang bilang ng mga nabigong pagtatangka na pinapayagan bago sabihin ng system Tama na at harangan ang IP.
  • ignoreip: Mahalaga para maiwasan ang pag-ban sa iyong sarili. Dito mo dapat ilagay ang iyong pampublikong IP address o ang iyong saklaw ng VPN.
  Zorin OS: Isang kumpletong gabay sa pinaka-Windows-friendly na distribusyon ng Linux

Malapitang pagtingin sa mga fiber optic network cable na nakakonekta sa isang enterprise server, na naglalarawan ng koneksyon at seguridad ng network.

Hakbang-hakbang na pagprotekta sa mga partikular na serbisyo

Kapag na-configure na ang mga pangkalahatang setting, oras na para i-activate ang mga jail para sa mga serbisyong pinaka-kinababahala mo. Para gumana ang isang proteksyon, dapat mong itakda enabled = true sa kani-kanilang seksyon sa loob ng jail.local.

Pag-access sa SSH (Ang pinakamahalagang punto)

Ang Port 22 ang pangunahing target. Ang isang matatag na configuration ay magtatakda ng maxretry = 3 at bantime = 3600 (isang oras). Babasahin ng Fail2ban ang file. /var/log/auth.log (sa Debian/Ubuntu) o / var / log / secure (sa CentOS/RHEL) upang matukoy ang mga pagkabigo sa pagpapatotoo at isara ang access sa attacker.

Mga Web Server (Apache at Nginx)

Kung mayroon kang website o online store, susubukan ng mga bot na i-access ang mga sensitibong ruta tulad ng /wp-admin o /login.phpMaaari kang gumawa ng mga custom na filter sa /etc/fail2ban/filter.d/ upang matukoy ang mga pattern na ito. Halimbawa, upang Protektahan ang WordPress403 na mga error o mga nabigong pagtatangka ang minomonitor sa wp-login.php, hinaharangan ang IP kung lumampas ito sa mga limitasyong itinakda sa Apache o Nginx jail.

Mga Database at FTP

Para sa MySQL, maaari mong subaybayan ang error log para sa parirala Tinanggihan ang access para sa userSa kaso ng FTP (tulad ng ProFTPD), mahalagang tiyakin na ang logpath itugma ang aktwal na path sa iyong mga log, dahil kung hindi mahanap ng Fail2ban ang log file, hindi gagana ang proteksyon.

Mas mataas na pamamahala gamit ang fail2ban-client

Hindi mo kailangang palaging i-edit ang mga file at i-restart ang serbisyo para makagawa ng mabilis na mga pagbabago. Ang utos fail2ban-client Pinapayagan ka nitong pamahalaan ang sistema nang walang kahirap-hirap mula sa console.

Para makita kung aling mga kulungan ang aktibo at kung ilang IP ang naharang, gamitin ang sudo fail2ban-client statusKung gusto mong mas malalimang pag-aralan ang isang serbisyo, tulad ng SSH, patakbuhin ang sudo fail2ban-client status sshdBukod pa rito, kung hindi sinasadya Na-block mo ang isang kasamahan O maaari mong mabilis na ilabas ang IP address gamit ang utos sudo fail2ban-client set sshd unbanip IP_A_DESBLOQUEAR.

Pagpapanatili at pag-troubleshoot

Kung mapapansin mong hindi humaharang ang Fail2ban gaya ng nararapat, ang unang dapat tingnan ay ang sariling log file ng tool. /var/log/fail2ban.log. Gamit tail -f Makikita mo agad kung sino ang pinagbabawalan at bakit.

  5 Mahahalagang Paraan ng Pag-encrypt para Protektahan ang Iyong Data

Tandaan na iniimbak ng Fail2ban ang status ng lock sa isang SQLite database sa /var/lib/fail2ban/fail2ban.sqlite3Samakatuwid, kung ire-restart mo ang server, ang mga IP na na-ban ay maa-unban. mananatiling naka-block hanggang sa matapos ang iyong panahon ng parusa. Sa tuwing gagawa ka ng mga pagbabago sa mga configuration file, huwag kalimutang ilapat ang mga pagbabago gamit ang sudo systemctl restart fail2ban.

Ang pagpapatupad ng tool na ito ay magbabago sa iyong server mula sa isang madaling target patungo sa isang awtomatikong kuta, na magbabawas sa CPU load sa pamamagitan ng pagtatapon ng malisyosong trapiko sa network layer at magbibigay-daan sa iyong matulog nang mahimbing dahil alam mong hindi magagawang brute-force ng mga bot ang kanilang pagpasok. Sa pamamagitan ng pagsasama-sama ng paggamit ng mga .local file, pamamahala ng mga partikular na jail, at patuloy na pagsubaybay sa log, makakamit mo ang isang sistemang may malalim na depensa na mahalaga para sa sinumang administrador ng system ng Linux.