Вернуться   Форум об интернет-маркетинге > >
Ответ
 
Опции темы
Старый 31.01.2011, 23:01   #1
Хостер
 
Аватар для babiy
 
Регистрация: 06.06.2009
Адрес: Москва
Сообщений: 409
Репутация: 20514
Отправить сообщение для babiy с помощью ICQ

Exclamation phpshell и защита от него!

Здравствуйте Уважаемые админы!

Столкнулся с такой проблемой, на шеред сервере (ОС Centos 5.5 , Apache2 как mod-itk, php5) начали периодически появлятся дорвеи в папках сайтов клиентов, а в некоторых папках проявлялись саповские ссылки, начал копаться в логах фтп и как не странно выяснил что лилось всё это добро по фтп и как правило с апи адреса того же провайдера что и клиента , насторожила информация одного клиента который запросил данные у своего провайдера и выяснил что в указанное в логах время данный апи адрес не использовался ни у кого из пользователей, ну и тут же случился казус с падением нескольких сервисов (причина банальна , полностью вычищен каталог /var/log)кроме нескольких файлов которые были чем то заняты в тот момент, ну сразу же я фаерволом закрыл 22 порт оставив вход под один апи (свой) сменил рут пароль и восстановил из бекапа логи, ну и начал копать на предмет чегото постороннего, проверил на рекруты , слава богу никого, и тут человечек один (клиент пожаловался на посторонние файлы у себя в папках ну и дал данный файлик (в заголовке которого красовалась надпись <?php # Web Shell by oRb ) не долго думая запустил команду

find /var/www/ \( -regex '.*\.php$' -o -regex '.*\.cgi$' \) -print0 | xargs -0 egrep -il "r0nin|m0rtix|r57shell|c99shell|phpshell|void\.ru|phpremoteview|directmail|bash_history|brute *force"

от её вывода мне стало плохо(((( .... ну в общем удадлил всё что она нашла , сменил всем пароли от фтп и от аккаунта сменил рутовый ещё раз и сменил пасс от БД , увы времени копаться как это попало на сервер не было да и страшно стало что бы не запустили более интересные команды на сервере чем чистка логов и вставка доров и фреймов.

Придвижу сразу массу упрёков на школнастройку сервера, и отвечу я конечно не спец в этом деле , но в php.ini все шелловские функции и некоторые другие внесены в disabled_function , cgi-bin в следствии не использования отключён для алиаса стандартного в апаче прописано deny from all как бы то что нарыл всё применил (в рамках разумного) но увы не спасло.... вобщем кто как посоветует бороться с подобным г..... напастью ?

и после бессоной ночи никак не соображу как эту команду

find /var/www/ \( -regex '.*\.php$' -o -regex '.*\.cgi$' \) -print0 | xargs -0 egrep -il "r0nin|m0rtix|r57shell|c99shell|phpshell|void\.ru|phpremoteview|directmail|bash_history|brute *force"

заставить удалять то что она находит (я сделал это через mc) но хочется всунуть в крон это дело и сканить периодически такие шеллы и при нахождении удалять

ну и в мыслях поставить антивирь , вроде как говорят они ловят вэб шеллы?

вобщем прошу Вашего профессионального совета

P.S. панелька на сервере ISP Manager
__________________
Globatel.ru - надежные услуги на базе собственного ДЦ.
Хостинг, VDS на базе KVM, Dedicated
ICQ 6485890, т. 8 (495) 706-49-49
babiy вне форума   Ответить с цитированием

Реклама
Старый 31.01.2011, 23:16   #2
zexis
Академик
 
Аватар для zexis
 
Регистрация: 09.08.2005
Сообщений: 3,977
Репутация: 765388

По умолчанию Ответ: phpshell и защита от него!

1) пользователю WWW, от которого выполняется apache, запретить писать в папках в которых могут выполнятся скрипты PHP.

2) Если на сайте есть возможность загрузки файлов на сервер в какие то папки, то запретить в этих папках выполнение скриптов PHP

3) Кроме тех папок, в которые разрешено закачивать файлы, пользователь www не должен быть владельцем папок и файлов.

4) Для всех папок выставить права 701. Владелец папок не WWW.
То есть если шел зальют, хакер не сможет получить список файлов и записать что либо.
Записать он сможет только в определенную папку, в которой скрипты PHP не выполняются.

Поставить автоматический анализ логов ACCESS.LOG, который будет находить в них строки
union
mysql
select
../../../
/etc
passwd
и так далее
При обнаружении таких запросов IP можно блокировать фаерволом и отправлять сообщение админу о попытке взлома.
Разумеется файлов с такими названиями на сайте быть не должно.

в mysql запретить создание файлов
zexis вне форума   Ответить с цитированием
Старый 31.01.2011, 23:24   #3
babiy
Хостер
 
Аватар для babiy
 
Регистрация: 06.06.2009
Адрес: Москва
Сообщений: 409
Репутация: 20514
Отправить сообщение для babiy с помощью ICQ

ТопикСтартер Ответ: phpshell и защита от него!

Apache-mpm-itk работает под владельцем аккаунта.
babiy вне форума   Ответить с цитированием
Старый 31.01.2011, 23:28   #4
zexis
Академик
 
Аватар для zexis
 
Регистрация: 09.08.2005
Сообщений: 3,977
Репутация: 765388

По умолчанию Ответ: phpshell и защита от него!

Искать дырки в скриптах PHP
Основной способ заливки шела – mysql иньекция.
Когда данные принятые от пользователя, не проверяются на корректность и передаются на исполнение Mysql
Проверить, что бы все числовые данные, принимаемые от пользователя приводились явно к числу командой
$val=intval($_GET[‘val’]);
Для строковых данных использовать addslashes() для удаления спец символов
zexis вне форума   Ответить с цитированием
Старый 31.01.2011, 23:33   #5
KM.UA
Академик
 
Регистрация: 17.07.2008
Сообщений: 2,871
Репутация: 193989
Отправить сообщение для KM.UA с помощью ICQ Отправить сообщение для KM.UA с помощью Skype™
Социальные сети Аккаунт в Telegram

По умолчанию Ответ: phpshell и защита от него!

zexis, вы тупите. Речь о шаред хостинге.
KM.UA вне форума   Ответить с цитированием
Старый 31.01.2011, 23:35   #6
babiy
Хостер
 
Аватар для babiy
 
Регистрация: 06.06.2009
Адрес: Москва
Сообщений: 409
Репутация: 20514
Отправить сообщение для babiy с помощью ICQ

ТопикСтартер Ответ: phpshell и защита от него!

Проблема в том что это шеред сервер и проверять тем более заставлять что то менять в скриптах юзеров я думаю нереально, а вот решения делать это глобально (типа парсить запросы к БД) как то я особо не встречал. Может есть рекомендации применительно к шеред хостингу, скажем так малой кровью....
babiy вне форума   Ответить с цитированием
Старый 31.01.2011, 23:35   #7
KM.UA
Академик
 
Регистрация: 17.07.2008
Сообщений: 2,871
Репутация: 193989
Отправить сообщение для KM.UA с помощью ICQ Отправить сообщение для KM.UA с помощью Skype™
Социальные сети Аккаунт в Telegram

По умолчанию Ответ: phpshell и защита от него!

babiy, /tmp в отдельный раздел, и в noexec, для начала.
phpMyAdmin обновлен?
KM.UA вне форума   Ответить с цитированием
Старый 31.01.2011, 23:38   #8
babiy
Хостер
 
Аватар для babiy
 
Регистрация: 06.06.2009
Адрес: Москва
Сообщений: 409
Репутация: 20514
Отправить сообщение для babiy с помощью ICQ

ТопикСтартер Ответ: phpshell и защита от него!

Цитата:
Сообщение от KM.UA Посмотреть сообщение
babiy, /tmp в отдельный раздел, и в noexec, для начала.
phpMyAdmin обновлен?
раздел отдельный, по поводу noexec неуверен, phpmyadmin обновлял

Стопс соврал, нефига он у меня не отдельный раздел, завтра перемонтирую, у меня лвм думаю проблем не будет.
babiy вне форума   Ответить с цитированием
Старый 31.01.2011, 23:43   #9
VGrey
Аспирант
 
Регистрация: 05.08.2007
Сообщений: 199
Репутация: 17498
Отправить сообщение для VGrey с помощью ICQ

По умолчанию Ответ: phpshell и защита от него!

Еще рецепт: просить Андрейку настроить мод_секурити. Или же разбираться с ним самому.
Мод_секурити имею ввиду.
VGrey вне форума   Ответить с цитированием
Старый 31.01.2011, 23:50   #10
madoff
[root@local ~]#
 
Регистрация: 02.12.2009
Адрес: world
Сообщений: 3,122
Репутация: 121254
Отправить сообщение для madoff с помощью ICQ Отправить сообщение для madoff с помощью Skype™

По умолчанию Ответ: phpshell и защита от него!

Надо найти источник загрузки шела, и устранить его, перевести php как php-cgi что бы ограничить круг заливки шелла, так как через mod_php через разные "щели" можно залазить. ну а дальше стнадртная схема, нашли дырку и залатали.
__________________
Администратор Linux,Freebsd.
построения крупных проектов.
ICQ#: 241606.
madoff вне форума   Ответить с цитированием
Ответ



Опции темы

Быстрый переход


Регистрация Справка Календарь Поддержка Все разделы прочитаны