Как защитить свой сервер от webshell

12
M
На сайте с 16.09.2009
Offline
278
#11
zexis:
наверное имеется ввиду отключить в PHP все функции обращающиеся к файловой системе.

А зачем Вам после этого PHP? Для echo "Hello, world!" ?

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
Andreyka
На сайте с 19.02.2005
Offline
822
#12

Нормальные CMS работают в safe_mod

Не стоит плодить сущности без необходимости
D
На сайте с 05.06.2007
Offline
155
#13

myhand как дополнительный метод защиты в совокупности с open_basedir.

Вы ТС прочтите внимательно, вебшелл был обнаружен во всех папках всех сайтов, сделано это не через фтп или шелл, т.е. через веб-взлом.

Отсюда, делаем вывод, на сайты не проставлен openbasedir или опасные пхп функции доступны, которые в обычных сайтах не нужны, активированы. Вот собственно и мой совет, который недопустит взлома всех сайтов при взломе одного, особенно если они в одном аккаунте. (этот случай очень популярен)

Отключать все файловые функции это конечно параноя, лучше запускать пхп от другого пользователя и проставить права на все пхп файлы и папки. (в наше время это у многих не так, опять же популярный случай, и скорее всего случай ТС)

Совет Андрейки тоже решает проблему в корне.

Написал не мало шедевров ;)
M
На сайте с 16.09.2009
Offline
278
#14
Dimanych:

Вы ТС прочтите внимательно, вебшелл был обнаружен во всех папках всех сайтов, сделано это не через фтп или шелл, т.е. через веб-взлом.

Откуда Вы узнали, что не через FTP? Очень похоже.

Dimanych:

Отсюда, делаем вывод, на сайты не проставлен openbasedir или опасные пхп функции доступны, которые в обычных сайтах не нужны, активированы. Вот собственно и мой совет, который недопустит взлома всех сайтов при взломе одного, особенно если они в одном аккаунте. (этот случай очень популярен)

Ну так и пишите. А то "Отключить шелл в PHP" - и поди пойми что этот дзен значит. (Конечно, все эти меры не приведут к неработоспособности шелла - да и определенная вероятность "выйти" за пределы конкретного виртуалхоста имеется. Openbasedir еще тот фиговый листочек...)

Dimanych:
Совет Андрейки тоже решает проблему в корне.

Порождая с десяток новых (если Вы про mod_security).

D
На сайте с 05.06.2007
Offline
155
#15

Ну на счёт FTP я просто прочитал что пишет ТС, хотя согласен с тем что можно думать на что угодно. Да и вебшеллы грузят обычно через PHP.

Я не понимаю почему для вас фраза "Отключить шелл в PHP" не понятна, я бы ещё понял если-бы она была не понятна для ТС и уж тогда описал подробнее :) Как можно использовать шелл в пхп вы надеюсь знаете?

Не знаю что вы там придумали про недостаточнось и обход таких вещей как запрет шелл функций + open_basedir. Если что-то такое пишете, хоть подтверждайте чем то. Такие комбинации много где используются и нет никаких следов преодоления этих запретов даже после взломов сайтов хакерами.

Данные меры не приведут к полной неработоспособности вебшелла, но они очень поспособствуют в ограницении его функционала. (и не должны, вебшелл - обычный скрипт) Правильнее, не допускать его заливки.

Андрейка писал про safe_mode.

M
На сайте с 16.09.2009
Offline
278
#16
Dimanych:
хотя согласен с тем что можно думать на что угодно

Да уж на что угодно - как раз таки можно не думать.

Dimanych:

Я не понимаю почему для вас фраза "Отключить шелл в PHP" не понятна

Ну, потому что непонятна.

Dimanych:

Не знаю что вы там придумали про недостаточнось и обход таких вещей как запрет шелл функций + open_basedir. Если что-то такое пишете, хоть подтверждайте чем то.

Что мне "подтверждать" - Вы не в состоянии найти список CVE по уязвимостям PHP?

Dimanych:
Андрейка писал про safe_mode.

Ну, чуть раньше и про mod_security ;) Safe mode - еще более-менее разумно.

[Удален]
#17

так по порядку:

1 завернуть апач в itk (то есть поставить патч itk на сервер)

2 Запретить функции php

(добавить в php.ini)

disable_functions = dl,dll,system,exec,passthru,shell,shell_exec,proc_open,popen,phpinfo,set_time_limit,max_execution_time,symlink,chown,chmod,link,proc,proc_show,show_source,pwd,ini_set,eval,cpuinfo,meminfo,cmd,ini_get_all,uname,php_uname,get_env,PHP_SELF,view_size,rmdir,highlight_file,openlog,apache_get_modules,apache_get_version, apache_note, apache_setenv,ini_alter,disk_free_space,diskfreespace,leak,ssthru,proc_nice,ini_restore,escapeshellarg,escapeshellcmd,proc_close,proc_get_status,proc_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,ssh2_exec,pcntl_exec,ioctl,define_syslog_variables,closelog,readfile,ocinumcols,listen,chgrp,debugger_on,debugger_off,ftp_exec,ftp,syslog,

3 Написать простой анализатор логов который бы запускался по крону и баннил неугодных юзверей

(написать можно на всем угодно)

PS интересно мнение пользователей, по поводу того, какие функции выключают и прошу привести списочек

4 поставить права на perl wget (gcc cpp и прочие компилляторы) которые бы не давали возможность запускать процессы от имени пользователя

5 Ограничить апач (open_basedir )

6 поставить и настроить мод секьюрити

кастрировать шелл для пользователя либо не давать ему доступ

7 периодически проверяться на вирусы особенно каталоги где храняться сайты

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий