Architecture Decision Record

Active theme: Light

← Mifano ya rekodi za maamuzi

Uhifadhi wa siri

Yaliyomo:

Muhtasari

Suala

Tunahitaji kuhifadhi siri, kama nywila, funguo za kibinafsi, tokeni za uthibitishaji, n.k.

Baadhi ya siri zinalenga mtumiaji. Kwa mfano, mwundaji wetu anataka kuweza kutumia simu yake ya mkononi kutafuta nywila ya huduma.

Baadhi ya siri zinalenga mfumo. Kwa mfano, mfereji wetu wa utoaji endelevu unahitaji kuweza kutafuta vitambulisho vya upangishaji wetu wa wingu.

Uamuzi

Bitwarden kwa siri zinazolenga mtumiaji

Vault by HashiCorp kwa siri zinazolenga mfumo.

Hali

Imeamuliwa. Tuko wazi kwa njia mbadala mpya zitakapojitokeza.

Undani

Dhana

Kwa madhumuni haya, na hali yetu ya sasa, tunathamini urahisi unaolenga mtumiaji, kama programu za simu zinazotumika.

  • Tunataka kuhakikisha upatikanaji wa haraka na rahisi popote tulipo, kama kwa mwundaji anayefanya uhandisi wa kuegemewa kwa mifumo akiwa zamu.

  • Tunataka kuweza kushiriki baadhi ya siri miongoni mwa watu waliochaguliwa, kama timu.

Hatujaribu kutatua kwa mtoa huduma mmoja, kama kuhifadhi siri zote kwa pekee kwenye Amazon au Azure au Google.

Hatutaki mbinu za kubahatisha kama "ikumbuke" au "iandike kwenye kidokezo" au "tafuta njia yako mwenyewe ya kuihifadhi".

Mfumo wetu wa usalama kwa madhumuni haya unakubali kutumia wauzaji wa COTS wanaoheshimika, kama zana za SaaS za usimamizi wa nywila.

Vikwazo

Hivi sasa tunataka kitu rahisi yaani hakuna haja ya kuandika msimbo, hakuna haja ya kusakinisha seva, hakuna haja ya kujitolea kwa kiasi kikubwa, hakuna haja ya kusanifisha kila mtu.

Misimamo

Tulizingatia:

  1. Wasimamizi wa nywila wa tayari-kutumia wanaolenga mtumiaji: LastPass, 1Password, Bitwarden, Dashlane, KeePass, pass, GPG, n.k.

  2. Wasimamizi wa nywila wa COTS wanaolenga mfumo: AWS KMS, Vault by HashiCorp, EnvKey, Secret Server by Thycotic, Devolutions Password Server, Confidant by Lyft.

  3. Mbinu zinazolenga ushiriki: kutumia hati ya Google iliyoshirikiwa, au chaneli ya Slack iliyoshirikiwa, au folda ya mtandao iliyoshirikiwa, n.k.

  4. Mbinu za kubahatisha zenye teknolojia ya chini, kama kukumbuka, kuandika kidokezo, au kutegemea kila mtumiaji kutafuta njia yake mwenyewe.

Hoja

Bitwarden, LastPass, 1Password, na Dashlane zote ni bidhaa za kibiashara za tayari-kutumia.

  • Aina zinazofanana za vipengele kwa watumiaji, timu, mashirika, n.k.

  • Uwezo wa kompyuta ya mezani kwa Windows na Mac, na uwezo wa simu kwa Android na iOS.

  • Viendelezi vya kivinjari kwa Chrome na Firefox, kwa ujazaji wa kiotomatiki wa fomu, n.k.

Bitwarden ina faida mbili juu ya zingine:

  • Bitwarden ni chanzo huria, ambayo inamaanisha usalama unaweza kupitiwa na wenzao na pia kampuni inathaminiwa kwa upana na waundaji wanaozingatia usalama.

  • Hadithi za wafanyakazi wa programu zinaeleza upendeleo mkubwa wa Bitwarden kuliko zingine.

Makala ya kawaida nzuri: https://jcs.org/2017/11/17/bitwarden

Tovuti ya kawaida ya kupiga kura ubavu kwa ubavu: https://stackshare.io/stackups/bitwarden-vs-dashlane

Tunaahirisha KeyPass, pass, GPG, n.k. kwa sababu kuna utata wa ziada. Zote hizi zinaonekana suluhisho nzuri kwa watumiaji wa kiufundi. GPG inaonekana nzuri hasa kwa watumiaji wa kiufundi wanaotaka uwezo wa kuzingatia amri katika mifumo mbalimbali.

Tunaahirisha KMS kwa sababu ina kufungwa kwa mtoa huduma mmoja.

Tunachagua Vault kwa mahitaji yanayolenga mfumo, kwa sababu mapitio ni chanya kwa kustaajabisha, na kwa sababu HashiCorp ina rekodi bora ya programu na usaidizi wa ubora wa juu.

Tunakataa kwa kura ya turufu mbinu za ushiriki kama kupitia hati zilizoshirikiwa, chaneli zilizoshirikiwa, folda za mtandao zilizoshirikiwa, n.k. Hizi hazitoi sifa za usalama tunazotaka.

Tunakataa kwa kura ya turufu mbinu za kubahatisha zenye teknolojia ya chini, kwa sababu sote tunakubali kwamba si njia ya kusonga mbele ya muda mrefu.

Athari

Waundaji wanaweza kuhitaji kufuatilia siri katika sehemu mbili: Bitwarden kwa ufikiaji unaolenga mtumiaji, na Vault kwa ufikiaji unaolenga mfumo.

Yanayohusiana

Maamuzi yanayohusiana

Uamuzi wa seva ipi ya CI/CD lazima ujumuishe uthibitisho wa uwezo wa kufikia siri.

Tutahitaji kuamua jinsi ya kusimamia siri, kwa upande wa sera, mizunguko, mashirika, n.k.

Mahitaji yanayohusiana

Siri zitakuwa na mahitaji yanayohusiana kwa utiifu, ukaguzi, na kuwapokea/kuwaondoa wafanyakazi katika HR.

Vielelezo vinavyohusiana

Tunatarajia tunaweza kusafirisha baadhi ya siri kwenye vigeu vya mazingira.

Kanuni zinazohusiana

Inayoweza kurudishwa kwa urahisi.

Sambamba kwa urahisi yaani ni rahisi kutumia aina mbalimbali za wasimamizi wa nywila.

Nafuu kujaribu yaani kuna jaribio la bure na hakuna kujitolea.

Maelezo ya ziada

Maelezo ya tathmini hapa. Maelezo yote ni maoni ya umma kwenye mabaraza mbalimbali ya mijadala ya devops.

Vault by HashiCorp

Vault ndiyo hasa unayotaka hapa.

Usitupe tu Vault kwenye uzalishaji, hata hivyo, iinue kwanza katika mazingira ya majaribio, kwa sababu nyaraka za HashiCorp zinaweza kuwa pungufu sana hata kama bidhaa zao ni za kustaajabisha.

Mkondo mkali sana wa kujifunza na si jambo dogo kuiinua.

Usanidi wa awali ni usumbufu kiasi. Hata hivyo una thamani kubwa, na jamii itaiunga mkono vya kutosha ili ufanikiwe.

Nyaraka mbaya sana lakini kuna miongozo mingi mtandaoni ya watu wanaoisanidi na ukiunganisha michache yao utakuwa na usanidi unaofanya kazi.

Usanidi wa awali ulihitaji kuchezea chati zao za helm (vault na consul). Ingawa kiufundi unaweza kutumia sehemu nyingi nyingine za nyuma, kwa kweli sipendekezi kabisa. Sehemu ya nyuma/consul inaweza kuwa ndogo kabisa kama huna data nyingi ya kuhifadhi.

Hakika zoea/fahamu kutumia CLI, kwa sababu GUI ni zaidi kama uthibitisho-wa-dhana/lango la matangazo kwa toleo lao la biashara.

Ukweli kwamba huwezi tu "kuijaza" ni usumbufu. Kwa mfano ukiwa na sehemu 5 unahitaji kuongeza kwa mkono kila sehemu kwa kila kipengee. Kwa hivyo si kama unafafanua sehemu mapema kwa kategoria maalum, na kujaza sehemu hizo kwa vipengee vyote katika kategoria hiyo, ni zaidi kama "unazalisha kila kitu kila wakati", ambacho (kwa mtazamo wangu) ni usumbufu mkubwa.

Unaweza pia kutaka kuangalia goldfish kama UI juu ya vault. Inafanya iwe nzuri kiasi kuwashawishi timu yako. Pia wana onyesho. 1. Weka consul. 2. Weka vault ikielekeza kwa consul. 3. Weka goldfish ikielekeza kwa vault. 3. Weka kazi ya cron kuendesha consul snapshot kwa nakala rudufu.

LastPass

LastPass Teams. Tunaitumia, ina violezo maalum, ACL, hakuna kinachokosekana kwa maoni yangu.

Nilitekeleza LastPass katika shirika langu na naipa C+/B-. Suala kubwa zaidi hivi karibuni ni ukosefu wa kuegemewa. Katika siku 90 zilizopita kumekuwa na saa nyingi ambapo vault zililazimishwa kuwa katika hali ya nje ya mtandao. Hii si bora kwa shirika langu kwa kuwa tuna, kihalisi, nywila 4,000+ zilizohifadhiwa katika folda 20+ zilizoshirikiwa. Kama unavyoweza kufikiria na nywila nyingi hivyo angalau chache husasishwa au kuongezwa kila siku. Tuna mpango wa DR ikiwa matatizo yanadumu zaidi ya saa moja au mbili: hati husaini na kusimba nakala ya CSV ya vault kila usiku inayoweza kuingizwa kwenye keepass.

LastPass imekuwa na hitilafu zisizoripotiwa za huduma iliyoshuka: kuingia 'kunafanya kazi' lakini hakuvuti tovuti, vipengele vya nasibu vimeharibika kwenye paneli ya usimamizi, na kutoshiriki funguo ipasavyo kwa folda mpya zilizoshirikiwa za kiwango cha juu. Nina mtumiaji maalum wa 'kusukuma funguo'/nakala rudufu aliye katika kila kikundi. Kwa kawaida kuingia kama mtumiaji huyo hurekebisha matatizo yoyote ya kushiriki funguo lakini si huduma inapokuwa imeshuka licha ya kile ukurasa wa hali unachosema...

Kwa ujumuishaji inaweza kuwa rahisi ikiwa una ACL sahihi zenye modeli ya haki ndogo kabisa mf. ikiwa mtumiaji ana kusoma na kuandika na kusoma tu kwenye kipengee au folda anapata ruhusa za kusoma tu. Kwa bahati mbaya ACL za shirika langu si bora, kwa hivyo niliishia kutumia JSON provisioning API na ~mistari 500 ya python kwa sababu ya asili tegemezi ya mamia ya ACL zetu kutoendana vizuri na modeli ya haki ndogo kabisa. Niliishia kupata ACL zote ambazo mtumiaji alikuwamo na kufanya aina ya matembezi ya utegemezi.

Ikiwa muundo wako wa ACL au vikundi tayari umejengwa kwa kuzingatia muundo wa haki ndogo kabisa, zana ya usawazishaji ya AD/LDAP kwa Windows itafanya kazi vizuri.

Wasiliana na timu yao ya mauzo na wanaweza kukupa jaribio refu zaidi la Enterprise. Hakikisha unaelewa kikamilifu mapungufu yake kabla ya kuchukua hatua. Tulikuwa na maumivu mengi ya ukuaji lakini mbali na kukatika au kudhoofika kwa upande wa seva imekuwa laini kwa kustaajabisha.

Bitwarden

Bitwarden ina zana nzuri kuizunguka (WebUI, CLI, Simu, Kompyuta ya mezani). Inaweza kupangishwa binafsi na ni rahisi kiasi kusanidi. Nyaraka nzuri kiasi na zana inayopendekezwa na PrivacyTools.

EnvKey

https://www.envkey.com/ Ni saas. Rahisi sana kutekeleza, kuunganisha na kusimamia.

Vipengele:

  • Linda funguo za API na vitambulisho.

  • Weka usanidi ukilingana kila mahali.

  • Usimamizi mahiri wa usanidi na siri uliosimbwa mwanzo-hadi-mwisho.

  • Zuia ushiriki usio salama na kusambaa kwa usanidi.

  • Unganisha kwa dakika.

Uwezo:

  • Simamia usanidi na viwango vya ufikiaji kwa programu zako zote, mazingira, na timu mahali pamoja.

  • Sanidi mazingira yoyote ya uundaji au seva kwa kigeu kimoja tu cha mazingira.

Faida:

  • Ukurasa mzuri wa nyumbani.

  • Pendekezo wazi la thamani.

  • Programu ya wavuti bora kwa mwonekano.

  • Data ya mfano bora k.m. Algolia, AWS, Datadog, GitHub, Stripe, n.k.

  • Nilizungumza na mwanzilishi kwa dakika 30 kuhusu kampuni, UI, n.k. Dane anaonekana mwenye ufahamu mzuri, mkweli kuhusu faida/hasara, na mshirika anayewezekana.

  • Kampuni kimsingi ni kampuni ya kawaida ya Y Combinator, ikiwa na mwanzilishi 1. Ilikusanya $120K mnamo 2018-01.

  • Mkazo ni kufikia vipengele vya biashara, hasa kuhama kutoka upangishaji wa wingu wa EnvKey kwenda aidha ndani ya majengo au BYOC.

  • Njia inayowezekana ya mbele ikianza na EnvKey kwa urahisi wa matumizi, kisha baadaye (au sambamba) kuongeza Vault.

Confidant by Lyft

https://lyft.github.io/confidant/

Confidant ni huduma ya usimamizi wa siri ya chanzo huria inayotoa uhifadhi na ufikiaji rafiki kwa mtumiaji wa siri kwa njia salama, kutoka kwa waundaji wa Lyft.

Uthibitishaji wa KMS: Confidant hutatua tatizo la kuku-na-yai la uthibitishaji kwa kutumia AWS KMS na IAM kuruhusu majukumu ya IAM kuzalisha tokeni salama za uthibitishaji zinazoweza kuthibitishwa na Confidant. Confidant pia husimamia ruzuku za KMS kwa majukumu yako ya IAM, ambayo inaruhusu majukumu ya IAM kuzalisha tokeni zinazoweza kutumika kwa uthibitishaji wa huduma-hadi-huduma, au kupitisha ujumbe uliosimbwa kati ya huduma.

Usimbaji wakati wa kupumzika wa siri zenye matoleo: Confidant huhifadhi siri kwa njia ya kuongeza-tu katika DynamoDB, ikizalisha ufunguo wa kipekee wa data wa KMS kwa kila marekebisho ya kila siri, kwa kutumia kriptografia ya ulinganifu iliyothibitishwa ya Fernet.

Kiolesura cha wavuti rafiki kwa mtumiaji cha kusimamia siri: Confidant hutoa kiolesura cha wavuti cha AngularJS kinachowaruhusu watumiaji wa mwisho kusimamia kwa urahisi siri, ramani za siri kwa huduma na historia ya mabadiliko.

Devolutions Password Server

https://server.devolutions.net/

Linda, simamia, na fuatilia ufikiaji wa akaunti zenye haki maalum na vikao.

Vault kamili ya nywila yenye usalama wa hali ya juu inayokuwezesha kudhibiti ufikiaji wa akaunti zako zenye haki maalum, huku pia ikiboresha mwonekano wa jumla wa mtandao kwa wasimamizi wa mifumo na kutoa uzoefu usio na mshono kwa watumiaji wa mwisho.

Vipengele: vault ya nywila ya shirika ya kati, vault ya kibinafsi mahsusi ya mtumiaji, msimamizi wa nywila, uingizaji wa vitambulisho, ujumuishaji wa Active Directory, udhibiti wa ufikiaji unaotegemea jukumu, uthibitishaji wa vipengele viwili, tayari kwa biashara, vikwazo vya IP, uwezo wa usimamizi, kizalishaji kiotomatiki cha nywila, ufikiaji wa programu ya simu, historia ya nywila, ripoti za ufikiaji, tahadhari za barua pepe.

  • inasaidia usimbaji wa data

  • inasaidia mipango mingi ya Uthibitishaji ikiwa ni pamoja na LDAP, O365, na watumiaji wa Mahali KWA usaidizi wa MFA kutoka vyanzo vingi

  • hifadhi/vault nyingi zenye udhibiti mwembamba wa ufikiaji kwa timu nyingi

  • UI ya kisasa ya Wavuti

  • vault za kibinafsi za vitambulisho na miunganisho kwa vitambulisho/miunganisho ya kibinafsi

  • programu za simu za IOS/Android

  • kumbukumbu za ukaguzi kwa kila kiingilio, nani/nini/lini na kidokezo cha hiari cha kwa nini wanafikia

  • violezo vinavyoweza kubinafsishwa (ingawa vinasaidia mamia ya aina za miunganisho asilia)

  • vipengele vingi zaidi na mteja mzito wa Windows/Mac (Remote Desktop Manager) unaoweza kusawazisha unaopanua chaguo kwa kiasi kikubwa...miunganisho ya kubofya mara moja

  • bei si mbaya sana - hadi watumiaji 15 ni $500 kwa mwaka kwa seva ya nywila

Secret Server by Thycotic

https://thycotic.com/products/secret-server/

Vipengele vya toleo la ndani ya majengo:

  • Udhibiti kamili wa mifumo na miundombinu yako ya usalama mwanzo-hadi-mwisho

  • Weka programu ndani ya kituo chako cha data cha ndani ya majengo au tukio lako mwenyewe la wingu binafsi pepe

  • Timiza wajibu wa kisheria na wa udhibiti unaohitaji data na mifumo yote kukaa ndani ya majengo

Vipengele vya toleo la wingu:

  • Modeli ya programu-kama-huduma inakuwezesha kujisajili na kuanza mara moja

  • Uwezo wa kupanuka kwa unyumbufu unavyokua

  • Vidhibiti na uwiano unaotolewa na Azure na SLA ya 99.9% ya upatikanaji

Mrejesho wa watumiaji:

  • Tulikuwa tukitumia bidhaa hiyo. Ilikuwa rahisi mno kuipita na sheria zinafanya kazi tu kwa watu werevu. Watumiaji wavivu au wajinga wanaweza kuiharibu kwa urahisi katika eneo la timu. Bei zinaweza kujadiliwa unapozungumza nao.

  • Unaweza kuiendesha ukitumia SQL express na kompyuta ya Win 7.

  • Nafuu.