Myslíte na zabezpečení svého e-shopu?
20.1.2016 | Jindřich Zechmeister
Internetové obchody shromažďují údaje svých zákazníků a přijímají od nich peníze. Tyto osobní údaje shromažďují na jednom místě a často se ani nestarají o jejich zabezpečení. Jsou proto lákavým a bohužel často i snadným cílem útočníků. Pojďme se společně zamyslet nad zabezpečením českých obchodů.
SSL certifikát je základ
SSL certifikát zamezuje odposlechu dat cestujících internetem. V opačném případě může nešifrovaná data číst kdokoliv, kdo se dostane do jejich „blízkosti“ a cesty (veřejná WiFi, firemní či školní síť). Stačí na síti poslouchat a v zaznamenaných datech najít vaše heslo (více o tom v našem článku o ukradení přihlašovacích údajů). Je evidentně nezbytné, aby byla komunikace mezi e-shopem a návštěvníkem chráněna.
Kromě technického aspektu, kterým je šifrování, slouží SSL certifikát také k autorizaci serveru; jednoduše řečeno k potvrzení, že skutečně „mluvíte“ se správným serverem. Když se například chcete přihlásit do internetového bankovnictví vaší banky, bude vás zajímat, jestli jste připojeni ke správnému serveru a nikoliv k falešnému. K tomu může posloužit SSL certifikát a údaje v něm uvedené. Je rozdíl, když server používá certifikát vystavený pouze pro nějakou doménu, nebo když používá EV certifikát s rozšířeným ověřením, kde ověřený název firmy vidíte na první pohled. Rozšířené ověření znamená, že si vydavatel dotyčnou firmu důkladně „proklepne“ a certifikát vydá pouze s jejím souhlasem. Je tak prakticky vyloučeno, že certifikát získá nepovolaná osoba.
Ve kterém případě více důvěřujete serveru na druhé straně?
Výše vidíte grafické srovnání DV a EV certifikátu. EV certifikát obsahuje ověření informace a název organizace, který je na první pohled viditelný. Kterému serveru byste více věřili?
Další nespornou výhodou šifrování přenášených dat je to, že je nemůžete cestou změnit (přidat nějaký obsah, malware, vir). Komunikace je tak chráněna proti narušování třetí stranou.
Šifrujte, šifrujte a šifrujte
Jakmile budete mít SSL certifikát na e-shopu nasazen, přesvědčte se, že je používán pro celou doménu. Použití například jen pro přihlášení zákazníků je chyba a přesvědčila se o tom i Alza.cz (viz článek; chyba byla opravena a byl nasazen EV certifikát). Když šifrujete, tak zásadně celý web a bez výjimek.
Problémem může být tzv. smíšený obsah. To znamená, že se do zabezpečené stránky načítá obsah nezabezpečeně. Nejčastěji se to stává u e-shopů nahrávajících obrázky (v odkazu na obrázek je uvedeno HTTP místo HTTPS nebo relativního odkazu). Horším případem načítání nezabezpečených prvků jsou skripty; ty se už dnes snaží prohlížeče rovnou blokovat a to může způsobit problémy funkčnosti e-shopu.
Šifrujte nejen přenášená, ale i uložená data. Zamezíte tak možnosti jejich přečtení nepovolanou osobou. Uvědomte si, že e-maily se na servery ukládají v nešifrované podobě. Fakt, že je pro spojení s poštovním serverem použito SSL/TLS šifrování nic nemění na tom, že lze e-maily snadno kompromitovat. Citlivá data do e-mailů rozhodně nepatří a proto opakuji - hesla si nikdy neposílejte e-mailem, pokud lze údaj předat jinak. Pokud vám někdy heslo e-mailem dorazí, tak si ho u dané služby ihned změňte.
Největší chybou je ukládání databázových dat v čitelné podobě. Hesla zákazníků bývají uložena v čitelné textové podobě a (co je nejhorší) bývají posílána e-mailem. Není tak těžké se k nim dostat a zcizení databáze (nejsnadněji její zálohy na FTP) se tak stává noční můrou. Stačilo by přitom respektovat základní zásady bezpečného návrhu systému e-shopu.
Data v databázi je možné šifrovat a hesla není nutné ukládat jako „slova“, která lze zjistit. Zašifrovaná hesla je možné rozšifrovat a dostat se tak k původním čitelným heslům, proto by měla být v databázi uložena hesla hashovaná („hešovaná“) správným, relativně pomalým algoritmem. To proto, aby jejich lámání trvalo dostatečně dlouho i na výkonných počítačích.
Možná se divíte, proč se hesla nemusí ukládat; je to proto, že stačí porovnat unikátní otisk (hash) zadaného hesla s heslem v databázi. V případě shody je jasné, že uživatel heslo zná. U současně používaných funkcí není možné, aby pro dvě slova existoval stejný otisk.
Věnujte pozornost zabezpečení aplikací
SSL certifikát a šifrování jsou důležitými předpoklady k zabezpečení e-shopu a jeho zákazníků. Nejsou však konečným cílem, protože potenciálně zranitelná je každá webová aplikace. Velice důležité je zabezpečit rovněž aplikační část vašeho e-shopu tak, aby do něj díky programátorským chybám nepronikl každý teenager, který zkusí hackování podle návodu z internetu.
Mnoho e-shopů je založeno na hotovém řešení profesionálního dodavatele. Požadujte od něj záruku bezpečného systému (například bezpečné ukládání informací a hesel do databáze, které lze snadno prokázat či vyvrátit). E-shopům, které posílají při registraci heslo e-mailem, se raději vyhněte obloukem.
Nerozumíte pojmům jako XSS, SQL Injection nebo HTTPS? Nevadí, není to vaše chyba. O tyto aspekty e-shopu se má starat programátor, ale jak ukazuje skutečnost našeho trhu, často je bezpečnost až na posledním místě. Proto se odborníci snaží přinutit tento trh k osvětě, ať už po dobrém, nebo praktickým důkazem zranitelnosti webu.
V Česku se zabezpečení webových prezentací věnuje určitě více odborníků, ale zmíním zřejmě nejznámějšího. Je jím Michal Špaček, který (kromě jiného) posuzuje bezpečnost webových prezentací pro hodnocení soutěže WebTop100. Jeho příběhy z testování si můžete přečíst na Lupa.cz; například zábavnou historku o tom, jak nakupoval alkohol za kvintiliardu. Doporučujeme též přečíst jeho článek Nejčastější bezpečnostní chyby na českých webech, vysvětleny „pro lidi“, vytisknout a přinést na jednání s vaším provozovatelem e-shopu nebo webhosterem.
„Myslete na zabezpečení e-shopu dříve, než dojde k nějakému problému. Velká část firem se o něm totiž stejně dozví pozdě, nebo dokonce vůbec. Data vašich zákazníků, včetně hesel, jsou to nejcennější, co máte, a při případném úniku jim je nikdo nevrátí,“ varuje naše čtenáře Michal Špaček.
Bezpečnost ani odborníci na ni nejsou vaši nepřátelé
Bezpečnost je jednou z priorit e-shopu. Nezáleží na tom, zdali programujete e-shop sami (vyvíjíte je komerčně), nebo máte e-shop pronajatý. SEO není jediným aspektem, který vás má u e-shopu zajímat. Bezpečnost je sice nevděčná - zabezpečení zákaznických údajů v databázi vám větší tržby nepřinese - ale patří k odpovědnosti při podnikání, která je nevyhnutelná. Rezignovat na zabezpečení je pro podnikatele stejně dobré rozhodnutí jako přestat platit daně.
Bezpečnostní odborníci (zejména zmíněný Michal Špaček) radou nešetří a snaží se ostatním pomoci. Pokud má váš e-shop ambice a nechcete v budoucnu riskovat problémy či dokonce fatální konec, zvažte poradu s odborníkem a bezpečnostní audit vašeho e-shopu. Možná se vám to nevrátí hned, ale budete v klidu spát a zákazníci vám nebudou vyhrožovat žalobami.
Specialista pro bezpečnostní SSL certifikáty
DigiCert TLS/SSL Professional
e-mail: jindrich.zechmeister(at)zoner.cz