Основные виды угроз – это не уничтожение или «угон» сайта, а незаметное размещение на нём различных ссылок на «чёрные» ресурсы, подгрузка посетителям вредоносного кода или просто их переадресация на какой-то другой сайт. Рассмотрим несколько основных правил, позволяющих защититься от подобных случаев сайтам на WordPress.
Пароли
Эта часть – самая банальная, но всё равно многими недооцениваемая. Убедитесь, что у вас установлен сложный и уникальный пароль на каждом из пунктов:
- Хостинг-панель
- FTP-аккаунт
- Пользователь базы данных
- Учётная запись на вашем сайте
- e-mail, на который высылается забытый от неё пароль
Удобным решением будет использование приложений, вроде LastPass: здесь можно генерировать пароли различного уровня сложности и автоматически их вводить. Останется лишь запомнить один, главный пароль от LastPass – всё остальное можно доверить сервису.
Дополнительная мера
Если у вас на хостинге находится несколько сайтов, то желательно для каждого из них создавать отдельного ftp-пользователя, давая каждому из них доступ только к одному сайту, а не ко всему хостингу. Здесь точной инструкции дать не получится, т.к. хостинг-панели отличаются. Примите это просто как совет.
Защита административной части
Ограничение доступа в админку (только для статичных ip-адресов)
Если ваш интернет-провайдер предоставляет статичный, т.е. постоянный ip-адрес, это можно использовать как ещё одно средство защиты от взлома.
Перейдите в папку /wp-admin на хостинге и в ней создайте новый файл .htaccess.
В нем пропишите строки, заменив нули на свой IP:
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName «Access Control»
AuthType Basic
order deny,allow
deny from all
# Мой IP
allow from 00.000.000.00
# Ещё один. Рабочий, к примеру
allowfrom 00.000.000.000
Переименование wp-login.php
Всё ясно из названия. Это – страница, на которой вы вводите логин и пароль. Если её назвать как-то иначе, то это сильно затруднит жизнь при автоматических попытках подбора пароля. Данный плагин позволяет задать любое имя, не повредив работе движка.
Ограничение на число попыток входа
В настройках LoginLockdownможно выставить условия (определённое количество попыток за определённое время) и срок блокировки в случае неудачи. Параллельно, LoginLockDownзапишет все IP, с которых войти не удалось. Для большей надёжности можно включить аналогичную блокировку и при неправильно указанном имени пользователя.
Установка прав на файлы и папки движка.
Права выставляются как через файловый менеджер хостинг-панели, так и через любой FTP-клиент.
- wp-config.php – 660 (если возникнут неполадки, поставьте 664)
- Все папки – 775
- Все файлы — 664
Плагин для отслеживания любых изменений в файлах
Если даже вас и взломают (мы сейчас говорим о взломе автоматическом, массовом, призванном не уничтожить сайт, а подбросить в него какую-то скрытую рекламу или вредоносные элементы), то вы увидите, какие именно файлы или записи пострадали. Есть возможность настройки уведомлений: неинтересные можно отключить.
Поиск скрытых ссылок
Этот пункт полезен для профилактики и для тех, кто уже пострадал от взлома.
Зачастую злоумышленники ограничиваются простановкой ссылок прямо в материалах вашего сайта, прописывая ссылкам css-свойство «display:none;». Таким образом вы и пользователи ничего не видите, а поисковики – да.
Такие моменты советую «отлавливать» при помощи программы Xenu.
В программе указываете адрес своего сайта, а она показывает все найденные на нём ссылки (как внутренние, т.е. все страницы сайта, так и внешние, т.е. ведущие на другие ресурсы).
Чтобы узнать, с какой именно страницы идёт ссылка, нажмите на ней правой кнопкой мыши и выберите «URLproperties».
Поиск скрытых ссылок во всех темах
Скачать ThemeAuthenticityChecker
Для этих целей используйте плагин TAC. Отличие от Xenuв том, что программа может сканировать только используемую в данный момент на сайте тему, а TAC– все установленные. Таким образом, можно добавить себе на сайт любой шаблон и проверить его, не активируя.
Проверка на наличие мобильного редиректа
Узнать об этой проблеме можно с помощью счётчиков посещаемости, вроде Яндекс.Метрики. Если в статистике переходов по внешним ссылкам вы замечаете непонятные адреса, но тот же Xenuих не видит – вполне возможно, что перенаправление идёт только для пользователей мобильных устройств.
Воспользуйтесь расширением для браузера под названием User-AgentSwitcher. Оно заставляет браузер обращаться к сайту под видом выбранного устройства. Например, смартфона или планшета. Так вы сможете проверить, действительно ли есть переадресация.
Скачать для Opera / Firefox / Chrome
Альтернатива расширению – онлайн-проверка.
Если догадка подтвердилась – первым делом просмотрите .htaccess в корне сайта на наличие перенаправлений.
Другой причиной могут быть сторонние сервисы и скрипты, коды которых вы могли когда-то ставить на сайт. Проверьте их, отключая по одному.
Чаще всего причина именно в .htaccess или js-файлах.
Послесловие
Существуют ещё и плагины-антивирусы, которые умеют автоматически устранять угрозы в коде, но это уже платные решения, и подписки стоят недёшево. Они актуальны в случае, если заражение уже произошло. А перечисленных выше бесплатных мер хватит, чтобы уберечь себя от массовых попыток взлома (именно от них чаще всего и страдают сайты).