Наверняка вы много раз думали о безопасности вашего сайта на WordPress, принимали ряд мер по обеспечению этой самой безопасности. Но если у сайта останется хотя бы одно слабое место, такой сайт могут вывести из строя, внедрить вредоносный код.
Порой замечаю такую картину: человек уделяет огромное внимание какому-то одному аспекту безопасности, а в других аспектах у него все печально.
Нужен комплексный подход. Некий чек-лист безопасности сайта на WordPress. А если этот чек-лист еще и будет исправлять недостатки безопасности — решение будет почти идеальным. И такое решение есть — плагин Better WP Security.
Однобокая забота о безопасности сайта.
Если человек начинает проверять права доступа на файлы и папки, задавать директивы запрета SQL-инъекций в файл .htaccess, а у его сайта в админке логин admin и пароль password, то поможет ли ему такая однобокая забота о безопасности?
Сразу вспоминается знакомая многим картинка:
Давайте не будем повторять печальный опыт, изображенный на картинке, и защитим наш сайт на WordPress комплексно.
Чек-лист безопасности WordPress.
Итак, нам нужно прикрыть все...ну или как можно больше уязвимых мест нашего сайта на WordPress. Сразу возникает первый, вполне логичный, вопрос:
А где мне взять чек-лист уязвимых мест моего сайта? Где список уязвимостей?
Конечно, можно перелопатить тонну тематических статей, прочитать множество форумов, при этом что-то понять, что-то не понять, где-то принять ложные сведения за истину. Этот вариант нам не подходит потому что:
- это долго
- это сложно
- это субъективно
- вряд ли кто поможет разобраться со всем этим
Вы поняли, такой вариант не пойдет. Базовые параметры безопасности вы прочтете в моей специальной статье. Еще статься по .htaccess будет полезна. И конечно резервное копирование сайта.
Но мы ищем решение, которое выявит уязвимости сайта самостоятельно, да еще и поможет исправить небезопасные параметры нашего сайта на WordPress. Итак, рассмотрим плагин Better WP Security.
Better WP Security — чек-лист уязвимостей + исправление.
Что мы получаем, установив данный плагин:
- Полноценный чек-лист уязвимостей нашего сайта
- Каждый уязвимый пункт плагин поможет исправить
- Вы получите информацию об уязвимостях сервера вашего хостинга.
Вот пример чек-листа безопасности сайта на WordPress:
Обратите внимание, какие параметры безопасности анализирует и исправляет плагин:
- Надежность паролей администраторов.
- Удаление лишней информации из хедера WordPress (информация о версии, дополнениях и т. д.).
- Видимость доступных обновлений WordPress и плагинов для пользователей, не являющихся администраторами.
- Имя пользователя администратора (admin нужно заменить на другой логин).
- ID юзера-администратора (id 1 не должен использоваться).
- Префикс таблиц в базе данных.
- Выполнение регулярного резервного копирования базы данных (cron задачи).
- Доступность админ. панели может быть не постоянной, к примеру, ночью можно отключать доступность админки.
- Блокировка «плохих» хостов и хакерских user-агентов.
- Защита административной панели от перебора паролей — установка максимально разрешенного числа попыток входа в админку. Автоблокировка при превышении числа попыток входа.
- Скрытие админ. панели WordPress путем изменения адреса для входа в нее. Вы можете изменить адреса входа админку и регистрации пользователей (например, http://maxtop.org/login, http://maxtop.org/register, http://maxtop.org/admin).
- Защита файла .htaccess и добавление директив безопасности в него.
- Блокировка сканирования сайта на предмет потенциальных уязвимостей.
- Отслеживание изменений системных файлов.
- Запрет длинных url-ссылок, через которые хакер может передать вредоносные инструкции.
- Запрет редактирования плагинов и файлов тем оформления через админ. панель.
- Защита от записи файлов .htaccess и wp-config.php.
- Скрытие информации о версиях плагинов и самой WordPress.
- Переименование папки wp-content.
- Использование безопасного соединения (шифрование) при входе в админ. панель.
Кроме того, на вкладках плагина вы можете дополнительно настроить целый ряд параметров, создать бекап базы данных, добавить адреса недоброжелателей для блокировки по ip, настроить уведомления по электронной почте о проблемах безопасности сайта или попытках взлома.
Помните: любой плагин — не панацея.
Обратите внимание, плагин называется «Better WP Security», а не, к примеру, Best WP Security. Все потому что никакой плагин не может гарантировать 100% защиту. Абсолютной защиты не существует, любой сайт можно взломать.
Суть лишь в том, что некоторые сайты могут испортить боты и школьники, развлекающиеся «хакингом», а защищенные сайты могут пробить только профессионалы. Следовательно, чем лучше у вашего сайта защита, тем меньше круг лиц, способных его взломать, тем больше сил и средств нужно потратить на взлом сайта.
Принцип: не навреди. Как не сделать свой сайт уязвимым.
Кроме установки плагина Better WP Security, вы должны помнить о принципиально важных моментах безопасности:
- Никогда не используйте и не устанавливайте «варезные» (нелегальные) плагины и темы, скачанные с неофициальных сайтов. Они зачастую содержат уязвимости, вредоносный код, рекламные ссылки.
- Всегда обновляйте WordPress и все плагины до последних версий, чтобы в них были устранены все известные уязвимости.
- Если вы узнали о потенциальной не исправленной уязвимости в каком-либо плагине, который установлен на вашем сайте, предпочтите удалить его и заменить на аналогичный по функциям. Просто отключить такой плагин нельзя — он по-прежнему будет уязвим.
- Всегда заходите в админ. панель вашего сайта с компьютера, имеющего хороший работающий антивирус и из безопасного места. Не открывайте админку сайта с общедоступного интернета в торговых центрах, кафе и т.д. Ваш пароль могут похитить. А с зараженного вирусами компьютера пароль могут перехватить кейлоггеры и т. д.
- Никому не сообщайте и нигде не указывайте данные административного входа на ваш сайт. Даже если к вам на почту пришло письмо якобы от хостинга с требованием предоставить какие-либо данные по сайту, пароль от базы данных и т. д. Это мошенники. Хостер не будет просить у вас эти данные.
- Если вам стало известно, что ваш хостинг имеет уязвимые места, если не может обеспечить серверную безопасность — меняйте хостинг без раздумий.
Действуйте обдуманно и ваш сайт будет надежно защищен. И помните: всегда нужно иметь полную резервную копию сайта (файлы + база данных).
Поделитесь этой записью с друзьями, буду благодарен!
Попробую заменить имеющийся у меня WP Security Scan на этот, все равно там все по английски, а здесь хоть что-то рассказано.
Установил и голову почесал... Из 21 пункта у меня только 4 зеленого цвета, есть над чем поработать.
Объясните, чем резервная копия сайта, создаваемая с помощью плагина, отличается от создаваемой в админке wordpress?
Плагин создает резервную копию только базы данных. При этом файлы не копируются.
Если же использовать плагины для резервного копирования, например, Duplicator, создается резервная копия базы данных и файлов тоже. Потому лучше делать бекап специализированными плагинами
Попытался что-то исправить и сразу столкнулся с непонятками. Кликнул — нажмите, чтоб исправить уже по 1 пункту и пришел к «Включить применение надежных паролей
Enforce strong passwords for all users with at least the role specified below.
Strong Password Role
Minimum role at which a user must choose a strong password. For more information on WordPress roles and capabilities please see codex.wordpress.org/Roles_and_Capabilities.
Warning: If your site invites public registrations setting the role too low may annoy your members.»
Абсолютно не понятно, ЧТО ДЕЛАТЬ?
Было бы не плохо, если бы Вы, как специалист, расшифровали в продолжении к этой статье, что делать или не делать по каждому из 21 пунктов.
А кстати в школе Твой старт учили, что логин admin в админке wordpress нельзя исправить, но ведь есть способы сделать это?
Можете менять логин с помощью плагина Better WP Security. Плюс вот инфо:
Логин администратора создается при установке сайта. Конечно же лучше задать иной логин еще в процессе установки, однако изменить его можно:
1) Способ на любителя — исправления вносят в базу данных. Тут нужно точно понимать, что делаете, иначе можете испортить базу. Оставим этот способ для тех, кто имеет опыт.
2) Способ простой и надежный: создаем нового пользователя. Для этого в админ. панели WordPress заходит в «Пользователи» --> «Добавить нового». Указываем личные данные. Роль — администратор.
* Прежде рекомендую изменить email и пользователя admin, чтоб можно было использовать Ваш email для нового пользователя.
Все, новый администратор создан, пользуйтесь им. Когда Вы авторизовались под ником нового юзера — можете удалить или понизить в звании пользователя admin
Класс! Раз, два и логин с ID админа уже изменены, прям чудеса, просто потыкал кнопочки и готово!
Ну вот, 11 из 21 п.п. зазеленели. Остальные боюсь трогать, чтоб не получить не понятной мне реакции, т.к. с автопереводом далеко не все до конца ясно, что делается и не ясно к чему ведет
Оранжевыми остались только 1 и 9 пункты, остальные синие и зеленые. Подскажите, как исправить эти пункты?
По первому пункту достаточно убедиться, что Ваш пароль надежен. У Вас ведь нет других админов и редакторов? Если бы были, то нужно было бы включить им надежные пароли.
Пункт 9 — блокировка плохих хостов и хакерских инструментов браузеров. Для этого в админ. панели нажмите «Безопасность», перейдете в плагин Better WP Security и там Нажмите на вкладку Ban (Блокировка пользователей).
Теперь автоматически добавим блокировку всего нежелательного: выберем чекбокс Enable Default Banned List и нажмем кнопку Add Host and Agent Blacklist
Не забываем сохранить изменения нажатием соответствующей кнопки.
Теперь получилось все как надо, и Ваши ответы появились наконец на сайте.
Отличная идея на счет расшифровки пунктов — сделаю.
Strong Password Role. В системе WordPress у пользователей есть роли, ну или права доступа на сайте — администратор, редактор, читатель, можно создавать другие.
Выведенное Вам сообщение предлагает указать, начиная с какой роли (с какого уровня доступа) пользователей заставят делать их пароли надежными (много символов, сочетание букв и цифр и т.д.).
Далее Warning — предупреждение: если Вы сделаете надежные пароли для регистрации простых пользователей (доступ уровня public), то многие из них просто не закончат регистрацию — их будет раздражать, что нельзя поставить простой пароль.
Общая рекомендация — либо ставить данную опцию только админам сайта и редакторам, либо (если Вы один имеете административный доступ) — не включать опцию, а просто вручную изменить свой пароль на сложный и надежный.
У меня при входе в админ панель такая проблема
выдает ошибку:
ОШИБКА: Cookies либо заблокированы, либо не поддерживаются вашим браузером. Чтобы использовать WordPress, нужно разрешить cookies.
Все перепробовал, не помогает :(
А какой у вас браузер? Включены ли в нем cookies? Не активирован ли анонимный режим? Может какие-то прокси-серверы подключены?
Здравствуйте.
у меня тоже проблема с куками.
дело именно в сайте. с нескольких компов, браузеров пробовали.
все форумы уже облазил.
нашел, что две основные проблемы. кодировка UTF-8 (с BOM), либо конфликт плагинов.
все файлы проверил, нет файлов с неправильной кодировкой.
мне отдали сайт на исправление. я не знаю, что туда последнее ставили, из-за чего может быть конфликт плагинов. БЭКапа нету.
что делать?
неужели придется собирать сайт заново?!
Если конфликт плагинов — это легко проверить:
1) Сделайте бекап того, что есть сейчас
2) поочередно отключайте плагины и смотрите, исчезнет ли ошибка
3) Если на отключении определенного плагина ошибка исчезла — все, он найден. Нужно думать о его замене на аналогичный, но не конфликтующий.
Теперь этот плагин называется iThemes Security. Но он действительно Best.
Специально для этого плагина мы (fackers.ru) публикуем ежедневный список IP адресов, с которых зафиксированы попытки подбора паролей к сайтам на WordPress, но эти IP еще не включены в базу данных iThemes Security. Поэтому, его можно просто добавить в поле: Ban Hosts не дожидаясь, пока Ваш Сайт / Блог тоже начнут пытаться ломать.
Можно бесплатно скачать полный накопительный файл для Ban Hosts для iThemes Security.
Было замечено, что эти IP «набрасываются» практически на все вновь созданные сайты на WordPress буквально, в первые часы после установки. Поэтому, плагин iThemes Security имеет смысл устанавливать самым первым из всех.
Но ведь IP-адресов может быть сколько угодно много, особенно при работе через прокси-серверы...Есть ли какая-то альтернатива регулярному пополнению файла Ban Hosts?
Ну прелесть плагина iThemes Security в том, что особо активные IP (и целые под-сети в том числе) он автоматически добавляет в свои базы и затем отсекает их от Вашего сайта. Вы даже этого не замечаете, если не считая, что вам приходит отчет о количестве заблокированных именно для Вас попыток. А всякие начинающие кул-хацкеры имеют все же ограниченные ресурсы как технические, так и финансовые и интеллектуальные.
Поэтому, на мой взгляд все же лучше иметь доп. защиту от пары сотен IP, чем не иметь. Можно сделать автоматическое обновление по расписанию. Но опять же — если мы говорим о собственной безопасности, то все таки правильнее будет самому просмотреть глазами, что ты добавляешь. И одно дело — в поле Ban Host, а другое дело — позволить некоему (даже вполне уважаемому ресурсу) что-то автоматом прописывать в файл .htaccess
Да. у сожалению, на безопасность приходится тратить все больше времени. Такие времена.