Teknolojia
Kwa nini ulinde nenosiri ikiwa unaweza kuliacha?
Jinsi nilivyotathmini upya mfumo wa kawaida wa ufikiaji wa kiutawala na kwa nini niliamua kushiriki uzoefu huu
Tatizo ambalo tumezoea kulichukulia kuwa la kawaida
Takriban kila programu ya wavuti ina paneli ya usimamizi. Na kwa kawaida, paneli hiyo huwa na anwani ya kuingia, fomu ya uthibitishaji, jina la mtumiaji na nenosiri.
Tumezoea muundo huu kiasi kwamba karibu tumeacha kujiuliza: je, ni lazima kila kitu kifanye kazi hivyo?
Unapokuwa na tovuti moja, tatizo halionekani kuwa kubwa. Unatengeneza nenosiri imara, unawezesha uthibitishaji wa hatua mbili, unaweka kikomo cha majaribio ya kuingia — kisha unaendelea na kazi.
Lakini nini hutokea miradi inapofikia kumi, ishirini au thelathini?
Katika hali yangu, ninazungumzia mfumo ikolojia wa DigiMeld, unaojumuisha zaidi ya miradi thelathini huru ya programu. Kila mmoja una usanifu wake, mantiki ya seva na kiolesura cha usimamizi.
Kwa hiyo, kila mmoja unahitaji utaratibu wa ufikiaji wa kiutawala.
Kwa muda mrefu nilitumia mbinu iliyozoeleka kabisa: vitambulisho tofauti vya akaunti za usimamizi, nywila imara na kuzihifadhi kwenye kivinjari.
Ilifanya kazi.
Lakini wakati fulani nilijiuliza: kwa nini hasa nilazimike kuhifadhi nywila nyingi za usimamizi? Kwa nini nilazimike kulinda si seva pekee, bali pia njia za kuzipata?
Na je, ninaweza kuacha kufanya hivyo?
Nilifikia wazo ambalo baadaye likawa msingi wa suluhisho langu:
Labda tunapaswa kulinda si njia ya kuingia iliyo ya kudumu, bali haki ya kupata ufikiaji wa muda.
Nywila imara haitatui tatizo lenyewe
Teknolojia za kisasa hutuwezesha kuunda nywila zenye entropia ya juu sana. Nenosiri refu la nasibu lililozalishwa ipasavyo karibu haliwezekani kukisiwa kwa kujaribu mchanganyiko wote.
Lakini haijalishi nenosiri ni gumu kiasi gani, lazima lihifadhiwe mahali fulani na kisha litumike.
Unaweza kutumia programu za kusimamia nywila, funguo za maunzi, uthibitishaji wa vipengele vingi na vizuizi vya ziada. Na yote hayo kwa kweli huongeza usalama.
Hata hivyo, muundo wa msingi unabaki pale pale: kuna kiolesura fulani ambacho mtumiaji hutumia kuwasilisha vitambulisho vyake.
Maombi yanaweza kutumwa kwenye kiolesura hicho. Kinaweza kuchunguzwa. Kinaweza kulengwa na mashambulizi ya kiotomatiki.
Unaweza kuficha anwani ya paneli ya usimamizi, kubadilisha njia ya kawaida na mfuatano mrefu wa herufi za nasibu, au kuzuia ufikiaji kwa kutumia IP.
Lakini hapo ndipo swali jipya linapojitokeza: utaihifadhi wapi anwani hiyo, na utaitumiaje?
Na muhimu zaidi — kwa nini uhifadhi njia ya kuingia ya kudumu ikiwa ufikiaji wa kiutawala unahitajika katika nyakati maalumu tu?
Nilifikia wazo ambalo baadaye likawa msingi wa suluhisho langu:
Labda tunapaswa kulinda si njia ya kuingia iliyo ya kudumu, bali haki ya kupata ufikiaji wa muda.
Vipi ikiwa hakutakuwa na ukurasa wa kawaida wa kuingia?
Niliamua kuacha mfumo wa jadi wa uthibitishaji wa kiutawala katika miradi yangu.
Si kuficha tu fomu ya kuingiza jina la mtumiaji.
Si kubadilisha anwani.
Si kubadilisha nenosiri na kuweka jingine gumu zaidi.
Bali kuondoa kabisa hitaji la kuwa na njia ya kuingia kwa nenosiri inayopatikana kila wakati.
Bila shaka, violesura vya usimamizi havikutoweka. Bado vinahitajika ili kusimamia programu.
Kilichobadilika ni namna ya kupata ufikiaji wake.
Sasa, kuingia kwenye paneli za usimamizi za miradi iliyounganishwa hakuhitaji kuingiza jina la mtumiaji na nenosiri lililohifadhiwa.
Badala yake, ninatumia mfumo wangu wa utambulisho na usimamizi wa ufikiaji unaoitwa MeldID.
Wazo lake ni rahisi kiasi: ufikiaji wa kiutawala hutolewa pale tu unapohitajika kweli, kwa mtumiaji mahususi na kwa mradi mahususi.
Zaidi ya hayo, kuwa na akaunti pekee hakumaanishi kwamba mtu ana haki ya kufungua paneli ya usimamizi.
Haki hiyo lazima itolewe kando.
Ufikiaji ambao haukuwepo dakika moja iliyopita
Huenda hii ndiyo sehemu ya kuvutia zaidi ya dhana nzima.
Katika mfumo wa jadi, msimamizi huwa na njia za kuingia zinazopatikana kila wakati. Anaweza kuzitumia leo, kesho au baada ya mwezi, maadamu njia hizo bado ni halali.
Niliamua kubadilisha kanuni hii.
Badala ya vitambulisho vya kudumu vya usimamizi, kuna uwezekano wa muda wa kuanzisha mchakato wa kuingia.
Uwezekano huo huundwa kwa ombi kupitia kifaa cha mkononi kinachoaminika, huwa na sehemu ya nasibu yenye uimara wa kriptografia, na muda wake wa uhalali ni mdogo.
Lakini hata kuwa na kiungo hiki cha muda hakumaanishi moja kwa moja kwamba mtu amepata ufikiaji.
Hili ni jambo la msingi.
Tuseme mtu amepata kiungo hicho kwa namna fulani. Katika mfumo wa kawaida unaotegemea usiri wa anwani pekee, uvujaji huo unaweza kuwa tatizo kubwa.
Katika mfumo wangu, kiungo hicho huruhusu tu kuanzisha mchakato wa uthibitishaji.
Ili kuendelea, idhini tofauti inahitajika kupitia kifaa cha mkononi kinachoaminika chenye MeldID.
Bila uthibitisho unaofaa, kipindi cha usimamizi hakianzishwi.
Ndiyo maana sikichukulii kiungo cha muda kama mbadala wa nenosiri, bali kama mojawapo ya vipengele vya utaratibu wa kutoa ufikiaji.
Kujua pa kwenda na kuwa na haki ya kuingia ni mambo mawili tofauti kabisa.
Simu inakuwa chombo cha kusimamia ufikiaji
Katika mfumo huu, kifaa cha mkononi kina jukumu muhimu zaidi kuliko kuwa tu jenereta ya misimbo ya matumizi ya mara moja.
Kinatumika kuthibitisha vitendo vinavyohusiana na ufikiaji wa kiutawala.
Ninapotaka kufungua paneli ya usimamizi, mfumo huomba uthibitisho kupitia MeldID.
Ninaona ombi husika kwenye kifaa kinachoaminika na kuthibitisha kitendo hicho.
Ni baada tu ya ukaguzi kufanikiwa ndipo mfumo huruhusu kuendelea na mchakato wa kuingia.
Uthibitisho huo unahusishwa na kitendo mahususi, si tu na ukweli kwamba simu imefunguliwa.
Biometriki ya kifaa cha mkononi humthibitisha mtumiaji ndani ya kifaa, huku upande wa seva ukikagua uthibitisho wa kriptografia kutoka kwenye kifaa kilichosajiliwa.
Mbinu hii husaidia kutotegemea nenosiri pekee au ujumbe tu unaodai kwamba mtumiaji amethibitisha kuingia.
Na hapa kuna faida nyingine: vifaa vinavyoaminika vinaweza kusimamiwa.
Kifaa kisipohitajika tena kuthibitisha ufikiaji, hali yake ya kuaminika inaweza kufutwa.
Baada ya hapo, hakiwezi tena kutumika kuthibitisha shughuli husika.
Mfumo mmoja — miradi mingi huru
Nilipoanza kutengeneza utaratibu huu, mojawapo ya kazi muhimu zaidi ilikuwa kuhakikisha kila mradi unaendelea kuwa huru.
Sikutaka kuunganisha paneli zote za usimamizi kuwa programu moja kubwa.
Kila huduma ya DigiMeld inapaswa kuendelea kusimamia mantiki yake, mipangilio, watumiaji na data zake.
Kwa hiyo nilitenganisha majukumu mawili.
MeldID inashughulikia utambulisho na kutoa idhini ya kiutawala.
Nayo miradi yenyewe inawajibika kwa vipengele vyake vya usimamizi na kukagua mamlaka halali.
Matokeo yake ni mfumo wa kati wa kusimamia ufikiaji bila kulazimika kuweka programu zenyewe katika kituo kimoja.
Zaidi ya hayo, ruhusa hutolewa kando.
Msimamizi wa mradi mmoja hapati ufikiaji wa miradi mingine moja kwa moja kwa sababu tu ana akaunti ya MeldID.
Kwa kila eneo la usimamizi, unaweza kubainisha kundi lake la watumiaji walioidhinishwa.
Wakati huohuo, haki za watumiaji wa kawaida na mamlaka ya kiutawala hutenganishwa.
Hili limekuwa na manufaa hasa kwa mfumo ikolojia wenye huduma kadhaa nyingi.
Kwa nini napendelea ufikiaji wa muda kuliko wa kudumu
Kuna kanuni nyingine niliyoamua kwa makusudi kuiweka kwenye mfumo.
Ufikiaji wa kiutawala haupaswi kudumu milele.
Idhini hudumu kwa muda maalumu na huisha bila kujali kama mtumiaji bado anatumia kivinjari.
Ili kuendelea kufanya kazi baada ya muda huo kuisha, utaratibu mpya wa uthibitishaji unahitajika.
Hii huzuia uthibitishaji uliofanyika mara moja kugeuka na kuwa haki inayotumika daima.
Lakini kuweka kikomo cha muda pekee hakutoshi.
Ni muhimu pia kuweza kusitisha mapema ufikiaji ambao tayari umetolewa.
Kwa hiyo, MeldID ina utaratibu wa kati wa kubatilisha idhini za kiutawala.
Idhini inapobatilishwa, miradi iliyounganishwa hupokea tukio husika na kubatilisha vipindi vya usimamizi vinavyohusiana nayo.
Hivyo, usimamizi wa ufikiaji hauishii mtumiaji anapoingia kwa mafanikio.
Kwangu, uwezo wa kubatilisha mamlaka ni muhimu sawa na uwezo wa kuyatoa.
Wakati huohuo, mfumo uliosambazwa lazima uzingatie ucheleweshaji wa uwasilishaji wa matukio, kutopatikana kwa muda kwa baadhi ya vipengele na hali nyingine za uendeshaji. Kikomo cha muda wa vipindi vya ufikiaji hutumika kama kinga ya ziada.
Nini kimebadilika katika kazi ya kila siku?
Kwanza kabisa, sihitaji tena kutegemea nywila za usimamizi zilizohifadhiwa kila mara.
Sihitaji tena kuweka kwenye kivinjari mkusanyiko wa vitambulisho vya kuingia kwenye kila paneli ya usimamizi iliyounganishwa.
Badala yake, nasimamia idhini kupitia utaratibu mmoja.
Ninachagua mradi unaohitajika, ninathibitisha ufikiaji na kuendelea na kazi.
Ufikiaji wa kiutawala usipohitajika tena, unaweza kubatilishwa.
Kinachorahisisha zaidi ni kwamba mradi mpya unapoongezwa, hakuna haja ya kubuni upya mfumo mzima wa uthibitishaji wa kiutawala.
Kinachohitajika ni kuuunganisha na mfumo uliopo na kuweka ruhusa zinazohitajika.
Bila shaka, hii haimaanishi kwamba hatari zote za usalama zimetoweka.
Idhini za muda, vifaa vinavyoaminika, vipindi vya seva na miundombinu ya kati pia vinahitaji kulindwa.
Lakini sihitaji tena kutatua tatizo lilelile la kusimamia nywila za kiutawala kando kwa kila programu.
Na hilo ndilo lilikuwa mojawapo ya malengo yangu ya awali.
Je, teknolojia kama hizi hazipo tayari?
Bila shaka zipo.
Uthibitishaji bila nenosiri, usimamizi wa ufikiaji wa upendeleo, idhini za muda na uthibitishaji kupitia vifaa vinavyoaminika vimejulikana kwa muda mrefu katika tasnia ya usalama wa taarifa.
Mbinu hizi hupatikana katika mifumo ya Identity and Access Management, Privileged Access Management na dhana za Zero Trust.
Sidai kuwa nimevumbua kanuni hizi.
Kazi yangu ilikuwa tofauti.
Nilihitaji kutengeneza mfumo wangu mwenyewe uliounganishwa, unaotatua changamoto mahususi za miundombinu ya DigiMeld na kuruhusu kusimamia ufikiaji wa kiutawala katika miradi mingi huru.
Matokeo yake, niliunganisha mbinu kadhaa zinazojulikana katika usanifu mmoja unaokidhi mahitaji yangu.
Na ninaamini kwamba thamani ya kazi ya uhandisi haiko lazima katika kuvumbua teknolojia mpya kabisa.
Wakati mwingine, thamani yake huwa katika kueleza tatizo kwa usahihi na kupata suluhisho linalolifaa.
MeldID si ya paneli za usimamizi pekee
Hapa ni muhimu kutoa ufafanuzi tofauti.
MeldID haikuundwa tu kama chombo cha kupata ufikiaji wangu binafsi wa kiutawala.
Pia huwapa wasanidi programu SDK ya kuunganisha mifumo ya utambulisho na uthibitishaji wa kuingia kwenye programu zao wenyewe.
Zaidi ya hayo, SDK hiyo inapatikana bila malipo.
Kwa mfano, msanidi programu mwingine anaweza kutumia MeldID kama hatua ya ziada ya kuthibitisha idhini ya mtumiaji.
Hata kama programu bado inatumia mfumo wa jadi wa kuingia kwa jina la mtumiaji na nenosiri, kuingiza taarifa hizo kwa usahihi huenda kusitoshe kukamilisha uthibitishaji.
Mtumiaji hupokea ombi kwenye kifaa cha mkononi kinachoaminika, ambapo anaweza kuthibitisha au kukataa jaribio la kuingia.
Hii husaidia kupunguza hatari ya ufikiaji usioidhinishwa endapo vitambulisho vya akaunti vitaathirika.
Ni muhimu kutofautisha kipengele hiki cha MeldID kinachopatikana kwa wote na mfumo wa ufikiaji wa kiutawala nilioutengeneza kwa ajili ya miradi ya DigiMeld.
Vinatumia kanuni zinazofanana za uaminifu na uthibitishaji wa vitendo, lakini vinatatua matatizo tofauti.
Usalama si kulinda tu kilichopo
Kufanya kazi kwenye mfumo huu kulinifanya niangalie kwa namna tofauti mifumo ya kawaida ya uthibitishaji.
Mara nyingi tunajaribu kulinda vitu vilivyopo kwa sababu za kihistoria.
Tunaongeza ukaguzi mpya, vizuizi, nywila za ziada na tabaka za ulinzi.
Wakati mwingine hilo huwa la lazima kweli.
Lakini wakati mwingine ni bora kuuliza swali tofauti:
Je, utaratibu tunaoulinda lazima uendelee kuwepo katika umbo lake la zamani?
Katika hali yangu, jibu lilikuwa hapana.
Sikuhitaji fomu ya kuingia ya kiutawala inayopatikana kila wakati.
Nilihitaji uwezo wa kupata mamlaka ya kiutawala kwa usalama, hasa pale inapohitajika.
Hayo ni mambo mawili tofauti.
Na kuhamia kutoka la kwanza hadi la pili kulibadilisha si usanifu wa kiufundi pekee, bali pia namna ya kila siku ya kufanya kazi na miradi.
Si mwisho, bali mwelekeo uliochaguliwa
Leo, usanifu huu tayari unafanya kazi katika sehemu kubwa ya mfumo ikolojia wa DigiMeld.
Miradi iliyobaki inahamishiwa hatua kwa hatua kwenye mfumo mpya wa ufikiaji wa kiutawala.
Ninatekeleza uhamishaji huo kwa hatua, nikikagua utendaji wa kila programu, na baada ya kukamilisha mabadiliko hayo ninapanga kufanya ukaguzi wa ziada wa mfumo mzima.
Baadhi ya vipengele vya kiolesura na kanuni za kusimamia vipindi vya ufikiaji bado vinaweza kubadilika.
Lakini wazo kuu tayari limewekwa.
Sitaki kurudi kwenye mfumo ambao ungenifanya nihifadhi na kutumia daima nywila nyingi za usimamizi ili kusimamia miradi yangu mingi.
Wakati huohuo, sioni utekelezaji wangu kama suluhisho linalofaa kwa kila mtu.
Mashirika tofauti yana mahitaji, miundombinu, mifumo ya vitisho na mbinu za usimamizi tofauti.
Kinachofaa na kinachokuwa na mantiki kwa mfumo ikolojia wa DigiMeld huenda kisiwe chaguo bora kwa msanidi programu mwingine.
Hata hivyo, kanuni ya kutoa mamlaka kwa muda inastahili kuzingatiwa.
Kwa kumalizia
Niliamua kushiriki uzoefu huu si kwa sababu najiona kuwa mvumbuzi wa njia mpya ya uthibitishaji.
Wala si kwa sababu nataka kuwasilisha mfumo mwingine kana kwamba hauna dosari za usalama.
Usalama kamili haupo.
Kinachonivutia tu ni namna swali lenyewe linavyowekwa.
Badala ya kuendelea kulinda njia ya kuingia ya kiutawala iliyo ya kudumu, tunaweza kutathmini upya kama inahitaji kuwepo.
Badala ya kuhifadhi nywila nyingi — tumia idhini za muda.
Badala ya kutoa uaminifu wa moja kwa moja baada ya uthibitishaji wa kwanza — thibitisha utoaji wa mamlaka mahususi.
Badala ya kusubiri kipindi cha ufikiaji kiishe — weka uwezekano wa kubatilisha ufikiaji kutoka sehemu moja ya kati.
Na hatimaye, badala ya kuwa na utaratibu tofauti wa kuingia kwa kila mradi — jenga mfumo mmoja wa kusimamia idhini ya kiutawala huku programu zikiendelea kuwa huru.
Sidai kwamba mbinu hii huondoa uwezekano wa mfumo kuathiriwa.
Inahamisha tu mkazo kutoka kwenye kulinda vitambulisho vinavyokuwepo daima hadi kwenye kutoa na kusitisha mamlaka kwa njia inayodhibitiwa.
Labda wakati mwingine njia bora zaidi ya kupunguza eneo linaloweza kushambuliwa si kuongeza utaratibu mwingine wa ulinzi, bali kuacha kutumia kitu ambacho mfumo unaweza kufanya kazi bila hicho.
Wazo hili ndilo lililoanzisha kwangu hadithi ya MeldID Admin Gateway.