Ещё 10 уловок для защиты wordpress’a

Содержание

Шаг 11 – Использование .htaccess для улучшения защиты WordPress

.htaccess это файл необходимый для корректной работы ссылок WordPress. Без правильных записей в файле .htaccess, вы будете получать много ошибок 404.


Не так много пользователей знают, что .htaccess может быть использован для улучшения защиты WordPress. К примеру, вы можете блокировать доступ или отключать выполнение PHP в определенных папках. Внизу приведены примеры того, как вы можете использовать .htaccess для улучшения безопасности сайта на WordPress.

ВАЖНО! Перед тем, как вы произведете изменения в файле, сделайте резервное копирование старого файла .htaccess. Для этого вы можете использовать FTP клиент или Файловый менеджер

Запрет доступа к административной части WordPress

Код ниже позволит вам получать доступ к административной части WordPress только с определенных IP.

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
allow from xx.xx.xx.xxx
allow from xx.xx.xx.xxx
</LIMIT>

Заметьте, что вам нужно изменить XX.XX.XX.XXX на ваш IP адрес. Вы можете использовать этот сайт для проверки вашего нынешнего IP. Если вы используете больше чем одно подключение для управления сайтом на WordPress, то удостоверьтесь, что написали другие IP адреса (добавляйте столько адресов, сколько вам понадобится). Не рекомендуется использовать этот код, если у вас динамический IP адрес.

Отключение выполнения PHP в определенных папках

Хакеры любят загружать бэкдор скрипты в папку загрузок WordPress. По умолчанию эта папка используется только для хранения медиафайлов. Следовательно, не должна содержать каких-либо PHP файлов. Вы можете легко отключить выполнение PHP, создав новый файл .htaccess в /wp-content/uploads/ с такими правилами:

<Files *.php>
deny from all
</Files>

Защита файла wp-config.php

Файл wp-config.php содержит ядро настроек WordPress и детали базы данных MySQL. Следовательно, это самый важный файл в WordPress. Поэтому он чаще всего становится главной целью WordPress хакеров. Однако вы можете легко обезопасить его используя следующие правила в .htaccess:

<files wp-config.php>
order allow,deny
deny from all
</files>

Защита текста от копирования без плагина

Реализацию подобных функций плагина WP-CopyProtect можно сделать и без плагина. Хотя, я настоятельно рекомендую делать такие настройки именно с плагином, так как это позволяет быстро отключать их при надобности и управлять с данными параметрами более мобильно. Не придется каждый раз лезть в редактирование фалов шаблона и перекачивать их по новой на хостинг.

Итак, первым и самым простым способом является добавления атрибута «oncopy» внутри файла шаблона в открывающем теге body. Вот полностью атрибут в конструкции тега body:

<body oncopy="return false;">

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

Работа данного атрибута вполне приемлема. Текст будет пригоден для выделения и контекстное меню работает. Вот только при попытке копирование выделенного текста он не будет попадать в буфер. Это, пожалуй, самый простой и самый легкий вариант, который не будет сильно раздражать посетителей.

Точно также можно блокировать контекстное меню при клике на ПКМ. Только нужно добавить другой атрибут, а именно «oncontextmenu». На практике это выглядит так:

<body oncontextmenu="return false;">

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

html {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}

Имеется еще более жесткий метод, как защитить текст от копирования, но он сильно не понравится вашим посетителям, если имеется необходимость что-то скопировать, например те же рецепты или всякие коды.

Способ позволяет убрать выделение текста и убрать из контекстного меню пункты «вырезать» и «скопировать».

Имеется 2 части кода, которые стоит разместить в файлах шаблона. Код работает на Javascript. Поэтому, если у пользователя отключен javascript в браузере, для него фишка не сработает.

Первую часть мы размещаем в области head сайта между открывающим и закрывающим тегами <head></head>. Хотя, можно разместить и перед закрывающим тегом body в файле footer.php, если он там будет работать. Честно скажу, я не проверял. Но приоритет именно второму варианту, так как это загружает скрипт в последнюю очередь и скорость загрузки сайта становится быстрее.

<script type="text/javascript">
function disableSelection(target){
if (typeof target.onselectstart!="undefined")
target.onselectstart=function(){return false}
else if (typeof target.style.MozUserSelect!="undefined")
target.style.MozUserSelect="none"
else
target.onmousedown=function(){return false}
target.style.cursor = "default"
}
</script>

Вторую часть кода мы копируем уже точно в файл подвала footer.php перед следующим php кодом.

<?php wp_footer(); ?>

Именно данный код выводит подвал и перед ним копируем 2ю часть кода.

<script type="text/javascript">
disableSelection(document.body)
</script>

Теперь скопировать текст в ручном режиме смогут только те, у кого отключен javascript в браузере или те, кто додумаются его отключить.

Шаг 2 – Использование нестандартных учетных данных для входа

Вы используете admin, как имя администратора в WordPress? Если ваш ответ да, то вы серьезно снижаете защиту WordPress и упрощаете процесс взлома хакерами вашей панели управления. Строго рекомендуется изменить имя пользователя администратора на что-нибудь другое (посмотрите это руководство, если вы не уверены, как это сделать) или создайте новую учетную запись администратора с другими данными. Следуйте этим шагам, если вы предпочитаете второй вариант:

  1. Войдите в панель управления WordPress
  2. Найдите раздел Пользователи и нажмите кнопку Добавить нового.
  3. Создайте нового пользователя и назначьте ему права Администратора
  4. Перезайдите в WordPress с вашими новыми данными.
  5. Вернитесь в раздел Пользователи и удалите стандартную учетную запись Admin.

Хороший пароль играет ключевую роль в безопасности WordPress. Гораздо сложнее взломать пароль состоящий из цифр, букв нижнего и верхнего регистра и специальных знаков. Такие инструменты, как LastPass и 1Password могут помочь в создании и управлении сложными паролями. Кроме того, если вам когда-либо понадобится войти в свою панель управления WordPress при подключении к незащищенной сети (например, в кофейнях, публичных библиотеках и т. д.), не забудьте использовать безопасный VPN, который защитит вашу регистрационную информацию.

Почему у меня появилась необходимость установить защиту на сайты

Осторожно плагин!

Когда блог успешно развивается, у вебмастера рано или поздно встает вопрос о защите сайта от взлома и вирусов. Наше обучение 5 лет назад в школе стартаповцев коснулось и этого вопроса. Еще тогда я  установила на свой сайт все рекомендованные нашими учителями по защите сайта плагины. Но это не спасло меня от одной ситуации, которая случилась в первые годы ведения блога. Как-то я решила  установить один плагин для WordPressа, который назывался «Одна кнопка». Этот плагин, разработанный Антохиным, служит для удобства работы вебмастера на сайте, он дает возможность размещать посты во все социальные закладки. Почитала где-то информацию, что это очень удобная вещь для блога, поэтому, не долго думая, скачала плагин и активировала его. Настроек при этом никаких не требовалось, кнопка сразу же появляется на сайте и начинает свою работу. Тогда я и предположить не могла какие пагубные последствия этот плагин «Одна кнопка» мне принесет.

Мысль о том, что чья-то рука смогла проникнуть в админку моего сайта и вписать в него вредоносный код, привела меня в ужас. В первую очередь я написала в Яндекс, попросив их разъяснить, в связи с чем на моем сайте появилась такая метка. Но поскольку от службы поддержки Яндекса можно ждать ответа достаточно долго, то я решила обратиться с специалисту по безопасности, чтобы он проверил мой блог на предмет возможного заражения сайта вирусами.

Сразу хочу заметить, что подобные услуги стоят недешево. Найти и затем убрать вредоносный скрипт или код мне предложили за 6000 рублей. Так же было предложено для дальнейшей уверенности в безопасности сайта его обслуживание за 1000 рублей в месяц на защищенном хостинге. Да, друзья, вот такие нехилые расценки, а было это в 2013 году, сейчас наверно  эти услуги еще больше стоят.

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

Ответ от службы поддержки Яндекса в этот раз на удивление пришел быстро, до того, как я успела оплатить услуги специалисту по безопасности. Из него я узнала, что причиной распространения вредоносного вируса на моем сайте является, что бы вы думали? Не вредоносный код, прописанный взломавшим сайт злоумышленником, как я предполагала, а плагин, который я недавно поставила! Они мне так ответили:

Прочитав письмо я скорее убрала этот злосчастный плагин, сообщила об этом в Яндекс и, спустя неделю, красная метка была убрана с моего блога. Оказывается, друзья, вместе с этим плагином загружаются редиректы на партнерские сайты типа aliexpress и т.д. Вот так, набивая шишки на голове, набираешься опыта, по нелегкой для меня технической стороне ведения блога.

Плагин Wordfence Security

Плагин Wordfence один из самых популярных плагинов для защиты wordpress. У него более миллиона установок, и более двух тысяч положительных отзывов.

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

Другие возможности Wordfence, на которые стоит взглянуть.

  • Web Application Firewall — определяет подозрительный трафик и блокирует известные атаки, поддерживает и обновляет базу угроз
  • Защита от Bruetforce атак — блокирует пользователей после большого количества неудачных попыток входа, за слишком частую попытку восстановить пароль, или, опционально, использующих неверное имя пользователя. Также предотвращает выдачу информации о зарегистрированных в системе пользователях.
  • Продвинутые возможности ручного блокирования — блокирует диапазоны IP адресов, конкретные веб-браузеры, ссылающиеся сайты или комбинации перечисленного

Отличие премиум версии от бесплатной

В двух словах:

  • Защита от угроз в реальном времени — база угроз и правила файервола находятся в постоянно обновленном состоянии. В бесплатной версии они приходят где-то через месяц.
  • Блокирование по странам — блокирует географические регионы с большим количеством неудачных логинов, ошибок 404 и другой подозрительной активностью
  • Двухфакторная аутентификация с помощью мобильного телефона
  • Дополнительные настройки для защиты от спама, удаленное сканирование, аудит паролей…

Бесплатная версия является самодостаточной для большинства блогеров и владельцев небольших сайтов.

Как создать блог

Прежде чем выбрать тему, вы должны знать, как создать блог. Во-первых, вам нужно выбрать платформу — программное обеспечение, которое вы будете использовать для создания своего блога. Сегодня вы можете найти множество вариантов, включая Zyro, Weebly, Squarespace и WordPress.

Обратите внимание, что некоторые платформы самостоятельные, а другие — нет. Самостоятельные платформы хранят ваш блог и его базу данных на своём сервере

Другие требуют, чтобы у вас был хостинг. Чтобы обеспечить эффективность вашего блога, вы должны использовать надёжный хостинг (англ).

Выбрав хостинг, вам нужно установить на нём свою платформу для блогов. Многие провайдеры услуг хостинга предлагают простые инструменты установки для популярных платформ, таких как WordPress.

После этого вам необходимо получить доменное имя, или адрес для вашего блога. Не забудьте найти уникальное имя, которое имеет отношение к вашей нише. Попробуйте найти альтернативы, если ваш основной выбор не доступен.


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

Не давайте другим участникам права, превышающие их обязанности

Давайте скажем прямо. Никто не относится с такой ответственностью к безопасности вашего сайта, как вы.Если вы предоставляете ваши аккаунты или администраторские роли человеку, даже которому вы доверяете, то вы значительно ставите под удар безопасную работу вашего сайта. Я не говорю о том, что человек, которому вы предоставили повышенные права, с радостью взломает ваш сайт, но он может этому способствовать без всякого умысла. Подумайте о том, что его компьютер может быть не так защищен, как ваш (например, не установлен рабочий антивирус), и все ваши проделанные усилия по защите сайта летят в тар-тара-ры.

Ограничивайте роли, которые вы предоставляете людям. Если вы хотите, чтобы человек просто опубликовал статью, для этого вовсе не нужен администраторский аккаунт.Но бывают случаи, когда вам действительно нужно предоставить полные права. Например, вы попросили фрилансера изменить код на сайте.В этом случае, сразу после завершения работы, сгенерируйте новый сильный пароль, а также создайте новый секретный ключ для WordPress, чтобы полностью почистить рабочие cookie.

Плагины для безопасности WordPress

2. Login LockDown

Max Login Retries – количество попыток для авторизации

Retry Time Period Restriction (minutes) – время, через которое будет заблокирован человек, который несколько раз подряд не смог авторизоваться.

Lockout Length (minutes) – время, на которое блокируется человек.

Mask Login Errors? – спрятать сообщения о неправильном вводе логина или пароля.

Currently Locked Out – список, в котором показываются IP, с которых были сделаны неудачные авторизации и их время.

3. WP Security Scan

Таблицы в Базе Данных WordPress по умолчанию при установке имеют префикс «wp_», это есть не очень хорошо, для устранения этой проблемы нужно переименовать этот префикс на более сложный. Чтобы не влезать в БД и все править руками, можно воспользоваться WP Security Scan, он сам переименует во всех таблицах префикс на новый. Вам нужно только на вкладке «Database» вписать, какой именно префикс Вы хотите.

После сканирования сайта и устранения всех лазеек, плагин WP Security Scan можно деактивировать и удалить.

4. Stealth Login

Stealth Login – с помощью этого плагин можно спрятать страницу авторизации от плохих людей. Например, вместо стандартной страницы авторизации «ваш-сайт.ru/login.php» можно поставить вот такой адрес «ваш-сайт.ru/admin» или какой-то другой. Это уже зависит от ваших нужд и фантазии.

5. Anti-XSS attack

Anti-XSS attack – уже с названия плагина можно понять для чего он. Плагин предназначен для отбивания XSS атак на WordPress. Подробнее про то, как работает плагин можно прочитать на странице автора плагина (на русском). Anti-XSS attack не имеет никаких настроек, просто активируйте плагин и все, защита от XSS атак будет автоматически включена.

Раздел 1: Защита сайта WordPress с помощью защиты страницы входа и предотвращения брутфорс атак

Всем известен стандартный URL страницы входа в WordPress. Отсюда можно получить доступ к бэкэнду веб-сайта, и именно по этой причине его пытаются взломать чаще всего. Просто добавьте /wp-login.php или /wp-admin / в конце доменного имени, и вы уже знаете адрес админки сайта.

Мы рекомендуем изменить адрес страницы входа в админпенель WordPress, и способ аутентификации. Это то, что стоит сделать при первоначальной настройке сайта.

Рассмотрим несколько советов по защите страницы входа в систему WordPress:

1. Блокирование массовых запросов авторизации и бан ботов

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

Плагин iThemes Security является одним из лучших плагинов, которые помогут вам настроить параметры безопасности на вашем сайте. В том числе в настройках плагина можно указать определенное количество неудачных попыток входа в систему до того, как плагин заблокирует IP-адрес злоумышленника.

2. Использование двухфакторной аутентификации

Еще одна хорошая мера безопасности — подключение 2-факторного модуля проверки подлинности (2FA) на страницу входа в административную панель сайта. В этом случае для того, чтобы войти, вам нужно использовать два типа данных. Владелец веб-сайта может выбрать, какие это будут компоненты. Это может быть обычный пароль, за которым следует секретный вопрос, секретный код, набор символов или более популярное приложение Google Authenticator, которое отправляет секретный код на ваш телефон. Таким образом, только человек с вашим телефоном (вы) может войти на ваш сайт.

Плагин Google Authenticator поможет вам настроить двухфакторную аутентификацию на WordPress всего за несколько кликов.

4. Измените URL-адрес страницы авторизации на сайте WordPress

Изменение URL-адреса входа — один из самых простых способов защитить сайт от взлома подбором пароля. По умолчанию доступ к странице входа в WordPress можно легко получить через ил добавив  к основному URL-адресу сайта.

Когда хакеры знают прямой URL-адрес вашей страницы входа в систему, они будут пытаться выполнить перебор логина и пароля с целью попасть в админку. Чаще всего это делается с помощью GWDb (Guess Work Database, т.е. базы данных предполагаемых имен пользователей и паролей, например, имя пользователя и пароль:  … с миллионами таких комбинаций).


На этом этапе мы уже ограничили попытки входа пользователя в систему и заменили имена пользователей на электронную почту. Теперь мы можем заменить URL-адрес страницы входа и избавиться от 99% атак методом подбора пароля.

Этот небольшой трюк ограничивает доступ неавторизованных пользователей к странице входа. Это может сделать только кто-то, кому вы сообщили адрес страницы входа. Опять же, плагин iThemes Security может помочь вам изменить URL-адреса входа. Вот так:

  • Смените адрес  на уникальное имя, например
  • Смените адрес  на другой, например
  • Смените адрес на другой, например

5. Используйте сложные пароли

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

LastPass — один из самых простых способов управлять вашими  паролями. Он не только генерирует безопасные пароли, но также сохраняет их в расширении для браузера, что избавит вас от необходимости запоминать их.

6. Автоматический выход из аккаунта для неактивных пользователей

Залогиненные пользователи, оставляющие ваш сайт открытым, могут представлять серьезную угрозу безопасности. Любой посторонний может этим воспользоваться и нанести вред вашему сайту, зайдя в административную панель. Этого можно избежать, настроив автоматический выход из аккаунта после некоторого периода бездействия пользователя.

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

Итоговое сравнение плагинов

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

Моя общая оценка исходит из функционала и удобства использования следующих модулей:

  • Защита входа;
  • Firewall;

  • Отслеживание изменений/аудит;

  • Блокировка хостов;

По результатам обзора на звание лучшего плагина для защиты WordPress безусловно вырывается вперед Wordfence. Хотя его интерфейс может показаться запутанным на первый взгляд. На официальном сайте есть хорошая документация (на английском).

Очень порадовал в обзоре Shield Security, русифицированный и четкий интерфейс, очевидно направленный на пользователей менее подготовленных или не желающих вникать во все тонкости настроек безопасности.

Из двух оставшихся плагинов я бы отдал предпочтение несомненно iThemes Security, хотя бы за более логичный и чистый интерфейс.

All in One WP Security не могу назвать плохим плагином, он выполняет свою задачу. Но лидером в этой четверке он тоже не является. Здесь как раз показатель того, что плагины с наращиваемым премиум функционалом стараются в большей степени идти с требованиями рынка, и это конечно сказывается на бесплатных версиях.

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

Если делать по уму, то к безопасности и её настройкам следует подходить индивидуально в зависимости от назначения сайта, технической реализации и условий его работы.


С этим читают