Pět bezpečnostních tipů pro vývojáře

5. 2. 2013

Sdílet

 Autor: © kentoh - Fotolia.com
Napsat bezpečný kód není lehký úkol, jelikož i zkušení odborníci se mohou snadno splést. Nikdo samozřejmě není schopen očekávat všechny druhy útoků a chyb v systému, my vám však přinášíme několik tipů, díky kterým se můžete vyvarovat alespoň těm zásadním problémům.

1. Ukládejte pouze to, co potřebujete
Než budete po svých uživatelích chtít fyzické adresy, zeptejte se sami sebe, jestli jim vůbec kdy budete posílat dopis. Nejen, že vám tyto informace budou zabírat místo v databázi, budou také atraktivním cílem pro útočníky. Programátoři často ukládají kopie všeho možného, co kdyby se to někdy hodilo. Jsou každá tabulka a řádek ve vaší databázi absolutně nezbytné? Zkuste udělat formuláře a tabulky menší. Zjednodušte si svou práci.

2. Nevěřte heslům více, než je nezbytné
S hesly má problém každý z nás. Zapomínáme je, a proto si vybíráme ta co možná nejjednodušší, která navíc používáme u několika služeb naráz. Některé společnosti používají k autorizaci kromě hesla také ověření přes mobilní telefon. Jde o zajímavý mechanismus, avšak pokud telefon ztratíte nebo se dostanete mimo signál, může to dopadnout nemile. Vždy je možné přidat ještě nějaký nový bezpečnostní prvek – například speciální hardware, který uzamkne kryptografické klíče. Další možností je ukládat adresy IP, z nichž se uživatelé na web přihlašují, a jakmile se někdo přihlásí z neznámé adresy IP, legitimnímu uživateli odeslat e-mail.

3. Šifrujte více, než musíte
Programátoři často šifrování využívají méně, než by bylo vhodné, protože jim to přidělává práci navíc. Hledání chyb v kódu je samo o sobě obtížné, a pokud jsou data šifrována, je to samozřejmě ještě o něco obtížnější. Uzamčení dat před tím, než je uložíte do databáze, vám umožní ušetřit si čas se zabezpečováním samotné databáze. Šifrování vaši službu nezpomalí a není nutno dodávat, že i uživatelé mají rádi, když jsou jejich data v bezpečí.

4. Vybudujte více ochranných vrstev
Lidé se neradi neustále přihlašují do jednotlivých částí systému, propojit celý systém do jednoho celku s jednou přihlašovací kolonkou však může být velmi nebezpečné. Jedna díra může zkompromitovat všechno. Je třeba mít na paměti, že čím jednodušší je systém pro běžného uživatele, tím jednodušší je i pro útočníka. Jednou z možností je oddělit nejcitlivější část systému do jednotného okruhu, k němuž se uživatelé budou muset dodatečně přihlásit. Například banka vyžaduje jednu autorizaci uživatele tehdy, když se chce podívat na stav svého účtu a druhou, když chce peníze vybrat.

5. Používejte interní API
Rozdělení kódu do jednotlivých modulů a vytvoření procesu, v rámci kterého budou jednotlivé moduly mezi sebou muset komunikovat prostřednictvím kvalitně navržených API je jedním ze základních pravidel, které se každý programátor učí. A v oblasti bezpečnosti je tento prvek důležitý dvojnásob. Kromě lepšího zabezpečení systému navíc jednotlivé moduly navíc budete moci kontrolovat rychleji a jednodušeji, než velký a komplexní kód.