Vigezo vya Mazoea Bora vya FLOSS (Nishani ya Dhahabu)

Hii ni seti ya mazoea bora kwa miradi ya Programu Huru na Zana Huria (FLOSS) ili kupata nishani ya dhahabu ya Mazoea Bora za Open Source Security Foundation (OpenSSF). Unaweza kuonyesha orodha hii na vigezo tu au na taarifa za ziada. Seti kamili ya vigezo pia inapatikana.

Ona mjadala wa vigezo kwa maelezo zaidi kuhusu vigezo hivi.

Dhahabu

Misingi

Mahitaji ya awali

Usimamizi wa mradi

  • Mradi LAZIMA uwe na "bus factor" ya 2 au zaidi. {URL iliyokidiwa} [bus_factor]
  • Mradi LAZIMA uwe na angalau wachangiaji wawili wasiohusika. {URL iliyokidiwa} [contributors_unassociated]

Mengine

Udhibiti wa Mabadiliko

Hifadhi ya chanzo ya kudhibiti toleo ya hadharani

  • Hifadhi ya chanzo ya mradi LAZIMA itumie programu ya kawaida ya kudhibiti toleo linalosambazwa (k.m., git au mercurial). {Sababu iliyokidiwa} [repo_distributed]
  • Mradi LAZIMA utambulishe kazi ndogo ambazo zinaweza kufanywa na wachangiaji wapya au wa mara kwa mara. {URL iliyokidiwa} [small_tasks]
  • Mradi LAZIMA uhitaji uthibitishaji wa mambo mawili (2FA) kwa wasanidi programu ili kubadilisha hifadhi ya kati au kupata data nyeti (kama ripoti za faragha za udhaifu). Utaratibu huu wa 2FA YAWEZA kutumia taratibu bila taratibu za usimbuaji kama SMS, ingawa hii hairuhusiwi. {Sababu iliyokidiwa} [require_2FA]
  • Uthibitishaji wa mambo mawili (2FA) ya mradi INAPASWA kutumia taratibu za usimbuaji ili kuzuia ujigeuzi. Uthibitishaji wa 2FA unaotegemea Huduma ya Ujumbe Mfupi (SMS), peke yake, HAUKIDHI kigezo hiki, kwa kuwa haufichui. {Sababu iliyokidiwa} [secure_2FA]

Ubora

Viwango vya msimbo

  • Mradi LAZIMA uandike mahitaji yake ya kukagua msimbo, pamoja na jinsi ukaguzi wa nambari unafanywa, nini lazima ichunguzwe, na nini kinachohitajika ili ikubalike. {N/A sababu} {URL iliyokidiwa} [code_review_standards]
  • Mradi LAZIMA uwe na angalau 50% ya marekebisho yote yaliyopendekezwa kupitishwa kabla ya kutolewa na mtu mwingine isipokuwa mwandishi, ili kuamua ikiwa ni marekebisho ya manufaa na huru ya masuala yaliyojulikana ambayo yangepingana na ujumuishaji wake {Sababu iliyokidiwa} [two_person_review]

Mfumo wa ujenzi unaofanya kazi

  • Mradi LAZIMA uwe na ujenzi unaorudiwa. Ikiwa hakuna ujenzi unaofanyika (k.m., lugha za uandishi ambapo msimbo wa chanzo unatumika moja kwa moja badala ya kukusanywa), chagua "haihusiki" (N/A). {N/A sababu} {URL iliyokidiwa} [build_reproducible]

Seti ya majaribio otomatiki

  • Seti ya majaribio LAZIMA iweze kuitwa kwa njia ya kawaida kwa lugha hiyo. {URL iliyokidiwa} [test_invocation]
  • Mradi LAZIMA utekeleze ujumuishaji wa kuendelea, ambapo msimbo mpya au uliobadilishwa unajumuishwa mara kwa mara katika hifadhi ya msimbo ya kati na majaribio ya kiotomatiki yanafanywa kwenye matokeo. {URL iliyokidiwa} [test_continuous_integration]
  • Mradi LAZIMA uwe na seti ya majaribio ya kiotomatiki ya FLOSS ambayo inatoa angalau 90% ya ufikio wa tamko ikiwa kuna angalau zana moja ya FLOSS ambayo inaweza kupima kigezo hiki katika lugha iliyochaguliwa. {N/A sababu} {Sababu iliyokidiwa} [test_statement_coverage90]
  • Mradi LAZIMA uwe na seti ya jaribio zilizofanywa kiotomatiki za FLOSS ambazo zinatoa angalau asilimia 80 ya uangaliaji wa tawi ikiwa kuna angalau zana moja ya FLOSS inayoweza kupima kigezo hiki katika lugha iliyochaguliwa. {N/A sababu} {Sababu iliyokidiwa} [test_branch_coverage80]

Usalama

Tumia mazoea mazuri ya msingi ya usimbuaji

  • Programu iliyozalishwa na mradi LAZIMA isaidie itifaki salama kwa mawasiliano yake yote ya mtandao, kama vile SSHv2 au zaidi, TLS1.2 au zaidi (HTTPS), IPsec, SFTP, na SNMPv3. Itifaki zisizo salama kama vile FTP, HTTP, telnet, SSLv3 au mapema zaidi, na SSHv1 LAZIMA zizimwe kwa chaguo-msingi, na kuzimwa tu ikiwa mtumiaji anaisanidi mahususi. Ikiwa programu iliyozalishwa na mradi haiesaidii mawasiliano ya mtandao, chagua "haihusiki" (N/A). {N/A inaruhusiwa} {Sababu iliyokidiwa} [crypto_used_network]
  • Programu iliyozalishwa na mradi LAZIMA, ikiwa inasaidia au inatumia TLS, isaidie angalau toleo la TLS 1.2. Kumbuka kwamba kabla ya TLS kuitwa SSL. Ikiwa programu haitumii TLS, chagua "haihusiki" (N/A). {N/A inaruhusiwa} {Sababu iliyokidiwa} [crypto_tls12]

Utoaji salama dhidi ya mashambulizi ya mtu-katikati (MITM)

  • Tovuti ya mradi, hifadhi (ikiwa inapatikana kupitia wavuti), na tovuti ya kupakua (ikiwa ni tofauti) LAZIMA ijumuishe vichwa muhimu vya kuimarisha na thamani zisizo na ruhusa. {URL iliyokidiwa} [hardened_site]

Masuala mengine ya usalama

  • Mradi LAZIMA uwe umefanya ukaguzi wa usalama ndani ya miaka 5 iliyopita. Ukaguzi huu LAZIMA uzingatie mahitaji ya usalama na mpaka wa usalama. {Sababu iliyokidiwa} [security_review]
  • Taratibu za kuimarisha LAZIMA zitumike katika programu iliyozalishwa na mradi ili kasoro za programu ziwe na uwezekano mdogo wa kusababisha udhaifu wa usalama. {N/A sababu} {URL iliyokidiwa} [hardening]

Uchanganuzi

Uchambuzi wa msimbo wa nguvu za ziada

  • Mradi LAZIMA utumie angalau zana moja ya uchambuzi wenye nguvu kwa toleo lolote lililopendekezwa kuu la uzalishaji wa programu iliyozalishwa na mradi kabla ya kutolewa kwake. {N/A sababu} {Sababu iliyokidiwa} [dynamic_analysis]
  • Mradi INAPASWA kujumuisha madai mengi ya muda wa kutekeleza katika programu inayozalisha na kuangalia madai hayo wakati wa uchambuzi wenye nguvu. {N/A sababu} {Sababu iliyokidiwa} [dynamic_analysis_enable_assertions]