Безопасность блогаНаконец то публикую вторую дюжину советов, кто пропустил первую могут наверстать упущенное, так же прилагается список плагинов для повышения уровня безопасности. Данные советы помогут закрыть доступ к блогу железной стеной. А если и этого мало, то через неделю, в следующую пятницу Вашему вниманию предоставиться еще 12 советов как укрепить стену от нежелательных гостей.

Всегда обновляем WordPress и плагины

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

Процедура обновлению системных файлов WordPress и плагинов особо не составляет труда.

Так для того, чтобы обновить WordPress, необходимо зайти в панель администрирования, раздел «Инструменты» — «Обновление» или в новых версиях «Консоль» -  «Обновления» и нажать кнопку «Обновить WordPress», после чего Вам, возможно, понадобится ввести логин, пароль и имя FTP сервера, чтобы программа обновления WordPress  могла получить доступ к папкам и файлам. После чего запустится обновление WordPress, и если все хорошо, через пару минут на вашем блоге будет стоять новейшая версия  WordPress.

Так же обновить ВП можно так, скачайте новую версию WordPress, распакуйте на своем компьютере и загрузите на сервер, перезаписывая существующие файлы. Естественно перед обновлением, нужно сделать резервную копию базы данных и файлов блога.

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

Защищаемся от XSS инъекций

Чтобы защитить блог от изменений переменных GLOBALS и _REQUEST необходимо в файл .htaccess вставить код, который будет блокировать запросы, направленные на модификацию переменных или содержащие скрипт. Код:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (\|%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-запросов

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

Для начала заходим в папку wp-content/plugins и создаем там пустой файл blockbadqueries.php. Открываем созданный файл и вставляем следующий код:

/*
Plugin Name: Block Bad Queries
Plugin URI: perishablepress.com/press/2009/12/22/protect-wordpress-against-malicious-url-requests/
Description: Protect WordPress Against Malicious URL Requests
Author URI: perishablepress.com/
Author: Perishable Press
Version: 1.0
*/
global $user_ID;
if ($user_ID) {
if (!current_user_can ('level_10')) {
if (strlen ($_SERVER['REQUEST_URI']) > 255 ||
strpos ($_SERVER['REQUEST_URI'], "eval (") ||
strpos ($_SERVER['REQUEST_URI'], «CONCAT») ||
strpos ($_SERVER['REQUEST_URI'], «UNION+SELECT») ||
strpos ($_SERVER['REQUEST_URI'], «base64»)) {
@header («HTTP/1.1 414 Request-URI Too Long»);
@header («Status: 414 Request-URI Too Long»);
@header («Connection: Close»);
@exit;
}
}
}
?>

Затем просто активируйте его в админке как любой другой плагин.

Защищаемся от хотлинка

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

Открываем файл .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]

Закрываем возможность просматривать директории на сервере

Если введя в браузере 'вашблог.ru/wp-includes'. Вы обнаружите содержимое данной папки, то это же может увидеть и злоумышленник.

Вы можете либо добавить пустые файлы index.html в папки, просмотр которых хотели бы запретить. Либо дополнить наш .htaccess ещё одной строкой.

Открываем файл .htaccess и добавляем код:
Options -Indexes

Если версия Вашего вордпресса старее 2.7, то рекомендую создать пустой файл index.html в папке с плагинами wp— content/plugins.

Изменяем префикс БД

По умолчанию в WordPress таблицы баз данных имеют префикс «wp_», что существенно снижает безопасность блога. Чтобы устранить этот недостаток, нужно изменить префикс на более сложный.

Чтобы не мудрить, рекомендую воспользоваться плагином WP Security Scan про который я уже писал. Устанавливаем и активируем плагин, в административной панели вордпресса появится вкладка «Безопасность». Кликаем на плагин и изменяем префикс БД. Только не забудьте поставить после него нижнее подчеркивание.

Если блог перестанет загружаться, возможно, мой опыт описанный здесь поможет.

Генерируем уникальные ключи для аутентификации сайта

При установке WordPress при редактировании файла wp— config.php Вы, наверное, обратили внимание на такие поля:

define ('AUTH_KEY',         'впишите сюда уникальную фразу');
define ('SECURE_AUTH_KEY',  'впишите сюда уникальную фразу');
define ('LOGGED_IN_KEY',    'впишите сюда уникальную фразу');
define ('NONCE_KEY',        'впишите сюда уникальную фразу');
define ('AUTH_SALT',        'впишите сюда уникальную фразу');
define ('SECURE_AUTH_SALT', 'впишите сюда уникальную фразу');
define ('LOGGED_IN_SALT',   'впишите сюда уникальную фразу');
define ('NONCE_SALT',       'впишите сюда уникальную фразу');

Для повышения безопасности необходимо заполнить все поля 'впишите сюда уникальную фразу', чтобы не напрягаться с выдумывания фразы воспользуемся данным сайтом, который с генерирует уникальные все ключи.

Не храним пароли в FTP клиентах

Сохранение в FTP клиентах паролей от сервера несет большую опасность. Если злоумышленник узнает данные из FTP клиента, то все другие предоставленные меры по устранению уязвимостей в блоге сведутся на нет.

Удаляем неиспользованные плагины

К угрозам безопасности вордпресса можно отнести и активированные/деактивированные плагины, поэтому если Вы не пользуетесь тем или иным плагином, рекомендуется его удалить. Заново скачать на сервер плагин занимает не так много времени, как устранение одной из уязвимостей ВП. Так же при помощи данного совета можно снизить вес сайта, что ускорит его загрузку для пользователей.

 

Используем SFTP вместо FTP

Если Вы приобрели VPS хостинг или у Вашего хостинга есть возможность использовать SSH вместо FTP или FTP+SSL, то обязательно пользуйтесь для обеспечения безопасности.

Удаляем все ненужные файлы

Ранее я уже описывал про необходимость скрывать версию ВП. Версии неявно указаны в файлах readme.html и license.txt, которые находятся в корневой директории блога. После обновления WordPress эти файлы автоматически появятся снова, так что не забываем их удалять.

Так же советую удалить файл install.php. Он нам понадобился только один раз, когда устанавливали WordPress, и теперь нет необходимости в нем, даже наоборот. В случаи сбоя на сервере, сервер может заново начать установку вордпресса, а если данная возможность появиться у злоумышленника, он может этим воспользоваться с корыстью.

Вводим важные данные через виртуальную клавиатуру

Для предотвращения действия кейлогеров, предлагаю вводить логин и пароль от ресурсов через виртуальную клавиатуру. В виндовсе можно воспользоваться специальной возможность – экранной клавиатурой, так же в программе «Касперский Кристал» есть своя виртуальная клавиатура.