Computerbeveiliging - Hoe je bad guys buiten de deur houdt

APi keys niet hardcoded my in the property bestanden?

22-05-2023, 09:41 door Anoniem, 4 reacties
Het is een best practice om API keys niet hard-coded in de code over te nemen maar deze in een property bestand te bewaren. Waarom is dat? Men kan toch niet bij de code?
En als iemand dat wel kan dan kan men ook bij het property bestand lijkt mij?
Reacties (4)
22-05-2023, 10:38 door Anoniem
Het is de bedoeling om je keys buiten je code-base te houden.
Dat wil zeggen niet alleen buiten de code zelf, maar ook buiten het versie beheer systeem dat je gebruikt.
(Denk aan Git/VCS of zelfs gewoon via copy-pasten...)

Als iemand toegang krijgt tot je source code, dan heeft hij niet meteen ook de API-keys te pakken.
Of als je je code later upload naar GitHub/bitbucket of als ZIP ter download aanbied.

Sterker nog, GitHub scant actief naar API-keys in geüploade code bases.
Dus als jij je .env of .c bestand met key upload, word het bestand meteen verwijderd/geblokkeerd.

Dus dat property bestand sla je ergens volledig anders op dan bij je source code.
Liefst enkel op de productie server en op een fysieke backup in een kluis of zo. (+2e backup locatie!)
22-05-2023, 19:39 door johanw
Github scant er op en stuurt waarschuwings mails, maar het is niet zo absoluut natuurlijk. Ik heb een API key voor Google Maps maar die is alleen bruikbaar in een Android app die gesigned is met mijn apk signing key. Dus die kan rustig op Github terecht komen, zolang die apk signing key niet uitlekt kan niemand er iets mee.
23-05-2023, 10:50 door Anoniem
Door johanw: Github scant er op en stuurt waarschuwings mails, maar het is niet zo absoluut natuurlijk. Ik heb een API key voor Google Maps maar die is alleen bruikbaar in een Android app die gesigned is met mijn apk signing key. Dus die kan rustig op Github terecht komen, zolang die apk signing key niet uitlekt kan niemand er iets mee.
Google zelf denkt daar anders over:
Maps Web Service APIs or Static Web APIs app protection methods

• Store API keys and signing secrets outside of your application’s source code. If you put your API keys or any other private information in environment variables or include files that are stored separately and then share your code, the API keys or signing secrets will not be included in the shared files.

• Store API keys or signing secrets in files outside of your application's source tree. If you store API keys or any other private information in files, keep the files outside your application's source tree to keep your keys out of your source code control system. This is particularly important if you use a public source code management system, such as GitHub.
https://developers.google.com/maps/api-security-best-practices#restrict_apikey
23-05-2023, 13:09 door johanw
Door Anoniem:
Google zelf denkt daar anders over:

Dat is een algemeen advies, de koppeling tussen die API key en een apk signing key moet je wel handmatig instellen. Voor webdevelopers waar die API key ook gebruikt wordt in webpagina's is de situatie natuurlijk anders, daar kan het duur worden als ie key uitlekt en iemand anders die gebruikt om heel veel data op te vragen aan Google Maps.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.