Показать Меню
falbar Защищаем WordPress

Защищаем WordPress. Скрываем версию движка от посторонних глаз

Защищаем WordPress

Здравствуйте, читатели Фалбар! Сегодня я продолжу работать над своим WordPress блогам и затрону вопрос его первоначальной защиты, а также удалю лишние мета теги из шапки сайта, которые движок добавляет по умолчанию.

Сперва хочется сказать, что в этой серии статей я ничего нового не открою, и всё мною написанное можно найти в интернете или на официальном сайте WordPress. Их суть заключается в том, чтобы документально запечатлеть весь процесс изменения блога в процессе его существования на просторах сети. Вот, решил внести некоторую ясность, так как некоторые люди пишут: «зачем?» или «можно сделать быстрее». Да, можно! Но тогда просто пропустите эти статьи, если считаете, что информация в них Вам ни к чему. К примеру, я не раз сталкивался с ситуацией, когда спрашивают банальные вещи, и, конечно, всех отправлять читать официальную документацию будет не правильно, так как каждый человек находится на своем уровне понимания задачи, стоящей перед ним.

Итак, вернемся к статье, и сразу скажу, что защита WordPress - это одна из популярнейших тем в интернете, где можно найти массу статей и заметок по её реализации. С каждым обновлением WordPress, закрываются старые уязвимости и появляются новые, увы, это неизбежно. Так как движок очень распространён, нахождение новых дыр дело времени, и поэтому после установки и первоначальной настройки необходимо скрыть версию движка. Для этого я предлагаю удалить два файла в корне сайта: readme.html и license.txt.

Файл readme и license

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

Популярный блог readme

Популярный блог license

При обновлении WordPress эти два файла заново записывается - про это не стоит забывать!

Пару строк выше я упомянул про мета тег, который может также сообщить версию WordPress:

Мета тег сообщает версию WordPress

Убираю и его из когда, делается это путем добавления одной строки в файл functions.php, который находится в папке с темой:

remove_action("wp_head", "wp_generator");

Если Вы не читали предыдущие статьи по тегу блог на WordPress, то я повторюсь, что использую для старта стандартную тему Twenty Fifteen, поэтому необходимо удалить и ссылку, ведущие на официальный сайт WordPress:

Ссылка в подвале сайта

Находится она в файле footer.php:

Файле footer

С явными следами покончено, теперь можно переключиться на один очень интересный файл xmlrpc.php. В нём реализован стандартный механизм XML-RPC движка, который в будущем может доставить немало проблем. В частности, он используется для пингбэков. Вот простой пример его использования: при добавлении ссылки в публикации на сайте WordPress, через него будет сообщаться сайту автора об этом (к слову, в предыдущей статье я отключал эту функцию на странице настроек обсуждений). Его также могут использовать для спама или реализации DDoS атак – вот старая статья DDoS с участием WordPress-сайтов, где можно почитать об одном из таких случаев. Поэтому вторым делом необходимо его отключить, делается это в том же файле, где я удалял мета тег, добавлением следующей строки:

add_filter("xmlrpc_enabled", "__return_false");

А .htaccess запретить доступ к самому файлу:

<Files "xmlrpc.php">
order allow,deny
deny from all
</Files>

Теперь я предлагаю вернуться обратно в functions.php и удалить несколько мусорных ссылок и мета тегов в шапке сайта:

remove_action("wp_head", "rsd_link");
remove_action("wp_head", "wlwmanifest_link");

rsd_link и wlwmanifest_link – используются различными блог-клиентами.

remove_action("wp_head", "feed_links_extra", 3);
remove_action("wp_head", "feed_links", 2);

feed_links_extra и feed_links – добавляет ссылки на стандартные RSS ленты блога.

remove_action("wp_head", "rest_output_link_wp_head");
remove_action("wp_head", "wp_oembed_add_discovery_links");
remove_action("template_redirect", "rest_output_link_header", 11, 0);

При помощи этих трех строк мы отключаем WordPress REST API, и осталось ещё две ссылки, которые тоже можно удалить на данном этапе. Они находятся в файле header.php:

WordPress REST API

В завершении этой статьи я предлагаю установить первый плагин, который решит одну из проблем, появлением страниц с картинками или загруженными файлами. От них особого толку нет, но они могут использоваться как место для спама. Плагин называется Attachment Pages Redirect, вбиваем в поиск по плагинам и устанавливаем его:

Плагин Attachment Pages Redirect

Активируем Attachment Pages Redirect

У Attachment Pages Redirect нет никаких настроек, и основная его задача – перенаправить пользователя при попытке зайти на страницу файла. Если картинка будет прикреплена к статье, то редирект происходит именно на эту статью. В противном случае - на главную страницу блога.

Подписаться на обновления

Комментариев еще не оставлено