Към съдържанието

Настройки за бисквитки

Изберете кои видове бисквитки разрешавате. Можете да промените избора си по всяко време чрез „Настройки за бисквитки“ в долната част на всяка страница. Декларация за поверителност

Необходими

Винаги включени

Нужни са за вход, за запазване на количката и на Вашите избори. Те са винаги включени.

Кои бисквитки?
  • weboke_sessie, weboke_klant, weboke_remember: Вашата сесия и оставането в акаунта
  • weboke_basket: Вашата количка
  • wkBtwIncl: показване на цените с или без ДДС
  • wok_cookies: Вашият избор за бисквитките, 12 месеца

Измерват коя реклама води до посещение или поръчка, за да не плащаме за реклами без резултат.

Кои бисквитки?
  • Google Ads чрез Google Tag Manager (_gcl_au, _gcl_aw), до 90 дни
  • OpenAI Ads, реклами в ChatGPT
  • wok_aff: кой партньор Ви е препратил към нас (партньорска програма), 60 дни

4,6

Държава и език

Всяка държава има собствен сайт, с цените и ДДС на тази държава.

Преглед

Вашият уебсайт: https, HSTS и защитни заглавни редове @@ОМСКРИВАНЕ@@

Модул 4: Имейл, уебсайт и домейн · Време за четене: 11 минути

Цел на урока: След този урок ще можете да проверите основната защита на Вашия уебсайт: валиден сертификат, пренасочване към https, HSTS с подходящ max-age, най-важните защитни заглавни редове и актуализирането на Вашата CMS система.
Ключови понятия: TLS сертификат, https, пренасочване към https, HSTS, max-age, includeSubDomains, preload, HTTP заглавен ред, Content-Security-Policy, X-Content-Type-Options, frame-ancestors, X-Frame-Options, Referrer-Policy

Какво се случва, когато някой отвори Вашия сайт

Ако клиент въведе example.com в адресната лента, браузърът изпраща заявка за страницата към Вашия уеб сървър. Този разговор минава чрез HTTP. При https около него има криптирана връзка: TLS. За това на Вашия уебсайт е нужен TLS сертификат (често наричан още SSL сертификат). Сертификатът доказва, че сървърът наистина принадлежи на example.com, а криптирането гарантира, че никой по пътя не може да чете или да променя съдържанието. Това е важно при обществен Wi-Fi, където не знаете кой управлява мрежата (урок 5.3).

При всеки отговор сървърът, освен самата страница, изпраща и серия от заглавни редове (headers): кратки редове с информация и инструкции за браузъра. Вие не ги виждате на екрана, но те до голяма степен определят колко безопасно браузърът се отнася към Вашия сайт. Част от тях са защитни заглавни редове. В този урок ще разгледаме четирите нива: сертификат, пренасочване, HSTS и заглавни редове. След това накратко ще разгледаме актуализирането на самия уебсайт.

Ниво 1: валиден сертификат

Сертификатът е наред, ако отговаря на три условия:

  1. той не е изтекъл;
  2. издаден е от доверен издател (сертифициращ орган, който браузърите разпознават, като Let's Encrypt или търговски доставчик);
  3. важи за точно името, което посетителят отваря: example.com и www.example.com, ако използвате и двете.

Почти всеки доставчик на хостинг днес предоставя безплатен сертификат, който се подновява автоматично. Ако нещо се обърка, обикновено причината е, че домейнът сочи към друг сървър или че CAA запис блокира издателя (урок 4.3).

Важно е да знаете: катинарчето не казва нищо за надеждността на сайта. То само показва, че връзката е криптирана и че сертификатът съответства на името в адресната лента. Фишинг сайтовете на mijnbank-veilig.example също имат катинарче. Затова в урок 3.2 ще научите как да четете домейна.

Ниво 2: винаги пренасочвайте към https

Сертификатът сам по себе си не е достатъчен. Който отвори http://example.com, например чрез стар линк или само изписвайки името, трябва автоматично да бъде пренасочен към https версията. Това се нарича пренасочване (redirect, обикновено със статус код 301).

Правилният ред е следният:

http://example.com      ->  https://example.com
https://example.com     ->  https://www.example.com   (само ако използвате www като основен адрес)
http://www.example.com  ->  https://www.example.com

Обърнете внимание на първия ред: пренасочете от http първо към https на същото име, едва след това евентуално към www. Така браузърът може да получи и инструкцията за HSTS от голото име. Internet.nl проверява точно това.

Честа грешка е двойното пренасочване: в контролния панел на хостинга И в плъгин или в .htaccess. Това може да доведе до безкраен цикъл ("твърде много пренасочвания"). Използвайте само едно място.

Ниво 3: HSTS

Пренасочването има слаб момент: самата първа заявка все още минава некриптирана чрез http. Атакуващ в същата мрежа може да прихване точно тази заявка и да задържи посетителя на фалшифицирана, некриптирана версия. За това служи HSTS (HTTP Strict Transport Security, RFC 6797).

С HSTS Вашият сайт изпраща чрез https следния заглавен ред:

Strict-Transport-Security: max-age=31536000; includeSubDomains

Тогава браузърът запомня: "този сайт да се отваря само чрез https, следващите 31 536 000 секунди (една година)". Ако по-късно посетителят въведе http://example.com, браузърът сам го превръща в https, още преди нещо да бъде изпратено по мрежата. Слабата първа заявка отпада.

ЕлементЗначение
max-age=Колко дълго браузърът го запомня, в секунди. Internet.nl приема поне една година (max-age=31536000) за достатъчно; кратък период не защитава хората, които посещават сайта Ви само от време на време.
includeSubDomainsВажи и за всички поддомейни, като shop.example.com и mail.example.com.
preloadЗаявявате включване в списъка, вграден в браузърите (hstspreload.org). Така дори самото първо посещение е защитено. Изисквания: наред с други неща, max-age от поне една година, includeSubDomains и всички поддомейни на https. Отстраняването от списъка отнема дълго време.
max-age=0Изтрива запомнената инструкция.

Три неща, които трябва да знаете, преди да включите HSTS:

  • Първо https трябва да работи навсякъде. Браузър, който е запомнил HSTS и установи грешка в сертификата, не предлага на посетителя бутон за продължаване въпреки това (RFC 6797, параграф 12.1). Ако сертификатът Ви изтече или не важи за www, сайтът Ви става недостъпен за тези посетители, докато проблемът не бъде решен.
  • includeSubDomains засяга всичко под Вашия домейн. Стар поддомейн без сертификат, например страница на принтер или камера на camera.example.com, вече няма да може да се отваря.
  • Изграждайте постепенно. Започнете с кратък max-age (например един ден), проверете дали всичко работи, и увеличавайте стъпка по стъпка до една година. При всяка стъпка изчакайте целия период.

HSTS заглавен ред, получен чрез обикновен http, се игнорира от браузъра. Затова го виждате само в https отговора.

Ниво 4: защитни заглавни редове

Освен HSTS, има няколко заглавни реда, които казват на браузъра какво му е позволено и какво не по отношение на Вашите страници. Не е нужно всички да са перфектни, но първите три са лесни за прилагане и без риск.

Заглавен редСрещу каквоДобра стойност
X-Content-Type-OptionsБраузърът сам започва да отгатва какъв е даден файл, поради което качена "картинка" може да бъде изпълнена като скрипт.nosniff (единствената валидна стойност)
Content-Security-Policy: frame-ancestors ... или X-Frame-OptionsClickjacking: друг сайт зарежда Вашата страница невидимо в рамка (frame) и кара посетителите, без да забележат, да кликат върху Вашите бутони.frame-ancestors 'self' или 'none'; по-старият заглавен ред X-Frame-Options: SAMEORIGIN или DENY
Referrer-PolicyПри клик към друг сайт браузърът изпраща адреса на предишната страница. Той може да съдържа чувствителна информация, като дума за търсене или номер на поръчка.no-referrer или same-origin (строго), strict-origin-when-cross-origin (разпространено, internet.nl дава предупреждение тук)
Content-Security-Policy (пълна)Ограничава откъде могат да се зареждат скриптове, стилове и изображения. Прави вмъкнати злонамерени скриптове (XSS) много по-трудни.Индивидуално за всеки сайт. Избягвайте unsafe-inline, unsafe-eval и wildcard стойности.

Пълната Content-Security-Policy е най-силна, но и най-трудна за прилагане: твърде строго правило може да счупи Вашата статистика, бутона за плащане или прозореца за чат. С варианта Content-Security-Policy-Report-Only можете първо да измерите какво би било блокирано, без да счупите нищо. Оставете това на Вашия уеб разработчик или започнете само с frame-ancestors.

Самостоятелна проверка на заглавните редове

Отворете сайта си в браузър, натиснете F12 (или изберете "Инспектиране"), отидете на раздела Мрежа (Network), презаредете страницата и кликнете върху първата заявка. Под "Заглавни редове на отговора" (Response Headers) ще видите всичко, което изпраща сървърът. Може и чрез командния ред:

curl -sI https://example.com/

Самият уебсайт: CMS, плъгини и теми

Най-добрите заглавни редове не помагат, ако софтуерът зад Вашия сайт е уязвим. Повечето хакнати сайтове на малки фирми не са пробити чрез уеб сървъра, а чрез остарял плъгин, тема, която от години не е актуализирана, или слаба парола на администратора.

  • Включете автоматични актуализации за Вашата CMS (например WordPress, Joomla или друга система) и за плъгините, където е възможно.
  • Премахнете плъгините и темите, които не използвате; само деактивирането не е достатъчно, файловете все още са там.
  • За входа на администратора използвайте силна, уникална парола и двуфакторно удостоверяване (модул 2), и ограничете броя на опитите за вход.
  • Поддържайте версията на PHP (или друг използван език) на пакета Ви на версия, която все още получава актуализации (урок 5.1).

На практика: ето как изглежда

В DirectAdmin, панела, който WebOké използва, първо включвате за Вашия домейн Secure SSL, а след това Force SSL with https redirect. На същото място има превключвател за HSTS; включете го едва когато сертификатът работи за всички имена. При други доставчици процесът е подобен или го настройвате в настройките на Вашата CMS система.

Ако сайтът Ви работи на Apache или LiteSpeed, можете да зададете заглавните редове и в .htaccess:

<IfModule mod_headers.c>
  Header always set Strict-Transport-Security "max-age=31536000"
  Header always set X-Content-Type-Options "nosniff"
  Header always set Content-Security-Policy "frame-ancestors 'self'"
  Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>

Добавете includeSubDomains едва когато сте сигурни, че всеки поддомейн има https. След всяка промяна проверявайте с теста на уебсайтове на internet.nl или с инструментите за разработчици на браузъра Ви.

Обобщение

  • Катинарчето означава: криптирано и правилното име. Не означава: надеждно.
  • Винаги пренасочвайте http към https, първо на същото име, и само от едно място.
  • HSTS кара браузъра да запомни, че Вашият сайт работи само чрез https; internet.nl приема max-age от поне една година (31536000) за добро. Включете го едва когато https работи навсякъде, и го изграждайте постепенно.
  • X-Content-Type-Options: nosniff, frame-ancestors (или X-Frame-Options) и Referrer-Policy са лесни за прилагане; пълната Content-Security-Policy е индивидуална за всеки случай.
  • Актуализациите на Вашата CMS система, плъгини и теми са поне толкова важни, колкото заглавните редове.

Тест (quiz)

1. Какво предотвратява точно HSTS?



2. Включвате Strict-Transport-Security: max-age=31536000; includeSubDomains. Седмица по-късно сертификатът на shop.example.com изтича. Какво забелязват редовните посетители?



3. Какъв минимален max-age приема internet.nl за достатъчен за HSTS?



4. Срещу какво защитава Content-Security-Policy: frame-ancestors 'self'?



5. Виждате катинарче на mijnbank-veilig.example в адресната лента. Какво знаете сигурно благодарение на това?



Задача

Задача A4.2: Проверка на https, HSTS и заглавните редове на Вашия уебсайт. Въведете домейн името на Вашия уебсайт (ако нямате, използвайте internet.nl). Програмата отваря http:// и https:// на Вашия домейн и проверява сертификата, пренасочването към https, HSTS и защитните заглавни редове. Получавате за всяка точка зелено, оранжево или червено с обяснение.

Задача A4.2: Проверка на https, HSTS и заглавните редове на Вашия уебсайт

Въведете домейна на Вашия уебсайт (ако нямате такъв, използвайте internet.nl). Програмата отваря http:// и https:// на Вашия домейн и проверява сертификата, пренасочването към https, HSTS и заглавните редове за сигурност. След това въведете max-age на HSTS.



Това, което въвеждате, и резултатите от проверката не се съхраняват. Браузърът Ви запомня отговорите и дали сте изпълнили задачата. Ако сте влезли, запазваме само дали задачата е била (почти) правилна в Моите курсове; и там можете да го изтриете.

Задача D4.2: Актуализиране и почистване на Вашия уебсайт. Влезте в управлението на Вашия уебсайт, проверете версията на Вашата CMS, плъгини и теми, премахнете това, което не използвате, и включете автоматични актуализации, където е възможно. Отметнете списъка за проверка и отговорете на въпроса за размисъл.

Задача D4.2: Актуализиране и почистване на Вашия уебсайт

Подходете по следния начин: (1) Влезте в административния панел на Вашия уебсайт (или помолете Вашия уеб разработчик да направи това заедно с Вас). (2) Отбележете версията на Вашата CMS и проверете дали има налични актуализации. (3) Направете резервно копие (урок 6.1), инсталирайте актуализациите на CMS, добавките и темите. (4) Премахнете добавките и темите, които не използвате. (5) Активирайте автоматични актуализации там, където е възможно. (6) Проверете кои администраторски акаунти съществуват и премахнете акаунтите на хора, които вече не работят там. (7) Активирайте двуфакторно удостоверяване за всеки администраторски акаунт.




Вашите отметки и бележки остават само в този браузър; не ги изпращаме никъде. Ако сте влезли, в Моите курсове запазваме само че сте изпълнили задачата.

За допълнително четене

Стъпките в статиите на WebOké важат за средата на WebOké; при други доставчици процесът е сходен.

Моля, изчакайте…

Настройте домейните си

За всеки домейн настройте сървърите за имена, връзката с хостинга и кой ще бъде собственикът.

Домейните Ви се зареждат…