WordPress — самая популярная система управления контентом, поэтому чаще других подвергается атакам. В этой статье разберем инструменты, которые помогут проверить безопасность и защитить сайт на WordPress.
В этой статье опишу:
Инструменты для проверки изменений в файловой системе Linux
Wazuh и Lynis — инструменты для мониторинга безопасности
Сервисы для проверки на вредоносное ПО
WPScan — проверяем сайт на уязвимости
Плагин Wordfence — для защиты WordPress
Регулярное обновление системы
Как автоматически обновлять пакеты в ispmanager
Кратко — как защитить сайт на WordPress
Инструменты для проверки изменений в файловой системе Linux
Выявить неавторизованные или подозрительные действия в файловой системе Linux можно если отслеживать изменения модификации файлов и каталогов.
Инструменты, которые помогут это сделать:
AIDE (Advanced Intrusion Detection Environment) — инструмент с открытым исходным кодом для обнаружения вторжений. Программа создает базу данных с хэш-суммами файлов и атрибутами, а затем регулярно проверяет текущее состояние файловой системы на соответствие базе данных.
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 анализирует конфигурацию системы, установленное программное обеспечение и слабые места. Система дает рекомендации, как улучшить безопасность.
Выглядит так:
Wazuh — платформа с удобным интерфейсом, управляет инцидентами и отслеживает угрозы в реальном времени. Wazuh интегрирует разные инструменты: анализ логов, обнаружение вторжений, аудит безопасности и мониторинг состояния системы.
Я настроил Debian 11 на основе аудита безопасности с использованием Lynis. Результаты теста показали, что удалось достичь определённого уровня безопасности:
Для более глубокого анализа рекомендую просмотреть подробные результаты — прокрутите содержимое терминала вверх.
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 с потенциальными проблемами.
Как сканировать сайт WordPress с помощью WPScan:
Установите Ruby — инструмент обычно доступен в репозиториях большинства дистрибутивов Linux.
sudo apt install ruby
Установите зависимости для сборки расширений:
sudo apt install build-essential libcurl4-openssl-dev libxml2 libxml2-dev libxslt1-dev ruby-dev libgmp-dev zlib1g-dev
Установите 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:
Перейдите в раздел «Настройки» → «Настройки системы».
Найдите опцию «Обновлять ПО автоматически».
В выпадающем списке выберите «Обновлять все пакеты системы».
Нажмите кнопку «Сохранить».
Пример настройки:
Кратко — как защитить сайт на 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.
Завершение настроек безопасности, использование белых списков.