Безопасность всегда была горячей темой. В автономном режиме, люди покупают проводные дома, автомобильные сигнализации и гаджеты, чтобы довести их безопасности по максимуму. Интернет, безопасность имеет важное значение, слишком, особенно для людей, которые зарабатывают на жизнь с веб-сайтов и блогов. В этой статье мы покажем вам некоторые полезные настройки для защиты вашего WordPress питание мносясь блога.
Дальнейшее чтение на SmashingMag:
- Обеспечение вашего WordPress веб-сайт
- Общие WordPress вредоносных инфекций
- Всеобъемлющий контрольный список для создания идеального wordPress веб-сайт
- Изучение WordPress: Наиболее полезные советы и учебники
1. Предотвращение ненужной информации от отображения
Проблема
Когда вы не в состоянии войти в блог WordPress, CMS отображает некоторую информацию говорю вам, что пошло не так. Это хорошо, если вы забыли свой пароль, но это также может быть хорошо для людей, которые хотят взломать ваш блог. Итак, почему бы не предотвратить WordPress от отображения сообщений об ошибках на неудавшихся входах в систему?
Решение
Чтобы удалить сообщения об ошибках входа в систему, просто откройте файл функций вашей темы.php и вставьте следующий код:
add_filter('login_errors',create_function('$a', "return null;"));
Сохраните файл и просмотрите сами: больше не отображаются сообщения, если вы не входите в систему.
Обратите внимание, что существует несколько файлов functions.php. Не забудьте изменить один в вашем каталоге WP-контента.
Объяснение кода
С помощью этого кода мы добавили простой крючок для перезаписи login_errors()
функции. Поскольку пользовательская функция, которую мы создали, null
возвращаеттолько, отображаемый сообщение будет пустой строкой.
Источник
2. Использование силы SSL
Проблема
Если вы беспокоитесь о перехвате данных, то вы можете определенно использовать SSL. В случае, если вы не знаете, что это такое, SSL является криптографическим протоколом, который обеспечивает безопасность связи через сети, такие как Интернет.
Знаете ли вы, что заставить WordPress использовать SSL возможно? Не все хостинговые сервисы позволяют использовать SSL, но если вы размещены на Wp WebHost или HostGator, то SSL включен.
Решение
После того как вы проверили, что ваш веб-сервер может обрабатывать SSL, просто откройте файл wp-config.php (находится в корне установки WordPress), и вставьте следующее:
define('FORCE_SSL_ADMIN', true);
Сохранить файл, и вы сделали!
Объяснение кода
Ничего сложного здесь. WordPress использует много констант для настройки программного обеспечения. В этом случае мы просто определили FORCE_SSL_ADMIN
константу и установили ее true
ценность. Это приводит к WordPress с помощью SSL.
Источник
3. Использование .htaccess для защиты файла wp-конфигурации
Проблема
Как пользователь WordPress, вы, вероятно, знаете, насколько важен файл wp-config.php. Этот файл содержит всю информацию, необходимую для доступа к вашей драгоценной базе данных: имя пользователя, пароль, имя сервера и так далее. Защита файла wp-config.php имеет решающее значение, так как насчет использования власти Apache с этой целью?
Решение
Файл .htaccess расположен в корне вашей установки WordPress. После создания резервного копирования (это такой критический файл, что мы всегда должны иметь безопасную копию), открыть его, и вставьте следующий код:
<files wp-config.php>
order allow,deny
deny from all
</files>
Объяснение кода
Файлы .htaccess являются мощными и одним из лучших инструментов для предотвращения нежелательного доступа к файлам. В этом коде мы просто создали правило, которое предотвращает любой доступ к файлу wp-admin.php, гарантируя тем самым, что никакие злые боты не смогут получить к нему доступ.
Источник
4. Черный список нежелательных пользователей и ботов
Проблема
Это так же верно в Интернете, как это в реальной жизни: тот, кто присутсвий вас сегодня, вероятно, приставать к вам снова завтра. Вы заметили, сколько спам-ботов вернуться в свой блог 10 раз в день, чтобы разместить свои раздражающие комментарии? Решение этой проблемы довольно просто: запретить им доступ к вашему блогу.
Решение
Вставьте следующий код в файл .htaccess, расположенный в корне установки WordPress. Как я уже сказал, всегда резервное копирование файла .htaccess перед его редактированием. Кроме того, не забудьте изменить 123.456.789
на IP-адрес, который вы хотите запретить.
<Limit GET POST PUT>
order allow,deny
allow from all
deny from 123.456.789
</LIMIT>
Объяснение кода
Apache является мощным и может быть легко использован для запрета нежелательных людей и ботов с вашего сайта. С помощью этого кода мы говорим Apache, что каждый может посетить наш блог, кроме человека с IP-адресом. 123.456.789
Чтобы запретить больше людей, просто повторите строку 4 этого кода на новой строке, используя другой IP-адрес, как показано ниже:
<Limit GET POST PUT>
order allow,deny
allow from all
deny from 123.456.789
deny from 93.121.788
deny from 223.956.789
deny from 128.456.780
</LIMIT>
Источник
5. Защитите свой блог WordPress от инъекций сценария
Проблема
Защита динамических веб-сайтов особенно важна. Большинство разработчиков всегда защищают свои GET
запросы и POST
запросы, но иногда этого недостаточно. Мы также должны защитить наш блог от инъекций скрипта и любых попыток изменить PHP GLOBALS
и _REQUEST
переменных.
Решение
Следующий код блокирует впрыски скрипта и любые попытки изменить PHP GLOBALS
и _REQUEST
переменные. Вставьте его в файл .htaccess (расположен в корне установки WordPress). Убедитесь в том, чтобы всегда резервное копирование файла .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]
Объяснение кода
Используя силу файла .htaccess, мы можем проверить запросы. То, что мы сделали здесь, это проверить, содержит ли запрос lt;script, и пытался ли он изменить значение PHP GLOBALS
или _REQUEST
переменных. Если какое-либо из этих условий выполнено, запрос блокируется и ошибка 403 возвращается в браузер клиента.
Источников
6. Борьба против содержания scrapers
Проблема
Если ваш блог является наименее немного известно, люди, несомненно, пытаются использовать ваш контент на своих собственных веб-сайтах без вашего согласия. Одной из самых больших проблем является горячая связь с изображениями, которая снижает пропускную способность вашего сервера.
Решение
Чтобы защитить свой веб-сайт от горячих ссылок и скребков контента, просто вставьте следующий код в файл .htaccess. Как всегда, не забудьте создать резервную переспину при изменении файла .htaccess.
RewriteEngine On
#Replace ?mysite.com/ with your blog url
RewriteCond %{HTTP_REFERER} !^http://(.+.)?mysite.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Replace /images/nohotlink.jpg with your "don't hotlink" image url
RewriteRule .*.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]
После того как вы сохранили файл, только ваш сайт сможет ссылку на ваши изображения, или, если быть более правильным, никто не будет ссылаться на ваши изображения, потому что это было бы слишком сложно и отнимает много времени. Другие веб-сайты будут автоматически отображать изображение nohotlink.jpg. Обратите внимание, что вы также можете указать несуществующее изображение, поэтому веб-сайты, которые пытаются погорячей ссылкой на вас будет отображать пустое пространство.
Объяснение кода
С помощью этого кода, первое, что мы сделали, это проверить реферера, чтобы увидеть, что он соответствует URL нашего блога, и это не пусто. Если это не так, и файл имеет расширение JPG, GIF, BMP или PNG, то вместо этого отображается изображение nohotlink.
Источник
7. Создайте плагин для защиты блога от вредоносных запросов URL
Проблема
Хакеры и злоумышленники часто используют вредоносные запросы, чтобы найти и атаковать слабые места блога. WordPress имеет хорошую защиту по умолчанию, но повышение это возможно.
Решение
Вставьте следующий код в текстовый файл и сохраните его как blockbadqueries.php. Как только вы сделали это, загрузить его в wp-content/plugins
каталог и активировать его, как вы бы любой другой плагин. Теперь ваш блог защищен от вредоносных запросов.
<?php
/*
Plugin Name: Block Bad Queries
Plugin URI: http://perishablepress.com/press/2009/12/22/protect-wordpress-against-malicious-url-requests/
description: >-
Protect WordPress Against Malicious URL Requests
Author URI: http://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;
}
}
}
?>
Объяснение кода
То, что делает этот код, довольно просто. Он проверяет на чрезмерно длинные строки запроса (более 255 символов) и на наличие либо eval
base64
или функций PHP в URI. Если одно из этих условий выполнено, то плагин отправляет ошибку 414 в браузер клиента.
Источник
8. Удалите ваш WordPress Номер версии … Серьезно!
Проблема
Как вы знаете, WordPress автоматически отображает версию, которую вы используете в голове вашего блога файлов. Это довольно безвредно, если ваш блог всегда в курсе последней версии (что, безусловно, то, что вы должны делать в любом случае). Но если по какой-то причине ваш блог не в курсе, WordPress по-прежнему отображает его, и хакеры узнают эту важную часть информации.
Решение
Вставьте следующую строку кода в файл functions.php вашей темы. Сохранить его, обновить свой блог, и вуаля: не более WordPress номер версии в заголовке.
remove_action('wp_head', 'wp_generator');
Объяснение кода
Для выполнения определенных действий WordPress использует механизм под названием «крючки», который позволяет подключить одну функцию к другой. wp_generator
Функция, которая отображает версию WordPress, подключена. Мы можем удалить этот крючок и предотвратить его выполнение с помощью remove_action()
функции.
Источник
9. Изменение значения пользователя по умолчанию «Admin»
Проблема
Грубая сила является одним из самых простых способов взлома паролей. Метод прост: попробуйте как можно больше различных паролей, как это возможно, пока не будет найден правильный. Пользователи метода грубой силы используют словари, которые дают им много комбинаций паролей.
Но знание вашего имени пользователя, безусловно, делает его легче для них, чтобы угадать правильную комбинацию. Вот почему вы всегда должны изменить имя пользователя по умолчанию «админ» на что-то труднее угадать.
Обратите внимание, что WordPress 3.0 позволит вам выбрать желаемое имя пользователя по умолчанию. Таким образом, этот совет по-прежнему usefull, если вы все еще используете старый «админ» счет из старых версий WordPress.
Решение
Если вы еще не изменили имя пользователя «Admin», просто запустите следующий запрос s’L в базу данных, чтобы изменить его навсегда. Не забудьте указать желаемое имя пользователя.
UPDATE wp_users SET user_login = 'Your New Username' WHERE user_login = 'Admin';
Объяснение кода
Имена пользователей хранятся в базе данных. Чтобы изменить один, достаточно простого UPDATE
запроса. Обратите внимание, что этот запрос не будет передавать сообщения, написанные «админ» на новое имя пользователя; источник пост ниже показывает вам, как легко сделать это.
Источник
10. Предотвращение просмотра каталога
Проблема
По умолчанию большинство узлов разрешают перечисление каталога. Таким образом, если вы введете www.yourblog.com/wp-includes
в адресную строку браузера, вы увидите все файлы в этом каталоге. Это, безусловно, риск для безопасности, потому что хакер мог видеть последний раз, когда файлы были изменены и получить к ним доступ.
Решение (Обновлено)
Просто добавьте следующее в конфигурацию Apache или файл .htaccess:
Options -Indexes
Объяснение кода
Пожалуйста, обратите внимание, что это не достаточно, чтобы обновить блог robots.txt файл с Disallow: /wp*
. Это предотвратит индексацию wp-каталога, но не помешает пользователям его увидеть.
Источник
Источник: smashingmagazine.com