SSD Nodes Learn Hosting plans →
Mwongozo Matt ConnorNa Matt Connor · Imeboreshwa 2026-08-07

Jinsi ya kusakinisha Fail2ban kwenye Ubuntu 24.04

Jifunze kusakinisha Fail2ban ili kuzuia mashambulizi ya SSH brute force kwenye Ubuntu 24.04. Tumia fail2ban-client status sshd kuthibitisha na kurekebisha hitilafu ya Total failed.

Kazi halisi ya Fail2ban

Fail2ban ni daemon inayosoma logi. Inafuatilia ujumbe wako wa uthibitishaji wa SSH na, baada ya majaribio kadhaa yaliyoshindikana kutoka anwani moja ndani ya muda mfupi, huendesha amri ya firewall inayozuia anwani hiyo kwa muda. Hiyo ndiyo dhana nzima. Ina takriban mistari thelathini ya usanidi katika faili moja, na kwenye Ubuntu 24.04 usakinishaji ni amri moja ya apt inayokuacha ukiwa umelindwa kabla hata hujahariri chochote.

Elewa vyema kile ambacho ni na kile ambacho siyo. Fail2ban haithibitishi mtu yeyote, haifanyi encryption ya kitu chochote, na haizuii jaribio moja la kuingia lililokusudiwa, bali majaribio ya mara kwa mara kutoka chanzo kimoja. Ni kichujio cha kelele na kizuizi cha kasi (rate limiter), siyo kufuli. Kazi yake ni kufanya uchanganuzi wa mara kwa mara wa chinichini wa port 22 uache kupoteza CPU yako, bandwidth yako, na nafasi ya logi yako, na kupunguza kasi ya mshambuliaji yeyote anayelazimika kuja kutoka anwani moja kwa wakati mmoja.

Mambo ambayo Fail2ban haichukui nafasi yake

Fail2ban ni safu ya tatu ya ulinzi, si ya kwanza. Ikiwa seva yako bado inakubali nywila za SSH, mtandao wa botnet uliosambaa kwenye maelfu ya anwani unaweza kuendelea kukisia, kwa sababu kila anwani inabaki chini ya kizingiti chako cha kupiga marufuku na haikichochei. Ulinzi wa kweli dhidi ya hilo ni uthibitishaji kwa kutumia funguo (key-only authentication), jambo linalofanya kukisia nywila kuwa jambo lisilowezekana bila kujali ni majaribio mangapi yanafanywa. Fail2ban juu ya uthibitishaji wa funguo hufanya mambo mawili muhimu: huondoa kelele za brute-force kwenye logi zako, na huwafukuza wachanganuzi (scanners) mapema ili waache kupiga nyundo kwenye port. Ichukulie kama ulinzi wa kina (defence in depth). Inakaa nyuma ya uthibitishaji wa funguo na nyuma ya firewall, kamwe si mbele yao.

Mahitaji ya awali, na uhalisia wa Ubuntu 24.04

Unahitaji VPS inayoendesha Ubuntu 24.04 ikiwa na ufikiaji wa root au sudo, na SSH inayofanya kazi, ikiwezekana kwa kutumia key authentication. Fail2ban haitumii rasilimali nyingi: inahitaji megabytes chache tu za RAM, na hakuna haja ya kurekebisha mipaka yake.

Sasa sehemu ambayo miongozo mingi ya zamani inakosea. Kwa miaka mingi, ushauri wa kawaida ulikuwa "sakinisha Fail2ban, kisha ongeza backend = systemd, kwa sababu Ubuntu iliacha kuandika /var/log/auth.log." Ushauri huo unaelezea mabadiliko ya kweli; picha za seva na cloud za kisasa huja bila rsyslog, kwa hivyo SSH huandika logi kwenye systemd journal pekee na faili hilo la maandishi halipo tena. Hata hivyo, kwenye Ubuntu 24.04, kifurushi cha Fail2ban tayari kinazingatia hilo. Kifurushi hicho huweka /etc/fail2ban/jail.d/defaults-debian.conf, na faili hilo, si mipangilio ya awali ya upstream, ndilo ambalo seva yako inatumia:

[DEFAULT]
banaction = nftables
banaction_allports = nftables[type=allports]
backend = systemd

[sshd]
enabled = true

Soma hilo kwa makini, kwa sababu linatatua maswali mawili kabla hujagusa chochote. backend = systemd inamaanisha kuwa SSH jail inasoma journal, kwa hivyo kutokuwepo kwa auth.log hakuna madhara. banaction = nftables inamaanisha kuwa marufuku (bans) hutekelezwa kupitia nftables, ambayo ndiyo firewall inayotumiwa na Ubuntu 24.04, badala ya iptables ya zamani. Na [sshd] enabled = true inamaanisha kuwa jail imewashwa tangu boot ya kwanza. Matokeo yake: apt install fail2ban ya kawaida kwenye Ubuntu 24.04 huzuia majaribio ya brute-force ya SSH moja kwa moja. Kazi yako nyingi ni kuthibitisha hilo, kurekebisha sera, na kuhakikisha hujijifungii nje.

Mtego wa zamani wa auth.log bado unajitokeza katika hali tatu, na ni vyema kuzitambua: umesakinisha Fail2ban kwa kutumia pip badala ya apt, kwa hivyo hakuna defaults-debian.conf; uko ndani ya container isiyo na upendeleo (unprivileged) isiyo na systemd journal ya kusoma; au umefuata mwongozo wa zamani na kubandika backend = auto kwenye jail.local yako mwenyewe, jambo linalobatilisha mpangilio chaguo-msingi unaofanya kazi. Sehemu ya aina za hitilafu (failure-modes) inaonyesha jinsi kila moja inavyoonekana.

Hatua ya 1: Sakinisha na uthibitishe kuwa inazuia tayari

sudo apt update
sudo apt install -y fail2ban

Ubuntu 24.04 inakuja na Fail2ban 1.0.2, na kifurushi hiki huleta python3-systemd kama dependency ya lazima, kwa hivyo backend ya journal ina kila kitu kinachohitajika. Huduma hii hujiwasha na kuanza yenyewe:

sudo systemctl status fail2ban

Unahitaji active (running). Kisha angalia jail ambayo tayari inafanya kazi yake:

sudo fail2ban-client status sshd

Kwenye VPS ya umma ambayo imekuwa ikipatikana kwa dakika chache tu, mara nyingi utaona makosa yakihesabiwa na anwani zikizuiwa; mtandao huchunguza port 22 mfululizo. Huo ndio uthibitisho kuwa usanidi wa awali unafanya kazi. Kuanzia hapa, unaiboresha, si kuijenga kutoka mwanzo.

Hatua ya 2: Hariri jail.local, usihariri kamwe jail.conf

Fail2ban huhifadhi mipangilio yake ya awali ya msingi katika /etc/fail2ban/jail.conf. Usihariri faili hiyo. Kila apt upgrade ya kifurushi hiki inaweza kuibadilisha, na mabadiliko yako yatapotea bila onyo. Fail2ban husoma faili kwa utaratibu maalum, jail.conf kwanza, kisha kila kitu kilicho katika jail.d/, ikifuatiwa na jail.local, na thamani ya mwisho ndiyo inayotumika. Faili ya .local ni yako, na masasisho ya kifurushi hayaiathiri kamwe. Kanuni hiyo hiyo inatumika kwa vichujio (filters), ambapo faili ya *.local hupuuza mipangilio ya filter.d/*.conf iliyokuja na programu.

Kwa hivyo, unaandika jail.local ndogo inayobadilisha tu mipangilio michache unayohitaji, na unaziacha jail.conf pamoja na jail.d/defaults-debian.conf iliyokuja na kifurushi zikiwa hazijaguswa ili zitumike kama marejeleo.

Hatua ya 3: Andika /etc/fail2ban/jail.local

sudo nano /etc/fail2ban/jail.local

Weka maudhui haya, huku ukibadilisha anwani iliyo kwenye mstari wa ignoreip iwe IP yako ya umma:

[DEFAULT]
# Ubuntu 24.04 already sets these two in jail.d/defaults-debian.conf.
# Pinning them here documents the dependency and survives if that
# file is ever removed or changed by an upgrade.
backend   = systemd
banaction = nftables

# Ban for one hour ...
bantime  = 1h
# ... if an address fails ...
maxretry = 5
# ... 5 times within 10 minutes.
findtime = 10m

# Never ban these. PUT YOUR OWN IP HERE.
ignoreip = 127.0.0.1/8 ::1 10.0.0.24

# Longer bans for repeat offenders: 1h, 2h, 4h ... up to a week.
bantime.increment = true
bantime.maxtime   = 1w

[sshd]
enabled = true

Kila mstari una umuhimu wake:

  • bantime, findtime, maxretry ndiyo sera yenyewe. Thamani chaguo-msingi ya bantime ni dakika kumi pekee; saa moja ni muda unaofaa zaidi. Kushindwa kuingia mara tano kutoka anwani moja ndani ya dakika kumi husababisha kupigwa marufuku (ban). Binadamu wa kawaida wanaweza kukosea nenosiri mara moja au mbili; kushindwa mara tano ndani ya dakika kumi ni ishara ya script.
  • ignoreip ni hatua yako ya usalama. Weka anwani ya umma unayounganishia kutoka hapa ili Fail2ban isije ikakufungia nje ya seva yako mwenyewe. Muunganisho wa nyumbani wenye IP inayobadilika ni sababu ya kupendelea mbinu ya VPN iliyo mwishoni, si sababu ya kuruka mstari huu.
  • bantime.increment = true hufanya kila marufuku ya kurudia iwe ndefu kuliko ile ya awali, saa moja, kisha mbili, kisha nne, hadi kufikia bantime.maxtime. Anwani zinazoendelea kujaribu kuingia hufungiwa kwa muda mrefu zaidi kadiri zinavyorudia.

Tafuta anwani ya kuruhusu (whitelist) kutoka kwenye mashine unayotumia kufanya SSH, si kutoka kwenye seva:

curl -s ifconfig.me

Unaweza kutengeneza jail.local iliyorekebishwa kulingana na port zako na sera ya marufuku hapa, kisha uibandike kwenye faili hilo:

ToolFail2ban jail generator

Hatua ya 4: Anzisha upya na uhakikishe inasoma journal

sudo fail2ban-client -t
sudo systemctl restart fail2ban
sudo fail2ban-client status sshd

-t huendesha jaribio la usanidi kwanza, kwa hivyo kosa la uchapaji katika jail.local husababisha kushindwa kwa uwazi hapa badala ya kuiacha huduma ikiwa imekufa. Hali nzuri ya jail inaonekana hivi:

Status for the jail: sshd
|- Filter
|  |- Currently failed: 0
|  |- Total failed:     14
|  `- Journal matches:  _SYSTEMD_UNIT=sshd.service + _COMM=sshd
`- Actions
   |- Currently banned: 1
   |- Total banned:     3
   `- Banned IP list:   10.0.0.66

Nambari inayothibitisha kuwa Fail2ban inasoma kweli majaribio yako ya kuingia ni Total failed. Ikiwa ni kubwa kuliko sifuri, au inapanda unaposhindwa kuingia kwa makusudi kutoka kwa mashine nyingine, basi journal inasomwa na umemaliza. Ikiwa inabaki kuwa 0 bila kujali ni mara ngapi unashindwa, na una uhakika hujaribu kutoka kwa anwani iliyo katika ignoreip, nenda kwenye njia za kushindwa zilizo hapa chini.

Angalia kuwa mstari wa Journal matches bado unataja sshd.service. Kwenye Ubuntu, unit ya SSH kwa kweli ni ssh.service, lakini kichujio kilichokuja na programu pia hulingana na _COMM=sshd, na OpenSSH kwenye 24.04 huandika hitilafu zake kutoka kwa mchakato unaoitwa sshd, kwa hivyo ulinganifu hufanya kazi. Maelezo hayo ni muhimu tu ikiwa unatumia OpenSSH mpya zaidi (9.8 au baadaye, ambapo mfanyakazi wa kila muunganisho ni sshd-session); njia za kushindwa zinashughulikia kisa hicho.

Hatua ya 5: Fuatilia ban halisi, au lazimisha moja kwa ajili ya majaribio

Ban halisi hujitokeza zenyewe ndani ya dakika chache kwenye VPS yoyote ya umma. Ili kufuatilia moja, fuatilia logi:

sudo tail -f /var/log/fail2ban.log

Ban huonekana hivi:

2026-07-15 10:31:40,502 fail2ban.filter  [812]: INFO    [sshd] Found 10.0.0.66 - 2026-07-15 10:31:40
2026-07-15 10:31:44,118 fail2ban.actions [812]: NOTICE  [sshd] Ban 10.0.0.66

Ili kuthibitisha mfumo mzima bila kusubiri, piga ban anwani ya nyaraka kwa mkono, usijipige ban mwenyewe:

sudo fail2ban-client set sshd banip 10.0.0.66

Inachapisha 1, na anwani hiyo inaonekana chini ya Banned IP list katika fail2ban-client status sshd. Sasa thibitisha kuwa kizuizi hicho kipo kweli kwenye firewall. Kwenye Ubuntu 24.04 hii ni nftables, si iptables:

sudo nft list table inet f2b-table

Utaona set inayoitwa addr-set-sshd ikiwa na 10.0.0.66, na chain f2b-chain inayokataa chanzo chochote kilicho kwenye set hiyo. Ikiwa fail2ban-client inasema anwani imepigwa ban lakini hakuna kinachoonekana katika nft list, hatua yako ya kupiga ban hailingani na firewall yako, angalia dokezo la nftables/iptables katika sehemu ya njia za kufeli.

Hatua ya 6: Jiondoe kwenye orodha ya waliozuiwa (unban), na urejeshe ufikiaji ukifungiwa

Ikiwa umezua anwani ambayo haukupaswa kuizuia, ikiwemo yako mwenyewe, iondoe:

sudo fail2ban-client set sshd unbanip 10.0.0.66

Inarejesha 1 ikifanikiwa. Ili kufuta kila zuio katika kila jail:

sudo fail2ban-client unban --all

Usiweke tumaini lako kwenye session ya SSH iliyo wazi ili kukuokoa: zuio la nftables hukataa kila pakiti kutoka kwenye anwani iliyozuiwa kwenda kwenye port 22, ikijumuisha miunganisho iliyoanzishwa tayari, kwa hivyo session iliyopo huganda wakati zuio linapoanza. Ikiwa utajizuia mwenyewe na huna ingizo la ignoreip, utafungiwa hadi zuio liishe. Rejesha ufikiaji kupitia console ya wavuti ya mtoa huduma wako (VNC au serial), ambayo haipiti kwenye SSH, na aidha usubiri bantime iishe au uendeshe amri ya unban ukiwa huko.

Hatua ya 7: Fanya marufuku zibaki na ziongezeke

Fail2ban huhifadhi marufuku zinazoendelea kwenye hifadhidata ndogo ya SQLite katika /var/lib/fail2ban/fail2ban.sqlite3, kwa hivyo hazipotei wakati huduma inapoanzishwa upya au seva inapowashwa; hutazipoteza. Mistari ya bantime.increment uliyoongeza tayari humfanya kila anayerudia kosa kukumbwa na tatizo linaloongezeka, likikaribia kuongezeka mara mbili kutoka saa moja hadi kufikia wiki moja.

Kwa sera ya "makosa matatu" ya mfumo mzima juu ya hayo, Fail2ban inakuja na jela ya recidive inayofuatilia /var/log/fail2ban.log yake yenyewe na kutoa marufuku ya muda mrefu kwa anwani yoyote ambayo imepigwa marufuku mara kwa mara katika jela zote. Kwa sababu [DEFAULT] yako sasa inatumia backend ya systemd, elekeza jela hii kwenye faili la logi iliyoundwa kusoma:

[recidive]
enabled  = true
backend  = auto
logpath  = /var/log/fail2ban.log
bantime  = 1w
findtime = 1d
maxretry = 5

backend = auto pamoja na logpath ya wazi huifanya recidive kusoma fail2ban.log ya kawaida, ambapo mistari ya Ban inayohesabiwa huonekana kweli; chaguo-msingi la systemd uliloweka kimataifa lingeelekeza kwenye journal, ambapo mistari hiyo haipo.

Hatua ya 8: Iunganishe na SSH ya ufunguo pekee, na ikiwezekana VPN

Fail2ban inafaa zaidi ikiwa inatumiwa pamoja na uthibitishaji wa ufunguo (key authentication). Kwenye faili ya ziada ndani ya /etc/ssh/sshd_config.d/, tuseme /etc/ssh/sshd_config.d/00-hardening.conf, weka:

PasswordAuthentication no
KbdInteractiveAuthentication no

Kisha sudo systemctl restart ssh. Kwa kuzima nywila, mashambulizi ya brute force hayawezi kufanikiwa hata kidogo; Fail2ban inakuwepo ili kupunguza kelele kwenye log na kuondoa mapema watambazaji (scanners). Njia bora zaidi ni kuweka SSH nje ya Internet ya umma kabisa: weka SSH nyuma ya WireGuard VPN unayojiendeshea na ufunge port 22 kwenye firewall ili ijibu tu kupitia tunnel hiyo. Hakuna mtu anayeweza kufanya brute-force kwenye port asiyoweza kuifikia, na Fail2ban inakuwa kinga ya mwisho badala ya mstari wa mbele.

Fail2ban si kwa ajili ya SSH pekee. Huduma yoyote inayorekodi majaribio yaliyoshindwa ya kuingia inaweza kuwekewa jail, kama vile seva ya barua pepe, tovuti ya nginx, au meneja wa nywila wa Vaultwarden unayojiendeshea ambaye hutaki kuacha login yake ya web wazi kwa mashambulizi ya credential stuffing. Mara tu app ya web inapokaa nyuma ya tovuti ya nginx yenye cheti cha Let's Encrypt, elekeza kichujio (filter) cha Fail2ban kwenye access log yake kwa njia ile ile ambayo jail ya SSH inaelekeza kwenye journal.

Njia za kushindwa, pamoja na maandishi kamili utakayoyaona

"Have not found any log file for sshd jail", na Fail2ban haitaanza. Hili ni tatizo la zamani la auth.log, na kwenye Ubuntu 24.04 utalikuta tu ikiwa kuna kitu kimebadilisha mipangilio chaguo-msingi ya kifurushi, usakinishaji wa pip bila defaults-debian.conf, kontena lisilo na journal, au backend = auto iliyopotea uliyoiweka kwenye jail.local. Kwenye mfumo wa faili bila /var/log/auth.log, jela ya sshd haiwezi kupata logi yake na daemon nzima inajifunga. fail2ban.log inaonyesha:

ERROR   Failed during configuration: Have not found any log file for sshd jail

Kwa sababu kosa hilo ni kubwa, huduma haianzi, na fail2ban-client status kisha inaripoti dalili ya chini:

ERROR  Failed to access socket path: /var/run/fail2ban/fail2ban.sock. Is fail2ban running?

Mstari huo wa "socket path" haumaanishi kuwa Fail2ban imeharibika, inamaanisha haikuanza kwa sababu jela moja haikuweza kupata logi yake. Kuweka backend = systemd kwenye [DEFAULT], jambo ambalo kifurushi cha Ubuntu tayari kinakufanyia, kunarekebisha ujumbe wote kwa wakati mmoja.

Jela inafanya kazi lakini Total failed haisogei. Daemon inaendeshwa na journal inasomwa, lakini makosa halisi yanajilimbikiza kwenye journalctl -u ssh wakati kaunta imekwama kwenye 0. Kwanza ondoa sababu dhahiri: unajaribu kutoka kwa anwani iliyoorodheshwa kwenye ignoreip, kwa hivyo makosa yako mwenyewe hayazingatiwi kwa makusudi. Ikiwa si hilo, uko kwenye toleo la OpenSSH ambapo mfanyakazi wa kila muunganisho ni sshd-session (9.8 na baadaye), ambapo journal _COMM yake ni sshd-session, si sshd, kwa hivyo utafutaji uliopo unaikosa. Panua utafutaji kwenye kizuizi cha [sshd]:

[sshd]
enabled      = true
backend      = systemd
journalmatch = _SYSTEMD_UNIT=ssh.service + _COMM=sshd + _COMM=sshd-session

Anzisha upya, fanya kosa la kuingia kwa makusudi kutoka kwa anwani isiyo kwenye ignoreip, na uthibitishe kuwa Total failed hatimaye inapanda.

Umejipiga marufuku mwenyewe: Connection refused. Uliacha anwani yako nje ya ignoreip, ulijaribu kuingia vibaya mara chache, na sasa:

ssh: connect to host 10.0.0.10 port 22: Connection refused

Kukataa huko, badala ya muda wa kusubiri kimya, ni uamuzi wa reject wa kitendo cha nftables unaofanya kazi yake, kwako. Rekebisha kama ilivyo katika Hatua ya 6: ondoa marufuku kutoka kwa kikao kwenye anwani nyingine isiyo na marufuku, au kutoka kwa konsole ya mtoa huduma, kikao kilichofunguliwa tayari kutoka kwa anwani iliyopigwa marufuku kitaganda pia. Kisha ongeza anwani yako kwenye ignoreip ili isitokee tena.

Fail2ban inasema anwani imepigwa marufuku, lakini bado inaweza kuunganishwa. Kaunta kwenye status sshd inapanda, lakini anwani bado inafika kwenye port 22. Hii ni kutolingana kwa kitendo cha marufuku na firewall, na kwenye Ubuntu 24.04 karibu kila mara inamaanisha ulibadilisha banaction = nftables inayofanya kazi na banaction = iptables-multiport iliyonakiliwa kutoka kwa mwongozo wa zamani, kwenye mashine isiyo na safu ya iptables. fail2ban.log inaonyesha:

fail2ban.actions [812]: ERROR  Failed to execute ban jail 'sshd' action 'iptables-multiport'

Futa mabadiliko hayo na uruhusu kitendo cha nftables kilichokuja na kifurushi kifanye kazi, au, ikiwa unasimamia firewall nzima kupitia ufw na unataka marufuku ionekane huko, weka banaction = ufw kwenye [DEFAULT]. Anzisha upya na uthibitishe kuwa sheria inaonekana na sudo nft list ruleset | grep f2b.

Fail2ban haitaanza baada ya kuhariri jail.local. Kosa la kuandika, kichwa cha habari kisichofaa au thamani mbaya ya muda, hufanya huduma kukataa kuanza. Iambie Fail2ban ikague usanidi kabla ya kuendeshwa:

sudo fail2ban-client -t

Inataja faili na jela yenye tatizo, kwa mfano Errors in jail 'sshd'. Skipping..., kwa hivyo unarekebisha chanzo badala ya kukisia.

FAQ

Je, Fail2ban inayokuja na Ubuntu 24.04 inazuia mashambulizi ya SSH?

Ndiyo. Kifurushi hiki kinakuja na /etc/fail2ban/jail.d/defaults-debian.conf, ambayo huwezesha jela ya sshd, huweka backend = systemd ili isome systemd journal badala ya /var/log/auth.log ambayo haipo, na huweka banaction = nftables ili vizuizi vitekelezwe kupitia firewall halisi ya Ubuntu. Usanidi wa kawaida wa apt install fail2ban hulinda SSH kuanzia boot ya kwanza. Thibitisha hili kwa sudo fail2ban-client status sshd na utafute thamani isiyo sifuri kwenye Total failed.

Kwa nini Fail2ban haizuii chochote kwenye seva yangu?

Ondoa uwezekano wa sababu tatu za kawaida kwa mpangilio huu. Huenda unafanya majaribio kutoka anwani iliyo kwenye ignoreip, ambayo imesamehewa kwa usanidi. Huenda umebadilisha mipangilio chaguo-msingi inayofanya kazi kwa kubandika backend = auto kwenye jail.local kutoka mwongozo wa zamani, jambo linalovuruga usomaji wa journal kwenye image isiyo na auth.log. Au huenda uko ndani ya container isiyo na systemd journal ya kusoma. Angalia Total failed kwenye fail2ban-client status sshd: kama haipandi wakati journalctl -u ssh inaonyesha majaribio yaliyofeli, jela hiyo inasoma mahali pasipofaa.

Ninawezaje kujiondoa kwenye orodha ya vizuizi (unban) kwa IP yangu?

Tekeleza sudo fail2ban-client set sshd unbanip YOUR.IP.HERE, ambayo itarudisha 1 ikifanikiwa, au sudo fail2ban-client unban --all ili kufuta vizuizi vyote. Ikiwa umefungiwa SSH, tumia web console au VNC ya mtoa huduma wako kutekeleza amri hiyo hiyo; kizuizi hukataa kila pakiti kutoka kwa anwani yako kwenda kwenye port 22, kwa hivyo hata session iliyokuwa wazi huacha kufanya kazi. Kisha ongeza anwani yako kwenye ignoreip ili isijirudie.

Kuna tofauti gani kati ya jail.conf na jail.local?

jail.conf huhifadhi mipangilio chaguo-msingi ya Fail2ban na hubadilishwa kila kifurushi kinapopata update, kwa hivyo marekebisho yoyote hapo hupotea. Kifurushi cha Debian/Ubuntu huweka mipangilio yake juu kupitia jail.d/defaults-debian.conf. Mabadiliko yako yanapaswa kuwa kwenye jail.local, ambayo husomwa mwisho na hutumika badala ya nyingine, na ambayo updates hazigusi. Acha jail.conf kama rejeleo la kusoma tu.

Je, Fail2ban inachukua nafasi ya uthibitishaji wa SSH kwa kutumia funguo (key-based)?

Hapana. Fail2ban hupunguza kasi ya majaribio yanayofeli kutoka anwani moja; haifanyi chochote dhidi ya mashambulizi ya polepole na yaliyosambazwa ambapo kila anwani inabaki chini ya kikomo. Uthibitishaji wa funguo pekee (PasswordAuthentication no) hufanya kubahatisha nenosiri kutowezekana kabisa, na Fail2ban kisha hupunguza kelele kwenye logi na kuondoa skana mapema. Tumia zote mbili, na ikiwezekana, weka SSH mbali na Internet ya umma kabisa.