Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Область видимости для PHP.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Вопрос безопасности.
ganers
Отправлено: 10 Сентября, 2010 - 11:53:34
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Сент. 2010  


Помог: 0 раз(а)




Имеется сервер на ubuntu, на котором стоит Apache2 и PHP5.3, стоит панель управления хостингом ISPConfig. В созданом через панель сайте (PHP включен как FastCGI) я могу использовать команды линукс в обратных апострофах. Если я выполняю такой код
, то соответственно получаю содержимое файла в браузере. В чем собственно вопрос! Должен вообще быть такой доступ у скриптво (доступ к просмотру корневых директорий linux-а), если нет, то как его закрыть, или как отключить возможность использования команд в php???
За ранее всем благодарен за ответы!!!

P.s. В Линуксе Новичек.
 
 Top
JustUserR
Отправлено: 10 Сентября, 2010 - 14:22:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




ganers пишет:
Должен вообще быть такой доступ у скриптво (доступ к просмотру корневых директорий linux-а), если нет, то как его закрыть, или как отключить возможность использования команд в php???
Возможность обращения из PHP-скрипта к элементам файловой системы зависит от настройки прав доступа для этих элементов - а также от сопсоба подключения Apache и инциализации интерпретирующих процессов По умолчанию PHP-скрипты запускаются от имени пользователя www-data которые соответствуюет дочерним процессам обслуживающего web-серверу - и получают возможность доступа по некоторой операции ко всем ресурсам для которых предусмотрено обращение от данного пользователя В частности утилиты suexec и sudo позволяют осуществлять запуск CGI-скриптом от некоторого специализированного пользователя - это предоставляет возможность уменьшить общие права доступа ко всем ресурсам до минимально-допустимых
Кроме того CGI-скрипты и PHP-скриаты в частности предоставляют собой достаточно различные объекты - в частности для CGI-скрипта действуют только ограничения предоставляемые ОС и web-сервером - в то время как для PHP-скриптом можно установить отдельные параметры в конфигцрационном файле которые обрабатываются интерпретатором и позволяют запретить некоторые функции


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
ganers
Отправлено: 13 Сентября, 2010 - 07:40:52
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Сент. 2010  


Помог: 0 раз(а)




А можно все тоже самое только вкратце и подытоженное? А то я недопонимаю как все таки должно работать и, что мне необходимо сделать!?

За ранее благодарен!
 
 Top
JustUserR
Отправлено: 13 Сентября, 2010 - 12:35:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




ganers пишет:
А можно все тоже самое только вкратце и подытоженное? А то я недопонимаю как все таки должно работать и, что мне необходимо сделать!?
За ранее благодарен!
Если рассматривать ваш вопрос кратко то можно сделать следующие выводы - для того чтобы обеспечить достаточную безопасности web-сайтов находящихся к группе каталогов принадлежащих одному системному пользователю - необходимо произвести достаточное разделение этих каталогов с точки зрения управляющего ими пользователя Для начала вы можете создать набор FTP-пользователей с указанием отдельного каталога в качестве корневой директории и блокировки перехода на верхний уровень - тем не менее пока что клиент имеет возможность обращаться к родительским ресурсам путем использования CGI-скрипта Интерфейс CGI в чистом виде не предоставляет каких-либо разграничений доступа для выполняющихся программ - поэтому по умолчанию все CGI-скрипты на ваших виртуальных хостах будут иметь достаточные права для чтения и модификации определенных файлов - а есмли установить для этих файлов более низкие права доступа то будет невозможно прочитать их даже из оригинального виртуального хоста
В общем виде задача ваша решается благодаря разграничению системных пользователей для каждой независимой директории - и использования смежных групп пользователя и модуля suexec - это дает возможность установить минимальные права на все ресурсы и при этом CGI-скрипту будет запускаться от имени вашего пользователя и поэтому будут иметь возможность доступа к нужным файлам - а доступ к другим виртуальным хостам будет ограниченин В то же время сервер Apache будет иметь все привелегии для чтения содержимого web-ресурсов - а все исполняющиеся действенные перенаправления как дочерние процессы будут иметь уже низкий уровень доступа
ИТОГ Тем не менее более просто огранизовать другой вариант - он заключается в том что вы запрещаете редактирования директив Apache в дочерних каталогах по пути наследования параметров - и в то же время запрещаете собственную конфигурацию alias-ов и действенных перенаправлний и отключаете CGI-скрипты - таким образом пользователи смогут использовать только установленный вами PHP-интерпретатор без подмены файла конфигурации - а это позволяет явно указать значения директивы open_basedir для блокировки перехода в родительскому каталогу


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
ganers
Отправлено: 14 Сентября, 2010 - 09:46:47
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Сент. 2010  


Помог: 0 раз(а)




Спасибо за помощь. Тяжеловато все это понять так сразу.
В общем суть я понял, но сделал так:
включил режим safe_mode в php.ini, а для своего аккаунта в панели добавил директиву к апаче php_admin_value safe_mode off. Теперь я со своего аккаунта могу использовать комманды а остальные немогут.
JustUserR Если незатруднит, можешь объяснить для чайника каким образом работает suEcex и suPHP. В панели ИСПКонфиг для каждого аккаунта можно выбирать опции PHP (CGI, FastCGI, Mod-PHP, suPHP) и для всех аккаунтов можно активировать suExec. Но я непонимаю до конца как это работает. То есть я методом тыка выяснил что пользователи не имеют доступа к каталогам других пользователей, но они имеют доступ к корню ОС. Может есть что то понятное почитать, посоветуй пожалуйсто!
 
 Top
JustUserR
Отправлено: 14 Сентября, 2010 - 13:25:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




ganers пишет:
Спасибо за помощь. Тяжеловато все это понять так сразу
Пожалуйста! Использование модулей suexec и suphp и предлагаемый ими уровень безопаснотси реализуется с помощью средств ОС по управлению привелегиями доступа - поэтому для изучения этого вопроса необходимо смотреть литературу по самому *nix
ganers пишет:
JustUserR Если незатруднит, можешь объяснить для чайника каким образом работает suEcex и suPHP
Суть режима suexec заключается в том что исполняемый CGI-скрипт запускается с переназначенным эффективным идентификатором пользователя - это означает что такой процесс будет иметь привелигии аналогичные системному пользователю которому принаджелит файл с CGI-скриптом Таким образом при использовании режима suexec каждый из запускаемых CGI-скриптов будет работать от имени его владельца - соответственно он будет иметь полные права на ресурсы принадлежащие данному пользователю в том числе и смену аудита Это позволяет устанавливать на все файлы и директории минимальные права по следующей схеме - каждый пользователь имеет доступ к своим файлам в запускаемых CGI-скриптах и соответственно может установить для права доступа типа 0700 - благодаря этому привелегиями доступа к директории виртуального хоста обладает только сам пользователь и его процессы Серсис apache в таком случае может работать от имени суперпользователя что позволяет ему считывать файлы по всем путям - но в этом же время все дочернгие процессы будут инициироваться от имени соответствующих пользователей по действенному перенаправлению поэтому уровень безопасности будет в значительной мере высоким
Режим suphp работает аналогично за исключением того что предоставляет интерфейс только для интерпретатора PHP-скриптом - а также содержит несколько дополнительных опций по ограничению безопасности


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
ganers
Отправлено: 17 Сентября, 2010 - 05:20:53
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Сент. 2010  


Помог: 0 раз(а)




Большое Спасибо за помощ!!! Улыбка
 
 Top
JustUserR
Отправлено: 17 Сентября, 2010 - 14:02:57
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




ganers пишет:
Большое Спасибо за помощ!!!
Пожалуйста! Вы можете посмотреть дополнительную информацию по вопросу запуска CGI-приложений в режиме переключения эффекетивным пользователей в этих источниках - http://www[dot]oglib[dot]ru/apman/mod/mod_suexec[dot]html и http://www[dot]oglib[dot]ru/apman/suexec[dot]html


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Администрирование *nix »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB