Защищаем наш сайт на WordPress. Права на запись файлов и папок

Эта запись 3 из 4 в серии Защищаем наш сайт

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

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

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

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

54 Читатель тоже не делал бэкап. Доступа в адин-панель WordPress у него не стало. Обратился в техподдержку. Ему ответили, что его сайт – не единичный, был массовый взлом сайтов (не знаю только, все сайты на WP были или нет). Восстановится получилось довольно легко. Через FTP – соединение читатель удалил файл шаблона index.php и заменил его “родным”. Все заработало. Таким образом, «хакеры” только подменили основной файл шаблона и больше (ура!) ничего не тронули.

Ну что, примеров достаточно, или продолжать?

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

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

Наверное, вы слышали о такой команде как CHMOD. Не буду “грузить” вас сложными терминами, скажу коротко: тот, кто является владельцем (администратором) сайта, может управлять правами на запись, чтение, изменение файлов и доступ ко всем папкам домена. А значит, что если кроме вас этими правами сможет обладать кто-то посторонний, считайте, что через некоторое время вы просто лишитесь своего сайта.

Поэтому, после того, как вы установили Вордпресс, шаблон, плагины, какие-то скрипты и планируете начать работать, сделайте еще один правильный и нужный шаг: установите правильные права на все папки и файлы вашего WordPress. Вы спросите – как? Какие права? Где это надо сделать?

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

Плагин называется – WP Security Scan.

Вы можете скачать его у меня:

Плагин устанавливается стандартным способом. После активации плагина в разделе Настройки появится страница Security:

55 Давайте ее рассмотрим по порядку. На странице Security вы увидите основные характеристики вашего хостинга (справа), а также анализ сканирования вашего WordPress: версия, префикс таблиц, а также некоторые предупреждения (выделяются красным, слева):

56 Теперь давайте перейдем к следующей странице – Scanner. здесь вы увидите примерно такую табличку (я специально изменил права на некоторые файлы и папки, что бы вам было понятно):

57

Все очень просто. Слева вы видите путь ваших папок и файлов в директории сайта WordPress (имена папок и файлов –> директории). Красным цветом выделены те папки и файлы, чьи права на управление выставлены не корректно. Колонка Needed Chmod – это такие права на управление надо поставить, колонка Current Chmod – такие права на управление у вас стоят сейчас.

Для управления правами на папки и файлы нужна программа доступа к папкам и файлам хостинга. Лучше всего для этого подходит программа FileZilla. Она на русском языке, бесплатно распространяется, очень удобная и понятная. Знаю, что многие ею не пользуются по причине, что даже не слышали о такой. Вот ссылка на русскую поддержку этой программы – www.filezilla.ru. Там же вы найдете удобную документацию по установке, настройке и использованию этой программы.

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

Открываете ваш сайт (после того, как настроите соединение) и увидите примерно следующее:

58 Плагин мне подсказал, что основная директория сайта (root directory) у меня имеет права 750, а надо поставить 755. На скриншоте выше я отметил красной стрелкой эту директорию, у меня она называется public_html. У вас – может быть www или еще как-то. Отмечаю курсором эту папку, кликаю правой кнопкой мышки и вижу такую команду (самая нижняя) – Права доступа к файлу…:

59 Открываю окно, вижу:

60

Меняю число 750 на 755. Нажимаю ОК. Права доступа изменились:

61 И так я делаю с остальными папками и файлами, которые мне “честно” показал плагин WP Security Scan. После того, как я изменил все права на правильные, вернулся на страницу Scanner и обновил ее. Теперь в таблице нет ни одной красной предупреждающей строки. Все папки и файлы имеют корректные, правильные права на запись и управление:

62 Переходим на следующую страницу плагина – Password Tool. Здесь плагин предлагает сменить ваш пароль. Я вам советую это делать не здесь, а на странице Ваш профиль в разделе Пользователи.

Следующая страница плагина – очень интересная. Называется Database. Здесь плагин предложит вам сменить префикс ваших таблиц в базе данных.

Совет! Не стоит это делать здесь. Это раз. Два – если вы все-таки захотите это сделать, сначала сделайте архив базы данных.

Что такое префикс таблиц – объяснять не буду. Скажу только, что все таблицы WordPress имеют одинаковый префикс в имени, а именно wp_ (две буквы c подстрочником). Все. На всех сайтах. И это – очень уязвимое место. Если хакер захочет – он с легкостью взломает вашу базу данных. Поэтому, в следующей статье я расскажу вам, как можно сменить префиксы таблиц в ваших таблицах.

А пока скачайте плагин и сделайте то, о чем я вам здесь рассказал.

Удачи!

Будут вопросы, отзывы, советы – пишите в комментариях.

vetriks.ru — msdn aa developer условия приобретения. Здесь вы можете подробно прочесть о уникальной программе Microsoft для учебных заведений, которая может позволить за минимальную стоимость использовать широкий набор программных продуктов. Очень интересное предложение.


Понравилась статья? Поделись с друзьями!

44 коммент.

  1. Добрый день! Подскажите, плиз, в чем ошибка, если не получается редактировать в админке шаблоны. Пишет: Чтобы сохранить изменения, нужно сделать этот файл доступным для записи. Дополнительную информацию можно получить в Кодексе.
    проверила все права — все в полном порядке. WP-security-scan мне это тоже подтвердил. В чем может быть еще причина?

    Ответить
    • В настройках вашего сервера. Напишите в саппорт хостинга этот вопрос — возможно, помогут. Но из опыта знаю — не всегда идут навстречу.

      Ответить
      • Сервер арендуемый. Но мой админ не знаком с cms вообще. Говорит, что нет номера ошибки, не понятно что править. У вас есть понимание, в чем может быть причина? Когда-нибудь с таким сталкивались?

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

    Ответить
    • Существуют общие правила для всех сайтов:

      • Все папки, включая основную директорию — 755. Обычно стоят по умолчанию при установке системы WordPress.
      • Для основной (у меня она называется public_html) лично я поменял на 751.
      • Для папки wp-content/uploads/ и всех внутренних в этой папке надо ставить 777.
      • Если ваша активная тема использует папку /cache (если в теме есть скрипт timthumb.php) — для нее выставляются права 777.
      • Все файлы формата PHP должны иметь права — 644.

      На локальном сервере, на вашем компьютере, под управлением пакета Денвер, и если у вас стоит ОС Windows, никаких прав выставлять не надо.
      Права на запись — это чисто Линуксовское изобретение.

      Ответить
  3. Здравствуйте! Мне нужна Ваша помощь. Я ещё совсем чайник в сайтостроении. У меня на сайте вчера появилась чужая реклама, на боковой колонке, подскажите где её найти, удалить и сделать так, что бы такого безобразия больше не повторилось.

    Ответить
        • пришлите мне на ovlasov49@gmail.com доступ в консоль с правами администратора, чтобы я мог посмотреть через редактор файлы вашего шаблона.
          Похоже, у вас нет никакой защиты и вам закинули шифрованный код PHP с ссылкой.

          Ответить
  4. У меня вопрос не по теме.
    Подскажите что является основой открытия скриншотов при нажатии мышкой?

    Ответить
    • Скриншот — это моментально сделанный снимок экрана монитора. Что значит — открытие скриншота при нажатии мышкой?
      Любой снимок (изображение) может быть открыто в отдельном окне браузера при условии правильной настройки ссылки на изображение и работы вашего браузера.

      Ответить
  5. Прислушалась к Вашим советам, но так и не смогла установить подключение к серверу, выдаёт
    Приймається рішення стосовно адреси для localhost
    Статус: Під’єднання до 127.0.0.1:3306…
    Статус: Невдала спроба під’єднання з «ECONNREFUSED — Connection refused by server».
    Помилка: Неможливо під’єднатися до серверу

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

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

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

    Ответить
  7. Спасибо огромное за статью, где все очень конкретно пошагово прописано!
    Выставила пока права, которые рекомендует плагин.
    Кроме 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 трогать не советую.

      Ответить
      • 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.

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

        Ответить
  8. Они там все с таким префиксом… wp_ Как братья-близнецы. Есть способы отличить Собственно WP таблицу от плагина? Некоторые я могу угадать логически по названию, но не все…

    И еще… Как Вы считаете, насколько стабильна и корректна последняя версия WP (3.2.1) сейчас? Есть смысл ее устанавливать или лучше подождать еще? Первая инсталляция,мягко говоря, г… Пришлось бежать назад к 3.1.3, забывая по пути, как страшный сон, обновление.

    Заранее благодарю за ответ!

    Ответить
    • Читайте внимательно предыдущий ответ.
      Последняя версия у меня стоит более чем на десяти сайтах. Вопросов нет.

      Ответить
  9. Cпасибо! Рациональный ответ. Т.е., «точка зрения» плагина — не единственно верная, и если мои настройки не мешают работе сайта, то я могу игнорировать любые предупреждения. Так?

    А оптимальные рекомендации имеются? К примеру: Значение при максимальной защите и неизменности функциональных возможностей.

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

    А также: Если я сменю префиксы таблиц БД какие проблемы с обновлением плагинов и CMS могут возникнуть? К каким проблемам автоматом готовиться?!

    Заранее благодарю за ответ!

    Ответить
    • точка зрения плагина – не единственно верная….
      Как и все в этой жизни — имеет место как минимум два варианта решения.
      Лучше — максимальная защита.
      На счет смены префикса — так и не дошли руки рассказать в деталях, спасибо, что напомнили мне еще раз, обязательно напишу.
      Смена префиксов к проблемам не приведет, вам надо внимательно смотреть, в каких таблицах вам надо сменить. Только в таблицах самого Вордпресс, так как некоторые плагины создают свои таблицы, и такие таблицы всегда имеют немного другой префикс. Все таблицы Вордпресс имеют префикс wp_.

      Ответить
  10. Здравствуйте!

    Что-то ответ на последний комментарий озадачил… В посте Вы рекомендуете довериться плагину, и заменить права по умолчанию на его значения… а в комментариях этого делать не советуете… Объясните, пожалуйста!

    Ответить
    • 755 — это уровень прав, когда у вас открыты публичные права на выполнение той или иной команды файлов, 750 — эти права закрыты. Значит, урочень 750 — более безопасный, но если у вас есть исполняемые файлы, которые должны быть доступны посетителям — эти права должны быть открыты.
      Каждый сайт — это свой уровень прав админа и посетителей. Поэтому подходите к настройкам обосновано. Если плагин предлагает поставить так — поставьте. Если знакомы с сетевыми настройками и считаете свои права на запись правильными — оставьте так.

      Ответить
  11. Я только не понял одного: почему на такие папки как wp/admin wp/content и еще много других, этот плагин рекомендует выставляь права 755 По умолчанию у меня установлено 750. неужели нужно изменять их?

    Ответить
  12. Таки нашел плагин в одном блоге, что неправильно стоят права на основную директорию сайта (root directory) у меня 777, а надо 755. Исправила, за что большое спасибо Вам и плагину!

    Ответить
  13. Все проверила, красных строчек нет, пароль и префикс таблиц менять не стала. А что это он всем сменить пароль предлагает?
    И еще вопрос, теперь плагин можн деактивировать? Или есть смысл оставить активным?

    Ответить
    • Можно, но не удаляйте, через какое-то время повторно активируйте и все проверьте еще раз… На всякий случай…

      Ответить
  14. Статья полезная, нужная. Особенно про то, что НЕ СТОИТ ЭТИМ ПЛАГИНОМ МЕНЯТЬ ПРЕФИКС wp_. У Вас не было свежих примеров?! Пожалуйста! Буквально 10 мин. назад прочитал на всеми известном Shakin-ru про этот плагин. И там он предлагает воспользоваться такой возможностью, как смена префикса с помощью плагина WP Security Scan. И я ему поверил… Не виноват он в своих советах? Не знаю. Но я в ауте!!! Может подскажете, как вырулить ситуацию и вернуть все на место. BackUp имеется, но что-то не получается.
    P.S. А так плагин хороший, наверное.

    Ответить
    • Shakin дает такие советы?! Вот вам и ответ на некоторые сетевые разговоры о спецах… Мне иногда в «пику» то его, то других «умных» специалистов приводят…
      Я всегда и всем советую — ничего не надо делать автоматически. Этот плагин хорош только тем, что показывает неправильные права на все папки вашего сайта, и показывает, какие надо поставить правильно. В остальном он не нужен. Я так и написал.
      А что касается префикса:
      Откройте phpMyAdmin, откройте базу данных, слева у вас — список таблиц, нажмите на первую в списке, затем вверху в меню нажмите Операции, в открывшемся меню найдите окно — Переименовать таблицу в … и ниже — имя таблицы с префиксом. Меняете префикс на старый, нажимаете кнопку — Пошел.
      Я привожу пример на Денвере, там стоит phpMyAdmin 2.6.1, возможно, что на удаленном сервере ваш phpMyAdmin выглядит по-другому. Но главное вы должны запомнить: откройте БД -> выберите таблицу -> нажмите в меню Операции -> найдите окно Переименовать таблицу -> переименуйте -> нажмите Пошел.
      И напишите, как получится.

      Ответить
  15. Добрый день.Статья полезная и очень своевременная.Третий случай как раз и произошёл с моим сайтом .После этого случая перечитал много статей по взлому сайтов,просмотрел видеоролики. Вывод для себя сделал -взломать могут любой сайт,но меры по предотвращению попыток взлома принимать нужно.Олег спасибо за полезную статью.

    Ответить

Добавить комментарий