Hoe u kunt voorkomen dat u uw privésleutel naar GitHub uploadt: benaderingen om te voorkomen dat uw geheimen openbaar worden gemaakt

blog 1NieuwsOntwikkelaarsEnterpriseBlockchain ExplainedEvenementen en conferentiesPersNieuwsbrieven

Abonneer op onze nieuwsbrief.

E-mailadres

Wij respecteren uw privacy

HomeBlogBlockchain-ontwikkeling

Hoe u kunt voorkomen dat u uw privésleutel naar GitHub uploadt: benaderingen om te voorkomen dat uw geheimen openbaar worden gemaakt

Houd uw privésleutels en API-geheimen veilig tijdens het ontwikkelen van slimme contracten door ConsenSys 7 oktober 2020 Gepost op 7 oktober 2020

vergrendelde houten deur PPCRJ2J

Door Coogan Brennan en Thomas Hay

Een paar keer per jaar, een verhaal maakt de rondes van een ongelukkige Ethereum-ontwikkelaar die tijdens het bouwen van een blockchain-project per ongeluk hun supergeheime geheugensteuntje uploadt – gebruikt om hun portemonnee te genereren – naar hun openbare GitHub-pagina. Binnen enkele seconden is hun portemonnee “gehackt” en zijn geld opgebruikt.

Er is echter niets echt gehackt: de transactie waarbij alle activa naar het “hacker” -adres worden overgebracht, is perfect correct. Daarom verwerkt en accepteert het netwerk het. Het maakt het netwerk niet uit wie de transactie ondertekent of wat hun bedoeling was, alleen dat de cryptografie goed is. Het netwerk gaat ervan uit dat iedereen die in het bezit is van een geheugensteuntje, of de gegenereerde privésleutels, de rechtmatige eigenaar is van de activa in de bijbehorende accounts. 

Dat is koud comfort voor de persoon die de controle over zijn portemonnee heeft verloren. De onmiddellijke reactie is om te denken dat hun portemonnee is gehackt. Het is begrijpelijk! Maar voordat u op het punt komt dat u zich moet afvragen of uw portemonnee gecompromitteerd is, is het goed om te controleren of u niet op het punt staat uw privégegevens onbewust vrij te geven.

Hier zijn enkele definitieve stappen om te voorkomen dat u in een vergelijkbare situatie terechtkomt. (Bonuspunten: de technieken die in dit artikel worden beschreven, zijn een uitstekende veiligheidshygiëne voor elk project, blockchain of niet!)

Hieronder schetsen we twee benaderingen om GEEN geheimen (API-sleutels, privésleutels, seed-zinnen, databasewachtwoorden) naar uw GitHub-repository te publiceren:

Benadering 1: Gitignore, a.env-bestand en dotenv gebruiken (veronderstelt dat we ontwikkelen met patronen die gemeenschappelijk zijn voor Solidity en een workflow met Truffel en MetaMask, ook al is dit gegeneraliseerd)

Stap 1: Lees de documentatie op.gitignore. Serieus, lees de hele pagina met documentatie.

Met een.gitignore-bestand kunt u bestanden specificeren die niet mogen worden gevolgd. U maakt een.gitignore-bestand in de directory waarin u uw project ontwikkelt. Binnen dat bestand specificeert u de bestanden die u niet wilt volgen. De documentatie zal u de verschillende tekstpatronen uitleggen die u kunt gebruiken om bestanden niet bij te houden (of te volgen).


Hier is een voorbeeld van:

imageofgitignorefile 1

In regel 20 hebben we een.env-bestand toegevoegd

Stap 2: Stel een.env-bestand in om uw omgevingsvariabelen op te slaan

Omgevingsvariabelen, oorspronkelijk geïmplementeerd in versie 7 Unix (uitgebracht in 1979 door Bell Labs, klik hier voor een exemplaar van de handleiding) het (de) proces (sen) wijzigen die een computersysteem uitvoert. Omgevingsvariabelen zijn geïmplementeerd in alle besturingssystemen die onze studenten gebruiken om dApps te bouwen op Ethereum (Unix, Linux, MacOS, Windows). In dit geval worden uw geheimen behandeld als omgevingsvariabelen en in een bestand met de naam.env geplaatst.

Hier is een voorbeeld van een.env-bestand

voorbeeldofenvbestand

Stap 3: Lees de documentatie over dotenv. Installeer dotenv.

Dotenv “Is een module zonder afhankelijkheid die omgevingsvariabelen uit een.env-bestand laadt in process.env.” (opgehaald van  https://www.npmjs.com/package/dotenv op 25 september 2020)

nstall dotenv met behulp van npm install dotenv

Stap 4: Voeg vereist (‘dotenv’). Config () toe aan het begin van uw applicatie. Gebruik process.env in dit bestand.

Codevoorbeeld: application.js

// Dit is de bovenkant van application.js vereist (‘dotenv’). Config () // Dit is een voorbeeld van process.env later in het bestand var PrivateKey = new Buffer (process.env. ["PRIVE SLEUTEL"​, "hex")) // Hier is nog een voorbeeld van het gebruik van process.env const APIKey = process.env.API_KEY; Codetaal: JavaScript (javascript)

Stap 5: Als je nu naar een bestaande GitHub-repository wilt publiceren of naar een nieuwe GitHub-repository wilt pushen, kun je dat doen. Uw geheimen zullen geen deel uitmaken van uw GitHub-repository.

Video-tutorial uit een andere bron: Daniel Schiffman van De coderingstrein biedt een video-tutorial met behulp van een weertoepassing in zijn video 3.4 API-sleutels verbergen met omgevingsvariabelen (dotenv) en code naar GitHub pushen.

Text Tutorial uit een andere bron: Mason’s Blog heeft een tutorial met de naam Hoe u een ERC20-token in 20 minuten implementeert. Het beschrijft hoe u een.env-bestand en dotenv gebruikt in de context van het implementeren van een slim contract met Truffle en Infura.

Aanpak 2: Versleutelde geheimen gebruiken in GitHub-acties (geschikt voor degenen die bekend zijn met GitHub op organisatieniveau, met de nodige machtigingen en GitHub-account om deze in de praktijk te kunnen brengen).

Aanpak 2 maakt gebruik van tooling die specifiek is gemaakt door GitHub om het probleem op te lossen dat geheimen een noodzakelijk onderdeel zijn van het implementeren van code, maar niet iets dat moet worden onthuld aan personen die er geen toegang toe zouden moeten hebben. Deze benadering is het meest relevant voor een organisatie of persoon die GitHub gebruikt

Stap 1: Lees de documentatie op Versleutelde geheimen. Serieus, lees de documentatie.

Met versleutelde geheimen kun je geheimen opslaan en gebruiken in een enkele GitHub-opslagplaats of in vele GitHub-opslagplaatsen. Lees de documentatie over hoe u deze kunt gebruiken, aangezien GitHub uitstekend uitlegt hoe u deze kunt gebruiken Versleutelde geheimen binnen GitHub-acties

Stap 2: doe wat de documentatie u zegt te doen. Het is redelijk goede documentatie. 

Gevolgtrekking

U kent nu twee benaderingen om te voorkomen dat uw geheimen worden gepubliceerd op GitHub. Zijn er andere manieren om dit te doen? Zeker. Hier zijn twee methoden die voor ons werken. Het belangrijkste punt dat we proberen over te brengen, is ervoor te zorgen dat u nadenkt over waar uw geheimen kunnen verschijnen, en ervoor te zorgen dat u stappen onderneemt om uzelf te beschermen. Blijf daar veilig.

BeveiligingSlimme contractenSoliditeitNieuwsbrief Abonneer u op onze nieuwsbrief voor het laatste Ethereum-nieuws, bedrijfsoplossingen, bronnen voor ontwikkelaars en meer.Hoe u een succesvol blockchain-product bouwtWebinar

Hoe u een succesvol blockchain-product bouwt

Hoe u een Ethereum-knooppunt instelt en uitvoertWebinar

Hoe u een Ethereum-knooppunt instelt en uitvoert

Hoe u uw eigen Ethereum-API kunt bouwenWebinar

Hoe u uw eigen Ethereum-API kunt bouwen

Hoe u een sociaal token maaktWebinar

Hoe u een sociaal token maakt

Beveiligingshulpmiddelen gebruiken bij slimme contractontwikkelingWebinar

Beveiligingshulpmiddelen gebruiken bij slimme contractontwikkeling

De toekomst van digitale activa en defiWebinar

De toekomst van financiën: digitale activa en 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