URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 1127
[ Назад ]

Исходное сообщение
"режимы директорий"

Отправлено sergew , 29-Янв-04 19:17 
Сервер apache работает от имени пользователя nobody, группа www-data.
Виртуальные хосты лежат в домашних каталогах пользователей.

Директория: /home
drwxrwsr-x   10 root     staff        4096 Jan 29 18:12 home

Директория пользователя: /home/user1
drwx--x---   15 user1   www-data     4096 Jan 29 18:02 user1

Виртуальные хосты в директории пользователя: /home/user1/site1.ru
drwxr-xr-x    7 user1   user1       4096 Jan 26 17:31 site1.ru

Вопрос:
Правильно ли с точки зрения безопасности я сделал настройки?
Спасибо!


Содержание

Сообщения в этом обсуждении
"режимы директорий"
Отправлено dev , 31-Янв-04 16:46 
Ежели Апач ломают, например через дырявый скрипт, то
1. Получают доступ ко всем сервисам, которые работают от именя nobody.
2. Получают доступ к домашним каталогам пользователей (мало ли какие у них там документы не для инета интересные лежат).

=>

1. Заводим для Апача собственного узера и группу, никого больше в эту группу не включаем. Дальше я беру юзера www и группу www.

2. Делаем ему home, например:

drwxr-x--x www www /home/www

Обрати внимание на права для "остальных" - человек сложет зайти в подкаталог, но не сможет посмотреть, какие вообще сайты здесь хостятся.

3. Там делаем по каталогу для сайта:

drwxr-x--- user1 www /home/www/site1.ru

Т.е. писать туда может только владелец, но Апач может читать.

4. Создаем внутри каталоги:

drwxr-xr-x user1 users  /home/www/site1.ru/cgi-bin  - скрипты
drwxrwxrwx user1 users  /home/www/site1.ru/data     - доп. информация для скриптов
drwxr-xr-x user1 users  /home/www/site1.ru/etc      - пароли для сайта
drwxr-xr-x user1 users  /home/www/site1.ru/html     - DocumentRoot сайта
drwxr-xr-x root  www    /home/www/site1.ru/logs     - логи

Если скрипты запускаются от имени Апача, то ставим разрешение на запись на некоторые каталоги (в моем примере data - куда писать собираемся). При этом думаем, как не пустить эти скрипты в каталоги остальных сайтов - оптимального решения еще нет (на этом сайте многократно обсуждалось).
Скрипты и пароли вынесены из документов, поэтому через http к ним доступа нет (лучше не доверять лишний раз простому апачавскому запрету на просмотр - его когда-нибудь можно и забыть написать).
Юзер может читать логи, но не может их удалить или изменить - чтоб трафик можно было считать по ним.

5. На каталог юзера ставим 700

drwx------ user1 www /home/user1

6. Делаем ему линк на сайт:

lrwxr-xr-x user1 users /home/user1/site1.ru -> /home/www/site1.ru/

7. Апач chroot-им в /home/www - если уж совсем безопастностью озабочены :)