Угрозы безопасности сайта и способы защиты, сканеры уязвимости

Безопасность сайта: какие бывают угрозы и как их избежать

15 мин. 14851
image
Алексей Семёнов редактор
Безопасность сайта: какие бывают угрозы и как их избежать
Атаке может подвергнуться любой сайт вне зависимости от размера и коммерциализации. В результате ресурс потеряет работоспособность, а конфиденциальные данные пользователей окажутся под угрозой. Для вас это выльется в репутационные и финансовые потери. Рассказываем, что еще может грозить вашему сайту и как защититься от злоумышленников.
Кроме прямой атаки, ваш сайт могут использовать для причинения вреда другим ресурсам — рассылки спама и DDoS-атак, нападений на пользователей, заражения устройств и приложений. Если такое произойдет, сайт будет заблокирован со стороны хостинга, поисковой системы или браузеров.

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

Где сайт может быть уязвим:
Системе администрирования — мошенники могут подобрать или украсть пароли от административной панели, FTP.
Программной части — CMS, скриптах, плагинах.
В серверной части.
Атаки могут носить бессистемный, массовый характер на основе автоматических действий роботов. А могут быть целенаправленными, когда хакеры стремятся взломать именно ваш сайт.

Разберем, какими могут быть уязвимости.

Классы атак и уязвимостей

Аутентификация (Authentication)

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

Авторизация (Authorization)

Авторизация требуется для определения уровня прав доступа пользователя, службы или приложения. Атаки проводят, чтобы получить доступ к скрытому содержимому или функциям.

Логические атаки (Logical Attacks)

Атаки данного класса используют уязвимости логики или функций приложения. Логика приложения — ожидаемый процесс при выполнении определенных действий. Для решения определенной задачи приложение требует произвести несколько последовательных действий. Пример: регистрация учетных записей, восстановление паролей, покупка в интернет-магазине и т.д. Механизмы можно обойти или использовать в своих целях.

Разглашение информации (Information Disclosure)

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

Выполнение кода (Command Execution)

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

Атаки на клиентов (Client-side Attacks)

Атаки на пользователей сервера во время посещения сайта.

Как защитить сайт

Безопасные протоколы. При подключении к сайту через файлообменные и прочие подобные программы необходимо использовать только безопасные протоколы с шифрованием SFTP или SCP.
Ограничение доступа. Круг лиц, которые имеют доступ к учетной записи администратора сайта, должен быть строго ограничен.
Надежные пароли. Для генерации и хранения паролей можно применять специальные менеджеры. Нельзя хранить пароли просто на компьютере, в браузерах и FTP-клиентах, нужно регулярно их менять.
Сервер. Системные функции по возможности должны быть отключены, а сайты максимально изолированы. Учетную запись «по-умолчанию» необходимо отключить, а в новой назначить минимум необходимых прав.
Программное обеспечение сервера. Необходимо регулярно обновлять программное обеспечение, поскольку большая часть атак производится через уязвимости устаревшего ПО.
Файлы и каталоги. Файлы и каталоги должны быть доступны только для чтения. Необходимо запретить выполнение скриптов в каталогах загрузки.
Дополнения и компоненты. Все компоненты, которые не используются, необходимо отключить.
Антивирусы. Компьютер администратора сайта должен быть максимально защищен. Периодически проверяйте сайт на вирусы.
Бэкапы. Регулярно создавайте резервные копии сайта. Лучше, если хостинг будет делать это автоматически.
Панели вебмастера. Обращайте внимание на предупреждения безопасности в панелях вебмастеров «Яндекс» и Google.
HTTPS. Если принимаете оплату или передаете данные пользователей, используйте безопасный протокол шифрования данных.
CMS. Выбирайте надежные системы управления сайтом, которые имеют встроенные системы защиты. Например, «1С-Битрикс. Управление сайтом» с единой системой авторизации и бюджетом пользователя для всех модулей, многоуровневым разграничением прав доступа, независимой системой контроля доступа, возможностью шифрования при передаче данных, журналированием, политикой работы с переменными и внешними данными, методикой двойного контроля критически опасных участков ввода. Регулярно обновляйте CMS.
Аудит безопасности. Для профилактики уязвимостей можно проводить аудит с помощью программ-сканеров либо привлекать для оценки специалистов.

Профилактика угроз

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

Комплексный аудит безопасности включает в себя:
Поиск компонентов с известными уязвимостями.
Внедрение XML-сущностей.
Атаку подбором паролей.
Проверку на удаленное выполнение произвольного кода.
Поиск уязвимостей серверных компонентов и в веб-окружении сервера.
Проверку на наличие «инъекций» кода.
Попытки обхода системы аутентификации.
Поиск XSS/ CSRF-уязвимостей.
Попытки перехвата привилегированных аккаунтов или их сессий.
Проверку на возможность файловых инъекций Remote File Inclusion/ Local File Inclusion.
Сканирование директорий с помощью перебора и взлома через индекс Google.
Анализ всех форм на сайте: регистрации, авторизации, поиска и т.д.
Попытки обхода системы аутентификации.
Проверку на возможность открытого получения конфиденциальной информации.
Проверку на атаки класса Race Condition — ошибки проектирования многопоточных систем и приложений.
Для аудита используются сканеры уязвимостей — специальные программы, которые проверяют ресурс и зондируют типичные уязвимые места, тем самым анализируют общую защищенность сайта.

Сканеры бывают 3-х типов:
Локальные. Устанавливаются непосредственно на проверяемом узле, благодаря чему обеспечивают высокую достоверность. Ищут уязвимости, сравнивая атрибуты файлов.
Пассивные. В качестве источника данных используют сетевой трафик, при этом, в отличие от сетевых, минимизируют влияние сканера на уязвимости.
Сетевые. Проверяют дистанционно, подключаясь через сетевые сервисы. Самый популярный вид сканеров.
Самые распространенные сканеры: MaxPatrol, N-Stealth, Shadow Security Scanner, Acunetix, ISS Internet Scanner, XSpider, Nessus.
Обеспечение безопасности сайта — постоянный процесс, который не ограничивается проверками. По результатам сканирования ресурс необходимо дорабатывать, закрывать дыры, а некоторые вопросы решать на стороне сервера. Аудит безопасности позволяет определить ряд мер и работ, которые надо выполнить. Это могут быть доработки программной части, услуги инженеров, которые решат технические вопросы, и набор организационных мер.

Другие статьи

Специалисты Uplab о Tilda Publishing: описание возможностей платформы в 2018 году

10 августа 2018

25 мин.

40603

Специалисты Uplab о Tilda Publishing: описание возможностей платформы в 2018 году

Как оценить эффективность дизайн-системы? Пример расчета ROI

21 марта 2019

20 мин.

2807

Как оценить эффективность дизайн-системы? Пример расчета ROI

Оптимизация и продвижение сайта на Tilda Publishing в 2020 году

13 октября 2020

30 мин.

112841

Оптимизация и продвижение сайта на Tilda Publishing в 2020 году

Услуги

Сайты и сервисы

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

Дизайн

Сервисный дизайн на основе аналитики, метрик и пользовательского опыта — продуктовый подход для создания привлекательных и эффективных решений.

Аналитика

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

SEO-продвижение

Увеличиваем органический трафик на сайте и снижаем затраты на привлечение клиентов.

Расскажите
о вашем проекте