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

На статичних веб-сайтах зберігається вже відтворений вміст, тому їм не потрібен доступ до будь-якої бази даних, виконання складних сценаріїв або залежність від механізму виконання кожного разу, коли користувач запитує сторінку.

Це призводить до явних переваг у часі завантаження та безпеці: статичні сторінки заощаджують багато часу сервера та мають менше вразливостей. Це, у свою чергу, означає, що пошукові системи ранжуватимуть статичні сторінки краще, ніж їхні динамічні еквіваленти.

Експерти з оптимізації пошукових систем звертаються до статичного вмісту, коли можуть, щоб краще конкурувати у світі, де частка секунди може змінити повний успіх і повний провал. Розгортання статичного вмісту стало модним словом між маркетинговими стратегами, і ІТ-персонал любить, що у них є менш вразливе місце, за яким слід стежити.

Але будьте уважні: вони не на 100% захищені від злому, тому, якщо ви плануєте розгортати статичний вміст на своєму веб-сайті, є кілька найкращих практик, яких слід дотримуватися, щоб захистити його.

Заголовки безпеки — це підмножина заголовків відповідей HTTP — набір метаданих, кодів помилок, правил кешу тощо, які веб-сервер додає до вмісту, який він обслуговує, — розроблених, щоб повідомляти браузеру, що робити та як обробляти вміст, який він отримує. Не всі браузери підтримують усі заголовки безпеки, але є невеликий набір, який є досить поширеним і забезпечує основні заходи безпеки, щоб зупинити хакерів від використання вразливостей.

Опції X-Frame: SAMEORIGIN

Заголовок X-Frame-Options призначений для вимкнення або пом’якшення ризиків, пов’язаних із фреймами iframe на вашому сайті. Хакери можуть використовувати фрейми iframe для захоплення легітимних кліків і спрямування відвідувачів за будь-якою URL-адресою. Існують різні способи запобігання неправильному використанню iframe.

Найкраща практика, рекомендована OWASP (Проект безпеки відкритих веб-додатків), пропонує використовувати цей заголовок із параметром SAMEORIGIN, який дозволяє використовувати фрейми iframe лише особам із того самого джерела. Інші варіанти: DENY, щоб повністю вимкнути iframe, і ALLOW-FROM, щоб дозволити лише певним URL-адресам розміщувати сторінки в iframe.

Ознайомтеся з посібником із впровадження Apache і Nginx.

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

Заголовок X-XSS-Protection призначений для захисту веб-сайтів від міжсайтового сценарію. Ця функція заголовка може бути реалізована двома способами:

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

Перший є більш дозвільним, фільтрує скрипти від запиту до веб-сервера, але все одно відображає сторінку. Другий спосіб більш безпечний, оскільки він блокує всю сторінку, якщо в запиті виявлено скрипт X-XSS. Цей другий варіант є найкращою практикою, рекомендованою OWASP.

X-Content-Type-Options: nosniff

Цей заголовок запобігає використанню «нюхання» MIME — функції, яка дозволяє браузеру сканувати вміст і реагувати не так, як вказує заголовок. Якщо цей заголовок присутній, браузер має встановити тип вмісту відповідно до вказівок, замість того, щоб виводити його шляхом «нюхання» вмісту заздалегідь.

Якщо ви застосовуєте цей заголовок, вам слід ще раз перевірити, чи правильно застосовано типи вмісту на кожній сторінці вашого статичного веб-сайту.

  12 платформ для створення веб-сайту з портфоліо за лічені хвилини

Content-Type: text/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% цих бібліотек роблять сайт більш вразливим. На щастя, ви можете скористатися послугою, яку надає Уразливість БД щоб перевірити, чи певна бібліотека безпечна чи ні. У його базі даних ви можете знайти детальну інформацію та вказівки щодо багатьох відомих уразливостей.

  11 найкращих додатків для фітнесу, які допоможуть вам тренуватися будь-де

Окрім перевірки певної бібліотеки на наявність вразливостей, ви можете дотримуватися цього списку найкращих практик для бібліотек JavaScript, які забезпечать виправлення потенційних ризиків:

  • Не використовуйте сервери зовнішніх бібліотек. Натомість зберігайте бібліотеки на тому самому сервері, на якому розміщено ваш веб-сайт. Якщо вам потрібно використовувати зовнішні бібліотеки, уникайте використання бібліотек із серверів із чорного списку та періодично перевіряйте безпеку зовнішніх серверів.
  • Використовуйте керування версіями для бібліотек JavaScript і переконайтеся, що ви використовуєте останню версію кожної бібліотеки. Якщо керування версіями не підходить, принаймні слід використовувати версії, які не містять відомих уразливостей. Ви можете використовувати retire.js для виявлення використання вразливих версій.
  • Регулярно перевіряйте, чи ваш веб-сайт не використовує зовнішні бібліотеки, про які ви не знаєте. Таким чином ви дізнаєтесь, чи хакер вставив посилання на небажаних постачальників бібліотек. Ін’єкційні атаки малоймовірні на статичних веб-сайтах, але це не завадить час від часу проводити цю перевірку.

Впровадити стратегію резервного копіювання

Статичний веб-сайт завжди повинен мати безпечну резервну копію свого вмісту під час будь-яких змін. Резервні копії мають бути надійно збережені та легкодоступні на випадок, якщо вам знадобиться відновити веб-сайт у разі збою. Є багато способів резервного копіювання статичного веб-сайту, але загалом їх можна розділити на ручні та автоматичні.

Якщо вміст вашого веб-сайту не змінюється дуже часто, стратегія резервного копіювання вручну може бути адекватною — вам просто потрібно не забути робити нову резервну копію щоразу, коли ви вносите зміни у вміст. Якщо у вас є панель керування для керування обліковим записом хостингу, дуже ймовірно, що на цій панелі керування ви знайдете опцію для створення резервних копій. Якщо ні, ви завжди можете скористатися FTP-клієнтом, щоб завантажити весь вміст веб-сайту на локальний пристрій, де ви можете зберегти його в безпеці та відновити за потреби.

Звичайно, варіант автоматичного резервного копіювання є кращим, якщо ви хочете звести до мінімуму завдання керування веб-сайтом. Але хостинг-провайдери зазвичай пропонують автоматичне резервне копіювання як додаткові функції, що збільшує загальну вартість підтримки безпеки вашого веб-сайту.

Ви можете розглянути можливість використання хмарного сховища об’єктів для резервного копіювання.

Використовуйте надійного хостинг-провайдера

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

  • Безпека програмного забезпечення: вам слід дізнатися, як обробляються оновлення програмного забезпечення; наприклад, якщо все програмне забезпечення оновлюється автоматично або якщо кожне оновлення піддається процесу тестування перед його розгортанням.
  • Захист від DDoS-атак: якщо цей вид захисту входить до послуги хостингу, запитайте деталі про те, як він реалізований, щоб перевірити, чи відповідає він вимогам вашого веб-сайту.
  • Доступність і підтримка SSL: оскільки в більшості випадків сертифікатами керує хостинг-провайдер, вам слід перевірити, який тип сертифіката він пропонує та яка політика оновлення сертифіката.
  • Резервне копіювання та відновлення: багато хостинг-провайдерів пропонують автоматичну послугу резервного копіювання, що добре, оскільки практично дозволяє забути про створення резервних копій, їх зберігання та оновлення. Але візьміть до уваги вартість такої послуги та порівняйте її з зусиллями, які доведеться витратити на збереження резервної копії вашого вмісту.
  • Захист від зловмисного програмного забезпечення: надійний хостинг-провайдер повинен захищати свої сервери від зловмисного програмного забезпечення, виконуючи періодичне сканування зловмисного програмного забезпечення та контролюючи цілісність файлів. У випадку спільного хостингу бажано, щоб хостинг-провайдер використовував ізоляцію облікового запису, щоб запобігти поширенню шкідливих програм між сусідніми веб-сайтами.
  • Захист брандмауером: хостинг-провайдер може підвищити рівень безпеки веб-сайтів, які він розміщує, розгорнувши брандмауер, який утримує ворожий трафік.
  Як і коли слід використовувати Defaultdict у Python?

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

Застосуйте політику надійних паролів

Оскільки статичний сайт не має бази даних або системи керованого вмісту, він має менше імен користувачів і паролів для керування. Але вам все одно потрібно застосувати політику паролів для облікових записів хостингу або FTP, які ви використовуватимете для оновлення статичного вмісту.

Належні практики щодо паролів включають, серед іншого:

  • Періодично міняючи їх
  • Встановлення мінімальної довжини пароля.
  • Використання комбінацій великих/малих літер разом із спеціальними символами та цифрами
  • Уникайте спілкування електронною поштою чи текстовими повідомленнями.

Крім того, стандартний пароль для адміністративних облікових записів потрібно змінити з самого початку — це поширена помилка, якою легко можуть скористатися хакери. Не бійтеся втратити пароль; використовувати менеджер паролів для безпечного керування ними.

Давайте станемо статичними

Кілька років тому динамічний вміст був основним шляхом: усе можна було легко змінити та оновити, дозволяючи повністю перепроектувати веб-сайт за лічені секунди. Але потім швидкість стала головним пріоритетом, і статичний контент раптом знову став крутим.

У цьому сенсі слід переоцінити всі методи безпеки веб-сайтів — звичайно, є менше аспектів, які слід враховувати, але ви не повинні розслаблятися з цього приводу. Цей список найкращих практик, безсумнівно, допоможе вам створити власний контрольний список, щоб зберегти ваш статичний веб-сайт у безпеці.