Цифровой элемент
134
Отправь статью на почту?

Как защитить сайт на WordPress от вирусов и хакеров

Подписаться

WordPress — это мощная и гибкая платформа управления сайтом, которая используется миллионами сайтов по всему миру. Однако её популярность делает её привлекательной мишенью для хакеров и вредоносных программ. Если вы веб-разработчик или владелец сайта, важно понимать, как защитить свой ресурс от угроз. В этой статье мы рассмотрим комплексный подход к безопасности WordPress, включая примеры кода, рекомендации по настройке и дополнительные методы защиты.

Содержание

Почему WordPress уязвим?

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

  • Открытый исходный код: Злоумышленники могут изучать код WordPress и находить уязвимости.
  • Популярность: Чем больше сайтов используют WordPress, тем выше вероятность массовых атак.
  • Плагины и темы: Многие уязвимости возникают из-за плохо написанных или устаревших плагинов и тем.

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

Обновляйте всё регулярно

Устаревшие версии WordPress, плагинов и тем — одна из главных причин уязвимостей.

Что делать:

  • Включите автоматические обновления для WordPress Core, добавив в wp-config.php:
    define('WP_AUTO_UPDATE_CORE', true);
  • Регулярно проверяйте обновления плагинов и тем. Удалите неиспользуемые.
  • Используйте только проверенные плагины и темы из официального репозитория WordPress

Совет: Если вы разрабатываете собственные темы или плагины, регулярно проверяйте их код на уязвимости с помощью инструментов вроде PHPStan или WordPress Coding Standards.

Усильте защиту доступа

Большинство атак начинается с подбора паролей или взлома админки.

Что делать:

  • Установите двухфакторную аутентификацию (2FA) с помощью плагинов, таких как Google Authenticator или Wordfence.
  • Ограничьте попытки входа, добавив в .htaccess (в случае использования веб-сервера Apache):
    
      Order Deny,Allow
      Deny from all
      Allow from 192.168.1.1
    
    

    где 192.168.1.1 - это IP-адрес вашего компьютера или сети.

  • Или если у вас используется Nginx, то используя директиву location и настройки доступа:
    server {
        # Другие настройки сервера...
        location = /wp-login.php {
            allow 192.168.1.1;  # Разрешить доступ только с этого IP
            deny all;           # Запретить доступ всем остальным
            include fastcgi_params;  # Если используется PHP-FPM
            fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;  # Укажите свой сокет PHP-FPM
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
        # Другие location-блоки...
    }
    
  • Смените URL входа с помощью плагина WPS Hide Login.

Дополнительно: Используйте CAPTCHA для форм входа и регистрации. Плагины вроде reCAPTCHA by BestWebSoft помогут защититься от ботов.

Настройте файловую систему и базу данных

Правильные настройки прав доступа и защита базы данных — основа безопасности.

Что делать:

  • Установите права на файлы (644) и папки (755):
    find /path/to/wordpress -type d -exec chmod 755 {} \;
    find /path/to/wordpress -type f -exec chmod 644 {} \;
    
  • Защитите wp-config.php, добавив в .htaccess:
    
      Order Allow,Deny
      Deny from all
    
    
  • Или если у вас используется Nginx:
    server {
        # Другие настройки сервера...
        location = /wp-config.php {
            deny all;  # Запретить доступ всем
            return 403; # Вернуть статус 403 Forbidden
        }
        # Другие location-блоки...
    }
    
  • Смените префикс таблиц базы данных с wp_ на уникальный (например, mywp_).

Совет: Используйте сложные пароли для базы данных и ограничьте доступ к ней только с IP-адресов вашего сервера.

Сложный пароль

Чтобы создать сложный и надежный пароль, рекомендуется следовать следующим требованиям:
  • Длина пароля:
    1. Минимум 12 символов. Чем длиннее пароль, тем сложнее его взломать.
  • Использование разных типов символов:
    1. Заглавные буквы (A-Z).
    2. Строчные буквы (a-z).
    3. Цифры (0-9).
    4. Специальные символы (например, !, @, #, $, %, ^, &, *).
  • Избегание очевидных комбинаций:
    1. Не используйте простые последовательности (например, "123456", "qwerty").
    2. Не используйте личную информацию (имя, дату рождения, номер телефона).
    3. Не используйте общеизвестные слова или фразы.
  • Уникальность:
    1. Не используйте один и тот же пароль для разных аккаунтов.
    2. Создавайте уникальные пароли для каждого сервиса.
  • Регулярное обновление:
    1. Меняйте пароли периодически (например, каждые 3-6 месяцев).
  • Использование менеджера паролей:
    1. Для хранения и генерации сложных паролей рекомендуется использовать надежные менеджеры паролей (например, LastPass, 1Password, Bitwarden).
Пример сложного пароля:
  • P@ssw0rd!2023#Secure
  • L0nG&$3cureP@$$w0rd!

Такой пароль соответствует всем требованиям и будет устойчив к атакам методом перебора (brute force) и словарным атакам.

Используйте Web Application Firewall (WAF)

WAF блокирует подозрительный трафик и предотвращает атаки.

Что делать:

  • Подключите Cloudflare (бесплатный тариф) и настройте правила безопасности.
  • Установите плагин Wordfence или Sucuri для защиты на уровне сайта.

Дополнительно: Настройте WAF для блокировки подозрительных IP-адресов и стран, откуда идут атаки.

Мы недавно писали о бесплатном сервисе Cloudflare CDN: Обзор возможностей, преимуществ и тарифов, который можно использовать в качестве WAF.

Регулярно сканируйте сайт на вирусы

Даже если сайт выглядит чистым, вредоносный код может быть скрыт.

Что делать:

  • Используйте плагины для сканирования: MalCare, Wordfence Security, Sucuri Scanner.
  • Проверяйте файлы через онлайн-сервисы, такие как VirusTotal.
  • Или специалисты могут использовать и запускать из консоли Ai-Bolit. AI-Bolit — это продвинутый бесплатный сканер бэкдоров, хакерских шёллов, вирусов и дорвеев. Скрипт умеет искать вредоносный и подозрительный код в скриптах, определяет спам-ссылки, показывает версию CMS и критические для безопасности сервера настройки.

Совет: Настройте автоматическое сканирование сайта раз в неделю.

Настройте резервное копирование

Резервные копии — это последняя линия защиты в случае взлома.

Что делать:

  • Установите плагин UpdraftPlus или BlogVault для автоматического создания бэкапов.
  • Настройте резервное копирование на разных уровнях, например, на сайте через плагины, а также на уровне хостинг-провайдера в панели управления хостингом.
  • Храните копии на внешних сервисах (Google Drive, Dropbox).

Дополнительно: Регулярно проверяйте, что бэкапы работают корректно и могут быть восстановлены.

О рекомендованных нами хостинг-провайдерах мы недавно писали в статье Хостинг. Лучшие хостинг-провайдеры в России.

Отключите ненужные функции

Некоторые функции WordPress могут быть использованы злоумышленниками.

Что делать:

  • Отключите XML-RPC, добавив в .htaccess:
    
      Order Deny,Allow
      Deny from all
    
    
  • Если у вас Nginx:
    server {
        # Другие настройки сервера...
        location = /xmlrpc.php {
            deny all;  # Запретить доступ всем
            return 403; # Вернуть статус 403 Forbidden
        }
        # Другие location-блоки...
    }
    
  • Запретите индексацию директорий, добавив в .htaccess:
    Options -Indexes
    

Совет: Отключите REST API для неавторизованных пользователей, добавив в functions.php:

add_filter('rest_authentication_errors', function($result) {
    if (!is_user_logged_in()) {
        return new WP_Error('rest_not_logged_in', 'You are not logged in.', array('status' => 401));
    }
    return $result;
});

Мониторинг активности

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

Что делать:

  • Установите плагин WP Activity Log или Activity Log.
  • Настройте уведомления о критических изменениях (например, добавление новых пользователей).

Дополнительно: Регулярно проверяйте логи сервера на наличие подозрительных запросов.

Дополнительные методы защиты

  • Обязательно используйте HTTPS: Убедитесь, что ваш сайт использует SSL-сертификат.
  • Ограничьте доступ к wp-admin: Разрешите доступ только с определенных IP-адресов, как написано было выше.
  • Скрытие версии WordPress: Удалите информацию о версии WordPress из исходного кода, добавив в functions.php:
    remove_action('wp_head', 'wp_generator');

Что делать, если сайт уже взломан

Если ваш сайт подвергся атаке, действуйте быстро.

Что делать:

  • Смените все пароли (хостинг, FTP, база данных, WordPress).
  • Проверьте файлы на наличие подозрительного кода (особенно в index.php, .htaccess, файлах тем) используя специализированные инструменты.
  • Восстановите сайт из чистого бэкапа.

Совет: А лучше - обратитесь к специалистам по безопасности, если не можете справиться самостоятельно.

Вывод

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

Команда Цифрового Элемента обладает большим опытом защиты веб-ресурсов от хакерских атак. Если ваш сайт стал жертвой или может стать целью атаки - обращайтесь к нам и мы оперативно защитим ваш сайт!

Мне не нравится
Россия, Челябинская область, Челябинск, ул. Энтузиастов, 2, оф. 200 Телефон: +7 (351) 220-45-35

Читайте в нашем блоге

Все статьи
Как защитить сайт на WordPress от вирусов и хакеров

Как защитить сайт на WordPress от вирусов и хакеров

WordPress — это мощная и гибкая платформа управления сайтом, которая используется миллионами сайтов по всему миру. Однако её популярность делае...

28.02.2025
6
11 лучших платформ для онлайн-совещаний

11 лучших платформ для онлайн-совещаний

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

24.12.2024
896
Лучшие бесплатные и условно-бесплатные аналоги Figma в 2024 году

Лучшие бесплатные и условно-бесплатные аналоги Figma в 2024 году

Figma — один из наиболее востребованных инструментов для создания интерфейсов и прототипов в сфере веб-дизайна и разработки мобильных приложени...

10.12.2024
1660
Интеграция Битрикс24 и Asterisk

Интеграция Битрикс24 и Asterisk

Современные компании всё чаще сталкиваются с необходимостью интеграции IP-телефонии и CRM-систем для улучшения управления клиентскими коммуника...

29.11.2024
1099
Хостинг. Лучшие хостинг-провайдеры в России

Хостинг. Лучшие хостинг-провайдеры в России

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

19.11.2024
1690
Региональное продвижение сайта: поддомены или подпапки

Региональное продвижение сайта: поддомены или подпапки

Запросы пользователей в поисковых системах делятся на две категории: геозависимые и геонезависимые. Геозависимые запросы — это...

29.10.2024
2629
Битрикс24 vs Microsoft SharePoint: Как выбрать оптимальную платформу для вашего бизнеса?

Битрикс24 vs Microsoft SharePoint: Как выбрать оптимальную платформу для вашего бизнеса?

Эффективность бизнеса во многом зависит от правильного выбора цифровых инструментов, обеспечивающих работу команды и управление документами. Дв...

10.09.2024
2398
Внедрение системы управления персоналом и автоматизация: обзор HRM-систем

Внедрение системы управления персоналом и автоматизация: обзор HRM-систем

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

06.09.2024
2316