668 слов | 4 минуты
Как защитить сайт от взлома
Большинство взломов происходят не через сложные хакерские атаки, а через элементарные уязвимости — устаревший плагин, простой пароль или отсутствие резервных копий. В этой статье разберём что нужно сделать чтобы ваш сайт не стал лёгкой мишенью.
Почему сайты взламывают
Понимание мотивации помогает правильно расставить приоритеты защиты:
- Рассылка спама — ваш сервер используют для отправки тысяч писем
- Размещение вредоносного кода — заражают посетителей вашего сайта
- SEO-спам — добавляют скрытые ссылки или страницы для продвижения чужих сайтов
- Кража данных — похищают базы данных с контактами и платёжными данными
- DDoS-атаки — используют ваш сервер для атак на другие ресурсы
- Шантаж — шифруют данные и требуют выкуп
Большинство взломов автоматизированы — боты сканируют интернет в поисках известных уязвимостей и атакуют всё подряд, без разбора. Ваш сайт не нужно быть «важным» чтобы его взломали.
Основные меры защиты
1. Регулярно обновляйте CMS, плагины и темы
Это самое важное. Большинство взломов происходят через известные уязвимости в устаревших версиях программного обеспечения. После публикации патча хакеры немедленно начинают атаковать сайты на старых версиях.
Что делать:
- Включите автоматические обновления безопасности
- Проверяйте наличие обновлений хотя бы раз в неделю
- Удалите неиспользуемые плагины и темы — даже неактивные могут быть уязвимы
- Не используйте плагины которые давно не обновлялись (более 1–2 лет)
2. Используйте надёжные пароли
Простые пароли взламываются брутфорсом за минуты. Требования к паролям:
- Минимум 16 символов
- Сочетание букв, цифр и спецсимволов
- Уникальный для каждого сервиса
- Не содержит личных данных (имя, дата рождения, название сайта)
Используйте менеджер паролей — 1Password, Bitwarden или KeePass. Не нужно запоминать — нужно хранить безопасно.
3. Включите двухфакторную аутентификацию
Даже если пароль украдут — без второго фактора войти не получится. Настройте 2FA для:
- Панели управления хостингом
- Административной части сайта
- FTP/SFTP доступа
- Email на домене
4. Ограничьте доступ к админке
По IP-адресу — разрешите вход только с вашего IP:
<Files "wp-login.php">
Order Deny,Allow
Deny from all
Allow from ВАШ_IP
</Files>
Смените стандартный URL — вместо /wp-admin или /bitrix/admin используйте нестандартный путь.
Ограничьте количество попыток входа — после 5 неудачных попыток блокируйте IP на 30 минут.
5. Настройте SSL (HTTPS)
Сайт без HTTPS передаёт данные форм в открытом виде. Получить бесплатный сертификат можно через Let's Encrypt — большинство хостингов поддерживают его установку в один клик.
Дополнительно настройте HSTS — это запрещает браузеру обращаться к сайту по HTTP:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
6. Настройте резервные копии
Резервные копии — это ваша страховка. Даже если сайт взломают, вы сможете восстановить его за минуты, а не дни.
Требования к бэкапам:
- Автоматически, минимум раз в сутки
- Хранить на отдельном сервере или в облаке (не на том же хостинге)
- Хранить минимум 30 дней
- Периодически проверять что бэкап восстанавливается
7. Установите Web Application Firewall
WAF фильтрует входящий трафик и блокирует атаки до того как они достигают вашего сайта. Защищает от SQL-инъекций, XSS, брутфорса и других типичных атак.
Варианты:
- Cloudflare — бесплатный план включает базовый WAF и защиту от DDoS
- Sucuri — специализированный WAF для сайтов
- ModSecurity — устанавливается на сервер (нужны права root)
8. Правильно настройте права на файлы
Неправильные права позволяют вредоносным скриптам изменять файлы сайта:
Папки: 755
Файлы: 644
Конфигурационные файлы (wp-config.php, .env): 600
Проверить и исправить права через SSH:
find /путь/к/сайту -type d -exec chmod 755 {} \;
find /путь/к/сайту -type f -exec chmod 644 {} \;
chmod 600 wp-config.php
9. Скройте версию CMS и PHP
Информация о версии помогает хакерам выбрать нужный эксплойт. Скройте её:
# Скрыть версию Apache
ServerTokens Prod
ServerSignature Off
Для PHP в php.ini:
expose_php = Off
10. Настройте мониторинг
Вы должны узнавать о проблемах раньше посетителей:
- Яндекс Вебмастер и Google Search Console — уведомят при обнаружении вредоносного кода
- UptimeRobot (бесплатно) — проверяет доступность сайта каждые 5 минут и присылает SMS при падении
- Мониторинг целостности файлов — уведомление при изменении критичных файлов
Специфика защиты разных CMS
WordPress
- Используйте плагин Wordfence или Solid Security (iThemes Security)
- Отключите XML-RPC если не используете:
xmlrpc.php - Измените стандартное имя пользователя
admin - Включите защиту от брутфорса
1С-Битрикс
- Используйте встроенный «Монитор безопасности» — он проверяет настройки и даёт рекомендации
- Включите «Проактивную защиту» в настройках модуля
- Ограничьте доступ к
/bitrix/по IP - Регулярно запускайте встроенный антивирусный сканер
Самописный сайт / Laravel
- Никогда не доверяйте пользовательскому вводу — валидируйте и экранируйте всё
- Используйте подготовленные запросы (PDO) — защита от SQL-инъекций
- Настройте Content Security Policy (CSP)
- Храните секреты в
.envфайле, никогда не коммитьте его в репозиторий
Чек-лист минимальной безопасности
Если не готовы делать всё сразу — начните с этого:
- Обновить CMS и все плагины до последних версий
- Сменить все пароли на надёжные (16+ символов)
- Включить двухфакторную аутентификацию для админки
- Настроить автоматические резервные копии
- Подключить SSL (HTTPS)
- Добавить сайт в Яндекс Вебмастер и Google Search Console
Если хотите профессиональную настройку защиты сайта — обратитесь к нам. Проведём аудит безопасности и закроем уязвимости.