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

В этой статье опишу:

  • Инструменты для проверки изменений в файловой системе Linux

  • Wazuh и Lynis — инструменты для мониторинга безопасности

  • Сервисы для проверки на вредоносное ПО

  • WPScan — проверяем сайт на уязвимости

  • Плагин Wordfence — для защиты WordPress

  • Регулярное обновление системы

  • Как автоматически обновлять пакеты в ispmanager

  • Кратко — как защитить сайт на WordPress

Инструменты для проверки изменений в файловой системе Linux

Выявить неавторизованные или подозрительные действия в файловой системе Linux можно если отслеживать изменения модификации файлов и каталогов.

Инструменты, которые помогут это сделать: 

AIDE (Advanced Intrusion Detection Environment) — инструмент с открытым исходным кодом для обнаружения вторжений. Программа создает базу данных с хэш-суммами файлов и атрибутами, а затем регулярно проверяет текущее состояние файловой системы на соответствие базе данных.

Так выглядит интерфейс AIDE
Так выглядит интерфейс AIDE

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

Auditd (Linux Audit System) — записывает и отслеживает события безопасности, изменения в файловой системе. Программа предоставляет подробные логи — их нужно проанализировать, чтобы найти подозрительные действия.  

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

В этот список попали похожие программы, но с разницей в функционале. Например, Auditd и Inotify — инструменты, которые отлично подходят для мониторинга и аудита действий в системе, а для обнаружения вторжений лучше выбрать AIDE и Tripwire.

Вот основные отличия AIDE и Tripwire.

Tripwire

AIDE

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

Создана как свободная альтернатива Tripwire, полностью открытое и бесплатное для использования ПО.

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

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

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

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

Wazuh и Lynis — инструменты для мониторинга безопасности 

На рынке много программ для проверки безопасности. Например, Nessus сканирует уязвимости, Suricata — система для обнаружения вторжений, а Fail2ban предотвращает брутфорс-атаки — попытку взлома с помощью подбора ключей или паролей шифрования.

Я выбрал Wazuh и Lynis.

Вот почему:

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

Открытый исходный код — можно быстро исправить ошибки и улучшить функционал.

Гибкая настройка. Оба инструмента легко адаптировать под разные операционные системы и среды. Они подходят для разных IT-структур — от малых предприятий до крупных компаний.

  • Программы соответствуют стандартам безопасности PCI DSS, HIPAA, NIST и другим.

Для работы с Wazuh и Lynis придется:

  • Разбираться в системах управления ошибками и журналах изменений пакетов.

  • Правильно интегрировать данные из разных источников, чтобы составить общую картину.

  • Разбираться в информационной безопасности и стандартах соответствия.

  • Регулярно обновлять инструменты, отслеживать появление новых патчей и исправлений.

Разберем отличия Wazuh и Lynis подробнее.

Lynis — инструмент для сканирования Unix-подобных операционных систем: Linux, macOS. Lynis анализирует конфигурацию системы, установленное программное обеспечение и слабые места. Система дает рекомендации, как улучшить безопасность. 

Выглядит так:

Чтобы лучше понимать, как работать с Lynis, поможет официальная документация
Чтобы лучше понимать, как работать с Lynis, поможет официальная документация

Wazuh — платформа с удобным интерфейсом, управляет инцидентами и отслеживает угрозы в реальном времени. Wazuh интегрирует разные инструменты: анализ логов, обнаружение вторжений, аудит безопасности и мониторинг состояния системы. 

Так выглядит интерфейс Wazuh
Так выглядит интерфейс Wazuh

Я настроил Debian 11 на основе аудита безопасности с использованием Lynis. Результаты теста показали, что удалось достичь определённого уровня безопасности: 

Общий результат аудита безопасности. Показатели можно улучшить до 98%-100%, но это может повлиять на функциональность системы — например, перестанет работать cron
Общий результат аудита безопасности. Показатели можно улучшить до 98%-100%, но это может повлиять на функциональность системы — например, перестанет работать cron

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

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

Возможности модульной архитектуры: 

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

Легкость интеграции например, с SIEM-системами и другими платформами, чтобы расширить функциональность Wazuh.

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

Специализация. Например, один модуль анализирует журнал, другой — мониторит целостность файлов, третий — определяет вторжения, собирает и обрабатывает данные. 

Контроль нагрузки на систему — можно активировать только нужные модули.

Сервисы для проверки на вредоносное ПО 

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

Позволяет:

  • автоматически сканировать файлы и электронную почту на наличие вредоносного кода в файлах PHP, JS, HTML и системных файлах;

  • лечить зараженные файлы. 

Подробнее узнать, как настроить и использовать Dr.Web, можно в документации ispmanager → 

ImunifyAV (бывший Revisium) — антивирус для обнаружения и очистки вредоносного ПО на веб-сайтах. Автоматически сканирует файлы на наличие известных угроз и помогает восстановить зараженные. 

Платная версия ImunifyAV после введения санкций недоступна в ispmanager — остался только режим поиска вредоносного ПО. Подробная информация по настройке и использованию ImunifyAV хранится в документации ispmanager →

WPScan — проверяем сайт на уязвимости

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

С помощью WPScan администраторы сайтов могут выявить и устранить уязвимости до того, как ими воспользуются злоумышленники
С помощью WPScan администраторы сайтов могут выявить и устранить уязвимости до того, как ими воспользуются злоумышленники

 Как сканировать сайт WordPress с помощью WPScan

  1. Установите Ruby — инструмент обычно доступен в репозиториях большинства дистрибутивов Linux.

sudo apt install ruby
  1. Установите зависимости для сборки расширений:

sudo apt install build-essential libcurl4-openssl-dev libxml2 libxml2-dev libxslt1-dev ruby-dev libgmp-dev zlib1g-dev
  1. Установите WPScan:

sudo gem install wpscan

Подробная информация об установке WPScan — в официальной доке

Примеры команд для разных типов сканирования:

  • Основное сканирование — команда запускает проверку сайта example.com, определяет наличие известных уязвимостей в WordPress, плагинах и темах.

wpscan --url https://example.com
  • Перечисление установленных плагинов — команда перечисляет и проверяет плагины на наличие известных уязвимостей.

wpscan --url https://example.com --enumerate p
  • Перечисление установленных тем:

wpscan --url https://example.com --enumerate t
  • Команда для получения списка пользователей WordPress:

wpscan --url https://example.com --enumerate u
  • Проверка на наличие конфигурационных файлов и резервных копий:

wpscan --url https://example.com --enumerate ap,at,ab,ar,au
  • Полное сканирование — проверка уязвимостей плагинов vp, тем vt, пользователей u и медиафайлов m:

wpscan --url https://example.com -e vp,vt,u,m

Важно: активное сканирование сайта может быть воспринято как вредоносная деятельность. Перед запуском WPScan убедитесь, что у вас есть разрешение на сканирование сайта.

Плагин Wordfence — для защиты WordPress

Wordfence — один из самых мощных инструментов в арсенале защиты сайтов на WordPress. Рекомендую, потому что у плагина постоянно обновляется база сигнатур — система оперативно распознает и блокирует вредоносное ПО. 

Вот еще причины, почему мне нравится Wordfence:

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

Правила брандмауэра обновляются в реальном времени. Как только плагин находит угрозу, информация о ней быстро распространяется среди всех пользователей Wordfence. Функция доступна на Premium-версии Wordfence.

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

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

Регулярное обновление системы 

Команды, которые пригодятся для обновления Debian:

Обновление списка пакетов:

sudo apt update

Обновление установленных пакетов:

sudo apt upgrade

Обновление системы:

sudo apt full-upgrade

Очистка неиспользуемых пакетов:

sudo apt autoremove

Перезагрузка системы:

sudo reboot 
sudo shutdown -r now

Как автоматически обновлять пакеты в ispmanager 

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

Плюсы:

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

  • Стабильная работа программного обеспечения.

  • Устранение ошибок в пакетах обновлений.

  • Быстрое обновление пакетов дистрибутивов Linux и серверного ПО.

Минусы:

  • Несовместимость — в обновлении могут быть изменения, которые не работают с конкретными приложениями или кастомизированными настройками. Итог — сбои и даже полная недоступность сайтов.

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

  • Ошибки и баги. В новых версиях ПО могут быть скрытые ошибки, о которых узнаем только после обновления.  

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

Рекомендую:

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

Чем отличаются управляемые и контролируемые процессы обновления

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

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

Вот как настроить автоматическое обновление в ispmanager:

  1. Перейдите в раздел «Настройки» → «Настройки системы». 

  2. Найдите опцию «Обновлять ПО автоматически».

  3. В выпадающем списке выберите «Обновлять все пакеты системы». 

  4. Нажмите кнопку «Сохранить». 

Пример настройки: 

Так выглядит настройка автоматического обновления в ispmanager
Так выглядит настройка автоматического обновления в ispmanager

Кратко — как защитить сайт на WordPress и какие инструменты использовать

  • Проверяйте изменения в файловой системе Linux. Для этого подойдут: AIDE, Tripwire, Auditd, Inotify. AIDE и Tripwire — для обнаружения несанкционированных изменений, Auditd и Inotify — для мониторинга и аудита действий в системе.

  • Плагин Wordfence — один из самых мощных инструментов для защиты сайтов на WordPress. Система оперативно распознает и отражает SQL-инъекции, XSS-атаки, и сообщит о наличии вредоносного ПО. 

  • Для мониторинга безопасности подойдут сервисы Wazuh и Lynis: Wazuh передает определяет вторжения, управляет журналами и конфигурацией. Lynis — инструмент для аудита дистрибутива Linux и серверного ПО. 

  • Проверяйте сайт на вредоносное ПО: это можно сделать с помощью антивирусов Dr.Web и ImunifyAV. 

  • WPScan обнаружит уязвимые версии WordPress и плагины с потенциальными проблемами, и уведомит администратора сайта об уязвимостях.

  • Регулярно обновляйте систему, серверное ПО, ядро и плагины сайта. Тестируйте процессы обновления — перед тем как применить их на production-серверах, проводите каждое обновление в контролируемой среде. 

Конечно, это не все способы обезопасить сайт на WordPress — только вторая часть из цикла статей «Как защитить сайт на WordPress с Linux Debian и ispmanager 6». Предыдущую статью можно прочитать на Хабре.

В следующих статьях:

  • Настройка Nginx ModSecurity (WAF).

  • Настройка BitNinja. Среди модулей платформы — WAF и AI-сканер. Специализируется на защите от SQL-инъекций, XSS, вирусов, Dos и использования форм сайта для спам-атак.

  • Настройка системы согласно аудиту Lynis.

  • Завершение настроек безопасности, использование белых списков.

Комментарии (0)