Найти в Дзене
INTERSAIT.RU

7 лучших практик для защиты статического сайта.

Оглавление
Защита статического сайта.
Защита статического сайта.

Безопасность

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

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

Специалисты по SEO обращаются к статическому контенту, когда могут, чтобы лучше конкурировать в мире, в котором доля секунды может сделать разницу между полным успехом и полным провалом. Развертывание статического контента стало модным словечком для маркетологов, и ИТ-персоналу нравится, что у него есть менее уязвимое место, за которым нужно следить.

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

Используйте заголовки безопасности HTTP

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

X-Frame-Options: SAMEORIGIN
Заголовок X-Frame-Options предназначен для того, чтобы отключить или снизить риски, связанные с фреймами на вашем сайте. Iframes могут использоваться хакерами для захвата законных кликов и перенаправления посетителей на любой URL, который они хотят. Существуют разные способы предотвращения использования фреймов.
В соответствии с рекомендациями OWASP (Open Security Application Project) рекомендуется использовать этот заголовок с параметром SAMEORIGIN , который позволяет использовать фреймы только тем, кто имеет одинаковое происхождение. Другими параметрами являются DENY, чтобы полностью отключить iframe, и 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: text / html; кодировка = UTF-8
Эта строка добавляется в заголовки запросов и ответов для HTML-страниц начиная с версии 1.0 протокола HTTP. Он устанавливает, что все теги отображаются в браузере, отображая результат на веб-странице.

Используйте сертификаты TLS

Сертификат SSL / TLS является обязательным для любых веб-сайтов, поскольку он позволяет веб-серверу шифровать данные, которые он отправляет в веб-браузер, по безопасному протоколу HTTPS. Таким образом, если данные будут перехвачены во время их перемещения, они будут нечитаемыми, что важно для защиты конфиденциальности пользователей и обеспечения безопасности веб-сайта. Статический веб-сайт не хранит личную информацию своих посетителей, но важно, чтобы информация, которую они запрашивают, не была видна нежелательным наблюдателям.
Использование шифрования на веб-сайте необходимо, чтобы большинство веб-браузеров отмечали его как безопасный сайт и обязательно для веб-сайтов, которые стремятся соответствовать Общему регламенту ЕС о защите данных (GDPR). В законе конкретно не указывается, что должен использоваться сертификат SSL, но это самый простой способ удовлетворить требования конфиденциальности в регламенте.
С точки зрения безопасности, SSL-сертификат позволяет властям проверять право собственности на веб-сайт и не позволяет хакерам создавать его поддельные версии. Использование SSL-сертификата позволяет посетителю сайта проверять подлинность издателя и чувствовать себя уверенным, что никто не может следить за его или ее деятельностью на сайте.
Хорошей новостью является то, что сертификат стоит недорого. Фактически, вы можете получить его БЕСПЛАТНО в ZeroSSL или купить премиум в магазине SSL .

Развертывание защиты от DDoS

Распределенные атаки типа «отказ в обслуживании» (DDoS) становятся все более распространенными в настоящее время. В этом типе атаки набор распределенных устройств используется, чтобы перегружать сервер потоком запросов, пока он не насыщается и просто не отказывается работать. Не имеет значения, если ваш сайт имеет статический контент - его веб-сервер может легко стать жертвой DDoS-атаки, если вы не предпримете необходимые меры.
Самый простой способ реализовать защиту от DDoS на вашем веб-сайте - попросить поставщика услуг безопасности позаботиться о всех киберугрозах. Эта служба обеспечивает обнаружение вторжений, антивирусные службы, сканирование на наличие уязвимостей и многое другое, поэтому вам практически не нужно беспокоиться о каких-либо угрозах.
Такое комплексное решение может быть дорогостоящим, но есть и более сфокусированные решения с более низкими затратами, такие как DDoS-защита как услуга (DPaaS). Вы должны спросить своего хостинг-провайдера, предлагает ли он такую ​​услугу.
Более доступными решениями являются облачные сервисы защиты от DDoS , например, предлагаемые Akamai, Sucuri или Cloudflare. Эти сервисы обеспечивают раннее обнаружение и анализ DDoS-атак, а также их фильтрацию и переадресацию, то есть перенаправляют вредоносный трафик с вашего сайта.
При рассмотрении решения по защите от DDoS следует обращать внимание на пропускную способность сети: этот параметр указывает, какую интенсивность атаки может выдержать защита.

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

Даже если ваш сайт имеет статический контент, он может использовать библиотеки JavaScript, которые создают угрозу безопасности. Обычно считается, что 20% из этих библиотек делают веб-сайт более уязвимым. К счастью, вы можете использовать сервис, предоставляемый Vulnerability DB,  чтобы проверить, является ли конкретная библиотека безопасной или нет. В его базе данных вы можете найти подробную информацию и рекомендации для множества известных уязвимостей.
Помимо проверки определенной библиотеки на наличие уязвимостей, вы можете следовать этому списку рекомендаций для библиотек JavaScript, которые обеспечат исправление ее потенциальных рисков:
Не используйте внешние библиотечные серверы. Вместо этого храните библиотеки на том же сервере, на котором размещен ваш сайт. Если вам необходимо использовать внешние библиотеки, избегайте использования библиотек с серверов , занесенных в черный список , и периодически проверяйте безопасность внешних серверов.
Используйте управление версиями для библиотек JavaScript и убедитесь, что вы используете последнюю версию каждой библиотеки. Если управление версиями не вариант, по крайней мере, вы должны использовать версии, которые не содержат известных уязвимостей. Вы можете использовать retire.js,  чтобы обнаружить использование уязвимых версий.
Регулярно проверяйте, использует ли ваш сайт внешние библиотеки, о которых вы не знаете. Таким образом, вы узнаете, внедрил ли хакер ссылки на нежелательных поставщиков библиотек. Атаки с использованием инъекций маловероятны на статических веб-сайтах, но делать эту проверку время от времени не повредит.

Реализация стратегии резервного копирования

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

Если содержимое вашего веб-сайта меняется не очень часто, стратегия резервного копирования может быть адекватной - вам просто нужно помнить, чтобы сделать новую резервную копию всякий раз, когда вы вносите изменения в содержимое. Если у вас есть панель управления для управления учетной записью хостинга, весьма вероятно, что в этой панели управления вы найдете возможность создавать резервные копии. Если нет, вы всегда можете использовать FTP-клиент для загрузки всего содержимого веб-сайта на локальное устройство, где вы можете сохранить его и восстановить его при необходимости.

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

Вы можете рассмотреть возможность использования облачного хранилища объектов для резервного копирования.

Используйте надежного хостинг-провайдера

Надежный веб-хостинг необходим для обеспечения бесперебойной и быстрой работы вашего веб-сайта, а также для гарантии того, что он не будет взломан. Большинство обзоров веб-хостинга покажут вам цифры и сравнения по скорости, времени безотказной работы и поддержке клиентов, но при рассмотрении безопасности веб-сайта следует обратить внимание на некоторые аспекты, о которых следует спросить своего поставщика, прежде чем нанимать его услугу:
Безопасность программного обеспечения: вы должны узнать, как обрабатываются обновления программного обеспечения; например, если все программное обеспечение автоматически обновляется или каждое обновление подвергается процессу тестирования перед его развертыванием.
Защита от DDoS: в случае, если этот вид защиты включен в хостинг, спросите подробности о том, как он реализован, чтобы проверить, соответствует ли он требованиям вашего сайта.
Доступность и поддержка SSL: поскольку в большинстве случаев управление сертификатами осуществляется хостинг-провайдером, вам следует проверить, какой тип сертификата он предлагает и какова политика продления сертификата.
Резервное копирование и восстановление: многие хостинг-провайдеры предлагают услугу автоматического резервного копирования, что хорошо, поскольку практически позволяет вам забыть о создании резервных копий, их хранении и обновлении. Но примите во внимание стоимость такой услуги и сравните ее с усилиями, которые потребуются для резервного копирования вашего контента самостоятельно.
Защита от вредоносных программ: надежный хостинг-провайдер должен защищать свои серверы от вредоносных программ путем периодического сканирования вредоносных программ и контроля целостности файлов В случае разделяемого хостинга желательно, чтобы поставщик хостинга использовал изоляцию учетной записи, чтобы предотвратить распространение вредоносных программ между соседними веб-сайтами.
Защита брандмауэром. Хостинг-провайдер может повысить уровень безопасности веб-сайтов, размещенных на нем, путем развертывания брандмауэра, который защищает от враждебного трафика.
Проверьте надежную статическую платформу хостинга сайтов .

Обеспечить строгую политику паролей

Поскольку у статического сайта нет базы данных или системы управляемого контента, у него меньше имен пользователей и паролей для управления. Но вам все равно придется применять политику паролей для учетных записей хостинга или FTP, которые вы будете использовать для обновления статического содержимого.

Передовые практики для паролей включают, среди прочего:
Меняя их периодически
Установка минимальной длины пароля.
Использование сочетаний прописных и строчных букв вместе со специальными символами и цифрами
Избегайте общения с ними по электронной почте или текстовыми сообщениями.

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

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

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

В этом смысле все методы обеспечения безопасности веб-сайтов должны быть переоценены - есть меньше аспектов, которые следует учитывать, но вы не должны расслабляться. Этот список лучших практик наверняка поможет вам создать свой собственный контрольный список, чтобы ваш статический сайт был в целости и сохранности.