GraphQL.cz/Fórum/Co dělat, když někdo najde citlivá data v GraphQL dotazech?

Co dělat, když někdo najde citlivá data v GraphQL dotazech?

Nedávno se mi stalo, že jsem narazil na situaci, kdy někdo našel citlivé údaje v mých GraphQL dotazech a teď nevím, co s tím. Mám na mysli, že to byly informace jako uživatelská jména, e-maily a dokonce i nějaké osobní údaje, které by měly zůstat pod pokličkou. Přemýšlím, jak se to vůbec mohlo stát? Bylo to kvůli špatné autentizaci nebo chybě v zabezpečení? Jak bych mohl zajistit, aby se to už nikdy neopakovalo? Myslím, že se hodně spoléhám na to, že moje API je bezpečné, ale teď jsem dost nervózní. Jaké jsou nejlepší praktiky pro ochranu citlivých dat? Měli bychom mít nějaké speciální filtry pro naše GraphQL dotazy nebo by měl být přístup k určitým datům omezen ještě víc? A co auditování a logování? Jak moc by se měly tyto prvky zapojit do našeho vývoje? Je dobré mít třeba nějakou formu šifrování pro data, která se posílají přes API? A pokud někdo už citlivá data našel, jaký by měl být první krok pro jejich zabezpečení? Je nějaký způsob, jak minimalizovat škody a co všechno bych měl s tím udělat? Jak se chránit nejen před útoky, ale i před vlastními chybami při návrhu schémat v GraphQL? Děkuji za jakékoli tipy a rady!

201 slov
2 minut čtení
3. 2. 2024
Roman Rozsypal

Při práci s GraphQL je důležitý mít na paměti, že tohle je hodně riskantní, pokud jde o citlivý data. Zřejmě jste narazili na problém s autentizací nebo autorizací, kde lidé mohou vidět víc, než by měli. První věc, co bys měl udělat, je projít si schéma a zkontrolovat, kdo má přístup k jakým datům. Měli byste mít jasně definované role pro uživatele a používat správně middleware pro ověřování.

Zvažte přidání filtrů na úrovni resolverů, aby se citlivá data nezobrazovala v odpovědích. Je taky dobrý mít audit logy, abyste mohli sledovat, kdo co dělá. Šifrování dat přes API je další krok, který byste měli určitě zvážit. A jestli už někdo citlivé data viděl, měli byste to rychle řešit - třeba změnit hesla a informovat uživatele. Vždycky je lepší být opatrný a udělat revizi zabezpečení než litovat později.

136 slov
1.4 minut čtení
28. 10. 2022
Michaela Vobořilová

Tak to je solidní problém. Nejdřív bych se zamyslel nad tím, jak k tomu došlo. Pokud někdo našel citlivé údaje v GraphQL dotazech, asi tam nebyly dostatečné bezpečnostní kontroly. Možná máš špatně nastavené autorizace nebo nějaké endpointy, které by měly být skryté. Je dobrý mít na paměti, že GraphQL ti umožňuje dotazovat se na data dost volně, takže je potřeba pečlivě navrhnout schéma a určit, kdo co může vidět.

Pár tipů: Měl bys omezit přístup k citlivým datům na úrovni API, ideálně pomocí nějakého role-based přístupu. Filtruj dotazy tak, abys zabránil přístupu k citlivým informacím, které nemají být dostupné všem uživatelům. Audit a logování jsou fajn pro detekci a prevenci budoucích incidentů, takže doporučuju si to pohlídat.

Šifrování dat je taky důležité, hlavně při přenosu přes API. A pokud už někdo ty údaje našel, měl bys okamžitě prověřit systém a zjistit, co všechno uniklo, a pak přijmout opatření na zabezpečení – možná změnit hesla nebo upozornit uživatele. Důležité je se z toho poučit a nastavit si pravidla, aby se to už neopakovalo. Celkově bys měl mít víc na paměti bezpečnost při návrhu API a testování.

183 slov
1.8 minut čtení
5. 12. 2023
Renata Macková

Tohle je vážně problém, který může zasáhnout každého. Občas se stane, že se do API dostanou citlivé údaje kvůli špatné autentizaci nebo prostě kvůli špatně navrženému schématu v GraphQL. Je důležité mít na paměti, že ne všechna data by měla být dostupná všem uživatelům. V první řadě bys měl zkontrolovat autentizaci a autorizaci – jestli máš správně nastavené role a oprávnění, aby každý viděl jen to, co má. Také je dobrý nápad filtrovat pole, která se v dotazech vrací, abys nezveřejňoval víc než je potřeba. Audity a logování jsou super pro sledování toho, kdo co dělá, a měly by být součástí tvého procesu vývoje. Šifrování dat při přenosu (např. HTTPS) je také základ, aby se zabránilo odposlechu. Pokud už někdo citlivá data našel, zvaž změnu klíčů a revizi přístupu k datům. Nenechávej to na náhodě – pravidelně kontroluj a testuj zabezpečení svých API. Celkově platí: méně je více, co se týče citlivých informací. Drž se těchto rad a měl bys být na dobré cestě k větší bezpečnosti.

167 slov
1.7 minut čtení
19. 11. 2024
Jaroslava Hrubá
GraphQL.cz/Články/Mobilní aplikace a GraphQL
Bezpečnostní tipy pro GraphQL API v mobilních aplikacíchZjistěte, jak zabezpečit vaše GraphQL API proti běžným útokům a chránit tak citlivá data uživatelů. Efektivní strategie a doporučení pro vývojáře.
1000 slov
10 minut čtení
6. 4. 2021
Ondřej Kučera
Přečíst článek
Podobné otázky