Ломаем и защищаем WordPress своими руками. Безопасность WordPress — советы и рекомендации Настройка безопасности wordpress после установки

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

Начнём с самого явного и простого.

Слабый пароль

Самой распространённой причиной взлома, является использование слабого пароля. Это относится не только к сайтам на WordPress, но и к почтовым аккаунтам, Twitter и Facebook профилям и прочее. Речь идёт о паролях вида 123456, «qwerty» и т.д.

При создании или смены пароля в WordPress, есть индикатор надёжности, который поможет выбрать вам более надёжный пароль:

  • Не используйте словарные слова
  • Не используйте один и тот же пароль дважды
  • Используйте буквы нижнего и верхнего регистра
  • Используйте буквы в перемешку с цифрами
  • Добавьте символы

Так же стоит серьёзно отнестись к привилегиям ваших пользователей. Если вам нужно добавить пользователя на ваш сайт, который будет писать новые статьи, то не рекомендуется давать этому пользователю права редактора, и уж тем более права администратора.

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

Логин пользователя так же играет немаловажную роль, так что избегайте использование «admin» или «administrator» в качестве имени пользователя администратора, в этом случае злоумышленнику будет сложнее подобрать комбинацию.

Перебор или «брутфорс» пароля

Брутфорс (bruteforce) — это полный перебор всевозможных комбинаций. Подобрать можно пароль любой сложности — вопрос всего лишь во времени, и чем сложнее пароль, тем дольше займёт его полный переобор. Для защиты от перебора рекомендуется время от времени менять пароль.

Средства защиты админ-панели

Существует множество способов защитить панель администратора WordPress от злоумышленников. Самые эффективные и распространённые методы:

  • Блокировка директории wp-admin по IP-адресу
  • Серверная
  • Плагин — ограничивает количество неверных попыток при входе
  • Плагин Google Authenticator — дополнительный фактор аутентификации с помощью мобильного приложения
  • Плагин Captcha для входа в административную часть сайта

Уязвимый плагин WordPress

На сегодняшний день, в директории WordPress.org насчитывается почти 25,000 различных плагинов. Среди них есть и уязвимые плагины, которые могут обеспечить злоумышленнику полный доступ к вашему сайту. Заранее знать безопасен ли тот или иной плагин невозможно, а проверка на уязвимость может занять от нескольких часов, до нескольких недель.

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

Если вы обнаружили уязвимость в том или ином плагине, то первым делом стоит обратиться лично к разработчику, по электронной почте, через Skype и т.д. Если разработчик плагина не откликнулся, то стоит сообщить об этом по адресу [email protected], чтобы плагин исключили из директории WordPress.org.

Уязвимая тема для WordPress

В отличии от плагинов, все темы перед публикацией в директории WordPress.org проходят тщательную проверку, поэтому вероятность обнаружить уязвимую тему в директории небольшая. Если все же вы обнаружили небезопасную тему, то в первую очередь обратитесь к разработчику темы, а затем по адресу [email protected] для снятия её из директории.

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

Устаревшая версия плагина или темы

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

Это относится больше к крупным и популярным продуктам, как недавний пример с известным плагином кэширования W3 Total Cache , который при определённой конфигурации обеспечивал злоумышленнику полный доступ к базе данных сайта ( на англ.). Спустя несколько дней, было выпущено обновление к плагину.

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

Устаревшая версия WordPress

В самом ядре WordPress тоже иногда встречаются уязвимости, поэтому работать со старой версией небезопасно. Так же как и с темами и плагинами, стоит в день выхода обновления, особенно если речь идёт о «техническом релизе».

Если вы обнаружили уязвимость в WordPress, то обязательно напишите на [email protected] подробное описание проблемы, но не распространяйте информацию публично.

Неправильная конфигурация хостинга

Хосинг-провайдер играет огромную роль в защите вашего сайта, особенно когда речь идёт о компонентах, над которыми вы не имеете никакого контроля, например устаревшая и уязвимая версия PHP, или уязвимый модуль для веб-сервера Apache. Чаще всего это случается с дешёвыми хостинг-провайдерами, у которых «всё включено и безлимитно» за 5 копеек в год. Помните: стоит денег!

Что делать если сайт взломали

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

  • Изменить все пароли доступа к хостинг-площадке, включая пароль к базе данных
  • Установить WordPress с нуля, скачав самую свежую версию
  • Изменить все секретные ключи в wp-config.php
  • Экспортировать всю старую базу данных и тщательно её почистить
  • Изменить в экспорте все пароли для всех пользователей
  • Импортировать содержимое в новый установленный WordPress
  • Просмотреть директорию загрузок на лишние файлы
  • Импортировать директорию загрузок
  • Тщательно просмотреть каждый плагин и установить самые свежие версии из директории WordPress.org
  • Тщательно просмотреть используемую тему и установить самую свежую версию

Средства подобные Google Webmaster Tools и Exploit Scanner так же помогут найти и устранить признаки взлома вашего сайта. После восстановления работоспособности, следует попытаться понять, как именно злоумышленник пробрался на ваш сайт. С этим вам чаще всего поможет хороший хостинг-провайдер, предоставив журнал доступа.

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

  • Не забывайте о полном резервном копировании
  • По возможности для административной панели
  • Используйте защищённые SFTP или SSH вместо FTP для работы с хостингом
  • Удаляйте темы и плагины, которыми не пользуетесь
  • Используйте префикс отличный от стандартного для базы данных
  • Запретите редактирование файлов через wp-config.php
  • Запретите исполнение.php файлов в директории wp-content

Сторонние платные сервисы подобные Sucuri и VaultPress так же помогут защитить сайт на WordPress от злоумышленников.

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

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

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

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

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

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

В прочем, я сильно увлёкся 🙂 И не представил вам тему сегодняшней статьи, которая является очень популярной сегодня и серьёзной – это безопасность WordPress сайтов.

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

Многим описанные меры могут показаться очевидными и банальными, но уверяю вас… Именно поэтому большая часть пользователей не считают их чем-то серьёзным и зачастую ими пренебрегают 🙂

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

Также я поделюсь своим опытом защиты ВордПресс сайтов, который у меня уже успел накопиться.

Однако – обо всём по порядку.

Поехали! 🙂

Что нужно знать о безопасности WordPress?

WordPress – это бесплатная OpenSource сайта. Предоставляется она абсолютно бесплатно всем желающим, что резко повышает к ней интерес со стороны разработчиков.

Каждый владелец копии ВордПресс может использовать её по своему усмотрению: модифицировать, распространять и создавать на её базе свои проекты.

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

Интересная информация о WordPress:

  • 35-40 % сайтов, запущенных в доменной зоне RU в 2016 году, работают на Вордпресс;
  • на текущий момент на CMS WordPress в Рунете работает более 500 000 различных сайтов;
  • всего в мире на движке Вордпресс запущено более 18 000 000 сайтов (на начало 2016 года), для сравнения годом ранее цифра была всего 16 000 000, а в 2012 году – лишь 6 000 000 сайтов;
  • в официальном каталоге плагинов доступно около 30 000 бесплатных плагинов для CMS;
  • в качестве разработчиков WordPress зарегистрировано в 2012 году более 100 000 специалистов;
  • лишь 20 % пользователей устанавливают плагины для защиты WordPress.

Как видите, с одной стороны система активно развивается, миллионы пользователей ее используют, но лишь 1/5 вебмастеров беспокоятся о безопасности Вордпресс сайтов, которые им принадлежат.

Зачем кому-то ломать защиту WordPress?

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

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

Время от времени в сети мелькает информация о таких массовых атаках на WordPress сайты.

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

При автоматическом взломе WordPress сайтов злоумышленники могут руководствоваться следующими мотивами:

  • кража сайта – полное копирование ресурса и перенос его на новый домен с целью присвоения результатов труда разработчика, монетизации ресурса и так далее;
  • получение ссылок с ресурса для составления сетки сателлитов, улучшения ссылочного профиля;
  • шантаж;
  • получение личных данных пользователей или иной полезной коммерческой информации;
  • получение прибыли путем подмены информации на сайте (замена номеров карт, платежной информации);
  • использование сайта для инфицирования пользователей ресурса путем рассылки писем или программ с вирусами;
  • перенаправление вашего трафика на свои ресурсы (редирект);
  • использование системных ресурсов для хранения своих данных, более эффективного взлома других ресурсов.

При ручном взломе сайтов помимо перечисленных причин хакеры руководствуются ещё и личными мотивами, среди которых могут присутствовать следующие:

  • месть;
  • зависть;
  • устранение прямого конкурента;
  • взлом WordPress сайта на заказ.

Это лишь малая часть из возможных мотивов злоумышленников, среди которых есть как коммерческие мотивы, так и человеческие качества.

Именно поэтому настройки безопасности WordPress – это обязательный этап разработки любого сайта. Если им пренебречь, рано или поздно вы станете жертвой атаки.

Как обходят WP защиту?

  • 40% – взломы хостинга. Владелец сайта мало может повлиять на защищенность хостинг платформы, поэтому изначально нужно выбирать качественных хостеров с положительными отзывами и проверенной репутацией.
  • 30% осуществляются через небезопасные темы, в которых намеренно или случайно присутствуют уязвимости. Вывод: необходимо использовать платные темы от надежных поставщиков. Я лично рекомендую ресурс TemplateMonster , где все шаблоны проходят жёсткую модерацию профессионалами на предмет безопасности и функциональности.
  • 20% взломов WordPress из-за уязвимых плагинов. Даже лучшая защита ВордПресс нивелируется установкой плагинов с намеренно размещенной уязвимостью. Сюда же относится установка чистого кода на сайт из непроверенных источников пользователями, мало разбирающимися в программировании.
  • 10% ВордПресс взломов из-за ненадежного пароля. Хакеры просто подбирают или брутфорсят пароли, взламывая сайты в автоматическом или ручном режиме.

Безопасность WP сайта должна решаться комплексно, то есть, даже если вы используете плагины WordPress Security, но при этом устанавливаете на свой ресурс непроверенный код – вы находитесь в зоне риска.

Надежная защита WordPress – это реально?

Вполне. К счастью, реальность такова, что работоспособных WP сайтов, о безопасности которых позаботились их владельцы, больше, чем взломанных.

Для обеспечения надёжной ВордПресс security всего лишь необходимо следовать определенным рекомендациям, которые, на самом деле, очень простые и в некоторых случаях даже примитивные.

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

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

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

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

В бэкапах нужно хранить не только файлы сайта, но и данные БД.

На хостинге идеальной частотой является 3 бэкапа в сутки, которая у многих хостинг-провайдеров установлена по умолчанию (например, у моего хостера TheHost).

Но это во многом зависит от свободного дискового пространства, предоставляемого вам на серверном жёстком диске в рамках оплачиваемого вами тарифного плана.

Поэтому лучше не экономить на безопасности 🙂

Остальные типы бэкапов не нуждаются в таком частом создании. Достаточно делать резервную копию в облаке 2 раза в неделю, а на локальном комьютере и флеш-носителе – раз в неделю.

Бесплатные плагины защиты WordPress сайта, позволяющих автоматизировать процесс формирования резервных копий:

  • Duplicator — обеспечивает возможность копирования и перемещения сайта, а также является простым средством для резервного копирования;
  • UpdraftPlus – плагин для резервного копирования в облако на Dropbox, Google Диск или другие сервисы.
  • WordPress Backup to Dropbox – простой плагин для регулярного резервного копирования файлов и БД сайта в Dropbox.

Ограничение сбора сведений о сайте злоумышленниками

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

  1. удалить файлы readme.html и license.txt из корня сайта;
  2. заблокировать доступ к.htaccess через браузер с помощью директив самого.htaccess;
  3. обязательно проверить исходный код HTML-страницы на предмет упоминания названий плагинов и их версий в примечаниях;
  4. сделать запрет доступа к install.php, wp-config.php и прочим системным файлам;
  5. запретить просмотр в браузере содержимое каталогов WordPress сайта с помощью директив.htaccess;
  6. скрыть информацию о владельце сайта, авторах;
  7. директориям сайта на хостинге установить права доступа 755, а файлам - 644.

сайта

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

Самым эффективным является маскировка.

Большинство программ для автоматического взлома настроены на wp-login.php. Если же изменить адрес доступа, можно существенно повысить WordPress security ресурса, поскольку автоматические программы попросту будут выдавать ошибку доступа. Возможные решения (плагины):

  • Login LockDown – быстро определяет подбор пароля и блокирует запрос с этого IP;
  • Revisium WordPress Theme Checker – определяет наиболее типичные способы взлома вашего шаблона, проверяет доступ к админ панели;

Я лично пошёл ещё дальше и помимо указанных мер установил ещё блокировку попыток входа в админку по IP, благодаря чему доступ к панели администратора возможен только с нескольких IP-адресов.

Это, правда, вносит свои неудобства при использовании VPN сервисов, которые стали популярны у населения Украины благодаря запрету у нас Вконтакте, Яндекса и прочих российских ресурсов, но зато положительно влияет на уменьшение количества попыток входа в админку и брут-форс атак.

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

Отказ от использования VPN сервисов

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

Поэтому любителям VPN сервисов я настоятельно рекомендую от них отказаться. По крайней мере, на время работы в панели администратора ВордПресс сайта.

Во-первых, VPN соединение для работы в админке не нужно.

А, во-вторых (и это самое главное), — при использовании VPN сервисов ваши данные пропускаются через сторонние сервера, на которых они могут быть использованы как угодно.

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

Отказ от работы в админке WP через общественный Wi-Fi

Никогда не используйте WI-FI соединение для доступа к админпанели сайта, которое используется ещё кем-то.

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

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

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

Установка SSL-сертификата

Интересные дела получаются. VPN недостаточно надёжен, общественный Wi-Fi для администрирования сайта вообще использовать запрещается.

А как тогда быть, если нужно уехать в длительную командировку или на отдых, одним словом, оказаться длительное время без проверенного и защищённого Wi-Fi, а сайт в это время нужно администрировать?

В данной ситуации на помощь может прийти как раз использование SSL-сертификата для передачи данных по защищённому протоколу HTTPS.

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

  • Really Simple SSL – плагин позволяет установить сайту на WordPress SSL сертификат за пару секунд. Необходимо лишь получить SSL сертификат, установить плагин и активировать его. Остальные действие будут выполнены автоматически, включая редирект, внесение корректировок в.htaccess и замена всех url сайта с учётом протокола HTTPS.
  • WP Force SSL – плагин для перенаправления трафика с HTTP на расширенный протокол HTTPS, включая прописанные вручную ссылки.
  • Easy HTTPS Redirection – плагин, очень похожий на WP Force SSL по своему действию, т.к. позволяет настроить редиректы с HTTP на HTTPS как для всех URL сайта, так и для отдельных.
  • SSL Insecure Content Fixer – данный плагин защищает WordPress сайт от опасного контента и предупреждений о смешанном содержимом.

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

Двухэтапная аутентификация при входе в админку

Данная мера безопасности является ещё одним эффективным средством защиты админки WordPress наряду с настройкой HTTPS на WP сайте.

Заключается она в использовании не только стандартного ввода имени пользователя и пароля при входе в админпанель, но и во вводе специального кода подтверждения, отправляемого вам на телефон.

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

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

  • Google Authenticator - Two Factor Authentication (2FA)
  • Duo Two-Factor Authentication
  • Rublon Two-Factor Authentication

Описания их возможностей приводить не буду, т.к. все они примерно одинаковы. А самое прикольное лого на wordpress.com у Rublon, так что обязательно зайдите и зацените 🙂

Регулярное обновление ВордП ресс

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

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

И глупо было бы этим не воспользоваться. Устанавливайте обновление незамедлительно, сразу после его выхода!

Благодаря данному обстоятельству крайне нежелательно вносить правки в код движка самостоятельно, т.к. после обновления этот функционал будет для вас недоступен.

Поэтому для редактирования кода сайта на WordPress можно править только файлы темы и вносить изменения в файл functions.php, благодаря которому и наличию АПИ ВордПресс можно достичь требуемого результата.

И ещё. Хотя об этом уже шла речь, но считаю нужным напомнить, что перед обновлением обязательно делайте бэкап файлов сайта и БД, т.к. на новой версии движка может не работать часть устаревших функций и плагинов WP.

Изменение стандартных данных администратора

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

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

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

Чтобы изменить логин и повысить свой процент защиты WordPress от взлома, необходимо:

  • создать новую учетную запись со сложным паролем;
  • указать ее роль как «Администратор»;
  • удалить пользователя Admin.

Простейшие действия, которые сильно существенно повышают WP безопасность, занимают 3 минуты времени, но, к сожалению, редко совершаются начинающими вебмастерами.

Удаление неиспользуемых плагинов

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

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

Немного оффтопа, но я вообще рекомендовал бы вам использовать плагины по-минимуму, т. к. они могут стать не только дверью для хакеров на ваш сайт, но и снижать его производительность (особенно, если они используют API сторонних сервисов).

Хорошей альтернативой плагинам WordPress может служить использование чистого JavaScript и PHP кода, на котором написан сам ВордПресс.

Но данный способ расширения функционала ВП сайтов, к сожалению, тоже не без изъянов.

Использование кода из проверенных источников

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

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

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

Но при использовании кода вместо плагинов WP есть существенный подводный камень – вам нужно хотя бы частично разбираться в программировании и защите WordPress от взломов, чтобы понимать – пользу или вред принесёт вам труд других разработчиков.

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

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

Если же вы хотите расширить функционал WordPress сайта кодом с ресурса, рассказывающем о заработке в Интернете, предлагающем скачать бесплатные программы и фильмы или просто с какого-то персонального блога, где автор помимо данной информации делится своими рецептами блюд из картошки – будьте осторожны!

Иначе ваш сайт может превратиться в такой же овощ. Или даже похуже 🙂

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

Изменение префикса таблиц базы данных

Очень простой и эффективный способ защититься от автоматического взлома WordPress ресурса. Суть метода проста – вы меняете префикс таблиц путем изменения стандартного префикса wp_ на произвольный, например, bd_.

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

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

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

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

Также не забудьте изменить значение переменной table_prefix в файле wp_config.php, который лежит в корне вашего WordPress сайта на следующее:

$table_prefix = "prefix_";

Вместо prefix в значении переменной может быть любая символьная последовательность, какую вы посчитаете нужной. Главное – не заигрываться и не делать префикс слишком длинным 🙂

Установка WordPress капчи

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

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

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

Самыми распространёнными местами установки CAPTCHA в WordPress являются следующие:

  • форма добавления комментариев;
  • регистрация и вход на сайт;
  • форма обратной связи;
  • оформление заказа (если у вас Интернет-магазин на WordPress);

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

Защита персонального компьютера

Совет самый, что ни есть банальный, но многие им пренебрегают.

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

Казалось бы: попасть на сайт, если вход в админку не ограничен по IP, можно с любой машины. Но главная опасность взлома ПК владельца сайта заключается в том, что в веб-браузере могут остаться сохранённые данные для входа в куках (cookies), благодаря которым можно зайти на сайт без авторизации.

Или вы, как и большинство пользователей, просто сохраняете в браузере данные форм, с помощью чего запоминаются креды (credentials) вашей учётной записи администратора.

Для защиты личного ПК необходимо воспользоваться следующими мерами:

  • Старайтесь не использовать бесплатные антивирусные программы.
  • Никогда не устанавливайте антивирусы, скачанные с ресурсов неизвестных лиц. устанавливайте только программы с официальных сайтов. Очень часто под видом антивируса наивные пользователи устанавливают шпионские программы собственными руками.
  • Используйте лицензионное ПО.
  • Регулярно обновляйте антивирус.
  • Придумайте сложный пароль для доступа к компьютеру (и вообще используйте его).
  • Не сохраняйте данные учётной записи администратора в браузере.
  • Пользуйтесь брандмауэром (стандартного для вашей ОС вполне подойдёт).

Защита электронной почты

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

Очень часто, сосредоточившись на защите WordPress от вирусов, владельцы сайтов забывают о потенциальной опасности e-mail:

  • для регистрации домена и хостинга заведите отдельный ящик;
  • не открывайте подозрительные письма, тем более с вложенными файлами;
  • 1 раз в 2-3 месяца меняйте пароль на сложную комбинацию цифр и букв;
  • не указывайте нигде ящик, как контактную информацию;
  • установите двухуровневую аутентификацию (электронная почта + СМС на ваш телефон) в панели хостера и регистратора домена.

Включение здравого смысла

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

Однако, когда речь идёт о безопасности ВордПресс сайтов, мелочей быть не может. И если не принять всерьёз данную рекомендацию, то все предыдущие меры защиты WP не будут иметь никакого смысла.

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

А когда сайт перестанет работать, вы долго не сможете понять, в чём же причина. Вряд ли даже всерьёз рассмотрите указанный мной фактор в силу мыслей формата «Кто бы мог подумать, что он/она на такое способен?!».

Поэтому, повторюсь, держите в секрете ваши параметры подключения по FTP, SSH и к БД, а также адрес админпанели и учётную запись администратора с паролем.

Лучше даже никому не сообщать адрес сайта и то, что вы являетесь его владельцем.

И ни в коем случае не провоцируйте атаки на ваш сайт сами громкими заявлениями, что вы произвели все меры по обеспечению безопасности и защитили его на 200%.

Если задаться целью, то для опытного веб-программиста не составит труда организовать взлом WordPress сайта. Так что бережёного Бог бережёт 🙂

Согласен, похоже на паранойю, но для обеспечения защиты WordPress сайта все средства хороши.

Обзор плагинов безопасности WordPress

В завершение я решил познакомить вас с наиболее эффективными плагинами ВордПресс для комплексной безопасности.

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

Wordfence Security – анализатор, который проверяет ресурс на наличие «дыр» в безопасности WordPress. Можно настроить регулярное сканирование сайта, чтобы обезопасить себя от возникающих уязвимостей.

Это эффективная защита WordPress от ddos атак.

Действует по принципу сравнения текущей версии сайта с эталонной, при расхождении находит зараженные файлы.

Acunetix WP Security – анализатор доступа к системным файлам, админке, проверяет защиту данных, сложность пароля, предоставляет рекомендации по устранению проблем.

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

Обеспечивает очень хорошую защиту WordPress от вирусов.

All In One WordPress Security – включает в себя защиту от самых распространенных способов взлома, включая подбор паролей, подмену адреса админки, защиту WordPress от ddos атак и др.

AntiVirus – сканер вредоносных программ, нагружает сервер, снижает скорость загрузки сайта, но обеспечивает надёжную защиту WordPress от вирусов.

iThemes Security – плагин для комплексной защиты сайта, умеет резервировать сайт, защищает админку, предотвращает внешний доступ, защищает от подбора логина или пароля.

Установка iThemes Security – это решение для ленивых. Это плагин комплексной безопасности, который решает практически все проблемы начинающего разработчика.

В пакет возможностей входит: защита админки, блокирование пользователей по IP, защита WordPress от спама, аудит безопасности, настройка защиты установленных плагинов, ведение отчета по доступу к сайту.

Большинство уязвимостей можно устранить путем предлагаемых плагином решений.

Anti-spam plugin – защищает WordPress сайт от ботов, быстро настраивается, имеет дружественный интерфейс.

Sucuri Scanner – это один из признанных лидеров в сфере защиты сайтов на ВордПресс, он бесплатен и очень эффективен.

Проводит в автоматическом режиме аудит безопасности сайта и проверяет наличие повреждений в системных файлах.

Удаляет выявленный вредоносный код, осуществляет настройку сайта после взлома безопасности или инъекций кода.

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

Если хотите найти больше плагинов для защиты WordPress, то можете воспользоваться официальным каталогом, который доступен по ссылке wordpress.org/plugins/tags/security.

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

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

Безопасность WordPress сайта — выводы

Как бы печально это не звучало, но ни один из выше описанных способов и плагинов не может дать 100% защиту WordPress сайту от взлома.

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

Одних только способов существует, как минимум 10.

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

И ещё, в завершение сегодняшней статьи о безопасности ВорпПресс ресурсов, я хочу сказать, что целью её написания было не развитие у вас паранойи по поводу уязвимости вашего, а знакомство вас с самыми простыми и очевидными мерами, которые помогут вам защититься от 80% современных атак.

К слову, лёгкая паранойя – это нормальное явление, когда речь заходит о вопросах безопасности 🙂 Однако, не стоит ей позволять управлять вашей жизнью и всего опасаться.

На этом у меня всё. Оставляйте свои мнения и пожелания в комментариях под статьёй и делитесь ей со своими друзьями с помощью социальных кнопок.

Всем удачи и до новых встреч!

P.S. : если вам нужен сайт либо необходимо внести правки на существующий, но для этого нет времени и желания, могу предложить свои услуги.

Более 5 лет опыта профессиональной разработки сайтов. Работа с PHP , OpenCart , WordPress , Laravel , Yii , MySQL , PostgreSQL , JavaScript , React , Angular и другими технологиями web-разработки.

Опыт разработки проектов различного уровня: лендинги , корпоративные сайты ,

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

1. Перед инсталляцией;
2. После инсталляции;
3. Периодические проверки и обновления.

1. Перед инсталляцией

1.1. Удаляем все ненужные файлы:
readme.html, license.txt, hello.php, ненужные темы и плагины.

1.2. Правильно отредактируем wp-config.php файл:

define("DB_NAME", "wpdb"); // Вместо "wpdb" нужно придумать сильное имя, например, wp433Fd6HW
define("DB_USER", "wpuser"); // Например, UserFB56SKl
define("DB_PASSWORD", "strongpassword"); // Тут должен быть сильный пароль, например, ‘FE876!8e#fh#9fDfds9f’
define("DB_HOST", "localhost"); // В 99% случаях это значение не нужно менять
define("DB_CHARSET", "utf8"); define("DB_COLLATE", "");

Меняем секретный ключ с дефолтного:

define("AUTH_KEY", "izmenite eto na unikalnuyu frazu");
define("SECURE_AUTH_KEY", "izmenite eto na unikalnuyu frazu");
define("LOGGED_IN_KEY", "izmenite eto na unikalnuyu frazu");
define("NONCE_KEY", "izmenite eto na unikalnuyu frazu");

на сгенерированный, с помощью сервиса

define("AUTH_KEY", "M.uFL(RBw5UkRw%P&+>E*jJZBikz3-OV7sO*-_g*{9z,PnM,T&LPAE");
define("NONCE_KEY", "d2A~8NBb%2?+6`z}?nWoD0`f]-.gUOC);

Делаем таблицы более защищенными:

$table_prefix = "wp_4i32aK_"; // Используйте только буквы, числа и символы подчерка, чтобы сделать свой table_prefix уникальным. По крайней мере, это защитит Вас от части public эксплоитов.

1.3. Создаём пользователя и базу данных для блога в консоле MySQL:
Сначала, заходим под root’ом и создаем базу данных для блога:

$ mysql -u root
mysql> CREATE database wpdb;

$ mysql -u root
mysql> CREATE database wp433Fd6HW;
Query OK, 1 row affected (0.00 sec)

Затем создаём пользователя: этот аккаунт будет иметь доступ только в базе данных WordPress. Также мы можем быть уверены, что пользователь используется только с локального сервера, а не удаленно.

mysql>
-> ON wpdb.*
-> TO "wpuser"@"localhost"
-> IDENTIFIED BY "strongpassword"; Query OK, 0 rows affected (0.01 sec)

В нашем примере это будет выглядеть так:

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
-> ON wp433Fd6HW.*
-> TO "UserFB56SKl"@"localhost"
-> IDENTIFIED BY "FE876!8e#fh#9fDfds9f";
Query OK, 0 rows affected (0.01 sec)

1.4. Уберите блок meta из кода Вашей темы
В стандартной теме кусок кода, отвечающего за вывод блока meta:

  • Meta





    • Valid XHTML

    • XFN

    • ">WordPress



  • 2. После инсталляции

    2.1. Меняем пароль Администратора по умолчанию
    Поменяйте сгенерированный на этапе установки пароль Администратора

    2.2. Удаляем версию WordPress

    remove_action ("wp_head", "wp_generator");

    В файле header.php в папке с Вашей темой удаляем строку:

    " />

    Для WordPress версии 2.8.4 находим имплементацию функции get_the_generator($type) и изменяем ее:

    function get_the_generator($type) {
    $gen = "";
    return apply_filters("get_the_generator_{$type}", $gen, $type);
    }

    2.3. Пустой index.php
    Поместите в папки wp-includes/, wp-content/, /plugins/ пустой файл index.php

    2.4. Меняем имя пользователя Admin на нечто более неочевидное
    Изменяем имя через MySQL консоль:

    wp $ mysql -u UserFB56SKl –p
    mysql> use wp;
    UPDATE wp_users SET user_login="adm" where user_login="admin";

    В нашем примере это будет выглядеть так:

    wp $ mysql -u wpuser –p
    mysql> use wp433Fd6HW;
    UPDATE wp_4i32aK_users SET user_login="adm234Df" where user_login="admin";
    Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0

    Или, если не хотите копаться с запросами, можно сделать следующее:

    1. Cоздайте новый аккаунт. Имя пользователя должно быть уникальным;
    2. Назначьте новому пользователю роль Администратора;
    3. Перелогинтесть как новый Администратор;
    4. Удалите учетку старого Администратора.

    2.5. Создаём новые роли пользователей
    Для этого необходимо сначала установить на Ваш блог плагин . Этот плагин даст Вам возможность скрупулезно и точечно устанавливать права пользователей. После активации плагина Вам, для начала нужно создать пользователя для себя. Удалите все права пользователя и затем внимательно выберите только те права, которые понадобятся Вам для ежедневной активности (писать посты, модерировать комментарии и тд). Удостоверьтесь, что только админский аккаунт имеет привилегии для активации / дезактивации плагинов, загрузки файлов, управлении опциями, переключении тем, импорт и тд.
    Если в Вашем блог будет многопользовательским, то необходимо подумать о том, какие права действительно нужны пользователям и создать на основе этого свои собственные роли.
    При создании ролей будьте осторожны, раздавая пользователям такие права как: аплоад файлов, доступ к редактированию исходного кода плагинов, активации плагинов, редактировании файлов / постов / страниц, импорт, нефильтрованный HTML, так как эти роли дают пользователям большие полномочия.

    2.6. Ограничиваем доступ к папкам wp-content и wp-includes
    С помощь файла.htaccess и специальных правил, мы запретим всё, кроме запросов на картинки, CSS и JavaScript. Файлы.htaccess необходимо положить с соответствующие директории.

    Order Allow, Deny
    Deny from all

    Allow from all

    Вы также можете добавить специфические PHP файлы для определенных шаблонов и плагинов.

    2.7. Прячем директорию wp-content
    Начиная с версии WordPress 2.6, появилась возможность переместить директорию wp-content.
    Меняем в wp-settings.php строчки:

    define("WP_CONTENT_DIR",$_SERVER["DOCUMENT_ROOT"]."/blog/wp-content");
    define("WP_CONTENT_URL","http://domain.ru/blog/wp-content");

    И, чтобы не было проблем с плагинами:

    define("WP_PLUGIN_DIR",$_SERVER["DOCUMENT_ROOT"]."/blog/wp-content/plugins");
    define("WP_PLUGIN_URL","http://domain.ru/blog/wp-conten/plugins");

    2.8. Ограничиваем доступ к папке wp-admin
    Если у Вас статический IP
    Этот шаг легко осуществим для однопользовательского блога, но может принести настоящую головную боль для многопользовательского варианта. Этот трюк подходит только, если у Вас статический IP. Файл.htaccess для директории wp-admin должен содержать следующие правила:

    AuthUserFile /dev/null
    AuthGroupFile /dev/null
    AuthName "Example Access Control"
    AuthType Basic

    order deny,allow
    deny from all
    allow from a.b.c.d. #Ваш статический IP

    Положите файл в директорию wp-admin и попробуйте зайти в эту папку через прокси. Если всё работает правильно, в доступе будет отказано. После этого попробуйте зайти со своего IP.

    Ограничиваем доступ по паролю
    Более предпочтительным может оказаться доступ к папке wp-admin по паролю. А это означает, что Вы можете заходить в админскую панель, откуда угодно. Также это вариант, если у Вас динамический IP.
    Файл.htaccess для директории wp-admin должен содержать следующие правила:

    #Файл.htpasswd находиться за пределами root директории Вашего блога

    ErrorDocument 401 default
    AuthUserFile /srv/www/user1/.htpasswd
    AuthType Basic
    AuthName "WordPress Dashboard"

    require user adminuser #Создайте секъюрный username


    require valid-user

    Сгенерируйте пароль командой:

    $ htpasswd -cm .htpasswd adminuser

    Или для генерации пароля воспользуйтесь сервисом . Вот пример для user: admin , password: test

    admin:$apr1$t3qLL...$uUmj9Wm/WbJk7YNza6ncM/

    Файл.htpasswd лучше расположить директорией выше корня блога.

    2.9. Файл wp-config.php
    Вариант первый: для защиты Ваших данных необходимо перебросить на папку выше, WordPress автоматически проверит директорию выше если не найдет у себя в корне wp-config.php.
    Если по каким-то причинам Вы не можете проделать того, что описано выше, то существует еще один вариант. А именно – защитить Ваш wp-config.php с помощью.htaccess:

    # protect wpconfig.php

    Order deny,allow
    deny from all

    2.10. Устанавливаем правильные права на файлы и папки
    Основное правило:

    1. Для файлов - 644
    2. Для папок - 755

    Из шелла эти операции можно проделать с помощью:

    cd
    find (your path) -type d -exec chmod 755 ‘{}’ \
    find (your path) -type f -exec chmod 644 ‘{}’ \

    2.11. SSL для админов
    Если Ваш сервер поддерживает SSL, то лучше сделать доступ в админку защищенной. Для этого в файле wp-config.php уберите комментарии в строчке:

    define(’FORCE_SSL_ADMIN’, true);

    2.12. Удалите вывод логов WordPress
    В файле functions.php в папке с Вашей темой добавляем строку:

    add_filter("login_errors",create_function("$a", "return null;"));

    2.13. Запрещаем индексации с помощью Robots.txt
    Проверить правильность можно по адресу

    2.14. Плагины для Вашей безопасности
    Login LockDown - Устанавливаем количество ложных логинов
    Для этого есть два решения в виде плагинов and . После того, как плагин активирован, он записывает все попытки залогиниться. Плагин позволяет запретить посетителю логиниться определенное время, после того как посетитель несколько раз неправильно ввёл пароль.

    Belavir – Следим за изменениями в ключевых php файлах

    WPIDS – Определяем признаки внедрения

    WordPress Online Security Scanner – Сканируем блог на уязвимости

    Akismit – Противоборство СПИДу СПАМу

    SpamBam – Определяем валидный ли браузер пользует клиент

    3. Периодические проверки и обновления

    3.1. Следите за обновлением WordPress
    3.2. Следите за обновлением плагинов
    3.3. Следите за обновлениями безопасности

    3.4. Проверяйте код темы и плагинов, которые Вы хотите добавить, на «дырявость»
    3.5. Боритесь со спамом
    3.6. Регулярно делайте полный backup базы данных Вашего блога
    3.7. Читайте девелоперские блоги
    Небольшой список:

    Сергей Арсентьев

    Безопасность WordPress в 2 клика с помощью All In One WP Security

    Безопасности в WordPress уделяется немало внимания, и все равно бывают случаи взломов сайта. Однако можно воспользоваться специальным плагином и значительно увеличить защиту вашего сайта, тем более что сделать это можно буквально в 2 клика.

    Зачем вообще нужно повышать безопасность WordPress?
    Конечно, чтобы избежать взломов и несанкционированного использования пространства сайта.

    Но неужели это так плохо? Ну и пусть ломают - у меня все равно брать нечего!

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


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

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

    Я устанавливал на сайты разные плагины для повышения безопасности WordPress (они еще часто называются firewall), но порекомендую вам тот, который лично я считаю самым лучшим по большинству параметров, это - All In One WP Security .

    Его основные преимущества:

    • бесплатный
    • удобный русскоязычный интерфейс
    • множество вариантов защиты
    • частое обновление
    • мгновенный импорт и экспорт настроек

    Инсталлируется он как обычный плагин Вордпресс (если не знаете как это сделать, то читайте " "). Так что с установкой у вас проблем возникнуть не должно.

    Но затем еще нужно будет настроить All In One WP Security, то есть выбрать и активировать параметры защиты. Их много, включать стоит далеко не все, иначе сайт может просто оказаться неработоспособным. Так какие параметры нужно выбрать обязательно, а какими стоит пренебречь?

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

    А я пока в двух словах опишу настройки плагина.

    Основные настройки All In One WP Security

    Настроек плагина довольно много, они все собраны в панели управления, в пункте WP Security:

    Начнем по порядку.

    Панель управления

    Здесь удобно собрана основная информация по системе: текущий уровень защиты, задействованные основные настройки, версия php сервера, логи заходов пользователей в админку и так далее. То есть на этой вкладке менять нечего - она играет информативную роль.

    Стремиться к тому, чтобы у вас было задействовано максимум очков защиты - не стоит. Ведь в этом случае некоторые другие плагины могут быть заблокированными, и сайт может не функционировать должным образом. Важно в целом устранить наиболее уязвимые и очевидные "дыры" не в ущерб удобству и функционалу сайта.

    Настройки

    Здесь вы можете создать бекапы основных файлов WordPress, в которых плагин меняет параметры безопасности: .htaccess и wp-config. Если, конечно, не сделали еще это через FTP (читайте " "). Обязательно сделайте это перед внесением изменений в настройки плагина.

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

    И последний пункт - это "Импорт и экспорт" .
    Именно здесь можно быстро экспортировать и импортировать настройки плагина с сайта на сайт.

    Администраторы

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

    Общеизвестно, что нельзя использовать стандартные имена администраторов, например, "admin" в WordPress или "administrator" в Joomla. Это крайне негативно влияет на безопасность, ведь когда логин известен, хакеру остается только подобрать пароль.

    Так что если у вас в качестве имени администратора используется стандартное "admin", то мысленно выругайтесь в сторону разработчика и быстренько смените его на что-то более сложное. Чтобы это сделать в Вордпрессе нужно завести новый аккаунт пользователя. Старый удалите, все записи свяжите с новым аккаунтом.

    Также важно, чтобы имя пользователя совпадало с логином.
    И проверьте сложность пароля. Плохим является пароль вроде "serega", нормальным - "serega1212", идеальным - "dfw&uuhsU2%".

    Авторизация

    Что делать если кто-то несколько раз ввел неверный пароль при попытке входа в админку? По умолчанию система не делает ничего. А если "Включить опции блокировки попыток авторизации ", то система будет блокировать такие подключения после какого-то количества неудачных попыток в течение определенного времени. Количество попыток, время и другие параметры, вы сами задаете в пунктах ниже.

    Остальные вкладки в основном информационные.

    Регистрация пользователя

    Каптча при регистрации актуальна только если у вас на сайте или блоге есть возможность регистрации новых пользователей.

    База данных

    Обязательно смените префикс таблиц в базе данных. По умолчанию таблицы в базе данных WordPress начинаются с "wp_" - это плохо для безопасности. Выберите "Сгенерировать новый префикс таблиц БД " и установите флажок, чтобы плагин сам сгенерировал что-то вроде "hwy1e2_".

    Хоть я менял префикс на многих сайтах WordPress - все было ок, но осторожность лишней не будет: обязательно сделайте бекап базы данных, можно, кстати, прямо на соседней вкладе это сделать.

    Файловая система

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

    Отметьте флажки и на следующих вкладка "Редактирование файлов PHP " и "WP доступ к файлам ". Вам вовсе необязательно оставлять возможность вносить любые программные изменения через панель управления - лучше это делать через FTP-доступ, который взломать гораздо сложнее, ведь там безопасностью занимаются профессиональные программисты вашего хостера. Плюс не стоит "светить" важные информационные файлы системы.

    Whois-поиск

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

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

    Черный список

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

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

    В основном эта функция имеет смысл, если вам активно кто-то пытается взломать. В большинстве случаев эти поля останутся пустыми.

    Файрволл

    Ну вот и добрались до основной функции плагина - брандмауера. Эти функции рассредоточены по нескольким вкладкам.

    Во вкладке "Базовые правила " рекомендую включить оба флажка: "Основные функции брандмауэра " и "Защита от Пингбэк-уязвимостей ". По каждому пункту там подробно расписываются все функции, которые будут задействованы. Это базовые правила - они, как правило, не влияют на работоспособность сайта.

    В "Дополнительных правилах " лично я задействую:

    • Просмотр содержимого директорий
    • HTTP-трассировка

    Остальные пункты:

    • Комментарии через Прокси-серверы
    • Нежелательные строки в запросах
    • Дополнительная фильтрация символов

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

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

    Далее во вкладке "5G-файрволл " можно включить комплексную защиту от хакерских атак через URL сайта. Это полезная функция, однако на моем блоге она вызвала ошибку при скачивании файлов пользователями, поэтому я ее отключил и отключаю на всех других сайтах, так как предпочитаю задействовать только те параметры, которые никогда не вызывают нареканий в работе.

    Во вкладке "Интернет-роботы " я не включал флажок, так как все же есть опасения как-то помешать основному роботу Google делать свое дело. Если кто-то сможет развеять мои опасения в комментариях, буду признателен.

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

    "Детектирование ошибок 404 " нужно задействовать только если в логах у вас много подозрительных ошибок ненайденных страниц. У меня на всех сайтах все ок, поэтому и нечего вносить в список IP-адресов, которые нужно банить.

    Защита от брутфорс-атак

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

    Назовите страницу входа на свое усмотрение, например, /lg-wp и в вашу админку робот для перебора паролей попасть уже не сможет - он ее просто не найдет!

    "Защиту на основе куки " я не применяю - так как часто выхожу в сеть с разных браузеров, плюс периодически чищу куки и поэтому процедура залогинивания с этим параметром была бы довольно утомительной. По этой же причине не использую "Каптчу на логин ". Мне и так хватает всяких каптч в интернете, и поэтому на своем сайте стараюсь свести их к минимуму.

    "Белый список для логина " - это почти 100% защита от брутфорс-роботов, так как логин и пароль может вводиться только с конкретного IP-адреса. Но я и мои клиенты часто заходят на свои сайты с разных IP-адресов, например, из офиса, с мобильного телефона, из гостей и так далее. В этом случае защита будет избыточной, так как не пустит на сайт самого владельца. Однако если вы работаете на своем сайте стационарно с одним IP-адресом, то можно задействовать данную функцию.

    Защита от спама

    Эту защиту я не включал, так как у меня прекрасно работает специализированный плагин Antispam Bee (читать " ").

    Сканер

    Если вдруг какой-то гад все-таки пробрался через все ваши системы защиты и вставил свой вредоносный код или левые ссылки в файлах сайта, то система вас об этом уведомит. И вы сможете более внимательно и пристально взглянуть на эти изменения: вдруг вас и правда, взломали?

    Я сканирую сайты раз в 7 дней, игнорирую картинки, личные файлы, бекапы и т.п. Все это есть в настройках, которые вы сможете скачать в конце статьи.

    Остальные вкладки вам вряд ли понадобятся.

    Режим обслуживания

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

    Разное

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

    • Перевод

    Административная зона любого веб-приложения давно стала излюбленной мишенью для хакеров и её безопасность чрезвычайно заботит разработчиков. Это касается и WordPress - при сустановке нового блога система создает аккаунт администратора с уникальным случайно сгенерированным в реальном времени паролем, чем блокирует всеобщий доступ к настройкам системы, контролируя его c помощью страницы авторизации.

    Эта статья сфокусирована на вопросах усиления безопасности WordPress - как административной панели, так и настроек блога, подразумевая все содержимое папки «wp-admin» , которое отображается только после авторизации . Мы сознательно выделили фразу "после авторизации " - вы должны четко осознавать, что только один простой запрос отделяет «злого хакера» и админку всего вашего блога или сайта! А последняя защищена настолько сильно, насколько мощный пароль вы выбрали.

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

    1. Переименуйте папку wordpress.

    Начиная с версии 2.6, стало возможным изменять путь к папке wp-content . К сожалению это до сих пор неприменимо к папке wp-admin . Думающие о безопасности блоггеры смирились с этим и стали надеяться, что это станет возможным в будущих версиях. Пока этого не случилось, предлагаем воспользоваться следующим альтернативным решением проблемы. После распаковки архива с файлами WordPress, вы увидите папку «WordPress» - переименуйте папку (в идеале во что-то непонятное вроде " wordpress_live_Ts6K" ) и после этого настройте соответственным образом файл wp-config.php , который находится в корневой директории.
    Что нам даст это изменение?
    • Во-первых, все файлы WordPress не будут смешаны с другими файлами в корне сайта, таким образом мы повысим ясность корневого уровня.
    • Во-вторых, множество копий WordPress может быть установлено параллельно в папки с разными именами, исключая их взаимодействие, что делает это идеальным для тестирования
    • Третье преимущество напрямую касается безопасности: административная зона (и весь блог в целом) больше не находится в корневой папке и для проведения каких-либо действий по взлому сначала ее нужно будет найти. Это проблемно для людей, но что касается ботов - вопрос времени.

    Несколько установленных версий в root-каталоге - это возможно!

    Примечание: Если системные файлы WordPress больше не в корневой директории, и имя папки инсталяции изменено в соответствии с рекомендациями, описанными выше, блог будет все равно доступен по адресу wp-config.ru . Почему? Зайдите в раздел «Общие настройки (General settings)» вашего блога и введите в поле «WordPress address (URL)» реальный адрес блога на сервере, как показано в примере:

    Адрес блога должен быть красивым и ненавязчивым

    Это позволит блогу отображаться по красивому виртуальному адресу.

    2. Усовершенствуйте файл wp-config.php

    Конфигурационный файл WordPress wp-config.php содержит в себе некоторые настройки сайта и информацию для доступа к базе данных. Также там другие настройки, касающиеся безопасности (они представлены в списке ниже). Если таких значений в этом файле нет, или же имеются только установленные по умолчанию, вам необходимо, соответственно, добавить или изменить их:
    • Ключи безопасности: начиная с версии 2.7, в WordPress есть четыре ключа безопасности, которые должны быть правильно установлены. WordPress спасает вас от необходимости выдумывать эти строки самому, автоматически генерируя правильные ключи с точки зрения безопасности. Вам просто нужно вставить ключи в соответствующие строки файла wp-config.php. Эти ключи являются обязательными для обеспечения безопасности вашего блога.
    • Префикс таблицы заново установленного WordPress блога не должен быть стандартным «wp_» Чем больее сложным будет значение префикса, тем менее вероятна возможность несанкционированного доступа к таблицам вашей MySQL базы данных. Плохо: $table_prefix = "wp_"; . Намного лучше: $table_prefix = "wp4FZ52Y_"; Не стоит бояться забыть это значение - вам необходимо ввести его только один раз, больше оно вам не понадобится.
    • Если у вас на сервере доступно SSL шифрование , рекомендуется включить его для защиты административной зоны. Это можно сделать, добавив следующую команду в файл wp-config.php: define("FORCE_SSL_ADMIN", true);
    Также вы можете регулировать другие системные настройки в конфигурационном файле. Четкий и исчерпывающий список доступных настроек доступен на странице Кодекса

    Не пренебрегайте установкой правильных ключей безопасности!

    3. Переместите файл wp-config.php

    Также начиная с версии 2.6, WordPress позволяет перемещать файл wp-config.php на высший уровень. По причине того, что этот файл содержит в себе намного более важную информацию, чем какой либо другой, и потому что всегда намного сложнее получить доступ к корневой папке сервера, имеет смысл хранить его не в той же директории, где и остальные файлы. WortdPress автоматически обратится к высшей папке в поиске файла wp-config.php . Любые попытки пользователей самим настроить путь бесполезны.

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

    Не все ISP серверы позволят вам передавать данные на более высокие уровни, чем корневая директория. Другими словами, не у всех хватит прав для осуществления предыдущего шага. Или по другим причинам: например, если у вас несколько блогов, при определенной структуре папок у вас не получится положить в корень все файлы, так как их имена будут совпадать для каждого из блогов. В этом случае мы можем запретить доступ к файлу wp-config.php извне при помощи файла .htaccess . Вот код для этого:

    # protect wpconfig.php
    Order deny,allow deny from all

    Очень важно убедиться, что файл .htaccess находится в той же директории что и файл wp-config.php .

    5. Удалите учетную запись администратора.

    Во время процесса установки WordPress создает учетную запись администратора с ником «admin» по умолчанию. С одной стороны это вполне логично, с другой - пользователь с известным ником, т.е. ID - 1, обладающий административными правами, является вполне предсказуемой мишенью для хакеров с их программами подбора паролей. Отсюда следует наш совет:
    • Создайте еще одного пользователя с административными правами и вашим ником.
    • Завершите сеанс работы.
    • Залогиньтесь под новым аккаунтом.
    • Удалите учетную запись "admin ".
    Если у вас не новый блог и под учетной записью admin вы уже публиковали посты или комментарии, то из предложенных вариантов в момент удаления, выберите пункт «Связать все записи и ссылки с:» и выберите имя нового пользователя:

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

    6. Выберите сильный пароль.

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

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

    В WordPress реализован интуитивно понятный индикатор стойкости набираемого пароля, который показывает цветом его уровень сложности:

    7. Защитите папку «wp-admin».

    Следуя пословице «две головы лучше одной», существует способ вдвое усилить защиту административной зоны. Защита регулируется файлом .htaccess , который должен находится в папке «wp-admin» вместе с файлом .htpasswd , который хранит логин и пароль пользователя. После обращения к папке, вам нужно будет ввести логин и пароль, но разница в том, что в этом случае авторизация контролируется на стороне сервера, а не силами самого WordPress.

    Для того чтобы просто и быстро сгенерировать файлы .htaccess и .htpasswd , воспользуйтесь этим сервисом .

    8. Запретите отображение ошибок на странице авторизации.

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

    Несложно догадаться, как быстро сокращается вероятность подбора комбинации логина/пароля, когда система указывает что именно введено неверно. Простая строка кода, поможет решить эту проблему, достаточно добавить её в файл functions.php вашей темы:

    Add_filter("login_errors",create_function("$a", «return null;»));

    Изначальный/измененный вид страницы авторизации.

    9. Ограничьте количество неудачных попыток авторизации.

    WordPress не ведет статистику авторизаций, как удачных, так и нет. Это очень неудобно для администратора, так как у него нет возможности увидеть были ли попытки несанкционированного доступа, чтобы принять какие-либо меры, если они участятся. Предлагаем два решения: плагины