Актуальные методы защиты WordPress-сайтов

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

Ввиду того, что моей любимой CMS является WordPress, пусть это и будет моей стартовой точкой.

image

Защита WordPress — просто и со вкусом


Уровень сложности: Новичок

Сразу хочу обратиться к профи: если у вас не так много времени, даже не читайте! Для себя вы вряд ли найдете что-то новое. Инструкция годится в первую очередь для новичков.

  1. Не заби(ы)вайте обновлять сам движок и его плагины.
  2. Отключаем xmlrpc.php. Как показывает практика, это одна из самых ненужных функций, при этом активно использующаяся при атаке на сайт. В файле функции темы functions.php вставляем фрагмент:

    add_filter('xmlrpc_enabled', '__return_false');
    

    После отключения функции заходим в файл header.php вашей темы и просто удаляем код вызова функции. Выглядит примерно так:

    <link rel=»pingback» href=»http://сайт/xmlrpc.php»>
    

    Это еще не все. Дабы снизить нагрузку на ваш сервер (хостинг), стоит еще запретить доступ к этому файлу. А иначе глупые боты так и будут «долбить» данный файл. В .htaccess (в корне сайта) вставляем:

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

  3. По умолчанию, WordPress выводит версию движка в исходном коде страницы. Посторонним незачем знать такую информацию. В functions.php вашей темы вставляем:

    remove_action('wp_head', 'wp_generator');
    
  4. Ограничиваем доступ к админке на уровне сервера. А именно, устанавливаем дополнительную авторизация. В файл .htaccess (в корне сайта) вставляем фрагмент:

    <Files wp-login.php> 
    AuthType Basic 
    AuthName "Private zone. Only for administrator!" 
    AuthUserFile  /home/p259227/www/сайт.ру/.htpasswd
    require valid-user 
    </Files>
    SecRuleEngine Off
    

    Мы установили дополнительный пароль для открытия страницы wp-login.php — формы авторизации. Осталось создать и разместить файл .htpasswd, где будет содержаться ваш пароль и логин. Обратите внимание, логин и пароль должен отличаться от того, который вы используете для доступа к сайту. Для генерации этого файла воспользуемся удобным сервисом htpasswd-generator:

    image

    На выходе получаем готовую строчку, которую нужно вставить в .htpasswd.

    Теперь при попытке входа в админку сайта вам нужно будет пройти дополнительную авторизацию:

    image
  5. Комментарии — это еще одна лазейка для атаки. Кто-то ставит капчу, но это крайне неудобно и неуважительно по отношению к вашим пользователям. Куда проще установить NoSpamNX, который будет блокировать только ботов по довольно хитрому методу.


Итоги


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

Спасибо что дочитали. С радостью выслушаю ваши замечания по поводу оформления поста или методов защиты.
Tags:
сайт, wordpress, защита, безопасность

You can't comment this post because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author's username will be hidden by an alias.