7 най-добри практики за сигурност на HTML за статични уязвимости на уебсайтове

Статичните уебсайтове съхраняват вече изобразено съдържание, поради което не се нуждаят от достъп до каквато и да е база данни, да изпълняват сложни скриптове или да зависят от машина за изпълнение, когато потребител поиска страница.

Това се изразява в ясни предимства по време на зареждане и сигурност: статичните страници спестяват много време на сървъра и имат по-малко уязвимости. Това от своя страна означава, че търсачките ще класират статичните страници по-добре от техните динамични еквиваленти.

SEO експертите се обръщат към статично съдържание винаги, когато могат, за да се конкурират по-добре в свят, в който част от секундата може да направи разликата между пълния успех и пълния провал. Внедряването на статично съдържание се е превърнало в модна дума сред маркетинговите стратези, а ИТ персоналът обича, че има по-малко уязвимо място, което да следи.

Но внимавайте — те не са 100% устойчиви на хакове, така че ако планирате да разположите статично съдържание на уебсайта си, има някои най-добри практики, които трябва да следвате, за да го защитите.

Хедърите за сигурност са подмножество от хедъри за HTTP отговор — пакет от метаданни, кодове за грешки, правила за кеш и т.н., които уеб сървърът добавя към съдържанието, което обслужва — предназначени да казват на браузъра какво да прави и как да обработва съдържанието, което получава. Не всички браузъри поддържат всички хедъри за сигурност, но има малък набор, който е доста често срещан и предоставя основни мерки за сигурност, за да спре хакерите да използват уязвимости.

X-Frame-Опции: SAMEORIGIN

Заглавката X-Frame-Options има за цел да деактивира или смекчи рисковете, наложени от iframes на вашия сайт. Вградените рамки могат да се използват от хакери за изземване на легитимни кликвания и насочване на посетителите към всеки URL адрес, който пожелаят. Има различни начини за предотвратяване на злоупотребата с iframes.

Най-добрата практика, препоръчана от OWASP (Open Web Application Security Project), предлага използването на тази заглавка с параметъра SAMEORIGIN, който позволява използването на iframes само от някой от същия произход. Други опции са DENY, за да деактивирате изцяло iframes, и ALLOW-FROM, за да позволите само на конкретни URL адреси да поставят страници във iframes.

Вижте ръководството за внедряване на Apache и Nginx.

X-XSS-защита: 1; режим=блок

Хедърът X-XSS-Protection е предназначен за защита на уебсайтове от междусайтови скриптове. Тази функция на заглавката може да бъде реализирана по два начина:

  • X-XSS-защита: 1
  • X-XSS-защита: 1; режим=блок

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

X-Content-Type-Options: nosniff

Тази заглавка предотвратява използването на MIME „надушване“ – функция, която позволява на браузъра да сканира съдържанието и да реагира различно от това, което заглавката инструктира. Когато тази заглавка е налице, браузърът трябва да зададе типа на съдържанието според инструкциите, вместо да го извежда чрез „надушване“ на съдържанието предварително.

Ако приложите тази заглавка, трябва да проверите отново дали вашите типове съдържание са приложени правилно на всяка страница от вашия статичен уебсайт.

  Проверете дали даден филм е подходящ за семейно гледане или не

Content-Type: текст/html; charset=utf-8

Този ред се добавя към заглавки на заявка и отговор за HTML страници от версия 1.0 на HTTP протокола. Той установява, че всички тагове се визуализират в браузъра, показвайки резултата на уеб страницата.

Използвайте TLS сертификати

SSL/TLS сертификатът е задължителен за всеки уебсайт, тъй като позволява на уеб сървъра да криптира данните, които изпраща към уеб браузъра чрез защитения HTTPS протокол. По този начин, ако данните бъдат прихванати по време на пътуването си, те ще бъдат нечетими, което е от съществено значение за защита на поверителността на потребителите и за защита на уебсайта. Статичният уебсайт не съхранява личната информация на своите посетители, но е от съществено значение исканата от тях информация да не може да бъде видяна от нежелани наблюдатели.

Използването на криптиране от даден уебсайт е необходимо, за да бъде маркиран като безопасен сайт от повечето уеб браузъри и е задължително за уебсайтове, които се стремят да спазват Общия регламент за защита на данните на ЕС (GDPR). Законът не посочва конкретно, че трябва да се използва SSL сертификат, но това е най-лесният начин да се изпълнят изискванията за поверителност в регламента.

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

Добрата новина е, че сертификатът не струва много. Всъщност можете да го получите БЕЗПЛАТНО от ZeroSSL или купете премиум от SSL магазин.

Разположете DDoS защита

Разпределените атаки за отказ на услуга (DDoS) стават все по-често срещани в днешно време. При този тип атака се използва набор от разпределени устройства, за да затрупа сървъра с поток от заявки, докато той се насити и просто откаже да работи. Няма значение дали уебсайтът ви има статично съдържание — уеб сървърът му лесно може да стане жертва на DDoS атака, ако не вземете необходимите мерки.

Най-лесният начин да внедрите DDoS защита на уебсайта си е да накарате доставчик на услуги за сигурност да се погрижи за всички киберзаплахи. Тази услуга ще осигури откриване на проникване, антивирусни услуги, сканиране за уязвимости и други, така че на практика не е нужно да се притеснявате за заплахи.

Такова цялостно решение може да бъде скъпо, но има и по-фокусирани решения с по-ниски разходи, като DDoS защитата като услуга (DPaaS). Трябва да попитате вашия хостинг доставчик дали предлага такава услуга.

По-достъпни решения са базирани на облак DDoS услуги за защита, като тези, предлагани от Akamai, Сукури, или Cloudflare. Тези услуги осигуряват ранно откриване и анализ на DDoS атаки, както и филтриране и отклоняване на тези атаки — тоест пренасочване на злонамерения трафик далеч от вашия сайт.

Когато обмисляте анти-DDoS решение, трябва да обърнете внимание на неговия мрежов капацитет: този параметър показва на каква интензивност на атака може да издържи защитата.

Избягвайте уязвими JavaScript библиотеки

Дори вашият уебсайт да има статично съдържание, той може да използва библиотеки на JavaScript, които създават рискове за сигурността. Обикновено се счита, че 20% от тези библиотеки правят уебсайта по-уязвим. За щастие можете да използвате услугата, предоставена от База данни за уязвимости за да проверите дали определена библиотека е безопасна или не. В неговата база данни можете да намерите подробна информация и насоки за много известни уязвимости.

  Поправете грешка в Black Ops 3 ABC в PS4

Освен проверка на конкретна библиотека за уязвимости, можете да следвате този списък с най-добри практики за JavaScript библиотеки, които ще осигурят отстраняване на потенциалните рискове:

  • Не използвайте външни библиотечни сървъри. Вместо това съхранявайте библиотеките на същия сървър, който хоства вашия уебсайт. Ако трябва да използвате външни библиотеки, избягвайте използването на библиотеки от сървъри в черен списък и периодично проверявайте сигурността на външните сървъри.
  • Използвайте управление на версиите за JavaScript библиотеки и се уверете, че използвате най-новата версия на всяка библиотека. Ако управлението на версиите не е опция, поне трябва да използвате версии, които не съдържат известни уязвимости. Можеш да използваш пенсиониране.js за откриване на използването на уязвими версии.
  • Проверявайте редовно дали уебсайтът ви използва външни библиотеки, за които не знаете. По този начин ще разберете дали хакер е инжектирал връзки към нежелани доставчици на библиотеки. Атаките чрез инжектиране са малко вероятни в статични уебсайтове, но няма да навреди да правите тази проверка от време на време.

Прилагане на стратегия за архивиране

Статичният уебсайт трябва винаги да има безопасно архивирано съдържание, когато се променя. Резервните копия трябва да бъдат безопасно съхранени и лесно достъпни, в случай че трябва да възстановите уебсайта си в случай на срив. Има много начини за архивиране на вашия статичен уебсайт, но като цяло те могат да бъдат категоризирани на ръчни и автоматични.

Ако съдържанието на уебсайта ви не се променя много често, стратегията за ръчно архивиране може да бъде подходяща – просто трябва да запомните да правите ново архивиране, когато правите промяна в съдържанието. Ако имате контролен панел за управление на вашия хостинг акаунт, много вероятно е в този контролен панел да намерите опция за създаване на резервни копия. Ако не, винаги можете да използвате FTP клиент, за да изтеглите цялото съдържание на уебсайта на локално устройство, където можете да го запазите безопасно и да го възстановите, ако е необходимо.

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

Може да обмислите използването на облачно хранилище на обекти за архивиране.

Използвайте надежден хостинг доставчик

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

  • Софтуерна сигурност: трябва да разберете как се обработват софтуерните актуализации; например, ако целият софтуер се актуализира автоматично или ако всяка актуализация е подложена на процес на тестване, преди да бъде внедрена.
  • DDoS защита: в случай че този вид защита е включена в хостинг услугата, попитайте за подробности как се прилага, за да проверите дали отговаря на изискванията на вашия уебсайт.
  • Наличност и поддръжка на SSL: тъй като в повечето случаи сертификатите се управляват от хостинг доставчика, трябва да проверите какъв вид сертификат предлага и каква е политиката за подновяване на сертификата.
  • Архивиране и възстановяване: много хостинг доставчици предлагат услуга за автоматизирано архивиране, което е нещо добро, защото на практика ви позволява да забравите за правенето на архиви, съхраняването им и актуализирането им. Но вземете предвид цената на такава услуга и я претеглете спрямо усилията, които ще положите, за да поддържате вашето съдържание архивирано от вас.
  • Защита от злонамерен софтуер: надеждният хостинг доставчик трябва да има своите сървъри защитени срещу злонамерен софтуер, като извършва периодични сканирания за злонамерен софтуер и следи целостта на файловете. В случай на споделен хостинг е желателно хостинг доставчикът да използва изолация на акаунта, за да предотврати разпространението на злонамерен софтуер между съседни уебсайтове.
  • Защита със защитна стена: доставчикът на хостинг услуги може да повиши нивото на сигурност на уеб сайтовете, които хоства, като разположи защитна стена, която държи далеч враждебния трафик.
  Как да настроите и използвате iPhone X, iPhone XR, iPhone XS или iPhone XS Max

Разгледайте надеждната платформа за хостинг на статичен сайт.

Налагайте политика за силни пароли

Тъй като статичният сайт няма база данни или управлявана система за съдържание, той има по-малко потребителски имена и пароли за управление. Но все пак трябва да наложите политика за пароли за хостинг или FTP акаунти, които ще използвате за актуализиране на статичното съдържание.

Добрите практики за пароли включват, наред с другото:

  • Сменяйте ги периодично
  • Задаване на минимална дължина на паролата.
  • Използване на комбинации от главни/малки букви заедно със специални знаци и цифри
  • Избягвайте да ги комуникирате по имейл или текстови съобщения.

Освен това паролата по подразбиране за административните акаунти трябва да се промени от самото начало — това е често срещана грешка, която хакерите могат лесно да използват. Не се страхувайте от загуба на парола; използвайте мениджър на пароли, за да ги управлявате безопасно.

Нека станем статични

Преди няколко години динамичното съдържание беше правилният начин: всичко можеше лесно да се променя и актуализира, което позволяваше редизайн на целия уебсайт за секунди. Но след това скоростта стана основен приоритет и статичното съдържание изведнъж отново стана готино.

В този смисъл всички практики за сигурност на уебсайтове трябва да бъдат преоценени – със сигурност има по-малко аспекти, които трябва да се вземат предвид, но не трябва да се отпускате напълно за това. Този списък с най-добри практики със сигурност ще ви помогне да създадете свой собствен контролен списък, за да поддържате статичния си уебсайт безопасен и здрав.