WordPress очень серьезно относится к своей команде разработчиков. Патчи безопасности и обновления часто выпускаются, чтобы помочь WordPress идти в ногу со все более сложной онлайновой средой. В рамках этих усилий WordPress запускает ответственную программу раскрытия уязвимостей, поэтому эти проблемы не остаются без внимания.
Помимо усилий команды разработчиков WordPress, отдельные пользователи должны также предпринять шаги, чтобы минимизировать свои риски безопасности — часто называемые «усилением WordPress». Несколько быстрых побед могут защитить ваш веб-сайт WordPress, и мы рассмотрели эти простые в реализации шаги в недавнем посте «Как сохранить WordPress в безопасности: основы».
Помимо основных шагов, существуют также более продвинутые методы обеспечения безопасности, которые можно использовать для дополнительной защиты вашего сайта WordPress, а также важные меры безопасности при управлении веб-сайтом WordPress.
Давайте погрузимся и посмотрим на некоторые из них.
SFTP — подключение к вашему серверу
Во-первых, важно убедиться, что при подключении к вашему веб-серверу вы делаете это с использованием SFTP, который похож на FTP, за исключением того, что ваш пароль и другие данные шифруются при передаче между вами и вашим сервером. FileZilla — отличное приложение для передачи файлов, которое поддерживает несколько протоколов передачи файлов, включая SFTP. Вы можете узнать, как установить и перенести файлы на ваш Linode с помощью FileZilla здесь.
www.linode.com/docs/tools-reference/file-transfer/filezilla/
Предотвращение атак грубой силы
Атаки грубой силой происходят, когда злоумышленник многократно и систематически представляет разные имена пользователей и пароли, чтобы попытаться получить доступ к веб-сайту. Важно отметить, что атаки методом «грубой силы» не свойственны WordPress. Каждое веб-приложение восприимчиво.
Первой защитой от подобных атак является обеспечение безопасности вашего пароля. Конечная цель атаки методом перебора — получить доступ на ваш сайт. Выбор трудно взломанного пароля обсуждался в нашей предыдущей статье по защите WordPress, поэтому мы не будем вдаваться в подробности. Достаточно сказать, убедитесь, что ваш пароль правильный. Также стоит включить двухэтапную аутентификацию в вашем экземпляре WordPress.
wordpress.org/plugins/tags/brute-force/
Затем используйте плагин, чтобы ограничить количество последовательных попыток входа на ваш сайт. Популярный плагин Limit Login Attempts Reloaded, который имеет более 1 миллиона загрузок. Он ограничивает количество попыток входа в систему, которые возможны через обычный вход в систему, а также через страницы XMLRPC, WooCommerce и пользовательские страницы входа.
en-gb.wordpress.org/plugins/limit-login-attempts-reloaded/
Другой вариант — изменить местоположение входа в систему wp-admin. По умолчанию все веб-сайты WordPress имеют свои страницы входа в систему, расположенные по адресу / wp-admin (например,
www.examplesite.com/wp-admin.) Боты, которые проводят атаки методом «грубой силы», часто сразу нацеливаются на эту страницу. Используйте WPS Hide Login, чтобы помочь.
wordpress.org/plugins/wps-hide-login/
Как всегда, перед установкой новых и непроверенных плагинов всегда стоит сделать резервную копию вашего сайта. Хотя большинство популярных плагинов не повредят вашему веб-сайту, всегда есть вероятность несовместимости. Резервное копирование дает вам уверенность в том, что любой ущерб, нанесенный ошибочным плагином, может быть быстро и легко устранен.
Проверка подлинности WordPress Admin HTTP
Вы можете дополнительно заблокировать WP Admin, добавив базовую аутентификацию HTTP. Этот процесс потребует от пользователя ввода имени пользователя и пароля еще до того, как они попадут на страницу входа в WP, что может помочь остановить ботов-ботов на их треках.
Для этого вам нужно создать файл .htpasswd. Попробуйте использовать отличный бесплатный ресурс от Hosting Canada, чтобы сделать это. Вам нужно будет ввести имя пользователя, которое вы хотите использовать, а также пароль, выбрать метод шифрования в раскрывающемся списке и нажать «Создать пароль». Длинная текстовая строка генерируется. Скопируйте и вставьте это в новый текстовый файл. Сохраните этот файл просто как «.htpasswd».
Затем войдите на свой сервер и перейдите в папку WordPress wp-admin. Откройте это и в wp-admin создайте новую папку с именем «htpasswd». Затем загрузите ваш файл .htpasswd, который мы создали ранее, в эту папку. Вы должны передавать свои файлы только в режиме «ASCII», а не в режиме «BINARY».
hostingcanada.org/htpasswd-generator/
Завершающим этапом является создание нового файла, который содержит следующее:
AuthName "Admins Only"
AuthUserFile /home/public_html/wp-admin/htpasswd/.htpasswd
AuthType basic
Require user yourusername
<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any
</Files>
Вам нужно будет обновить местоположение AuthUserFile, указав полный URL-адрес каталога вашего файла .htpasswd, а также имя пользователя rurusername, указав имя пользователя, которое вы использовали для файла .htpasswd. Сохраните этот файл как .htaccess и загрузите этот файл .htaccess в свою папку wp-admin на своем сервере, и на этом все. В следующий раз, когда вы войдете на свой сайт по адресу
www.examplesite.com/wp-admin, вам будет предложено ввести имя пользователя и пароль, прежде чем появится экран входа в WordPress Admin.
Полезный совет: если вы не знаете полный URL-адрес каталога вашего файла .htpasswd, то удобная хитрость — использовать небольшой PHP-скрипт:
<?php
echo "Absolute path: ", getcwd();
?>
Создайте файл, содержащий этот скрипт с именем testpath.php, и загрузите его в файл htpasswd, а затем посетите этот URL (например,
www.example.com/wp-admin/htpasswd/testpath.php), чтобы получить полный путь к файлу. файл passwd.
Защита wp-включает
В вашу установку WordPress включены специальные сценарии, к которым не требуется доступ. Тем не менее, они предлагают хакерам возможный путь на ваш сайт. Из-за этого может быть стоит заблокировать их. Вы можете заблокировать доступ к этим файлам с помощью mod_rewrite в файле .htaccess. Для этого добавьте следующий код в ваш файл .htaccess (обычно расположенный в корне документа на вашем сайте WordPress) за пределами тегов # BEGIN WordPress и # END WordPress; в противном случае WordPress может перезаписать его:
# Block the include-only files.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>
# BEGIN WordPress
Отключить редактирование файлов
Множество аспектов защиты веб-сайта WordPress вращаются вокруг усложнения жизни потенциального хакера. Точно так же грабитель будет искать дом на неосвещенной улице без сигнальной или охранной подсветки, хакер предпочитает ориентироваться на веб-сайт, на котором отсутствуют базовые функции безопасности, а не на тот, где метафорические окна и двери надежно закрыты.
По умолчанию WordPress позволяет администраторам редактировать файлы PHP, такие как темы и плагины, из панели инструментов. Поскольку эта функция позволяет выполнять код, она является очевидной целью для хакера. Для большинства веб-разработчиков изменения в коде выполняются с помощью текстового редактора, такого как Sublime, а не из Dashboard. Имеет смысл «прикрутить» это конкретное окно WordPress и тем самым удалить другую потенциальную точку доступа для хакера.
www.sublimetext.com/
Для этого поместите эту строку кода в файл wp-config.php. Эта строка удаляет возможности 'edit_themes', 'edit_plugins' и 'edit_files' всех пользователей:
define(‘DISALLOW_FILE_EDIT’, true);
Хотя это не помешает хакеру загружать вредоносные файлы на ваш сайт, это поможет остановить некоторые атаки на их пути.
Используйте брандмауэр
Брандмауэр — это отличный способ предотвратить проникновение злоумышленника на ваш сайт WordPress. Есть несколько вариантов:
Плагин брандмауэра
Несколько хороших плагинов брандмауэра работают, ограничивая доступ на уровне сервера Apache до того, как WordPress его обработает. Хорошим примером является All In One WP Security & Firewall или WordFence. Оба будут фильтровать входящие запросы, чтобы гарантировать, что никакой вредоносный трафик не сможет повлиять на вашу установку WordPress.
wordpress.org/plugins/all-in-one-wp-security-and-firewall/
www.wordfence.com/
Посреднические брандмауэры
Плагины, такие как WordFence, фильтруют трафик на уровне сервера. Альтернативный подход заключается в перехвате трафика на пути к вашему серверу перед его проверкой и последующей отправке запроса на ваш сервер с использованием продукта, такого как Cloudflare. Этот подход популярен, потому что все, что вам нужно сделать, это изменить свои записи DNS для отправки трафика через посредника без каких-либо изменений на вашем сервере.
www.cloudflare.com/en-gb/
Следующие шаги
Безопасность WordPress остается популярной темой. Если все это кажется тяжелой работой, то подумайте об использовании управляемого хоста WordPress, такого как Pressidium, который может сделать для вас большую работу. И, наконец, регулярно делайте резервные копии своего сайта, чтобы вы могли спокойно спать по ночам, зная, что вы всегда сможете восстановить свой сайт.
pressidium.com/