Nasazení eshopu na IIS
Tento dokument se zabývá problematikou nasazení eshopu na IIS a instalací jeho součástí a testování.
Před samotnou instalací Eshopu, je nutné mít připraveno a nainstalováno:
- IIS (Správce internetové informační služby)
- Aplikační server
- Server webových služeb
- PHP verze 5.6 (pro responzivní e-shop), PHP verze 7.4 (64 bit) pro šablonovací e-shop
Instalace a nastavení jednotlivých součástí budou podrobně popsány v dalších kapitolách.
K2 aplikační server
Popis
Tento instalační balíček slouží k instalaci aplikačního serveru IS K2 verze 3. Aplikační server pak slouží pro obsluhu webových klientů, kteří se na aplikační server připojují.
Softwarové požadavky
Prvním požadavkem instalátoru aplikačního serveru je nutnost mít spuštěnou instalaci s administrátorským oprávněním. Jelikož tuto podmínku musí splňovat již K2 instalátor samotný, je tímto zajištěno, že se toto oprávnění přenese i na všechny instalace spouštěné z K2 instalátoru. Pro jistotu toto oprávnění testuje každá instalace, takže v případě nedostatečného oprávnění by instalátor zobrazil hlášení.
Druhým požadavkem je nutnost mít nainstalovaný IS K2, a to verze, která odpovídá verzi aplikačního serveru, minimálně na úrovni verzi releasu verze, to znamená např. 3.135.3.
Pokud jsou výše zmíněné podmínky splněny, pak můžeme spustit instalaci.
Instalace
Po spuštění instalace se zobrazí první dialog, který uživatele informuje, že je spuštěn instalátor pro produkt K2 Aplikační server a navíc zobrazí číslo verze, která bude nainstalována, viz Obr.: Start instalace AS.
Obr.: Start instalace AS
Po stisknutí tlačítka Další přejdeme k druhému dialogu, který obsahuje licenční ujednání, která po přečtení musíme akceptovat, abychom mohli pokračovat dále. Ujednání akceptujeme, zatrhnutím volby S podmínkami licenční smlouvy souhlasím, viz Obr.: Licenční ujednání AS.
Obr.: Licenční ujednání AS
Tlačítkem Další se dostaneme na třetí dialog, kde je uživatel vyzván k zadání cesty k nainstalované K2, viz Obr.: Cesta k IS K2. Tlačítkem Změnit můžete procházet klasickým dialogem adresáře na fyzických discích, případně na síti.
Obr.: Cesta k IS K2
Pokud ve vybraném adresáři není nainstalován IS K2, pak je při pokusu o pokračování v instalaci zobrazeno varovné hlášení, které nedovolí pokračovat v instalaci, dokud není vybraná platná cesta, viz Obr.: IS K2 nenalezen
Obr.: IS K2 nenalezen
Pokud je v adresáři nalezena platná instalace IS K2, instalace po stisknutí tlačítka Další pokračuje k dalšímu dialogu, který slouží k výběru instalační cesty. Tedy cesty kde se bude aplikace instalovat. Tlačítkem Změnit můžete procházet klasickým dialogem adresáře na fyzických discích.
Obr.: Instalační adresář
Po výběru instalačního adresáře a stisku tlačítka Další se zobrazí dialog, který vyzve uživatele, aby zadal název aplikačního serveru, včetně popisu (určen pro jednodušší rozpozdnání aplikačního serveru) a mandanta, viz Obr.: Název aplikačního serveru K2. Tato hodnota slouží jako jedinečná identifikace konkrétního aplikačního serveru mezi více instalacemi těchto aplikačních serverů. Pomocí této identifikace se pak budou připojovat weboví klienti ke správným aplikačním serverům.
Obr.: Název aplikačního serveru K2
Vyplníme pole Název instance a Popis aplikačního serveru. Do pole Mandant zadáme mandanta, pro kterého má být aplikační server výchozí.
Obr.: Název instance
Volba Zapnout notifikace zapíná notifikace na AS, tzn. do souboru "K2.INI" je doplněn parametr "NSUSERS=K2". Pomocí volby Zapnout plánovač se zapíná plánovač na AS a do souboru "K2.INI" je přidán parametr "SCHEDULESERVICE=1".
Jestliže, je zatržena volba Konfigurovat aplikační server i pro server webových služeb, pak následuje dialog, viz Obr: Nastavení aplikačního serveru, který vyzve k zadání prefixu anonymního uživatele, počtu uživatelů a hesla uživatelů. Tito uživatelé musí být vytvořeni v IS K2 před instalací AS a měli by být číslováni vzestupně např. AN1, AN2 atd. kde AN je prefix a za ním pořadové číslo. Všichni tito uživatelé musí mít stejné heslo.
Pokud je zatržena volba Konfigurovat pro eshop, zobrazí se jako další krok instalace dialog pro Nastavení aplikačního serveru pro Eshop, viz obr. Číslo výchozí kontaktní osoby pro EShop. Zde zadáváme číslo kontaktní osoby, prostřednictvím které je realizováno přihlášení anonymního uživatele eshopu. Tato kontaktní osoba musí mít přiřazenou registraci. Do "K2.INI" aplikačního serveru se rovněž zařadí parametr "AS3ContactPerson".
V případě, že je zatržena volba Konfigurovat pro kontaktní centrum, zobrazí se v rámci instalace aplikačního serveru také dialog, viz obr. K2 uživatel pro kontaktní centrum. Na této obrazovce zadáváme jméno uživatele, pod kterým běží v IS K2 kontaktní centrum a také heslo. Zde zadané hodnoty se pak doplní do "K2.INI" aplikačního serveru jako parametry "CCUSER" a "CCPASWORD". Do "K2.INI" se doplní také parametr "CONTACTCENTERSERVICE=1".
Obr.: Nastavení aplikačního serveru
Obr.: Číslo výchozí kontaktní osoby pro EShop
Obr.: K2 uživatel pro kontaktní centrum
Dalším dialogem v instalaci je zadání jména a hesla uživatele, pod kterým bude běžet služba aplikačního serveru. Může být použit místní systémový účet viz obr. Místní systémový účet - AS anebo účet Windows uživatele, který vyžaduje heslo, viz obr.: Windows uživatel 2 - AS.
Obr.: Místní systémový účet - AS
Také může být použit doménový uživatel i s heslem, viz Obr.: Windows uživatel 2 - AS
Obr.: Windows uživatel 2 - AS
Po stisku tlačítka Další se kontroluje shoda hesel. Pokud nejsou shodné, je uživatel vyzván k opravě. Dalším dialogem v instalaci je zadání K2 uživatele, pod kterým se bude aplikační server připojovat k IS K2. Je možné využít již vytvořeného uživatele nebo vytvořit speciálního uživatele, který bude sloužit jen pro připojení k AS. Pro uživatele, kterým se bude připojovat k AS, není potřeba mít vyhrazenou licenci, viz Obr.: K2 uživatel - AS
Obr.: K2 uživatel - AS
Po stisku tlačítka Další se kontroluje shoda hesel. Pokud nejsou shodné, je uživatel vyzván k opravě.
Pokud jsou hesla shodná, pak se zobrazí dialog, který uživatele informuje o připravenosti instalace. Kliknutím na tlačítko Nainstalovat se pak spustí samotný průběh instalace.
Obr.: Potvrzení instalace
Po úspěšné instalaci je zobrazen uživateli poslední dialog o úspěšné instalaci, viz Obr.: Konec instalace
Obr.: Konec instalace
Na závěr instalace, případně reinstalace Aplikačního serveru se může zobrazit textový soubor se seznamem uživatelů. Důvodem je zpřísněná politika bezpečnosti uživatelských účtů IS K2.
Jednotlivým uživatelům je možné zakázat přístup z webu do IS K2 a všichni uživatelé mají po reinstalaci tento přístup zakázán. V textovém souboru, se na závěr instalace, zobrazí seznam všech uživatelů, kteří mají propojení na kontaktní osobu a zároveň mají zakázán přístup přes web. Tito nebudou moci používat některé funkce, jako je např. schvalování wkfl z emailu. Pro tyto uživatele je nutné nastavit přístup z webu v knize Uživatelé - nastavení hesel.
Obr.: Textový soubor se seznamem uživatelů
Instalace IIS
K2 EShop musí být v ostrém provozu nasazen na serverový operační systém – Microsoft Windows Server. Podporované verze tohoto systému jsou dostupné v dokumentu „Systémové požadavky“ dle verze IS K2. Instalace na klientský operační systém je možná, ale pouze v rámci testu nebo prohlídky DEMO instalace. Tento dokument se zabývá popisem serverové instalace IIS a všech ostatních komponent systému nezbytných pro běh K2 Eshopu.
Dalším krokem je instalace IIS (Správce internetové informační služby. Nejdříve je potřeba spustit Správce serveru a následně možnost Přidat role a funkce.
Obr.: Správce serveru
Prvním krokem jsou instrukce před samotnou instalací, po jejich prostudování se tlačítkem Další posuneme k dalšímu kroku.
Obr.: Průvodce přidáním
V dalším kroku vybereme typ instalace - Instalace na základě rolí nebo základě funkcí.
Obr.: Typ instalace
Výběr serveru, kde má být IIS nainstalováno.
Obr.: Výběr serveru
V dalším kroku kromě defaultně zatržených funkcí je potřeba zaškrtnout volbu „Web server (IIS)“.
Obr.: Role serveru
Další krokem je definice funkcí. Nastavíme Net Framework dle instalace a volby. Zde je potřeba ponechat výchozí nastavení a přidat vývoj aplikací (.NET 4.5, ASP.NET 4.5), Nástroje pro správu (včetně kompatibility IIS 6) a Nezatrhávat „Publikování WebDAV“.
Přidat: ASP.NET 4.6 a pod HTTP Activation (pod WCF Services).
Obr.: Funkce
V dalším kroku zatrhnout CGI (pod Application development) – pro eshop je to nutnost, pro K2 API není nutné.
Obr.: Služby rolí
V tom samém kroku Služby rolí je potřeba nastavit ještě IIS 6 Metabase Compatibility.
Obr.: Služby rolí
V posledním kroku uživatel již jen potvrdí předchozí nastavení.
Obr.: Potvrzení instalace
Instalace K2 API
Server webových služeb K2 (K2 API) je webová aplikace běžící na webovém serveru Microsoft Internet Information Services (IIS). Prostřednictvím aplikačního serveru K2 zpřístupňuje data informačního systému K2 a umožňuje spouštění skriptů a sestav. Webové služby jsou založeny na technice REST, tzn., komunikace probíhá pomocí protokolu HTTP a standardních metod GET (čtení dat), POST (vytváření dat), PUT (modifikace existujících dat).
Data je možné číst a posílat buď ve formátu XML nebo JSON.
Po zadání kořenové URL adresy K2 API do prohlížeče je možné procházet základní popis služeb a prostředků/operací pomocí dynamické nápovědy.
Instalace a základní nastavení
Prerekvizity:
- V licenci K2 musí být dostupné alespoň jedno vlákno K2 API (položka Počet sdílených uživatelů) a v K2 založen odpovídající počet tzv. anonymních uživatelů s loginem složeným se shodného prefixu a na konci doplněným o pořadové číslo (např. „AN1“ – „AN5“). Tito uživatelé musí mít shodně nastavená práva i shodné heslo.
- Nainstalovaný a spuštěný aplikační server se zatržením „Konfigurovat aplikační server pro server webových služeb“ a „Konfigurovat aplikační server pro Eshop při instalaci. Pokud tyto volby při instalaci nebyly zatrženy, je možné u existující instalace AS doplnit v konfiguračním souboru K2.INI tyto parametry (příklad pro 5 vláken a uživatele pojmenované AN1 – AN5) :
- AS3USER='AN'
- AS3PASSWORD='ANPassword'
- AS3USERS=5
- AS3IO=2000034152
- AS3Contactperson=65 (číslo kontaktní, která slouží pro přístup anonymním uživatelům)
- Server, na kterém bude K2 API instalován, musí být k dispozici IIS s nainstalovanou podporou ASP.NET a WCF. Při instalaci IIS je nutné zvolit zejména tyto součásti:
- Role: Výchozí + Vývoj aplikací (.NET 4.5, ASP.NET 4.5), Nástroje pro správu (včetně kompatibility IIS 6); Nezatrhávat: Publikování WebDAV
- Funkce: Aktivační služba (Model procesu), Služby WCF (aktivace HTTP), .NET 4.5, ASP.NET 4.5
- V případě HTTPS instalace korektně nastavený certifikát v IIS
- V případě publikace K2 API pro přístup přes internet, povolené použité HTTP/HTTPS porty (standardně 80/443)
Doporučené nasazení pro přístup k K2 API z internetu:
K2 aplikační server by měl být vždy instalován na serveru dostupném pouze ve vnitřní síti. K2 API a případné další webové aplikace) je doporučeno instalovat na samostatný server, který je dostupný z internetu a má omezený přístup do interní sítě povolující pouze komunikace s K2 AS.
Instalace K2 API:
Provádí se pomocí K2 instalátoru. Instalační program K2 API před začátkem instalace kontroluje dostupnost základních vyžadovaných součástí, případně upozorní na chybějící součásti a instalace je zastavena.
Během instalace je potřeba zadat několik údajů:
- Cílový adresář – je možno zvolit libovolný adresář, nemusí být v root adresáři IIS
- Název IIS serveru – zadat název, pomocí kterého se bude k serveru se K2 API přistupovat. Pro testovací instalace je možno zadat i „localhost“ – pod tímto názvem ale bude K2 API dostupný pouze na daném serveru.
- Webová stránka na IIS (Web Site) – zvolte, do které Web Site chcete K2 API nainstalovat. Standardně je na IIS k dispozici pouze „Default Web Site“.
- Název aplikace na IIS – část URL adresy k K2 API za názvem serveru. Pokud bude název serveru „mujserver.cz“ a jako název aplikace uvedete „restservice“, pak základní URL pro přístup k K2 API bude http://mujserver.cz/restservice.
- Název nebo IP adresa počítače, kde běží K2 AS.
- Název instance K2 AS – zadáváno při instalaci K2 AS.
Nejčastější problémy při instalaci a konfiguraci K2 API:
- Chybný název nebo IP adresa serveru s AS nebo chybný název instance AS – zkontrolovat a případně upravit ručně v konfiguračním souboru K2 K2 API – soubor web.config v instalačním adresáři K2 API. Zkontrolovat, zda nic neblokuje síťovou komunikaci mezi server se K2 API a serverem s AS
- AS není nakonfigurován pro K2 API – doplnit konfiguraci viz část Prerekvizity výše
- Chybí anonymní uživatelé nebo jsou zakázáni - viz část Prerekvizity výše
- V licenci K2 není uveden počet sdílených uživatelů nebo je tento počet překročen – aktualizovat licenci K2
- Chybějící součásti IIS – zkontrolovat součásti IIS, viz část Prerekvizity výše
- Chybějící oprávnění pro IIS proces (viz obr.)
Obr.: Chybějící oprávnění
Oprávnění je nutné přidat těmto uživatelům.
Obr.: Uživatelé
Ve většině případů pomůže logování K2 API případně AS. Zapnutí logování K2 API se provádí v konfiguračním souboru web.config, parametry LogPath (cesta k log souboru), LogLevel (typy zpráv, které mají být zaznamenávány, pro ladění doporučeno alespoň Info), LogRequests (umožňuje sledovat zpracovávání jednotlivých požadavků na K2 API i v případě souběhu více požadavků najednou).
Instalace PHP
Pomocí „WEB platform Instaler“ nainstalujeme PHP. Pro eshop je nutné PHP verze 5.6 a vyšší. Pro některé OS, se nemusí podařit nainstalovat PHP manažera. Není to nutný doplněk, ale je vhodný a doporučený. (Pozn. Pro šablonovací e-shop je vyžadována verze PHP 7.4 (64bit)).
Pokud se nepodaří nainstalovat PHP manager, v níže uvedeném odkazu je popsán postup, jak ho nainstalovat.
Odkaz jak nainstalovat PHP manager:
https://answers.microsoft.com/en-us/windows/forum/windows_10-other_settings/php-manager-for-iis-on-windows-10/33ef32f0-6a86-4803-abc1-6de81110f9a8?auth=1
Pomocí Web platform instaler najdeme PHP 5.6 a dáme instalovat
Obr.: Instalace PHP verze 5.6
Obr.: Instalace PHP verze 5.6
Pokud je nainstalovaný PHP manager, je možné ověřit, jestli se instalace zdařila, pomocí funkce Checkphpinfo.
Obr.: Ověření instalace
Pokud je PHP správně nainstalováno, zobrazí se níže uvedená stránka.
Obr.: Ověření instalace
K2 E-shop
Popis
Tento instalační balíček slouží k instalaci internetového obchodu K2. Aplikace K2 E-shop běží v rámci Internetové informační služby. K2 E-shop využívá pro připojení do IS K2 webové služby a ty pak aplikační server. Instalace K2 E-shopu proto již předpokládá jejich existenci.
Softwarové požadavky
První podmínkou instalace K2 E-shopu je instalace Internetové informační služby, dále jen IIS, verze 6.0 a vyšší. Pokud není IIS nainstalována, zobrazí se na začátku instalace varovné hlášení. V rámci IIS je nutné mít zatrženou možnost CGI (Common Gateway Interface) v sekci Webové služby - Funkce pro vývoj aplikací. Tato volba je nutná pro funkčnost PHP v rámci IIS.
Druhým požadavkem pro funkčnost K2 E-shopu je rozšíření IIS o URL Rewrite. Instalace tohoto rozšíření zajišťuje překlad URL adres do čitelné podoby. Pokud není toto rozšíření nainstalováno, zobrazí instalátor hlášení s odkazem ke stažení. Instalace URL Rewrite je zařazena také na záložce Ostatní instalace odkud ji lze stáhnout a nainstalovat.
Obr.: Hlášení instalátoru (chybějící URL Rewrite)
Posledním požadavkem je instalace podpory PHP verze 5.6 do IIS. Pokud tato podpora nainstalována není, informuje o tom instalátor zobrazeným hlášením. Instalace podpory PHP je k dispozici na záložce Ostatní instalace. Pro PHP verze 5.6 však neexistuje instalátor. Je nutné nainstalovat nejprve verzi 5.3 (dostupnou v instalátoru na záložce Ostatní instalace), následně stáhnout PHP 5.6 a povýšit na tuto verzi. Odkaz ke stažení PHP 5.6 je http://windows.php.net/.
Obr.: Hlášení instalátoru (chybějící podpora PHP)
Instalace
Po spuštění instalace a splnění výše uvedených softwarových požadavků se zobrazí první dialog, který uživatele informuje, že je spuštěn instalátor pro produkt K2 E-shop, viz Obr.: Start instalace K2.
Obr.: Start instalace K2 E-shop
Po stisknutí tlačítka Další přejdeme k druhému dialogu, který obsahuje licenční ujednání.
Tlačítkem Další se dostaneme na třetí dialog, který slouží k výběru instalační cesty pro K2 E-shop, viz Obr.: Cílový adresář. Tlačítkem Změnit můžete procházet klasickým dialogem adresáře na fyzických discích, případně na síti. K2 E-shop zpravidla instalujeme do domovského adresáře IIS (výchozí adresář IIS je C:\inetpub\wwwroot). Název adresáře pak určuje finální podobu URL adresy e-shopu, která se skládá z adresy IIS a názvu adresáře s instalací produktu K2 E-shop.
Obr.: Cílový adresář
Po výběru instalační cesty následuje dialog, ve kterém určujeme webové služby pro E-shop. Pomocí těchto webových služeb, se K2 E-shop připojuje k IS K2. V tomto dialogu vybíráme Typ protokolu (Http nebo Https), Název IIS serveru (obvykle název počítače, kde jsou webové služby nainstalovány) a Název aplikace na IIS (pojmenování webových služeb pro K2 E-shop). Tyto tři hodnoty tvoří kompletní URL adresu, pro připojení k serveru webových služeb.
Obr.: Webové služby pro E-shop
Další dialogové okno zobrazíme znovu stisknutím tlačítka Další. Zde je pak nutné nastavit přihlašovací údaje pro anonymní přístup do eshopu. Jedná se o přihlašovací údaje nastavené na kontaktní osobě.
Obr.: Přihlášení pro neregistrovaného uživatele
Posledním instalačním dialogem je Nastavení e-shopu. Zde je nutné v poli Číslo e-shopu z K2 zadat RID internetového obchodu z IS K2 pro jeho jednoznačné určení. Dále je zde pole pro určení URL adresy pro přístup k obrázkům.
Obr.: Nastavení e-shopu
Po vyplnění všech údajů pak pokračujeme dále tlačítkem Další. Zobrazí se dialog, který uživatele informuje o připravenosti instalace. Pomocí tlačítka Nainstalovat pak spustíme vlastní instalaci produktu.
Obr.: Připravena instalace K2 E-shop
Po úspěšné instalaci se zobrazí poslední dialog s informací o výsledku.
Obr.: Dokončení instalace
Obrázky pro Eshop
K internetovému obchodu neodmyslitelně patří obrázky. Složka, ze které internetový obchod bude načítat obrázky, musí být vytvořena na stejném místě jako samotný IO. Na této složce je nutné nastavit v části "Procházení adresáře" Povolit jeho procházení.
Obr.: Nastavení procházení složky obrázků pro Eshop
Bezpečné nastavení IIS pro K2 Eshop
Abychom zajistili co nejbezpečnější provoz K2 Eshopu, připravili jsme webovou stránku, která po zadání URL adresy instalovaného prostředí IIS nebo přímo Eshopu ověří, zda je prostředí nastaveno dle naší doporučené konfigurace.
Webová stránka je dostupná na http://demo.k2.cz/iissecuritychecker/. Po otevření se zobrazí webová stránka, viz obrázek „Test nastavení pro K2 Eshop“. Do vstupního pole vložíme adresu serveru, který chceme prověřit na bezpečné nastavení. Například můžeme prověřit nastavení demo instalace eshopu K2 – https://demo.k2.cz/eshop/.
Na obrázku je vidět test počítače, na kterém běží IIS a nemá nastaveno ani jedno naše doporučení.
Obr.: Test nastavení pro K2 Eshop – chybné nastavení
Na obrázku je vidět test https://demo.k2.cz , které máme správně nastaveno dle našeho doporučení bezpečné konfigurace.
Obr.: Test nastavení pro K2 Eshop 2 – správné nastavení
Test provádí kontrolu šesti bodů nastavení, které považujeme za vhodné, aby takto byly nastaveny. Zvyšují bezpečný provoz eshopu na IIS. Jednotlivými body, včetně návodu na nastavení se zabývá následující text tohoto dokumentu.
Nastavení IIS
Pro každý testovaný bod je zde popsán jeho význam včetně popisu proč je vhodné mít nastaveno a čím je aplikace ohrožena v případě, když není. Text je zároveň i návodem jak každý z bodů správně nastavit.
Poznámka:
Nastavení IIS serveru se předává z vyšší úrovně na nižší. Můžete si tedy nastavit úvodní stránku IIS a všechny ostatní, které pod tuto stránku spadají, toto nastavení přeberou a budou automaticky používat.
Například máme na webu https://demo.k2.cz definovánu konfiguraci, pak pokud neurčíme jinak, všechny weby pod tímto, například https://demo.k2.cz/eshop budou mít toto nastavení také. Pokud provozujete více eshopů, je vhodné nastavení provést na vyšší úrovni, aby jej použily všechny instalované eshopy na IIS.
Téměř všechna nastavení, která zde budeme popisovat, se týkají nastavení hlaviček HTTP odpovědí. Do jejich nastavení se přepneme výběrem webu ve stromu na levé straně nastavení, viz obrázek. Pro vybraný web pak vybíráme ikonu v pravé části formuláře – „Hlavičky HTTP odpovědí“, viz obrázek.
Obr.: Nastavení hlavičky HTTP odpovědí
Po otevření nastavení se zobrazí formulář, který je vidět na dalším obrázku.
Obr.: Hlavičky HTTP odpovědi
Do této sekce pak budeme vkládat jednotlivá nastavení. To provedeme stisknutím pravého tlačítky myši a výběrem „Přidat“ z kontextové nabídka otevřeme formulář pro založení nového záznamu, viz obrázek.
Obr.: Přidání nového záznamu
Nastavení jednotlivých částí IIS
X-Frame-Options Header Not Set
Popis zranitelnosti
V hlavičce HTTP požadavku chybí parametr "X-Frame-Options" s patřičným nastavením, který zabrání útokům typu "ClickJacking".
Stránka využívající clickjacking má na pozadí neškodný obsah – např. vtipné obrázky a vedle nich odkaz, který o sobě tvrdí, že vede na další stránku obrázků. Dále je však do stránky vložen rám se zcela jinou stránkou a ten je zobrazen přes obsah na pozadí, avšak se zapnutou průhledností, takže o něm uživatel neví. Když se následně uživatel pokusí kliknout na odkaz, který má vést na další stránku, ve skutečnosti kliká na neviditelnou stránku navrchu. Tím může na cílové stránce provést prakticky libovolnou akci, aniž by o tom věděl a souhlasil [zdroj: Wiki].
Tedy EShop je možné vložit do rámu na libovolné stránce a zneužít.
Nastavení pro IIS:
- Konfigurace: Hlavičky HTTP odpovědi
- Název: X-Frame-Options
- Hodnota: DENY
Obr.: Nastavení pro IIS
Změna nastavení vyžaduje restart IIS.
X-Content-Type-Options Header Missing
Popis zranitelnosti
Chybí volba „nosniff“ v parametru „X-Content-Type-Options“ požadavku. Tato zranitelnost umožňuje starším verzím IE a Chrome provést „MIME-sniffing“, což umožní interpretovat a zobrazit odesílaná data jako typ obsahu, který je jiný než deklarovaný.
Opatření k nápravě
Nastavit Internetovou informační službu tak, aby doplňovala do parametru „X-Content-Type-Options“ HTTP hlavičky hodnotu „nosniff“. Nastavení je následující.
Nastavení pro IIS:
- Konfigurace: Hlavičky HTTP odpovědi
- Název: X-Content-Type-Options
- Hodnota: nosniff
Obr.: Nastavení pro IIS
Změna nastavení vyžaduje restart IIS.
Set-Cookie – HTTPOnly a SecureFlag
HTTPONLY
Popis zranitelnosti HTTPOnly
Cookie je nastaveno bez návěští „HttpOnly“, což znamená, že mohou být přístupné pomocí JavaScriptů. Může tedy docházet k neoprávněným přístupům k informacím.
Opatření k nápravě
Nastavit Internetovou informační službu tak, aby doplňovala do HTTP hlavičky "Set-Cookie" potřebný příznak „HttpOnly“. Konfigurace pro Internetovou informační službu je následující.
Nastavení pro IIS:
- Konfigurace: Hlavička HTTP odpovědi
- Název: Set-Cookie
- Hodnota: ^(.*)$ $1;HttpOnly
Obr.: Nastavení IIS
Změna nastavení vyžaduje restart IIS.
SECUREFLAG
Popis zranitelnosti SecureFlag
Cookies nemají nastaveny bezpečnostní příznak "Secure", což znamená, že mohou být přístupné přes nešifrované spojení.
Opatření k nápravě
Nastavit Internetovou informační službu tak, aby doplňovala do HTTP hlavičky
"Set-Cookie" potřebný příznak „Secure“.
V případě, že je přistupováno k aplikaci pomocí protokolu HTTPS, pak bude fungovat vše v pořádku. K problémům může dojít v případě, že vyprší certifikát a cookie tak nepůjde přečíst ani z HTTPS požadavku. V případě použití HTTP bude hodnota cookie prázdná a EShop tak nebude v kombinaci s tímto nastavením fungovat. Obecně platí, že webové aplikace by měli běžet na protokolu HTTPS což je i doporučení K2 atmitec. V případě ladění a testování na protokolu HTTP je potřeba vzít v úvahu, že „Secure“ nemůže být nastaveno v Set-Cookie.
Nastavení pro IIS:
- Konfigurace: Hlavička HTTP odpovědi
- Název: Set-Cookie
- Hodnota: ^(.*)$ $1;Secure
Obr.: Nastavení IIS
Změna nastavení vyžaduje restart IIS.
Zmíněná nastavení můžeme zkombinovat.
Výslednou hodnotou nastavení je:
- Konfigurace: Hlavička HTTP odpovědi
- Název: Set-Cookie
- Hodnota: ^(.*)$ $1;HttpOnly;Secure
XSS Protection
Popis zranitelnosti
Není nastavena XSS – „Cross-site scripting“ ochrana webového prohlížeče, nebo je zakázána špatnou konfigurací funkce „X-XSS-Protection“ v HTTP odpovědní hlavičce na webovém serveru.
Opatření k nápravě
Nastavit Internetovou informační službu tak, aby doplňovala do HTTP hlavičky odpovědi parametr "X-XSS-Protection" Nastavení internetové informační služby je následující.
Nastavení pro IIS:
- Konfigurace: Hlavičky HTTP odpovědi
- Název: X-XSS-Protection
- Hodnota: 1; mode=block
Obr.: Nastavení IIS
Změna nastavení vyžaduje restart IIS.
Použití či přesměrování HTTPS
Provádí kontrolu, zda nedochází k přesměrování na HTTP z HTTPS.
Stav 200 OK
Kontrola, zda ověřovaná stránka vrátila HTTP 200 OK, tedy stránka existuje a je vrácen její obsah.
Souhrn bezpečného nastavení v IIS
Správné nastavení všech zmiňovaných bodů by měl potvrdit zmíněný test. Ve formuláři na obrázku je vidět souhrn všech bodů, které se týkají nastavení hlavičky HTTP odpovědí.
Obr.: Nastavení parametrů