The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
режимы директорий, !*! 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, 16:46 , 31-Янв-04 (1)
    Ежели Апач ломают, например через дырявый скрипт, то
    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 - если уж совсем безопастностью озабочены :)




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

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