Čitatelia ako vy pomáhajú podporovať MUO. Keď uskutočníte nákup pomocou odkazov na našej stránke, môžeme získať pridruženú províziu.

Keď chcete navštíviť webovú stránku, internetový prehliadač, ktorý používate, prijíma z tejto stránky niektoré údaje. Výsledkom je dialóg medzi vaším zariadením a webovou stránkou. To sa deje s protokolom nazývaným HTTP. Zasahovaním do tohto dialógu je možné prijať niektoré dodatočné bezpečnostné opatrenia.

Ak prevádzkujete webovú stránku alebo sa usilujete o kariéru webového vývojára, bezpečnostné hlavičky HTTP sú pre vás neoceniteľné, pretože zohrávajú aktívnu úlohu v bezpečnosti používateľa aj webovej stránky.

Čo je HTTP Strict-Transport-Security (HSTS)?

HTTP Strict Transport Security (HSTS) núti používateľov používať HTTPS pre každú požiadavku, ktorú urobia vo svojom prehliadači. Je to solídny spôsob boja proti kybernetickým útokom, ako je napríklad zníženie verzie, a na zaistenie bezpečnosti celej premávky.

Aktivácia HSTS je pomerne jednoduchá. Zvážte dialóg medzi klientom a serverom. Keď sa pokúsite získať prístup na stránku prostredníctvom prehliadača, klientom ste vy. Stránka, ktorú chcete otvoriť, závisí od servera. Vaším cieľom je povedať serveru: „Chcem otvoriť túto stránku“. Toto je operácia žiadosti. Na druhej strane server vás nasmeruje na stránku, ak spĺňate požadované podmienky.

instagram viewer

Majte to na pamäti v súvislosti s týmto vzorovým príznakom hlavičky HTTP:

Strict-Transport-Security: max-age=16070200;

Keď pridáte tento príznak do informácií v hlavičke odpovede HTTP, všetky požiadavky generované používateľom sa stanú HTTPS. Čokoľvek tu používateľ napíše, prehliadač automaticky vyhodnotí protokol ako HTTPS a vytvorí zabezpečené spojenie.

Ako používať HSTS

Namiesto pridávania všetkých týchto informácií hlavičky HTTP do vrstvy kódu to môžete urobiť v aplikáciách Apache, IIS, Nginx, Tomcat a ďalších aplikáciách webového servera.

Ak chcete povoliť HSTS v Apache:

LoadModule headers_module modules/mod_headers.so
<VirtualHost *:443>
Hlavička vždy nastaviťPrísne-Doprava-Bezpečnosť "max-vek=2592000; includeSubDomains"
</VirtualHost>

Ak chcete povoliť HSTS v Nginx:

add_header Strict-Transport-Security max-age=2592000; includeSubdomény

Ak chcete povoliť HSTS pomocou IIS web.config:

<system.webServer>
<httpProtokol>
<customHeaders>
<pridať meno="Prísne zabezpečenie dopravy" hodnota="maximálny vek=63072000"/>
</customHeaders>
</httpProtocol>
</system.webServer>

Pre používateľov Cloudflare

Cloudflare poskytuje bezplatnú službu HTTPS pre každého pomocou služby Keyless SSL; pred podaním žiadosti o predbežné načítanie HSTS by ste mali vedieť, že váš certifikát nepatrí vám. Mnoho stránok používa certifikáty SSL pretože predstavujú jednoduchý spôsob, ako udržať dáta v bezpečí.

Teraz však Cloudflare podporuje funkciu HSTS. Všetky funkcie HSTS vrátane predbežného načítania môžete aktivovať cez webové rozhranie Cloudflare bez toho, aby ste museli zápasiť s konfiguráciami na webovom serveri.

Čo sú možnosti X-Frame?

X-Frame-Options je hlavička zabezpečenia podporovaná všetkými modernými prehliadačmi. X-Frame-Options sa zameriava na ochranu pred krádežou kliknutí, ako je napríklad Clickjacking. Ako už názov napovedá, ide o fungovanie zraniteľného vloženého rámca, známeho aj ako iframe. Ide o prvky na lokalite, ktoré vkladajú inú stránku HTML do „nadradenej“ lokality, takže na svojej lokalite môžete použiť obsah z iných zdrojov. Útočníci však používajú prvky iframe pod vlastnou kontrolou, aby prinútili používateľov vykonávať akcie, ktoré nechcú.

Z tohto dôvodu musíte útočníkom zabrániť, aby na stránke našli prvky iframe.

Kde a ako používať možnosti X-Frame?

To, čo robí X-Frame-Options, sa niektorí vývojári pokúšajú robiť s jazykmi ako JavaScript. To nie je úplne nesprávne. Stále však existuje riziko, pretože kódy napísané v mnohých aspektoch nestačia. Preto by bolo rozumné ponechať túto úlohu na internetový prehliadač, ktorý používate.

Ako vývojár však musíte o X-Frame-Options vedieť tri parametre:

  • Odmietnuť: Úplne zabrániť volaniu stránky v akomkoľvek prvku iframe.
  • SAMEORIGIN: Zabráňte akejkoľvek inej doméne než vašej vlastnej vo volaní v rámci prvku iframe.
  • POVOLIŤ-Z uri: Prijať volanie iframe identifikátora URI uvedeného ako parameter. Blokovať ostatných.

Tu, SAMEORIGIN funkcia vyniká viac. Pretože aj keď môžete volať aplikácie vo svojich rôznych subdoménach pomocou prvkov iframe v sebe, môžete zabrániť ich volaniu cez doménu pod kontrolou útočníka.

Tu sú príklady toho, ako môžete použiť SAMEORIGIN a X-Frame-Options s NGINX, Apache a IIS:

Používanie X-Frame-Options SAMEORIGIN pre Nginx:

add_header X-Frame-Options SAMEORIGIN;

Používanie X-Frame-Options SAMEORIGIN pre Apache:

Hlavička vždy pripojí X-Frame-Options SAMEORIGIN

Použitie X-Frame-Options SAMEORIGIN pre IIS:

<httpProtokol>
<customHeaders>
<pridať meno="X-Frame-Options" hodnota="SAMEORIGIN" />
</customHeaders>
</httpProtocol>

Samotné pridanie hlavičky SAMEORIGIN poskytne vašim návštevníkom väčšiu bezpečnosť.

Čo je X-XSS-Protection?

Používanie informácií hlavičky X-XSS-Protection môže chrániť používateľov pred útokmi XSS. Po prvé, musíte odstrániť Zraniteľnosť XSS na strane aplikácie. Po zabezpečení zabezpečenia na základe kódu sú potrebné ďalšie opatrenia, t. j. hlavičky X-XSS-Protection proti zraniteľnostiam XSS v prehliadačoch.

Ako používať X-XSS-Protection

Moderné prehliadače dokážu odhaliť potenciálne užitočné zaťaženie XSS filtrovaním obsahu generovaného aplikáciou. Túto funkciu je možné aktivovať pomocou informácií hlavičky X-XSS-Protection.

Ak chcete povoliť hlavičku X-XSS-Protection v Nginx:

add_header X-Frame-X-XSS-Protection 1;

Ak chcete povoliť hlavičku X-XSS-Protection v Apache:

Hlavička vždy pripojí X-XSS-Protection 1

Ak chcete povoliť hlavičku X-XSS-Protection v IIS:

<httpProtokol>
<customHeaders>
<pridať meno="X-XSS-ochrana" hodnota="1" />
</customHeaders>
</httpProtocol>

Ak chcete zabrániť spusteniu bloku kódu s útokom XSS v predvolenom nastavení, môžete použiť niečo takéto:

X-XSS-ochrana: 1; režim=blok

Túto menšiu zmenu je potrebné vykonať, ak dôjde k potenciálne nebezpečnej situácii a chcete zabrániť vykresľovaniu všetkého obsahu.

Čo je X-Content-Type-Options?

Prehliadače vykonávajú analýzu s názvom MIME Type Sniffing na obsahu, ktorý im prezentuje webová aplikácia. Ak napríklad existuje požiadavka na prístup k súboru PDF alebo súboru PNG, prehliadače, ktoré vykonávajú analýzu odpovede HTTP, odvodia typ súboru.

Predstavte si súbor s príponou jpeg, ktorý však v skutočnosti obsahuje textový/HTML obsah. Po použití rozšírení a odovzdaní ochrany v module nahrávania sa súbor úspešne nahrá. Nahraný súbor sa volá cez URL a sniffing typu MIME vráti text/HTML ako výsledok. Vykreslí obsah ako HTML. Vtedy sa objaví zraniteľnosť XSS.

Takže musíte zabrániť prehliadačom v rozhodovaní o obsahu pomocou sniffovania typu MIME. Ak to chcete urobiť, môžete použiť nosniff.

Hlavička X-Content-Type-Options pre Nginx:

add_header X-Content-Type-Options nosniff;

Hlavička X-Content-Type-Options pre Apache:

Hlavička vždy X-Content-Type-Options nosniff

Hlavička X-Content-Type-Options pre IIS:

<httpProtokol>
<customHeaders>
<pridať meno="X-Content-Type-Options" hodnota="nosniff" />
</customHeaders>
</httpProtocol>

Čo je príznak súboru cookie HttpOnly?

Webové aplikácie sledujú relácie používateľov prostredníctvom ID relácie. Prehliadače to uložia a automaticky pridajú ku každej požiadavke HTTP v rámci rozsahu súboru cookie.

To je možné používať súbory cookie na účely okrem prenosu kľúča relácie. Hackeri by mohli zistiť používateľské údaje pomocou spomínanej zraniteľnosti XSS alebo prostredníctvom útoku Cross-Site Request Forgery (CSRF). Ktoré cookies sú teda z hľadiska bezpečnosti najdôležitejšie?

Za príklad môžete považovať informácie obsiahnuté v poslednom obrázku, na ktorý ste klikli v galérii obrázkov. Týmto spôsobom je návštevnosť HTTP menšia a časť záťaže môže vyriešiť internetový prehliadač používateľa pomocou skriptovania na strane klienta.

To je kde HttpOnly prichádza dovnútra. Nižšie je uvedený príklad toho, ako by malo byť priradenie súborov cookie:

Set-cookie: užívateľ=t=cdabe8a1c2153d726; cesta=/; HttpOnly

Všimnite si hodnotu HttpOnly odoslanú v Set-Cookie prevádzka. Prehliadač to uvidí a nebude spracovávať hodnoty s príznakom HttpOnly, keď sa k súboru cookie pristupuje cez document.cookie premenlivý. Ďalším príznakom používaným v procese Set-Cookie je príznak Secure. To znamená, že hodnota súboru cookie bude pridaná do hlavičky iba pre požiadavky HTTPS. Stránky elektronického obchodu to zvyčajne používajú, pretože chcú znížiť návštevnosť siete a zvýšiť výkon.

Pomocou tejto metódy môžete skryť dôležité údaje používateľov, ako sú používateľské mená, heslá a informácie o kreditných kartách. Ale je tu problém. Používateľom, ktorí dokončia proces prihlásenia, sa priradí hodnota súboru cookie bez príznaku Secure. Používateľ môže mať kľúč relácie, keď vytvorí požiadavku HTTP na odkazy, ktoré nie sú HTTPS. Pridanie bezpečného príznaku je jednoduché:

Set-cookie: užívateľ=t=cdabe8a1c2153d726; cesta=/; Zabezpečiť

Kedy by ste nemali používať HttpOnly? Ak sa spoliehate na Javascript, mali by ste byť opatrní, pretože to môže spôsobiť, že vaša stránka bude menej bezpečná.

Malé kroky prispievajú k širšej webovej bezpečnosti

Na zvýšenie bezpečnosti webových aplikácií nepotrebujete pokročilé znalosti softvéru a serverov. Zmenou niekoľkých riadkov môžete predísť vážnym útokom. To samozrejme nestačí. Je to však malý, ale účinný krok pre bezpečnosť webových stránok. Znalosť je najlepšou prevenciou, takže je tiež užitočné poznať jemné nuansy toho, ako HTTPS chráni údaje počas prenosu.