Записывайся на вебинар! Ценные кадры в сфере интернет-маркетинга: растим специалистов самостоятельно - 12 июля в 13:00 Узнать больше
Есть проблемы с ранжированием, проект не растет, хотите проверить работу своих специалистов по продвижению? Закажите профессиональный аудит в Семантике
Узнай первым о новых статьях в нашем блоге

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

Чтобы разобраться, что такое уязвимости сайта, рассмотрим простой пример.

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

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

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

Виды уязвимостей сайта

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

SQL-инъекции

Один из самых частых и действенных методов атаки на динамические веб-сайты с базами данных. Злоумышленник подставляет специально сформированные строки SQL-кода в запрос к серверу, получая таким способом контроль над базой данных сайта. Единственное, что будет ограничивать хакера – права пользователя, от которого выполняется запрос к БД.

Лучший способ защиты от SQL-инъекций – предварительный анализ и парсинг элементов, поступающих из браузера в скрипт.

XSS

Безобиден для сайта, сервера и его администратора. Но вряд ли понравится вашим клиентам. Межсайтовый скриптинг позволяет воровать все личные данные пользователя с помощью заготовленных JavaScript функций. Хакер передаёт зараженный код на сайт с помощью формы, например, сообщения на форуме. Сообщение выводится на экран всем пользователям, где запускается вредоносный скрипт.

Способ защиты схож с SQL-инъекциями – преобразование управляющих HTML и JS последовательностей. Браузер должен читать скрипт как текст и не выполнять его.

Незащищенная работа с персональной информацией

Известная ошибка новичка-программиста – хранить пароли пользователей в базе данных в открытом виде. Но стоит представить, что хакер получил к себе дамп таблицы, и становится не по себе. Все пароли принято не только хэшировать, но ещё и «солить» с помощью некоторой операции с дополнительным ключом, например md5($pass.$salt) в PHP.

Также рекомендуется установить на сервер ключи для HTTPS-шифрования трафика – попросту, купить SSL-сертификат. Это защитит трафик клиентов и повысит надежность сохранности информации в момент обмена клиент-сервер.

Проблемы распределения уровней доступа

Иногда дело доходит до того, что пароли к базе данных хранятся в .txt файле под названием config в открытом виде на сервере. Главное правило работы с уровнями доступа – все, что пользователю видеть не обязательно, должно быть скрыто. Закройте все служебные папки сайта файлами .htaccess, запретите просмотр директорий сервера в браузере при отсутствии индексного файла.

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

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

Плохая конфигурация модулей

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

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

Брутфорс-атака

Злоумышленник, не найдя уязвимых мест, может начать перебор паролей «в лоб». Запустив ботнет, рано или поздно он сможет подобрать ключи к SSH, FTP и административной панели. Поэтому всегда ставьте ограничение на допустимое количество попыток входа с одного IP. Для SSH это может быть, к примеру, утилита fail2ban.

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

Как найти уязвимость на сайте

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

  • Coder-diary. Проверяет сайт на самые популярные и простые типы уязвимостей. Забытые служебные файлы, собственная постоянно пополняемая база.
  • Find-xss. Включает в себя не только XSS-сканер, но и анализатор SQL-инъекционных атак. Комплексный и довольно популярный инструмент, выполняющий широкий спектр задач проверки сайта различные виды проблем безопасности.
  • Nikto. Входит в легендарную сборку Kali Linux. Проводит долгий и эффективный анализ всех работающих на сайте скриптов, находит устаревшее программное обеспечение и проблемные места проекта. Включает в себя множество плагинов и всегда генерирует много запросов.
  • Acunetix. Интуитивно понятный и мощный инструмент для онлайн-анализа вашего сайта. Бесплатного функционала чаще всего достаточно для первичного ознакомления с возможностями этого монстра.
  • The Metasploit Framework. Полноценный инструмент хакера. Исходя из специфики используемого протокола атаки, программа подбирает различные эксплойты и пытается взломать сервис. В связке с утилитой NMAP процесс взлома практически автоматизируется, так как она сама находит уязвимые порты и сервисы на домене.
Получите профессиональный взгляд со стороны на свой проект

Специалисты студии SEMANTICA проведут комплексный анализ сайта по следующему плану:

– Технический аудит.
– Оптимизация.
– Коммерческие факторы.
– Внешние факторы.

Мы не просто говорим, в чем проблемы. Мы помогаем их решить

Профессиональный аудит и стратегия продвижения
От корки до корки изучаем ваш сайт, выявляем проблемы ранжирования и прописываем пути их решения. Обращайтесь!
Подпишись на обновления блога
Наталья Петрачкова SEMANTICA, руководитель отдела контент-маркетинга в социальных сетях бесплатный вебинар Удаляйте свои посты: секреты создания контента для бизнес-групп и аккаунтов Регистрируйся! 24 июля в 13:00

Мы работаем не только в Моcкве, но и в других городах России: