Hogyan lehet elkerülni a magánkulcs feltöltését a GitHub-ba: Megközelítések a titkok nyilvános közzétételének megakadályozásához

blog 1NewsDevelopersEnterpriseBlockchain ExplainedEvents and ConferencesPressHírlevelek

Iratkozzon fel hírlevelünkre.

Email cím

Tiszteletben tartjuk a magánéletét

HomeBlogBlockchain fejlesztés

Hogyan lehet elkerülni a magánkulcs feltöltését a GitHub-ba: Megközelítések a titkok nyilvános közzétételének megakadályozásához

Tartsa biztonságban a magánkulcsait és az API titkait az intelligens szerződések fejlesztése közben – ConsenSys 2020. október 7.

zárt fa ajtó PPCRJ2J

Írta: Coogan Brennan és Thomas Hay

Évente néhányszor, a sztori teszi a körök egy szerencsétlen Ethereum fejlesztőtől, aki egy blockchain projekt építése közben véletlenül feltölti szupertitkos – a pénztárcájuk előállítására használt – mnemonikus kifejezésüket a nyilvános GitHub oldalukra. Másodperceken belül „feltörték” pénztárcájukat, és kiürítették pénzeszközeit.

Valójában azonban semmit sem sikerült feltörni: A tranzakció, amely az összes eszközt átadja a „hacker” címre, tökéletesen megbízható. Ezért a hálózat feldolgozza és elfogadja. A hálózatot nem érdekli, hogy ki írja alá a tranzakciót, vagy mi volt a szándéka, csak az, hogy a kriptográfiája megbízható. A hálózat feltételezi, hogy bárki, akinek mnemonikája vagy a létrehozott magánkulcsok vannak, a jogos tulajdonosa a megfelelő számlák eszközeinek. 

Ez hideg kényelem annak, aki elveszítette uralmát a pénztárca felett. Az azonnali reakció az, ha azt gondoljuk, hogy feltörték a pénztárcájukat. Ez érthető! Mielőtt azonban eljutna odáig, hogy elgondolkodjon azon, hogy a pénztárca nem sérült-e, jó ellenőrizni, hogy nem akarja-e akaratlanul kitenni a személyes adatait.

Íme néhány végleges lépés a hasonló helyzetbe kerülés elkerülése érdekében. (Bónuszpontok: az ebben a cikkben leírt technikák nagyszerű biztonsági higiéniát jelentenek bármilyen projektnél, blokkláncnál vagy sem!)

Az alábbiakban két megközelítést vázolunk fel, hogyan lehet NEM közzétenni a titkokat (API kulcsok, magánkulcsok, kezdő kifejezések, adatbázis jelszavak) a GitHub adattárban:

1. megközelítés: A.gitignore, az a.env fájl és a dotenv használata (feltételezi, hogy a Solidity közös mintáit és egy munkafolyamatot használunk a Szarvasgomba és MetaMask, bár ezt általánosították)

1. lépés: Olvassa el a dokumentációt.gitignore. Komolyan olvassa el a dokumentáció teljes oldalát.

Az A.gitignore fájl lehetővé teszi olyan fájlok megadását, amelyek nem követhetők. Létrehoz egy a.gitignore fájlt abban a könyvtárban, amelyben a projektet fejleszti. Ebben a fájlban megadja azokat a fájlokat, amelyeket nem kíván nyomon követni. A dokumentáció elmagyarázza Önnek azokat a különféle szövegmintákat, amelyekkel a fájlok nem követhetők (vagy követhetők).


Íme egy példa erre:

imageofgitignorefile 1

A 20. sorba felvettünk egy a.env fájlt

2. lépés: Állítson be egy a.env fájlt a környezeti változók tárolásához

Környezeti változók, eredetileg a 7-es Unix verzióban (amelyet a Bell Labs adott ki 1979-ben), Kattintson ide a kézikönyv másolatához) megváltoztathatja a számítási rendszer által futtatott folyamat (oka) t. A környezeti változókat minden olyan operációs rendszerben implementálták, amelyet tanulóink ​​a dApps építésére használnak az Ethereumon (Unix, Linux, MacOS, Windows). Ebben az esetben a titkait környezeti változóként kezeljük, és az.env nevű fájlba helyezzük.

Itt van egy példa az a.env fájlra

exampleofenvfile

3. lépés: Olvassa el a dotenv. Telepítse a dotenv-t.

Dotenv „Egy nulla függőségű modul, amely környezeti változókat tölt be az a.env fájlból a process.env fájlba.” (lekért  https://www.npmjs.com/package/dotenv 2020. szeptember 25-én)

nstall dotenv az npm telepítésével dotenv

4. lépés: Adja hozzá az igénylés (‘dotenv’). Config () alkalmazást az alkalmazás elejéhez. Használja a process.env fájlt ebben a fájlban.

Kódpélda: application.js

// Ez az alkalmazás.js need (‘dotenv’). Config () teteje. Ez a példa a process.env-re később a var PrivateKey = new Buffer (process.env. ["PRIVATE_KEY"], "hatszög")) // Itt van egy másik példa a process.env const APIKey = process.env.API_KEY használatára; Kód nyelve: JavaScript (javascript)

5. lépés: Most, ha egy meglévő GitHub-adattárban szeretne közzétenni, vagy egy új GitHub-adattárba szeretne lépni, megteheti. Titkai nem jelennek meg a GitHub-tárház részeként.

Video bemutató egy másik forrásból: Daniel Schiffman A kódoló vonat videójában oktatóanyagot nyújt az időjárási alkalmazás segítségével 3.4 API-kulcsok elrejtése környezeti változókkal (dotenv) és kódok tolása a GitHub-ra.

Szöveges oktatóanyag más forrásból: Mason’s Blog tartalmaz oktatóanyagot Hogyan telepítsünk egy ERC20 tokent 20 perc alatt. Leírja, hogyan kell az a.env fájlt és a dotenv-t használni az intelligens szerződés Truffle és Infura.

2. megközelítés: Titkosított titkok használata a GitHub műveletekben (megfelelő azok számára, akik ismerik a GitHub-ot szervezeti szinten, a szükséges engedélyekkel és a GitHub-fiókkal, hogy ezeket a gyakorlatban is megvalósíthassák).

A 2. megközelítés a kifejezetten a GitHub által létrehozott eszközöket használja a titok kérdésének megoldására, amelyek a kód telepítésének elengedhetetlen részei, de nem olyan dolgok, amelyeket el kellene tárni az egyének előtt, akiknek nem kellene hozzáférniük hozzájuk. Ez a megközelítés a GitHub-ot használó szervezet vagy egyén számára releváns

1. lépés: Olvassa el a dokumentációt Titkosított titkok. Komolyan olvassa el a dokumentációt.

A titkosított titkok lehetővé teszik a titkok tárolását és felhasználását egyetlen GitHub-lerakatban vagy számos GitHub-tárházban. Olvassa el a dokumentációt ezek használatáról, mivel a GitHub kiválóan megmagyarázza a használat módját Titkosított titkok belül GitHub műveletek

2. lépés: Tegye azt, amit a dokumentáció előír. Nagyon jó dokumentáció. 

Következtetés

Most már kétféle módszert ismer, hogy megakadályozza titkainak a GitHub-ban való közzétételét. Vannak más megközelítések erre? Biztosan. Itt van két módszer, amelyek nekünk működnek. A fő szempont, amelyet megpróbálunk átadni, az, hogy megbizonyosodjon arról, hogy gondolkodik-e azon, ahol a titkai megjelennek, és biztosíthatja, hogy lépéseket tegyen saját védelme érdekében. Maradj biztonságban odakint.

SecuritySmart ContractsSolidityNewsletter Feliratkozás hírlevelünkre a legfrissebb Ethereum hírekről, vállalati megoldásokról, fejlesztői erőforrásokról és egyebekről. E-mail cím Exkluzív tartalomHogyan készítsünk sikeres blokklánc terméketWebinárium

Hogyan készítsünk sikeres blokklánc terméket

Ethereum csomópont beállítása és futtatásaWebinárium

Hogyan állítsunk be és futtassunk Ethereum csomópontot

Hogyan készítsünk saját Ethereum API-tWebinárium

Hogyan készítsünk saját Ethereum API-t

Hogyan hozzunk létre közösségi tokentWebinárium

Hogyan hozhatunk létre közösségi tokent

Biztonsági eszközök használata az intelligens szerződés-fejlesztésbenWebinárium

Biztonsági eszközök használata az intelligens szerződés-fejlesztésben

A pénzügyi eszközök digitális eszközei és a DeFi jövőjeWebinárium

A pénzügyek jövője: digitális eszközök és DeFi

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map