Küsimus:
Kas ma saan sotsiaalse platvormi ehitamisel usaldada avalikke koodiversioonide platvorme?
ooouuiii
2019-02-03 20:45:18 UTC
view on stackexchange narkive permalink

Töötame välja omamoodi sotsiaalse platvormi. See algab piiratud kasutajate jaoks suletud beetaversioonina, kuid eesmärk on jõuda miljonitesse tellimustesse.

Praegu on meil piiratud ressursse, nii infrastruktuuri kui ka nt. DevOps. Seega kasutame meie lähtekoodi versioonide versioonimiseks GitLabi.

Oletame, et me teeme selle ja mõne aasta pärast on teenusel miljon kasutajat. Kuidas suhtute GitLabi kasutamisse lähtekoodi versioonimisel selles etapis? Kas näete selles olulist turvaohtu? Mõni kaalutluspõhjus:

  • puudub reaalne garantii, et GitLabi töötajad ei saaks allikat uurida ega leida turvaauke ega mõnda tundlikku konfiguratsiooni.
  • GitLabi töötajad võiksid müüa lähtekood mõnele kolmandale osapoolele
  • GitLab võib olla sunnitud pakkuma lähtekoodi mõnele valitsusele, ilma et me seda teaksime

Ma tean, et punktid kõlavad paranoiliselt. Võrgu eesmärk on täiesti seaduslik ja eetiline, kuid usun, et kõik sellised teenused peavad kaitsma kasutajate privaatsust. Plaan on hiljem kolida oma privaatserveritesse, kuid peame siiski midagi alustama.

Nii et kas teie arvates on projekti algusfaasis OK kasutada privaatseid GitLabi või Bitbucketi hoidlaid või on kas see on lubamatu turvaoht?

Kohustustest loobumine: Ma ei väida, et GitLab teeks midagi kirjeldatust.

Mõni inimene võib öelda, et "... kõik sellised teenused peavad kaitsma kasutajate privaatsust." Lähtekoodi privaatsena hoidmine on vastuolu.Privaatsuse austajad pole suletud lähtekoodiga tarkvarast päris metsikud.
_ "uurige allikat ja leidke [...] mõni tundlik konfiguratsioon." _ - (tundlik) konfiguratsioon ei tohiks kõigepealt olla allikahoidlas;)
Pange tähele, et kui olete tõesti mures, võite võõrustada oma GitLabi või muud platvormi.Te nimetate probleemina infrastruktuuri, kuid seda saab hõlpsasti teha tasuta hostimisplatvormil.
"Koodi müümise" seaduslikkus kuulub teie kasutatava koodilitsentsi ja Gitlabi teenusetingimuste alla.Samuti peate järgima mis tahes rahva seadusi, kelle jurisdiktsioon koodeksi üle kuulub (ma pole detailides kindel)
Täiesti seaduslikku ja eetilist sotsiaalset platvormi pole olemas.Kui see muutub populaarseks, meelitab see inimesi paljudest riikidest ja riikides on erinevad seadused, mis pole alati ühilduvad.Ja inimestel on erinevad ideed eetilisest.Ja ärgem ignoreerimast tõsiasja, et sotsiaalvõrgustike osas on seadusi, mida enamik inimesi peab ebaeetiliseks.
Sa ei pea Gitlabi oma hoidla majutamiseks.Võite saata plaastreid e-posti teel täpselt nii, nagu seda tehakse Linuxi tuumaarenduses, plaastrite saatmisel edasi-tagasi, kusjuures kõigil on oma repo kloon jne. Isegi GitHubi leht on lihtsalt Linuxi tuuma enda varupeegel.
"* koodi versioonimisplatvorm *" - peate tõesti eristama koodiversioonimise * tööriista * (Git), koodihoidlat * serverit * (Gitlab) ja DevOps * platvormi * (Gitlab CI).Need on kõik üksteisest sõltumatud.
Kui muretsete oma koodi volitamata muudatuste pärast, võite hankida kohaliku koopia ja kinnitada regulaarselt lubade ajalugu.Git on hea kogu puu esitamiseks / ajaloo tegemiseks ühe räsi abil.
Suurepärane õppetund kõik need vihjed.Ma tean, et lähtekood pole kõige kohatum vara.Kujutage ette, et teie projekti varajane etapp on pool aastat intensiivset vaba aja arendamist.Pole ime, kuid te ehitate horisontaalselt skaleeritavat rakendust, millel on servatehnoloogiatega erinevad vahemälu kihid, millel pole mõnikord teie probleemidele küps lahendust.Kui me saaksime alguses praeguse allika, aitaks see kindlasti olla täna kaugemal.Ma tahan panustada OS-i, kuid kõigepealt soovin võimalust sellega edukalt hakkama saada.Kas arvate, et nt paypall oleks, kui nad lähevad OS-i algusest peale, kui Cofinity?
Täpsemalt on gitlab üks väheseid platvorme, millel on võtmed kätte ise hostitud tasuta / oss-lahendus, nii et kui teile meeldivad git, gitlab ja gitlab ci / cd, pole välistatud, et väike meeskond isehost, kõrvaldades kõik teie mured.Ma haldan 30 kasutajat, kes on loodud EE-ks, see ei saa nii raske olla :)
Ja isegi midagi sellist nagu bitbucket: ma palvetan igapäevaselt, et nad kahjustaksid mis tahes koode, mis mul erahoidlates on.Kahju ja hüvitised, mida grupihagi hagilt oodatakse, on kindlasti palju rohkem väärt kui salvestatud kood ...
Neli vastused:
Simon
2019-02-03 21:13:02 UTC
view on stackexchange narkive permalink

Kahjuks vastutate teie, kas teie ohumudel on õigustatud või mitte. Seetõttu ei saa me lihtsalt anda kindlat jah-sõna, olenemata sellest, kas näeme platvormi kasutamist turvaohuna või mitte.

Siiski tahaksin laiendada kahte aspekti:

  • Tundub, et olete äärmiselt mures haavatavusi sisaldava lähtekoodi pärast ja selle avalikustamine tähendaks, et üksikisik või osapool võiks neid tuvastada. ei ole kindel kasutajatele teenuse pakkumise osas, kui selle turvalisus tugineb lähtekoodile, mis pole avatud lähtekoodiga. Minu jaoks on see mingi ebamäärasus. Parimas maailmas soovite, et teie platvorm oleks sama kindel, isegi kui kood lekib. Seetõttu soovitan teil tungivalt teha koostööd mõne pentesteri / koodi ülevaataja või vähemalt mõne arendajaga, kes on turvateadlik.
    • Mainite, et soovite kolida privaatsesse versiooniserverisse.

    Tehke seda kohe ja olge sellega valmis. Otsekohese kõlamise ohu korral paneksin teie tehnilised oskused kahtluse alla, kui see tundub keeruline või kulukas samm, arvestades, et olete alustamas. Gitlab pakub isegi ise hostitud lahendust; lihtsalt vaadake platvorm üle ja blokeerige igasugune suhtlus nende serveritega, kui see osa teid muretseb.

    Õnn kaasa.

Täname suurepärase tagasiside eest.Mõlemad punktid kehtivad täielikult.Kui teenus õnnestub, avame palju koodibaasi avatud lähtekoodiga.Kuigi turvalisus on disaini osa, soovin kõigepealt sõltumatut auditit.Erinev aspekt on see, et oleme juba mitu kuud arendusajast investeerinud, lahendanud palju probleeme ja me ei saa seda kaotada kui oma algset eelist, kui see näitab, soovib turg sellist platvormi. Võime alustada nt.meie oma git-serveriga virtuaalne server, siis peame hoolitsema serveri turvapaikade eest.Selles etapis oleme peamiselt arendajad, mitte sysadmins / devops.
@ooouuiii Lähtekoodi väärtus on väiksem, kui võite arvata.On ebatõenäoline, et olete midagi revolutsioonilist välja töötanud, kuna iga pädev arendaja võiks ehitada veebisaidi 1 miljoni kasutaja jaoks.Tegelik väärtus on turunduses, äri poolel ja kasutajabaasis.Kui keegi soovib teiega konkureerida, kirjutab ta oma tarkvara, mis sobib paremini tema vajadustega ja saab temast paremini aru.
@Qwertie, mis peaks tõesti olema ainus vastus sellele küsimusele ...
"Isiklikult ei oleks ma kindel, kui pakun kasutajatele teenust, kui selle turvalisus tugineb lähtekoodile, mis pole avatud lähtekoodiga."Täpselt nii.Alati on oluline siin meeles pidada Kerckhoffi põhimõtet: teie ohuhinnangud peaksid alati algama eeldusest, et "vastane tunneb süsteemi".
Ma pole kindel, et "kahjuks" on õige sõna
Adam Barnes
2019-02-04 07:15:53 UTC
view on stackexchange narkive permalink

@Simon on juba andnud fantastilise vastuse, kuid tahaksin sellele küsimusele vastuseks lisada:

pole mingit reaalset garantiid, et Gitlabi töötajad ei saaks allikat uurida ja leidke turvaauke või mõni tundlik konfiguratsioon

Konfiguratsioon ei kuulu hoidlasse. Konfiguratsioon tuleks kombineerida koodiga juurutamisel, mitte varem, vastavalt kolmandale tegurile kaksteist.

Selleks laske oma rakendusel käituse ajal keskkonnast konfiguratsiooniväärtusi lugeda. Näiteks Django puhul tähendaks see teie salajase võtme määratlemist sellisena:

  import osSECRET_KEY = os.environ ['DJANGO_SECRET_KEY']  

Ja kui systemd (või mis iganes teie projekti käivitab) määrab selle keskkonnamuutuja.

Nagu @Ave allolevates kommentaarides märgib, salvestate oma tootmissaladused ainult oma tootmise järkus ja serverites. Te määraksite võlts- või juhuslikud saladused oma CI-serveritele, etapiserveritele ja muule. Kui probleem on saladuste osas usaldusväärsus teie hoidla hostis, võite hoidla hosti CD asemel kasutada kokka, Spinnakerit, nuku või mida iganes võite valida.

Niipalju kui ma tean, et see on üks gitlabi suurematest omadustest, lisate sellele oma konfiguratsiooni ja gitlab suudab teie servereid automaatselt juurutada ja jälgida.Ma arvan, et kui te gitlabi ei usaldaks, ei kasutaks te seda funktsiooni siiski.
Konfiguratsiooni ei salvestataks lähtekoodis, vaid ikkagi platvormil."* mis iganes teie projekti käivitab *" on täpselt Gitlab CI tööriist.
@Bergi on ilmselgelt saladused, mida CI testides kasutaks, ja sellised ei oleks samad mis tootmissaladused.Kui räägite Gitlabi CD-st (pidev juurutamine), on see siiski õige argument, kuid kui te ei usalda Gitlabi sellega, ei saa te seda funktsiooni lihtsalt kasutada.
Maxim Kuleshov
2019-02-05 02:19:20 UTC
view on stackexchange narkive permalink

On mitmeid võimalusi, välja arvatud Gitlab (sealhulgas puhas Git). Gitlab on avatud lähtekoodiga / avatud koodiga projekt, nii et saate selle installida oma privaatserverisse, nii et kellelgi, välja arvatud teie meeskonnal, pole juurdepääsu.

Mis tõstatab minu arvates silmapaistvama probleemi - teie töötajad teavad turvaauke või mõnda tundlikku konfiguratsiooni ja võivad lähtekoodi müüa mõnele kolmandale osapoolele või valitsusele. Veelgi enam, teie töötajad saavad juurdepääsu andmetele, mis on palju kriitilisem ja tundlikum kui lähtekood. Kuidas kavatsete sellega tegeleda?

Karm üks.Me pole ilmselgelt veel kohal ja peame sinna minema korduste kaupa, otsides selle seadistuse parimaid tavasid.Praegu kujutan ma ette midagi sellist nagu erinevad lava-keskkonnad (näiteks dev, integratsioon, uat, preprod, prod).Tootmiskeskkond erinevas alamvõrgus piiratud ja logitud juurdepääsuga andmetele.Ok, me ei saa ilmselt lähtekoodi kaitsta, kuid ma mõtlen seda tõesti toote esialgse etapi jaoks, kui me pole veel täiskohaga töötanud.Infrastruktuuri turvalisus areneb projekti käigus kindlasti palju.
user6858980
2019-02-05 14:24:31 UTC
view on stackexchange narkive permalink

Miks mitte kasutada privaatset gitlab-i eksemplari, see leevendaks teie muret!

Kui teie platvorm peaks jõudma miljonite kasutajateni, võiksite selle käitamiseks saada vähemalt 5 dollari suuruse pilve eksemplari kuus .

Kuid teie mure tuleneb teie kasutatavate SaaS-i platvormide töötajatest / administraatoritest, kellel on lõplik juurdepääs teie platvormidele, see kehtib iga pilveteenuse pakkuja või isegi füüsilise spetsiaalse serveri pakkuja kohta (eeldades, et kettad pole krüptitud) millisel juhul käivitage eeldusserver.

Siinkohal peate endalt küsima, kui tundlikud / tõenäolised inimesed oleksid teie süsteemist huvitatud



See küsimus ja vastus tõlgiti automaatselt inglise keelest.Algne sisu on saadaval stackexchange-is, mida täname cc by-sa 4.0-litsentsi eest, mille all seda levitatakse.
Loading...