The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Странная работа Apache 2.2.22"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Др. сетевые сервисы / Linux)
Изначальное сообщение [ Отслеживать ]

"Странная работа Apache 2.2.22"  +/
Сообщение от ethereal (ok) on 18-Фев-12, 14:22 
Добрый день!
Столкнулся с серьёзной проблемой в безопасности Apache.
Имеется Apache 2.2.22 + mod_php(5.2.17)

С помощью функций exec(),system(),shell_exec()
вызываемых через Apache
могу преспокойно читать многие файлы в каталоге /etc,
возможно и из других каталогов тоже

Вывод exec('who') показывает что процесс выполняется от root.
Но при запуске из консоли
ps aux | grep "httpd"
мне показывается что воркеры apache работают под
пользователем apache, хотя и есть один с пользователем root.

Запрещать выше названные php-функции не хочется, поскольку считаю
что проблема именно в Apache, ведь в документации сказано что его воркеры
работают под непривелигерованным пользователем.

Жду ваших советов.
Спасибо.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Странная работа Apache 2.2.22"  +/
Сообщение от PavelR (ok) on 18-Фев-12, 14:39 
> С помощью функций exec(),system(),shell_exec()
> вызываемых через Apache
> могу преспокойно читать многие файлы в каталоге /etc,
> возможно и из других каталогов тоже

Вот это открытие. Вы знаете, что такое права доступа? Попробуйте почитать книги по администрированию Unix/Linux.

> Вывод exec('who') показывает что процесс выполняется от root.

Как это было проверено? Опишите подробнее условия эксперимента.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Странная работа Apache 2.2.22"  +/
Сообщение от ethereal (ok) on 18-Фев-12, 19:03 
> Вот это открытие. Вы знаете, что такое права доступа? Попробуйте почитать книги

Конечно же я знаю про систему прав.
Но никакие права не мешают пользователю root читать любой файл в его системе,
стало быть и apache работающему от пользователя root также.

>> Как это было проверено? Опишите подробнее условия эксперимента.

//index.php
<?php
echo system('who');
?>

открываем index.php в браузере и видим уже и говорилось ранее
root root и прочая стандартная информация.
Что интересно - я проводил этот эксперимент над apache 2.2.12 указав в httpd.conf
User daemon
Group daemon
и прочитав через
echo system('cat /etc/passwd').
Так вот в этом случае мне вернулась всего одна строчка - соотв. пользователю daemon.
А теперь выводится весь список пользователей.

А по поводу настроек в httpd.conf и файловой системы - я ведь не запрашиваю непосредственно статические файлы в /etc/
я посредством системных функций php читаю файлы и даю их на вывод apache.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

6. "Странная работа Apache 2.2.22"  +/
Сообщение от Викентий Жопорезку on 19-Фев-12, 18:27 
whoami не who
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

2. "Странная работа Apache 2.2.22"  +/
Сообщение от Алексей Михайлович on 18-Фев-12, 14:48 
> Столкнулся с серьёзной проблемой в безопасности Apache.
> Имеется Apache 2.2.22 + mod_php(5.2.17)
> С помощью функций exec(),system(),shell_exec()
> вызываемых через Apache
> могу преспокойно читать многие файлы в каталоге /etc,
> возможно и из других каталогов тоже
> Жду ваших советов.

Добрый день.
Рекомендую ознакомиться с указанными рекомендациями по поводу усиления защищенности веб-сервера.

Protect Server Files by Default

One aspect of Apache which is occasionally misunderstood is the feature of default access. That is, unless you take steps to change it, if the server can find its way to a file through normal URL mapping rules, it can serve it to clients.

For instance, consider the following example:

# cd /; ln -s / public_html
Accessing http://localhost/~root/

This would allow clients to walk through the entire filesystem. To work around this, add the following block to your server's configuration:

<Directory />
Order Deny,Allow
Deny from all
</Directory>

This will forbid default access to filesystem locations. Add appropriate Directory blocks to allow access only in those areas you wish. For example,

<Directory /usr/users/*/public_html>
Order Deny,Allow
Allow from all
</Directory>
<Directory /usr/local/httpd>
Order Deny,Allow
Allow from all
</Directory>

Подробнее: http://httpd.apache.org/docs/2.2/misc/security_tips.html

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Странная работа Apache 2.2.22"  +/
Сообщение от PavelR (ok) on 18-Фев-12, 14:58 
> Подробнее: http://httpd.apache.org/docs/2.2/misc/security_tips.html
> Короче говоря, Apache по умолчанию может допустить веб-клиентов к корневой файловой системе
> сервера.
> Нужно запретить ему это делать на основании изложенных выше рекомендации, которые указаны
> на официальном сайте фонда Apache.

А про race conditions (про отсутствие защищенности) сказку (а вообще-то быль) на ночь рассказывать будете?

Про то, что файлы других пользователей имеют высочайшие шансы прочитаться ?

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

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Странная работа Apache 2.2.22"  +/
Сообщение от Алексей Михайлович on 18-Фев-12, 16:53 
> А про race conditions (про отсутствие защищенности) сказку (а вообще-то быль) на
> ночь рассказывать будете?

Про "race conditions" специально для Вас сказка (а вообще-то быль) на ночь: http://ru.wikipedia.org/wiki/Therac-25

> Про то, что файлы других пользователей имеют высочайшие шансы прочитаться ?
> Может быть о эксплойтах уязвимостей ядра с повышением привилегий поговорим ?

Из прочитанного усматривается, что Вы являетесь крупным специалистом в вопросе информационной безопасности.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

7. "Странная работа Apache 2.2.22"  +/
Сообщение от LSTemp (ok) on 02-Мрт-12, 00:59 
>[оверквотинг удален]
> Вывод exec('who') показывает что процесс выполняется от root.
> Но при запуске из консоли
> ps aux | grep "httpd"
> мне показывается что воркеры apache работают под
> пользователем apache, хотя и есть один с пользователем root.
> Запрещать выше названные php-функции не хочется, поскольку считаю
> что проблема именно в Apache, ведь в документации сказано что его воркеры
> работают под непривелигерованным пользователем.
> Жду ваших советов.
> Спасибо.

а хренли советов ждать - смотри с чем твой апач собран в системе.

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру