WordPress, несомненно, является самой популярной системой управления контентом (CMS) в последние годы. Это не удивительно. WordPress имеет много преимуществ, которые делают его де-факто выбором по умолчанию. Он прост в использовании, имеет много готовых шаблонов, а расширение функциональности так же просто, как включение плагина. Также стоит добавить, что сам WordPress является достаточно стабильной и безопасной системой при правильной установке.
К сожалению, популярность WordPress также имеет некоторые последствия. Миллионы пользователей, вносят изменения в исходный код. Каждый проект, основанный на лицензии с открытым исходным кодом, имеет свои плюсы и минусы. Каждый программист может провести собственный аудит кода, проверить, как он работает, и исправить потенциальные ошибки.
С другой стороны, WordPress - это система, которая в настоящее время имеет большое количество корпоративных веб-сайтов, то есть веб-сайтов, которые обрабатывают личные данные. Как вы можете догадаться, некоторые разработчики не заинтересованы в том, чтобы сообщать или исправлять потенциальные проблемы, связанные с безопасностью платформы. Рынок торговли персональными данными постоянно растет, и обнаруженная уязвимость может быть использована во вред.
Статистика безопасности
К сожалению, здесь наша любимая платформа довольно неблагоприятна. Согласно исследованиям в 2018 году платформа имела 542 уязвимости что на 30% больше чем годом ранее. В 2017 году на более чем 34 000 экземпляров CMS, на WordPress пришлось 83% скомпрометированных установок CMS в мире. Также беспокоит тот факт, что это непрерывная, явно растущая тенденция. Например, в отчете за 2019 г. этот показатель уже достиг 90%.
Проблемы.
Прочитав вышеупомянутую статистику, можно прийти к выводу, что WordPress является недостаточно защищенной платформой или неправильно сконструирован.
Однако это далеко от истины. WordPress - проект с открытым исходным кодом, который был рассмотрен и улучшен в каждой версии сотнями программистов и экспертов по безопасности. Но сам факт того, что обновления публикуются регулярно, не означает, что они внедряются администраторами - и здесь мы приходим к первой проблеме.
Во-первых, следует отметить, что в исследовании, опубликованном в 2019 году, почти 40% скомпрометированных установок имели устаревшую версию WordPress.
Год за годом одной из основных причин нарушения безопасности систем WordPress является устаревшая версия, которая по-прежнему поддерживается.
Для некоторых администраторов это простой недосмотр или незначительный недостаток. Философия «не исправляй то, что не сломано», безусловно, нам хорошо известна, и в обычной компании существует множество систем.
Однако могут быть и технологические причины, препятствующие запуску обновлений платформы - та же несовместимость плагинов с новой версией CMS - и здесь мы сталкиваемся со второй проблемой безопасности WP.
Плагины часто создают проблемы.
Запуск слишком большого количества плагинов WordPress имеет много негативных последствий: мы используем большие ресурсы нашего сервера, замедляем время рендеринга нашего сайта и постоянно теряем свое место в рейтинге поисковых систем. К сожалению, недостатки также включают многочисленные проблемы безопасности системы, вызванные нашими любимыми плагинами.
Чтобы понять, в чем проблема плагинов, просто опишите, что они из себя представляют. Короче говоря, плагины - это фрагменты кода, созданные программистами по всему миру, которые расширяют функциональность нашей системы. Благодаря установке они становятся неотъемлемой частью системы и имеют доступ ко многим ресурсам. Хотя существуют стандарты для создания плагинов, у каждого программиста своя логика и философия программирования – которая может вызывать проблемы, связанные с безопасностью.
С одной стороны, команда WP вручную проверяет каждый плагин перед добавлением его в официальный каталог плагинов WordPress . С другой стороны, несмотря на первоначальный аудит, пользователи по-прежнему сообщают о нарушениях безопасности группе WP, которая после проверки проблемы связывается с автором, чтобы устранить проблему.
Такой процесс может привести либо к обновлению плагина, либо к его удалению из официального каталога. Между тем проблемный плагин остается включенным на серверах людей, которые его установили.
Как видите, несмотря на такой большой объем работы, безопасность плагинов не 100% и, вероятно, никогда не будет. Это связано с большим количеством плагинов, их различными конфигурациями и конфликтами с другим плагинам. Кроме того, не каждый администратор заботится об обновлениях, несмотря на многочисленные уведомления об их наличии.
Наконец, что не менее важно, наблюдается несоответствие политикам безопасности во время установки и управления системой.
Модель «установи и забудь» может подходить для работы с термостатом, но не для работы на корпоративном веб-сайте. К сожалению, одной из основных причин нарушения безопасности в WordPress является отсутствие так называемого «усиления безопасности». Это относится к таким ошибкам как установка легко угадываемых паролей, неправильная или неполная конфигурация серверной инфраструктуры или отсутствие SSL-сертификатов на страницах входа.
Как защитить себя?
Ошеломляющее количество скомпрометированных установок WordPress - не показатель небезопасности этой платформы, а простое исправление ошибок. Потратив немного времени на правильный запуск проекта, основанного на WordPress, мы, конечно же, сможем избежать попадание в вышеупомянутую статистику 90%.
- Если возможно, обновите плагины и WordPress до последней версии. Возможны проблемы с совместимостью плагинов WordPress, которые необходимо решить в первую очередь, всегда лучше иметь последнюю версию WordPress на сервере. То же самое относится и к последним обновлениям плагинов. Незначительные обновления могут привести к каким-либо визуальным изменениям, изменения в серверной части могут быть значительными и не должны игнорироваться.
- Минимизируйте свою зависимость от плагинов. Хоть плагины WordPress очень удобны, они в значительной степени отвечают за проблемы безопасности всей платформы. Если возможно, используйте очень ограниченное количество плагинов и установите те из них, которые с наибольшей вероятностью будут обновлены в будущем.
- Помните о правилах безопасности при установке и обновлении систем. От использования надежных паролей до перемещения папки /wp-admin в другое место.
Если вы не уверены, что ваш WordPress защищен, существует множество обучающих курсов для специалистов WordPress. Кроме того, существуют плагины для повышения безопасности, которые помогают вам активно блокировать сценарии и атаки, но с плагинами стоит быть осторожным.
Наконец, стоит упомянуть о внешних системах, фильтрующих доступ к нашему сайту с помощью таких технологий, как обратный прокси. Используя черные списки и методы обнаружения атак, сервисы обратного прокси могут «фильтровать» плохой трафик от хорошего, тем самым защищая сайт от хакеров.