— Необходимо устранить возможность повторной установки блога в случае сбоя в базе данных.
Для этого удаляем файл install.php на хостинге в папке с wordpress.
— Необходимо проверять перед установкой нового шаблона/темы наличие в нем вредоносного кода или закодированных ссылок.
Для этого устанавливаем плагин TAC и используем его для анализа шаблонов.
— Убрать с шаблона ссылку на вход в административную панель.
Необходимо максимально затруднить нахождение страницы для входа в административную часть для злоумышленников.
— Устанавливаем блокировку по IP для входа в административную панель блога.
Для этого необходимо в файл .htaccess вписать следующий код:
<Files wp-login.php>
Order deny,allow
Deny from All
Allow from 123.456.789.0
</Files>
Вместо 123.456.789.0 укажите Ваш статичный IP.
— Рекомендую всегда обновлять WordPress и плагины, так как старые версии могут нести бреши в защите, а обновления брать с официальных источников.
Выполнять обновление можно как через административную панель, так и с официального сайта wordpress.org.
— Необходимо защищаться от XSS атак.
Для этого в файл .htaccess вставить следующий код:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS (=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST (=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
— Необходимо защищать блог от зловредных url-запросов.
Для этого воспользуйтесь инструкцией написанной в этом посте.
— Защищаем блог от хотлинка.
Для этого необходимо в файл .htaccess добавить следующий код:
RewriteEngine On
#Заменяем ?mysite\.ru/ на адрес вашего сайта
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.ru/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Заменяем /images/nohotlink.jpg на название вашей картинки для личера.
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]
— Устраняем возможность просматривать директории на блоге.
Для этого необходимо в файл .htaccess и добавить следующий код:
Options -Indexes
— Для повышения безопасности рекомендую изменить префикс БД.
Наиболее простой способ изменить префикс БД, воспользоваться плагином WP Security Scan. Если у вас возникли проблемы после смены БД, эта статья вам поможет решить проблему.
— Необходимо в блоге на wordpress добавить уникальные ключи для аутентификации.
Для этого воспользуйтесь специальным сайтом для автоматической генерации ключей, а после скопируйте их в файл wp— config.php.
— Удаляем следующие файлы для повышения безопасности блога: readme.html, license.txt и install.php.
Первые два файла удалять необходимо, чтобы злоумышленник не узнал версию вашего wordpress движка, а третий, чтобы нельзя было установить заново блог в случае форс-мажора.
— Защищаем файл wp-config, который хранит важную информацию от базы данных.
Для защиты необходимо в файл .htaccess прописать следующий код:
<files wp-config.php>
order allow,deny
deny from all
</files>
— Изменяем расположение файла wp-config.php.
Файл wp-config.php можно перенести на один уровень вверх для повышения безопасности блога.
— Необходимо убрать ошибку о неверно набранном логине/пароле при попытке злоумышленником подобрать пароль к админке блога.
Для этого необходимо в файле functions.php прописать следующий код:
add_filter ('login_errors',create_function ('$a', «return null;»));
Если возникнут проблемы при входе в административную панель уберите этот код.
— Убираем возможность просмотра версии wordpress.
Самый легкий способ убрать версию вордпресса использовать плагин Secure WordPress.
— Необходимо усложнить логин для входа в административную панель.
Для этого можно воспользоваться плагином WPVN — Username Changer или зайти в БД и изменить через базу данных логин.
— Переносим страницу входа в административную панель.
Для этого надо воспользоваться плагином Stealth Login.
— Ограничиваем количество попыток авторизации в административную панель.
Для этого используем плагин Login Lockdown.
— Защищаем передачу данных через SSL протокол.
Если ваш провайдер поддерживает SSL протокол, тогда вы можете настроить принудительную передачу данных при работе с административной частью блога при внесении кода в файл wp-config.php:
define ('FORCE_SSL_ADMIN', true);
|