PDA

Просмотр полной версии : suexec в apache


Foster
26.10.2007, 15:28
есть файл /usr/sbin/suexec с атрибутами root/apache -r-s--x---
по идее Суекзек позволятет запустить скрипт с правами рута. Пробовал, но толком ничего не вышло, есть ли в этом смысл ?
Результат выполнения команды suexec -V

bash-2.05b$ bash-2.05b$ suexec -V
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="apache"
-D AP_LOG
_EXEC="/var/log/httpd/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=500
-D AP_USERDIR_SUFFIX="public_html"


/var/log/httpd -read, write рут онли!
есть права на запись в /var/www
uid и gid апача 48
LoadModule suexec_module modules/mod_suexec.so
модуль подключен в конфиге апача.

blackybr
26.10.2007, 17:19
используй судо...

Foster
26.10.2007, 19:27
Выполняю
sudo -l
В ответ просят пасс, но дело даже не в пароле. я не успеваю ничего ввести как автоматом выхожу из под этой команды. Выглядит это так

bash-2.05b$ bash-2.05b$ sudo -u root ls
Password:4654
bash-2.05b$ bash: 4654: command not found
bash-2.05b$ bash-2.05b$

я просто не успеваю ему пароль передать =\ как быть? юзаю перловый бекдор от RST

blackybr
26.10.2007, 21:21
хм. если судо и установлен и сконфигурирован.. то хм. даже не знаю.
попробуй сначала добавить себя в /etc/sudoers .. если конечно тебя нет. а если есть, то хз если честно
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#

# User privilege specification
root ALL=(ALL) ALL
radio_server ALL=(ALL) ALL


[radio_server@~]$ cat /etc/shadow
cat: /etc/shadow: Permission denied
[radio_server@~]$ sudo cat /etc/shadow
Password:

root:***
toor:***
bin:***
...


если не успеваешь.. попробуй баш скрипт накатать..

Foster
26.10.2007, 21:55
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#

# Host alias specification

# User alias specification

# Cmnd alias specification

# Defaults specification

# User privilege specification
root ALL=(ALL) ALL

# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL

# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL

# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now

апача впомине нету, отредактировать не могу, т.к не имею соответствующих прав.
Возвращаясь к suexec, реально ли запускать/исполнять файло от рута? Быть может со скриптом поможешь?

ZaCo
27.10.2007, 01:49
>>есть файл /usr/sbin/suexec с атрибутами root/apache -r-s--x---
>>по идее Суекзек позволятет запустить скрипт с правами рута. Пробовал, но толком
>>ничего не вышло, есть ли в этом смысл ?

обычно он используется наоборот для понижения прав функциями setuid и setgid. а зачем тебе вообще запускать скрипт от рута?:) если есть такая необходимость посмотри еще раз httpd.conf с директивой virtualhosts для этого сайта, там должен быть указан user как рут и группа соответствующая супер-пользователю.

Foster
27.10.2007, 01:56
>>есть файл /usr/sbin/suexec с атрибутами root/apache -r-s--x---
>>по идее Суекзек позволятет запустить скрипт с правами рута. Пробовал, но толком
>>ничего не вышло, есть ли в этом смысл ?

обычно он используется наоборот для понижения прав функциями setuid и setgid. а зачем тебе вообще запускать скрипт от рута?:) если есть такая необходимость посмотри еще раз httpd.conf с директивой virtualhosts для этого сайта, там должен быть указан user как рут и группа соответствующая супер-пользователю.


Не спорю, но при неправильном конфигурировании это может вызвать серьезные проблемы в безопасности, вот я и хочу проверить. в virtualhosts поля user как таковые выбще отсутствуют

ZaCo
27.10.2007, 02:06
ну так почитать сначала про suexec нужно было. пропиши в директиву
..
User username
Group groupname
...
необходимые id для setuid, setgid возьмутся из /etc/passwd а по дефолту, видимо, права до пользователя апача падают.

>>Не спорю, но при неправильном конфигурировании это может вызвать серьезные проблемы в безопасности,

я и написал, что запускать от рута не стоит.