Как защитить WordPress на VPS от DDoS-атак и взломов: настройка брандмауэра, мониторинг трафика и усиление авторизации. В статье рассмотрены практические меры безопасности, позволяющие предотвратить кибератаки и минимизировать уязвимости.
Разбираем основные угрозы для WordPress на VPS и способы их предотвращения: защита от DDoS, усиление безопасности сервера и админ-панели, контроль трафика. Приведены детальные рекомендации по настройке и мониторингу для снижения рисков взлома.
Почему WordPress на VPS уязвим

WordPress — одна из самых популярных систем для создания сайтов, и именно это делает её одной из главных мишеней для хакеров. Если ваш сайт работает на VPS (виртуальном сервере), важно не только его запустить, но и грамотно защитить.
Всё по порядку: что угрожает вашему сайту, как это работает и какие конкретные шаги помогут предотвратить проблемы.
Основные угрозы:
- DDoS-атака — перегрузка сервера огромным количеством запросов, что делает сайт недоступным.
- Брутфорс-атака — автоматический подбор пароля для доступа к админке.
- SQL-инъекции — внедрение вредоносных команд в запросы к базе данных.
- XSS (межсайтовое внедрение скриптов) — внедрение вредоносных скриптов на страницы сайта.
- Инфекции через сторонние файлы — опасный код в плагинах, темах, загруженных файлах.
Базовая настройка сервера
Если сайт работает на VPS, важно исключить уязвимости на уровне самого сервера. Именно здесь часто кроются самые грубые ошибки — оставленные стандартные настройки, открытые порты и отсутствие базовой фильтрации трафика. Перед тем как укреплять сам WordPress, необходимо убедиться, что сервер защищён от простейших атак. Начнём с обязательного минимума.
Изменяем стандартный порт SSH
По умолчанию SSH использует порт 22, который активно сканируется ботами.
Подключитесь к серверу:
ssh root@ваш_сервер
Откройте файл настроек SSH:
nano /etc/ssh/sshd_config
Найдите строку:
#Port 22
Уберите #
и замените 22
на, например, 7822: Port 7822.
Сохраните изменения (CTRL+X → Y → Enter) и перезапустите SSH:
systemctl restart sshd
Теперь вход будет осуществляться так:
ssh -p 7822 root@ваш_сервер
Устанавливаем файрвол
Файрвол ограничивает доступ только к нужным портам:
Для Ubuntu:
apt install ufw -y
Для CentOS:
yum install firewalld -y
Разрешаем нужные порты:
ufw allow 7822/tcp # SSH (новый порт)
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS
ufw enable
Укрепляем WordPress
Меняем стандартный URL входа:
- Установите плагин WPS Hide Login.
- После активации зайдите в настройки плагина.
- Укажите новый путь, например /mypanel.
- Сохраните изменения.
Важно записать новый URL, иначе восстановить доступ можно будет только через сервер.
Ограничиваем количество попыток входа:
- Установите Limit Login Attempts Reloaded.
- Перейдите в его настройки.
- Установите, например:
- Максимум попыток: 3.
- Блокировка: 30 минут.
Сохраняем.
Включаем двухфакторную аутентификацию (2FA):
- Установите плагин Google Authenticator или Two Factor Authentication.
- Привяжите аккаунт к приложению Google Authenticator.
- Отсканируйте QR-код и подтвердите кодом из приложения.
Теперь для входа потребуется вводить одноразовый код.
Укрепляем базу данных
Меняем префикс таблиц:
Откройте файл wp-config.php через FTP или файловый менеджер.
Найдите строку:
$table_prefix = 'wp_';
Замените, например, на:
$table_prefix = 'xyz123_';
Сохраните изменения.
Ограничиваем доступ к файлу конфигурации. В терминале:
chmod 600 wp-config.php
Можно также установить права через панель хостинга.
Защита от DDoS-атак
Если сайт работает на VPS, важно исключить уязвимости на уровне самого сервера. Именно здесь часто кроются самые грубые ошибки — оставленные «по умолчанию» настройки, открытые порты, отсутствие базовой фильтрации трафика и доступ к административным интерфейсам без ограничений. Всё это делает сервер лёгкой добычей для автоматизированных сканеров и ботов, которые круглосуточно ищут слабозащищённые ресурсы.
Прежде чем переходить к усилению самого WordPress, стоит убедиться, что основа — серверная часть — надёжно настроена. В этом разделе мы пошагово разберём, как закрыть главные дыры: изменить стандартный SSH-порт, включить файрвол и настроить базовые правила доступа. Это — обязательный минимум, без которого защита сайта будет неполной.
Через Cloudflare:
- Зарегистрируйтесь на сайте Cloudflare.
- Добавьте свой сайт.
- Измените DNS-записи на серверы Cloudflare (например, ns1.cloudflare.com).
- Включите Under Attack Mode в разделе Firewall.
- Настройте Rate Limiting — ограничение числа запросов с одного IP.
Дополнительная защита через .htaccess. Вставьте в .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-login.php*
RewriteCond %{HTTP_REFERER} !^http(s)?://(.*)вашдомен.com [NC]
RewriteRule .* - [R=403,L]
</IfModule>
Поддерживаем безопасность
Делайте следующее:
- Регулярно обновляйте ядро WordPress.
- Удаляйте неиспользуемые темы и плагины.
- Проверяйте сайт на вирусы (используйте maldet или ClamAV).
- Делайте регулярный бекап.
Читайте в блоге:
- Как интегрировать WordPress с CRM через VPS: кейс для бизнеса
- Оптимизация WordPress для SMM: как превратить сайт в магнит для трафика из соцсетей
- Как выбрать VPS для WordPress: топ-5 конфигураций сервера