Hakuna kitu ndani ya fail2ban kinachotupa pakiti chenyewe: huita kitendo, na kitendo hicho ndicho kinachotaja itifaki na bandari. Wakati jail inaripoti ban wakati daemon inaendelea kukubali kuingia, ban kwa kawaida huwa ya kweli na nyembamba kuliko logi inavyodokeza. Mteja anayeunganisha tena kupitia usafirishaji mwingine hukutana kamwe na sheria iliyowekwa. Linganisha kile kitendo kiliweka na kile daemon inasikiliza kabla ya kubadilisha chochote, kwa sababu ushahidi uko kwenye mnyororo wa firewall ambao kitendo kiliandika, si kwenye orodha ya jail.

Soma mnyororo, si muhtasari wa jail

fail2ban huingiza mnyororo wake mwenyewe mbele ya mnyororo wa huduma, kwa hiyo orodha ya vihesabu inaonyesha hasa kilichopo. Mnyororo uliopewa jina la jail, ukishikilia sheria moja ambayo safu yake ya itifaki inasoma udp, ni maelezo kamili kwa kuingia kwa TCP kunakoendelea kufika. Ni pakiti za UDP tu kutoka chanzo kilichozuiwa zinazokataliwa. Huduma ina msikilizaji wa TCP, na hakuna kitu kwenye mnyororo huo kinachomgusa.

Angalia pia athari ya jail jirani. Mwenyeji mmoja anaweza kuonekana amesanidiwa kikamilifu kwa sababu tu jail nyingine inatoa nusu inayokosekana, na build hiyo hiyo haifanyi chochote mahali ambapo jail hiyo haijasakinishwa.

Kitendo hutaja itifaki moja, na hapo ndipo kinapovunjika

Kila banaction ni kiolezo cha amri ya firewall, na itifaki iko kwenye mojawapo ya nafasi zake. Uwembamba ni wa kukusudia, kwa kuwa jail ya wavuti na jail ya DNS hazina shughuli na kuzuia bandari zinazolingana. Inakuwa mtego wakati huduma inasikiliza zaidi ya usafirishaji mmoja, jambo ambalo daemon za VPN hufanya mara kwa mara. Kichujio kinaweza kufuatilia kuingia kushindikana kutoka usafirishaji wote wawili wakati kitendo kinashughulikia mmoja.

Usakinishaji wa SoftEther na OpenVPN kwa kawaida husikiliza UDP na TCP kwa wakati mmoja, na kwa kuwa mstari wa logi unaonekana sawa katika hali zote mbili kichujio kinafuatilia zote mbili. Utengano huo hauonekani kamwe kwenye ripoti ya jail yenyewe. fail2ban ilihesabu kushindikana kwa usahihi kisha ikasakinisha sheria inayotumika kwa nusu ya trafiki ambayo kushindikana hizo zilifika juu yake.

Ifanye ban ifunike usafirishaji wote wawili

Rekebisha katika ufafanuzi wa jail badala yake; sheria zilizoandikwa kwa mkono zitachanganywa kwenye upakiaji upya unaofuata. Andika vitendo viwili, kimoja kwa kila itifaki:

action = %(banaction)s[name=%(__name__)s-tcp, actionname=%(__name__)s-tcp, protocol="tcp", port="%(port)s", chain="%(chain)s"]
         %(banaction)s[name=%(__name__)s-udp, actionname=%(__name__)s-udp, protocol="udp", port="%(port)s", chain="%(chain)s"]

Usijaribu kufupisha hilo kwa protocol = all. banaction chaguo-msingi ni kitendo cha multiport, na kinapanuka hadi -p <protocol> -m multiport --dports <port>; bila itifaki ya L4 hakuna kitu cha kulinganisha bandari kujaribu, kwa hiyo iptables inakataa sheria wakati jail bado inaripoti ban iliyofanikiwa. Kitendo cha bandari zote kama iptables-allports au nftables-allports kinakubali kiingilio kimoja, lakini kinazuia kila bandari kwenye chanzo hicho, jambo ambalo ni uamuzi tofauti na linahitaji uhalali wake. Acha protocol kwenye tcp au udp na ukubali viingilio viwili.

Thibitisha kuwa sheria ipo badala ya kuamini mpangilio, kwa sababu mpangilio unaelezea nia hadi mnyororo uishikilie:

iptables -S f2b-vpn-tcp
iptables -S f2b-vpn-udp

Kila mnyororo unapaswa kuorodhesha sheria moja, ukiwa na -p tcp kwenye wa kwanza na -p udp kwenye wa pili, na zote mbili zikitaja anwani iliyozuiwa. Kisha thibitisha kuwa anwani hiyo hiyo inakataliwa kwenye usafirishaji wote wawili. Ban usiyoiona kwenye mnyororo ni matumaini, na ripoti inayofuata ya dalili hiyo hiyo itagharimu saa hiyo hiyo tena.

Kile ambacho ban bado inakosa, na kesi inayofuata

Kitendo hufanya ni kukataa chanzo kimoja, na kwenye bandari zilizoorodheshwa ndani yake pekee. Haifanyi chochote dhidi ya mshambuliaji anayebadilisha anwani, na haiwezi kutenganisha mashine adui na njia ya kutoka ya NAT ya kiwango cha mtoa huduma inayoshirikiwa na mamia ya watumiaji, ambapo ban moja huwazuia watu ambao hawakufanya chochote. Hakikisha kichujio kinasoma anwani ambayo mteja anayo kweli, si kichwa kilichopitishwa au anwani ya proksi. Weka dirisha fupi vya kutosha ili kosa liishe lenyewe.

Hakuna hata moja ya haya inayotetea kuruka marekebisho ya itifaki; inatetea kushikilia mawazo mawili kwa wakati mmoja. Ban ni nyembamba kuliko muhtasari wa jail unavyodokeza, na hata ban kamili ni nyembamba kuliko tishio. Weka mnyororo wa firewall kando ya orodha ya visikilizaji vya daemon na ulinganishe itifaki kwa itifaki, kwa sababu orodha hizo mbili huamua ikiwa ban inaweza kufikia huduma kabisa.

Weka amri ya upakiaji upya na orodha ya minyororo kwenye runbook kando ya jail. Mtu anayefuata atahitaji zote mbili, na muhtasari wa jail hautamwambia hata moja.

Makala zinazohusiana