- Защищаем свой сайт на WordPress
- Защищаем свой сайт на WordPress. Продолжение
- Безопасность WordPress. Работаем в phpMySQL
- Защищаем наш сайт на WordPress. Права на запись файлов и папок
- Дополнительная защита от взлома
Я не очень давно начал серию статей на тему безопасности и зашиты нашего сайта на WordPress. И уже три раза за это время мне прислали читатели письма, в которых поделились своими проблемами.
Первый случай был не очень серьезный. Читатель не делал регулярное архивирование своей базы данных. В один “прекрасный” момент хостер обновил свои сервера и у читателя “слетела” его БД. После неоднократных обращений в службу поддержки ему скинули полностью архивированный сайт (все файлы и папки домена) и он долго пытался разобраться, где и что там лежит. Писал по этому поводу мне. Надеюсь, мои подсказки ему помогли.
Второй случай. Каким-то образом после обновления серверов хостером в базе данных читателя изменились префиксы таблиц и, соответственно, он не мог запустить свой сайт. Хорошо, что догадался написать мне. Я объяснил ему, как вернуть старый префикс в таблицы. Сайт он смог восстановить.
Третий случай, самый свежий и самый тяжелый, хотя – решился довольно легко. Сайт был атакован хакерами. Первая, главная страница сайта превратилась вот в такую (специально сохранил, чтобы вам показать):
Читатель тоже не делал бэкап. Доступа в адин-панель WordPress у него не стало. Обратился в техподдержку. Ему ответили, что его сайт – не единичный, был массовый взлом сайтов (не знаю только, все сайты на WP были или нет). Восстановится получилось довольно легко. Через FTP – соединение читатель удалил файл шаблона index.php и заменил его “родным”. Все заработало. Таким образом, «хакеры” только подменили основной файл шаблона и больше (ура!) ничего не тронули.
Ну что, примеров достаточно, или продолжать?
Свежих пока нет. Но я вас еще немного попугаю, и продолжу свои описания вариантов защиты сайта.
Многие из вас, наверное, большинство, после установки файлов инсталляции WordPress, установки шаблона и основных плагинов, на этом успокаиваются и довольные продолжают работать, забывая о том, что есть еще один важный шаг, которым надо было закончить установку Вордпресс на удаленном сервере. Шаг этот я хочу назвать так: установка прав доступа к файлам и папкам домена.
Наверное, вы слышали о такой команде как CHMOD. Не буду “грузить” вас сложными терминами, скажу коротко: тот, кто является владельцем (администратором) сайта, может управлять правами на запись, чтение, изменение файлов и доступ ко всем папкам домена. А значит, что если кроме вас этими правами сможет обладать кто-то посторонний, считайте, что через некоторое время вы просто лишитесь своего сайта.
Поэтому, после того, как вы установили Вордпресс, шаблон, плагины, какие-то скрипты и планируете начать работать, сделайте еще один правильный и нужный шаг: установите правильные права на все папки и файлы вашего WordPress. Вы спросите – как? Какие права? Где это надо сделать?
Я могу вам сейчас прочесть целую лекцию по сетевым протоколам, и правилам сетевой безопасности. Но! Спасибо разработчикам плагинов для WordPress! Оказывается, есть один довольно простой плагин, который нам поможет все сделать быстро, правильно, и не вникая во все премудрости сетевой безопасности.
Плагин называется – WP Security Scan.
Вы можете скачать его у меня:
Плагин WP Security Scan (145,5 KiB, 333 скачиваний)
Плагин устанавливается стандартным способом. После активации плагина в разделе Настройки появится страница Security:
Давайте ее рассмотрим по порядку. На странице Security вы увидите основные характеристики вашего хостинга (справа), а также анализ сканирования вашего WordPress: версия, префикс таблиц, а также некоторые предупреждения (выделяются красным, слева):
Теперь давайте перейдем к следующей странице – Scanner. здесь вы увидите примерно такую табличку (я специально изменил права на некоторые файлы и папки, что бы вам было понятно):
Все очень просто. Слева вы видите путь ваших папок и файлов в директории сайта WordPress (имена папок и файлов –> директории). Красным цветом выделены те папки и файлы, чьи права на управление выставлены не корректно. Колонка Needed Chmod – это такие права на управление надо поставить, колонка Current Chmod – такие права на управление у вас стоят сейчас.
Для управления правами на папки и файлы нужна программа доступа к папкам и файлам хостинга. Лучше всего для этого подходит программа FileZilla. Она на русском языке, бесплатно распространяется, очень удобная и понятная. Знаю, что многие ею не пользуются по причине, что даже не слышали о такой. Вот ссылка на русскую поддержку этой программы – www.filezilla.ru. Там же вы найдете удобную документацию по установке, настройке и использованию этой программы.
Она как раз и служит для FTP – соединения с доменом. Дальше я буду рассказывать о том, как сменить права на запись папок и файлов именно в этой программе.
Открываете ваш сайт (после того, как настроите соединение) и увидите примерно следующее:
Плагин мне подсказал, что основная директория сайта (root directory) у меня имеет права 750, а надо поставить 755. На скриншоте выше я отметил красной стрелкой эту директорию, у меня она называется public_html. У вас – может быть www или еще как-то. Отмечаю курсором эту папку, кликаю правой кнопкой мышки и вижу такую команду (самая нижняя) – Права доступа к файлу…:
Меняю число 750 на 755. Нажимаю ОК. Права доступа изменились:
И так я делаю с остальными папками и файлами, которые мне “честно” показал плагин WP Security Scan. После того, как я изменил все права на правильные, вернулся на страницу Scanner и обновил ее. Теперь в таблице нет ни одной красной предупреждающей строки. Все папки и файлы имеют корректные, правильные права на запись и управление:
Переходим на следующую страницу плагина – Password Tool. Здесь плагин предлагает сменить ваш пароль. Я вам советую это делать не здесь, а на странице Ваш профиль в разделе Пользователи.
Следующая страница плагина – очень интересная. Называется Database. Здесь плагин предложит вам сменить префикс ваших таблиц в базе данных.
Совет! Не стоит это делать здесь. Это раз. Два – если вы все-таки захотите это сделать, сначала сделайте архив базы данных.
Что такое префикс таблиц – объяснять не буду. Скажу только, что все таблицы WordPress имеют одинаковый префикс в имени, а именно wp_ (две буквы c подстрочником). Все. На всех сайтах. И это – очень уязвимое место. Если хакер захочет – он с легкостью взломает вашу базу данных. Поэтому, в следующей статье я расскажу вам, как можно сменить префиксы таблиц в ваших таблицах.
А пока скачайте плагин и сделайте то, о чем я вам здесь рассказал.
Удачи!
Будут вопросы, отзывы, советы – пишите в комментариях.
Хотите следить за новыми публикациями на моем сайте – подпишитесь на RSS ленту.
Мой блог находят по следующим фразам
- шаблон на тему кино для вордпресс
- wp_page_numbers настройка
- cкачать point blank шаблон
- шаблон для wordpress cinema
- как сделать надпись modern warfare в фотошопе
Прислушалась к Вашим советам, но так и не смогла установить подключение к серверу, выдаёт критическую ошибку и невозможность подключиться к серверу, документация почему-то не на русском языке. Подскажите, что я делаю не так?
Каким FTP-клиентом вы пользуетесь?
Спасибо огромное за статью, где все очень конкретно пошагово прописано!
Выставила пока права, которые рекомендует плагин.
Кроме wp_ и admin, что уже ясно из статьи в нем менять не надо, прописывает красным:
The file .htaccess does not exist in the wp-admin section. Read more why you should have a .htaccess file in the WP-admin area here.
Что это такое и что делать, если нужно?
Если у вас папка wp-admin светит красным, значит, надо изменить права на запись. Файл .htaccess трогать не советую.
Они там все с таким префиксом… wp_ Как братья-близнецы. Есть способы отличить Собственно WP таблицу от плагина? Некоторые я могу угадать логически по названию, но не все…
И еще… Как Вы считаете, насколько стабильна и корректна последняя версия WP (3.2.1) сейчас? Есть смысл ее устанавливать или лучше подождать еще? Первая инсталляция,мягко говоря, г… Пришлось бежать назад к 3.1.3, забывая по пути, как страшный сон, обновление.
Заранее благодарю за ответ!
Читайте внимательно предыдущий ответ.
Последняя версия у меня стоит более чем на десяти сайтах. Вопросов нет.
Cпасибо! Рациональный ответ. Т.е., «точка зрения» плагина — не единственно верная, и если мои настройки не мешают работе сайта, то я могу игнорировать любые предупреждения. Так?
А оптимальные рекомендации имеются? К примеру: Значение при максимальной защите и неизменности функциональных возможностей.
И еще вопрос. В конце поста у Вас указан анонс на способ смены префикса таблиц, но нет ссылки на него. Подскажите, пожалуйста, где я могу его прочитать?!
А также: Если я сменю префиксы таблиц БД какие проблемы с обновлением плагинов и CMS могут возникнуть? К каким проблемам автоматом готовиться?!
Заранее благодарю за ответ!
точка зрения плагина – не единственно верная….
Как и все в этой жизни — имеет место как минимум два варианта решения.
Лучше — максимальная защита.
На счет смены префикса — так и не дошли руки рассказать в деталях, спасибо, что напомнили мне еще раз, обязательно напишу.
Смена префиксов к проблемам не приведет, вам надо внимательно смотреть, в каких таблицах вам надо сменить. Только в таблицах самого Вордпресс, так как некоторые плагины создают свои таблицы, и такие таблицы всегда имеют немного другой префикс. Все таблицы Вордпресс имеют префикс wp_.
Здравствуйте!
Что-то ответ на последний комментарий озадачил… В посте Вы рекомендуете довериться плагину, и заменить права по умолчанию на его значения… а в комментариях этого делать не советуете… Объясните, пожалуйста!
755 — это уровень прав, когда у вас открыты публичные права на выполнение той или иной команды файлов, 750 — эти права закрыты. Значит, урочень 750 — более безопасный, но если у вас есть исполняемые файлы, которые должны быть доступны посетителям — эти права должны быть открыты.
Каждый сайт — это свой уровень прав админа и посетителей. Поэтому подходите к настройкам обосновано. Если плагин предлагает поставить так — поставьте. Если знакомы с сетевыми настройками и считаете свои права на запись правильными — оставьте так.
Я только не понял одного: почему на такие папки как wp/admin wp/content и еще много других, этот плагин рекомендует выставляь права 755 По умолчанию у меня установлено 750. неужели нужно изменять их?
Думаю, не стоит
Таки нашел плагин в одном блоге, что неправильно стоят права на основную директорию сайта (root directory) у меня 777, а надо 755. Исправила, за что большое спасибо Вам и плагину!
Все проверила, красных строчек нет, пароль и префикс таблиц менять не стала. А что это он всем сменить пароль предлагает?
И еще вопрос, теперь плагин можн деактивировать? Или есть смысл оставить активным?
Можно, но не удаляйте, через какое-то время повторно активируйте и все проверьте еще раз… На всякий случай…
Этот плагин работает в третьей версии вордпресс?
не знаю, не проверял
щас проверю
проверил…все работает
Статья полезная, нужная. Особенно про то, что НЕ СТОИТ ЭТИМ ПЛАГИНОМ МЕНЯТЬ ПРЕФИКС wp_. У Вас не было свежих примеров?! Пожалуйста! Буквально 10 мин. назад прочитал на всеми известном Shakin-ru про этот плагин. И там он предлагает воспользоваться такой возможностью, как смена префикса с помощью плагина WP Security Scan. И я ему поверил… Не виноват он в своих советах? Не знаю. Но я в ауте!!! Может подскажете, как вырулить ситуацию и вернуть все на место. BackUp имеется, но что-то не получается.
P.S. А так плагин хороший, наверное.
Shakin дает такие советы?! Вот вам и ответ на некоторые сетевые разговоры о спецах… Мне иногда в «пику» то его, то других «умных» специалистов приводят…
Я всегда и всем советую — ничего не надо делать автоматически. Этот плагин хорош только тем, что показывает неправильные права на все папки вашего сайта, и показывает, какие надо поставить правильно. В остальном он не нужен. Я так и написал.
А что касается префикса:
Откройте phpMyAdmin, откройте базу данных, слева у вас — список таблиц, нажмите на первую в списке, затем вверху в меню нажмите Операции, в открывшемся меню найдите окно — Переименовать таблицу в … и ниже — имя таблицы с префиксом. Меняете префикс на старый, нажимаете кнопку — Пошел.
Я привожу пример на Денвере, там стоит phpMyAdmin 2.6.1, возможно, что на удаленном сервере ваш phpMyAdmin выглядит по-другому. Но главное вы должны запомнить: откройте БД -> выберите таблицу -> нажмите в меню Операции -> найдите окно Переименовать таблицу -> переименуйте -> нажмите Пошел.
И напишите, как получится.
Добрый день.Статья полезная и очень своевременная.Третий случай как раз и произошёл с моим сайтом http://vlad.arvixe.ru/.После этого случая перечитал много статей по взлому сайтов,просмотрел видеоролики. Вывод для себя сделал -взломать могут любой сайт,но меры по предотвращению попыток взлома принимать нужно.Олег спасибо за полезную статью.