Требования к надежности и безопасности сайта

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

Содержание

Здесь мы приведем практические требования к надежности и безопасности сайта, актуальные на сегодняшний день. Мы постарались рассказать о них так, чтобы было понятно читателю, который не разбирается в программировании и сетевом администрировании. Требований достаточно много, но не каждое из них применимо для любого сайта. Вы сможете сами определить, какие из них важны для вас. В конце статьи мы перечислим конкретные понятные шаги, которые вам нужно сделать для обеспечения безопасности своего сайта.

Требования к надежности сайта

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

Доступность сайта

Доступность сайта

Обеспечение доступности сайта позволяет вашим пользователям в любое время и с любых устройств посмотреть его содержимое.

Обычно основная задача обеспечения доступности лежит на вашем хостинге, на котором вы разместили свой сайт. Почти каждый хостер (компания, владеющая и управляющая хостингом) заявляет об определенном минимальном уровне доступности своих серверов. Это называется соглашение об уровне услуг (Service Level Agreement, SLA). Оно представляет долю времени, когда хостинг должен быть доступен для пользователей, и выражается в %. SLA может быть 99%, 99,9%, 99,99% и так далее. Чем крупнее хостинговая компания, тем более высокий уровень доступности (больше девяток после запятой) она способна гарантировать.

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

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

Резервные копии данных сайта (бекапы, backup)

Резервные копии данных сайта (бекапы, backup)

Представим, что в работе вашего сайта произошел сбой и теперь он не может нормально функционировать. Это могло произойти из-за аварии на хостинге, из-за атаки хакеров или вашей ошибки при администрировании сайта, которые у всех иногда случаются. Как быстро вы сможете восстановить нормальную работу сайта? За 10 минут, за 1 час, за сутки? Или восстановление сайта в принципе невозможно и вам придется создавать его заново, либо закрывать свой бизнес?

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

Резервные копии файлов сайта

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

Более быстрый и удобный способ это сделать — создать на сервере архив с файлами, и просто скопировать этот архив. Архив занимает меньше места, поэтому быстрее скачается. Возможность архивирования есть во многих программах для работы с файлами на сервере. В крайнем случае, вы можете выполнить специальную команду на сервере для создания архива, команда зависит от операционной системы вашего сервера. Также функция бекапа файлов есть в административных панелях многих хостинг-провайдеров.

Важно! Не забудьте удалить архив на сервере после его скачивания. Иначе его смогут скачать злоумышленники и получить доступ к файлам конфигурации вашего сайта.

Резервные копии базы данных

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

Резервные копии конфигураций и настроек ПО

Кроме файлов и базы, если вы используете дополнительное программное обеспечение (ПО) на виртуальном или или выделенном сервере, вам может понадобиться сделать бекап настроек этого ПО. Обычно это требуется реже, чем бекап файлов и базы, поскольку изменения в настройки веб сервера или ПО базы данных вносятся не так часто.

Требования к безопасности сайта

Защита соединения

Защита соединения веб сайта

Шифрование соединения к сайту стало фактически стандартом, но все же стоит о нем сказать. Когда пользователь делает запрос к сайту, то он передается по сети в виде набора байт. Если передавать их в открытом виде, то тот, кто обладает доступом к промежуточным узлам сети (например, ваш интернет-провайдер) сможет увидеть эти данные или даже изменить их при передаче. Раньше некоторые интернет-провайдеры встраивали свои элементы в страницы, посещаемые их пользователями.

Поэтому сегодня у вашего сайта должен быть SSL сертификат. При его отсутствии браузер будет отмечать ваш сайт как небезопасный, что сильно снизит доверие пользователей. Поисковики будут реже показывать ваш сайт в результатах поиска. А весь трафик к вашему сайту сможет быть прослушан и изменен без вашего ведома. Обычно создание SSL сертификата предлагают и регистраторы доменов при покупке домена для вашего сайта, и хостеры, у которых вы планируете размещать сайт. При заходе на сайт с активным SSL сертификатом вы увидите https:// в начале ссылки или иконку замочка, свидетельствующую о безопасном соединении.

Защита от атак межсайтового скриптинга (Cross Site Scripting, XSS)

Cross Site Scripting

Простыми словами, атака межсайтового скриптинга заключается в возможности отправить  вашему сайту такой запрос, чтобы в полученной в ответе странице появился код, которого там не должно быть. Такой код может быть использован для кражи паролей или данных банковских карт при оплате товаров. Эта уязвимость возможна, когда сайт написан с нуля непрофессиональным разработчиком. При использовании современных фреймворков для написания кода сайта или при создании сайта на готовых CMS (система управления сайтом, см. ниже) вероятность появления XSS минимальна.

Защита от инъекций при запросах в базу данных (SQL Injections)

SQL Injections

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

Защита доступа к серверу или хостингу, на котором находится сайт

Защита доступа к серверу

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

  1. Подбор пароля. Если ваш пароль слишком простой или совпадает с другими вашими паролями, например, полученными из публичных утечек баз других сайтов.
  2. Кража данных трояном, который собирает все пароли из ваших браузеров и вводимые с помощью клавиатуры данные. Здесь поможет использовать антивирус и не открывать подозрительные файлы или вложения в email.
  3. Фишинговые письма и страницы. Перед тем, как ввести ваш логин и пароль в форму авторизации, убедитесь, что вы находитесь на настоящем сайте вашего хостинга. Никому не сообщайте ваш пароль. Обычно технической поддержке не нужен ваш пароль, чтобы помочь вам решить проблемы с вашим хостингом.

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

Стоит отдельно сказать, что сложный пароль защитит от его подбора (bruteforce атаки), но не от его кражи. При краже пароля злоумышленник сможет им воспользоваться так же, как делаете это вы.

Защита сайта и пользователей от мошенников

Защита сайта и пользователей от мошенников

Ваши пользователи, как и вы, должны внимательно относиться к своим паролям и не передавать их мошенникам. Но если вы можете следовать этим правилам, то донести их до всех ваших пользователей и проследить за их выполнением редко бывает возможно. Поэтому владельцы сайтов часто берут на себя эту задачу. Они проверяют при попытках входа в аккаунт, что пользователь заходит с доверенного устройства из известной локации. Если при авторизации замечено что-то подозрительное, то у пользователя могут запросить пройти двухфакторную аутентификацию (Second Factor Authentication, 2FA).

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

Защита от атак отказа в обслуживании (DDoS)

Защита от атак отказа в обслуживании (DDoS)

Для защиты от DDoS (Distributed Denial of Service) вам стоит обратиться либо к своему хостеру, либо использовать специальные сервисы, которые пропускают все запросы к вашему сайту через себя и фильтруют мусорный трафик. Здесь есть два основных минуса.

  1. Скорость работы вашего сайта немного снижается, потому что запрос идет не напрямую от пользователя к сайту, а дополнительно проходит через сервера компании, которая фильтрует трафик.
  2. Чтобы фильтровать защищенных SSL сертификатом трафик нужно его сначала расшифровать. Для этого вам придется передать защитнику ключи шифрования трафика. Таким образом, он сможет увидеть все данные, которые ваши пользователи просматривают или отправляют на ваш сайт.

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

Защита персональных данных пользователей сайта

Защита персональных данных пользователей сайта

Согласно законодательству многих стран, компании должны защищать персональные данные своих клиентов. Если ваши пользователи указывают свои персональные данные на вашем сайте (например, при создании аккаунта), то вам следует уделить внимание их защите.

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

Что со всем этим делать?

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

Создание надежного и безопасного сайта

Создание надежного и безопасного сайта

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

Заказ разработки безопасного сайта

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

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

Использование готового конструктора сайтов (Content Management System, CMS)

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

Среди популярных бесплатных CMS можно назвать WordPress, Joomla, Drupal. Из российских продуктов многие используют сервис Tilda. Например, наш сайт сделан на WordPress + плагин-конструктор Elementor. На Youtube есть много видео с процессом создания сайта из блоков конструктора, но в основном на английском языке. Обратим внимание, что мы не занимаемся созданием сайтов и не консультируем по этой теме.

Основной плюс заключается в том, что безопасностью кода, из которого состоит конструктор и получаемый в итоге сайт, занимается большая команда на протяжении долгого времени. В случае проектов с открытым исходным кодом (open source) поиском багов и уязвимостей занимается сообщество людей вокруг этого проекта, что значительно улучшает его безопасность.

Поддержка и обслуживание сайта

Поддержка и обслуживание сайта

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

Выбор надежного хостинга

Чем стабильнее работает хостинг, чем больше людей занимаются его поддержкой (работают в нем), чем он крупнее, тем выше вероятность высокой доступности вашего сайта и отсутствия сбоев. Мы рекомендуем выбирать крупные компании, но в зависимости от вашего региона. Потому что если основные часть ваших посетителей из России, а ваш сервер находится в США, то даже при высокой доступности скорость открытия вашего сайта может быть низкой. Поэтому при поиске хостера указывайте ваш регион, например «хостинг в России».

Резервные копии

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

Регулярная смена паролей

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

Защита устройств, с которых вы администрируете сайт

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

Заключение

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

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

Для уведомлений о новых статьях и обсуждения:

Поделитесь записью в соцсетях: