AdSense-web

17 января 2014

Основы безопасности сайта на WordPress

Как поставить пароль на страницу входа в панель управления WordPress? Начать защищать сайт на WordPress от взлома можно сразу после установки этой системы. Первое, что бросается в глаза, это не защищенная страница входа в панель управления WordPress. Что бы предотвратить возможные попытки взлома элементарным подбором пары логин + пароль, нужно запретить доступ к странице входа в админпанель не авторизованным пользователям, поставив пароль на папке "wp-admin". Делается это с помощью файлов ".htaccess" и ".htpasswds".

Большинство хостингов поддерживают функцию установки пароля на нужную директорию, автоматически создавая там вышеуказанные файлы. Такую опцию можно найти в вашей панели управления хостингом, например, cPanel.

Аутентификация по ip-адресу
Теперь, когда в папке "wp-admin" есть файл ".htaccess", можно еще больше усилить защищенность административной панели WordPress, дописав в нем код, запрещающий доступ со всех ip-адресов, кроме указанного:

order deny, allow
deny from all
allow from 127.0.0.1

Если у вас динамический ip-адрес, можно разрешить доступ с ip-диапазона подсети, прописав "127.0.".

Ключи безопасности WordPress (Security Keys)
Как именно данные ключи обеспечивают безопасность сайта, на тематических сайтах найти трудно, поэтому пока остановимся на том, что ключи безопасности WordPress представляет собой набор случайных переменных, которые улучшают шифрование информации, хранящейся в cookie пользователя. Пароли, зашифрованные с помощью таких ключей гораздо трудней взломать.

Внедрить их в файл wp-config.php не составит труда. Решив, что хуже точно не будет, как может быть, допустим с плагинами безопасности, я установил ключи. Разные интернет-источники предоставляют две ссылки на сервис автоматической генерации ключей WordPress:
Сервис онлайн-генерации ключей также доступен по защищенному протоколу:
По первой ссылке генерируется 4 ключа, по второй добавляется еще 4. В самом файле wp-config.php написано: "Смените значение каждой константы на уникальную фразу. Можно сгенерировать их с помощью сервиса ключей на WordPress. Можно изменить их, чтобы сделать существующие файлы cookies недействительными. Пользователям потребуется снова авторизоваться."

Изначально, по крайней мере, до инсталляции, в файле wp-config-sample.php, WordPress не содержит ключи и соли для аутентификации:

define('AUTH_KEY',                   'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',       'put your unique phrase here');
define('NONCE_KEY',               'put your unique phrase here');
define('AUTH_SALT',                 'put your unique phrase here');
define('SECURE_AUTH_SALT','put your unique phrase here');
define('LOGGED_IN_SALT',      'put your unique phrase here');
define('NONCE_SALT',              'put your unique phrase here').

После установки WordPress на хостинг, в файле конфигурации wp-config.php, у меня автоматически появились вместо фраз 'put your unique phrase here' наборы символов. Предполагаю, что в процессе инсталляции, система сама устанавливает уникальные ключи и соли. Тем не менее, на всякий случай, я заменил ключи на вновь сгенерированные.

Файл конфигурации wp-config.php
Данный файл содержит не только секретные ключи шифрования, конфигурацию системы, но и такие конфиденциальные параметры настройки базы данных MySQL, как префикс таблиц, имя пользователя, пароль к базе данных и сервер базы данных MySQL. Поэтому, есть рекомендации переместить файл wp-config.php на уровень выше корневого каталога сайта, например, рядом с папкой "public_html". Читал, что WordPress может искать файл конфигурации за пределами каталога сайта только на один уровень выше, но если ваш сайт находится сразу после "public_html", этого вполне достаточно.

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


Комментариев нет:

Отправить комментарий