Как предотвратить изменение WordPress прав доступа .htaccess на 444

28 апр. 2015 г., 12:35:32
Просмотры: 26.8K
Голосов: 5

Я установил свой сайт с помощью установщика - fantastico для быстрой установки.

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

Сообщение об ошибке w3tc

Я обнаружил, что права доступа для htaccess были изменены на 444

Сколько бы раз я не пытался изменить их вручную, они становятся 444 через некоторое время (примерно через 30 секунд или если я что-то делаю в панели управления WordPress)

права доступа установлены на 444 :(

На некоторое время мне удается переписать правила, но затем файл возвращается к тому, что вы видите ниже:

htaccess возвращается к этому

У меня shared хостинг от Hostgator.

Есть ли способ побороть эту проблему?

Редактирование: Я также пробовал добавлять данные FTP в мой wp-config. Не помогло

5
Комментарии

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

cybmeta cybmeta
28 апр. 2015 г. 12:46:14

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

Anon Anon
28 апр. 2015 г. 12:48:54

Похоже, WordPress использует функцию insert_with_markers() для создания файла .htaccess через @fopen( $filename, 'w' ), но я не вижу вызова chmod() для этого файла в ядре.

birgire birgire
28 апр. 2015 г. 12:49:04

Есть ли способ остановить это (автоматически) без отключения доступа плагинов к файлу .htaccess?

Anon Anon
28 апр. 2015 г. 12:57:14

Похоже, проблема именно с кэширующими плагинами на этом сайте. Я отключил w3 total cache и включил super cache, но проблема вернулась, как только я включил mod_rewrite в super cache.

Anon Anon
10 мая 2015 г. 10:40:30
Все ответы на вопрос 2
0
11

Ваш сайт, скорее всего, взломали. На моем сайте была инфекция Darkleech, которая внедрила вредоносный код в файл wp-includes/nav-menu.php, из-за чего .htaccess сбрасывался в режим 444 при каждой загрузке страницы.

Я рекомендую установить плагин Sucuri и позволить ему восстановить все поврежденные файлы. Если ваш сайт был взломан, используйте вкладку "Post-Hack" для сброса плагинов, паролей и ключей. Также проверьте, не был ли создан другой пользователь с правами администратора. Вкладка "Hardening" поможет максимально усилить защиту. Дополнительно можно установить Wordfence для повышения безопасности.

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

16 июн. 2015 г. 01:08:10
3

@David, ты прав насчёт файла wp-includes/nav-menu.php. Я нашёл и удалил его там, но это не помогло.

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

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

  1. Как можно быстрее переведите сайт в оффлайн и измените права доступа к папке сайта на 600
  2. Переименуйте папку сайта (public_html или имя вашего домена) во что-то другое и создайте новую папку с оригинальным именем. Поместите в неё файл с названием .maintenance — это переведёт сайт в режим техобслуживания. Вы можете использовать любой HTML-код в файле .maintenance.
  3. Скачайте WordPress. Убедитесь, что загружаете подходящую версию. Версию текущей установки WordPress можно узнать, посмотрев номер версии в файле /readme.html (не рекомендуется оставлять этот файл).
  4. Удалите следующие директории: wp-includes и wp-admin, затем замените их папками из только что скачанной версии WordPress. Это очистит основные файлы. Важно именно удалить эти папки, а не объединить их, так как объединение не избавит от файлов, не входящих в ядро WordPress.

  5. В корневой директории удалите все файлы, кроме wp-config.php.

  6. Замените их файлами из свежей загрузки WordPress.
  7. Переименуйте оригинальную папку обратно в её исходное имя.

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

Также я использую Wordfence, Sucuri и Cloudflare для дополнительных уровней защиты.

Надеюсь, это поможет тем, кто столкнулся с подобной проблемой.

Ресурсы: http://oziti.com.au/case-study/wp-security-removing-wordpress-backdoor

16 июн. 2015 г. 09:28:54
Комментарии

Я считаю, что все эти шаги Sucuri может эффективно выполнить за вас одним нажатием кнопки.

David David
3 июл. 2015 г. 09:05:52

@David и как ты это сделаешь, если у тебя нет доступа к админке WordPress? :P

Rodrigo D'Agostino Rodrigo D'Agostino
18 дек. 2020 г. 19:08:34

@Rodrigo Ха, если у тебя нет доступа к админке WordPress, то у тебя на сайте проблемы посерьёзнее, чем эта!

David David
19 дек. 2020 г. 21:40:59