Kako izbjeći slanje privatnog ključa na GitHub: Pristupi sprječavanju objavljivanja vaših tajni

blog 1NewsDevelopersEnterpriseBlockchain ObjašnjeniDogađaji i konferencijePressBilteni

Pretplatite se na naše obavijesti.

Email adresa

Poštujemo vašu privatnost

Razvoj HomeBlogBlockchaina

Kako izbjeći slanje privatnog ključa na GitHub: Pristupi sprječavanju objavljivanja vaših tajni

Čuvajte svoje privatne ključeve i tajne API-ja dok razvijate pametne ugovore od ConsenSys 7. listopada 2020. Objavljeno 7. listopada 2020.

zaključana drvena vrata PPCRJ2J

Coogan Brennan i Thomas Hay

Nekoliko puta godišnje, a priča pravi the krugova nesretnog programera Ethereuma koji, dok gradi blockchain projekt, slučajno prebacuje svoju supertajnu mnemotehničku frazu – koja se koristi za generiranje njihovog novčanika – na njihovu javnu GitHub stranicu. U roku od nekoliko sekundi, njihov novčanik je “hakiran” i istrošen.

Ništa zapravo nije hakirano: transakcija kojom se sva imovina prenosi na “hakersku” adresu savršeno je zvuk. Zato ga mreža obrađuje i prihvaća. Mrežu nije briga tko potpisuje transakciju niti koja je njihova namjera bila, samo da je njena kriptografija zvučna. Mreža pretpostavlja da je onaj tko posjeduje mnemotehnički podatak ili generirani privatni ključ, zakonski vlasnik imovine na odgovarajućim računima. 

To je hladna utjeha za osobu koja je izgubila kontrolu nad novčanikom. Neposredna reakcija je pomisliti da im je novčanik hakiran. Razumljivo je! No, prije nego što prijeđete na točku u kojoj se morate zapitati je li vam novčanik ugrožen, dobro je provjeriti da nećete nesvjesno izložiti svoje privatne podatke.

Evo nekoliko konačnih koraka kako biste izbjegli pad u sličnu situaciju. (Bonus bodovi: tehnike opisane u ovom članku izvrsna su sigurnosna higijena za bilo koji projekt, blockchain ili ne!)

U nastavku navodimo dva pristupa kako NE objavljivati ​​tajne (API ključevi, privatni ključevi, početne fraze, lozinke baze podataka) u vašem GitHub spremištu:

Pristup 1: Upotreba.gitignore, a.env datoteke i dotenv (pretpostavlja da se razvijamo koristeći obrasce zajedničke Solidity i tijek rada koristeći Tartuf i MetaMask, iako je ovo uopćeno)

Korak 1: Pročitajte dokumentaciju na.gitignore. Ozbiljno, pročitajte cijelu stranicu dokumentacije.

Datoteka A.gitignore omogućuje vam da odredite datoteke koje se ne smiju pratiti. Stvorit ćete datoteku a.gitignore u direktoriju u kojem razvijate svoj projekt. Unutar te datoteke odredit ćete datoteke koje ne želite pratiti. Dokumentacija će vam objasniti razne uzorke teksta koje možete koristiti da ne biste pratili (ili pratili) datoteke.


Evo primjera jednog:

imageofgitignorefile 1

U redak 20 dodali smo datoteku.env

Korak 2: Postavite datoteku a.env za pohranu varijabli vašeg okruženja

Varijable okruženja, izvorno implementirane u verziji 7 Unix (objavljena 1979. od strane Bell Labs, kliknite ovdje za kopiju priručnika) promijeniti postupak (e) koji pokreće računalni sustav. Varijable okruženja implementirane su u sve operativne sustave koje naši studenti koriste za izgradnju dApps-a na Ethereumu (Unix, Linux, MacOS, Windows). U tom se slučaju vaše tajne tretiraju kao varijable okruženja i stavljaju se u datoteku nazvanu.env.

Evo primjera a.env datoteke

exampleofenvfile

Korak 3: Pročitajte dokumentaciju o dotenv. Instalirajte dotenv.

Dotenv “Je modul nulte ovisnosti koji učitava varijable okruženja iz a.env datoteke u process.env.” (preuzeto sa  https://www.npmjs.com/package/dotenv 25. rujna 2020.)

nstall dotenv pomoću npm instalirati dotenv

Korak 4: Dodajte require (‘dotenv’). Config () na početak vaše aplikacije. Upotrijebite process.env u ovoj datoteci.

Primjer koda: application.js

// Ovo je vrh application.js require (‘dotenv’). Config () // Ovo je primjer process.env kasnije u datoteci var PrivateKey = new Buffer (process.env. ["PRIVATE_KLJUČ"], "hex")) // Evo još jednog primjera upotrebe process.env const APIKey = process.env.API_KEY; Jezik koda: JavaScript (javascript)

Korak 5: Ako želite objaviti na postojećem GitHub repozitorijumu ili pritisnuti na novo GitHub repozitorij, to možete učiniti. Vaše se tajne neće pojaviti kao dio vašeg GitHub spremišta.

Video vodič iz drugog izvora: Daniel Schiffman iz Vlak za kodiranje u svom videu nudi video tutorial koristeći vremensku aplikaciju 3.4 Sakrivanje API ključeva s varijablama okoline (dotenv) i guranjem koda na GitHub.

Vodič za tekst iz drugog izvora: Mason’s Blog ima udžbenik pod nazivom Kako rasporediti ERC20 žeton u 20 minuta. Opisuje kako koristiti a.env datoteku i dotenv u kontekstu postavljanja pametnog ugovora koristeći Truffle i Infura.

Pristup 2: Korištenje šifriranih tajni u GitHub akcijama (prikladno onima koji poznaju GitHub na razini organizacije, s potrebnim dozvolama i GitHub računom da bi ih mogli primijeniti u praksi).

Pristup 2 koristi alate koje je posebno kreirao GitHub za rješavanje pitanja tajni koje su nužni dio implementacije koda, ali ne nešto što bi trebalo otkriti pojedincima koji im ne bi trebali imati pristup. Ovaj je pristup najrelevantniji za organizaciju ili pojedinca koji koriste GitHub

Korak 1: Pročitajte dokumentaciju na Šifrirane tajne. Ozbiljno, pročitajte dokumentaciju.

Šifrirane tajne omogućuju vam pohranjivanje i korištenje tajni u jednom GitHub spremištu ili u mnogim GitHub spremištima. Pročitajte dokumentaciju o tome kako ih koristiti, jer GitHub izvrsno objašnjava kako ih koristiti Šifrirane tajne unutar GitHub akcije

Korak 2: Učinite ono što vam naređuje dokumentacija. To je prilično dobra dokumentacija. 

Zaključak

Sada znate dva pristupa kako biste spriječili objavljivanje svojih tajni na GitHubu. Postoje li drugi pristupi za to? Sigurno. Evo dvije metode koje nam odgovaraju. Glavna stvar koju pokušavamo priopćiti jest osigurati da razmišljate o tome gdje se vaše tajne mogu pojaviti i osigurati da poduzmete korake da biste se zaštitili. Budite sigurni vani.

SecuritySmart ContractsSolidityNewsletter Pretplatite se na naš bilten za najnovije vijesti o Ethereumu, rješenja za poduzeća, resurse za programere i još mnogo toga. Adresa e-pošte Ekskluzivni sadržajKako izraditi uspješan blockchain proizvodWebinar

Kako izraditi uspješan blockchain proizvod

Kako postaviti i pokrenuti Ethereum čvorWebinar

Kako postaviti i pokrenuti Ethereum čvor

Kako izraditi vlastiti Ethereum APIWebinar

Kako izraditi vlastiti Ethereum API

Kako stvoriti društveni žetonWebinar

Kako stvoriti društveni žeton

Korištenje sigurnosnih alata u razvoju pametnih ugovoraWebinar

Korištenje sigurnosnih alata u razvoju pametnih ugovora

Budućnost financija Digitalna imovina i DeFiWebinar

Budućnost financija: digitalna imovina i 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