Безопасность сайта на Друпал. Базовые понятия + Видео доклад Николая Шаповалова

Drupal: 
Уровень сложности: 
Модули: 

Некоторые аспекты сетевой безопасности для разработчиков и владельцев сайтов. Также видео доклад о безопасности (подробный обзор методов).
Сайты представляют интерес не только для их владельцев и посетителей, но и для хакеров, которые могут иметь свои личные рассуждения о том, зачем им ломать сайты. Друпал является одной из надёжных систем из бесплатных движков на PHP. Уязвимости, которые могут повлиять на работу вашего сайта (если будут обнаружены хакерами и использованы, эксплуатированы), находятся в следующих местах:

  • хостинг (если хостинг настроен неправильно, и на нём размещены чужие уязвимые сайты или даже сами хакеры держат аккаунт, ваш сайт тоже может быть заражён вирусами или поломан)
  • ядро Drupal - это главные файлы системы, обеспечивающие работу сайта,
  • контрибные модули - это модули, которые вы скачали с сайта drupal.org,
  • кастомные модули и темы - самописные, которые вы или ваш администратор написали и активировали на сайте.

Как происходит взлом сайта, его причины, следствия

Хакеры обычно эксплуатируют уязвимости сайтов, чтобы внедрить в них собственные программы, которые распространяют вирусы и заражают системы посетителей сайтов. После этого злоумышленники эксплуатируют чужие компьютеры и мобильные устройства для получения доступа к картам, личным данным или пользовательским файлам, например фотографиям звёзд, авторскому контенту. Это незаконные действия, так же как и взлом сайта.
Обычно уязвимости обнаруживаются ботами - программами, которые написаны хакерами для поиска сайтов в Интернет на различных CMS. Боты выполняют базовые действия, например, пытаются регистрироваться или ввести пароль admin 11111 и другие более сложные действия. В случае, если сайт действительно имеет уязвимости, бот внедряет программу и отправляет информацию в хакерскую базу поломанных сайтов, далее злоумышленник может производить незаконные действия, если ваш сайт чем-то выгоден, например, имеет большую посещаемость.

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

От взлома сайта, возникают проблемы

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

Какой из представленных пунктов интересен владельцам Интернет-ресурсов? - Из ответа на этот вопрос вытекает необходимость выбора надёжной системы и опытных разработчиков на этапе разработки, а также защиты Друпал-сайта.

Какую выбрать CMS, чтобы обезопасить сайт от взлома?

Из всех бесплатных CMS Друпал имеет наиболее низкую вероятность взлома, в отличие от других систем, написанных на php. Если безопасность Друпал может быть недостаточной для вашего проекта (а этот урок неубедительным), тогда стоит обратить внимание на платные CMS или заказать у очень опытных разработчиков написание новой уникальной системы управления сайтом, желательно на других языках, которыми хакеры пользуются значительно реже ввиду слишком малого числа сайтов на этих языках.
В целом уязвимости Друпал связаны с php-скриптами. А обнаружение уязвимых мест связано с тем, что все хакеры знают этот язык программирования и готовы изучать коды CMS Drupal. Следовательно, в вопросе безопасности результата добивается тот, кто первым обнаруживает уязвимость: злоумышленник - чтобы взломать, разработчик - чтобы поставить патч, исправить код, защитить ненадёжное место.

Как могут появляться уязвимости на сайте Друпал

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

  • слишком простой пароль администратора - чаще всего взлом в Интернет происходит простым перебором паролей,
  • неправильные атрибуты файлов для *nix-систем, то есть обычно, загружая ваш сайт на хостинг, надо выставлять атрибуты 644 для файлов и 755 для папок (то есть без разрешения исполнения для файлов и без возможности записи, редактирования файлов),
  • разработчик сайта написал небезопасный модуль или php-скрипт (который принимает данные с формы и использует их без надлежащей проверки, или скрипт, который обращается к системным функциям, но может вызываться простыми пользователями без ограничения роли),
  • неправильная настройка уровней доступа на многопользовательском сайте (для роли зарегистрированный пользователь предоставлен доступ к редактированию материалов или просмотру заказов, что не предполагается правильным),
  • неправильное использование или настройка модулей, например, модуля Rules, Views и других сложных,
  • использование модуля PHP Filter - это один из небезопасных,
  • разрешение загрузки файлов с неправильными расширениями, например, .php.

Как защитить сайт на Drupal от взлома и устранить уязвимости

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

  • регулярно проверять обновления уязвимостей с помощью модуля Update Manager, который может сообщать по емайл или в панели управления об обновлениях, или найти новости об обновлениях можно тут: https://drupal.org/security
  • регулярно обновлять ядро и контрибные модули (особенно, если обнаруженная разработчиками Друпал уязвимость имеет высокий уровень риска),
  • не доверять сайт администратору, который может случайно или намеренно испортить сайт (если вы владелец крупного сайта),
  • разграничить права доступа пользователей, если сайт многопользовательский,
  • владельцу сайта не давать права администратора, а только редактора (если вы разработчик, а владелец не осведомлён о безопасности или не может случайно навредить сайту, например, держит пароль от сайта на емайл),
  • использовать качественный надёжный хостинг, который не смогут взломать хакеры и занести вирусы на все сайты, размещённые на хостинге,
  • не включать модули, в которых могут присутствовать уязвимые места при неправильной настройке или вы не владеете полной информацией о том, как работает модуль,
  • включить и использовать модули безопасности Drupal.

Другие полезные советы как сделать сайт на друпал безопасным вы можете узнать на видео.