|
|
|
Forum Member
      
участник
Last Login: 15.08.2007 0:34
Сообщ.: 49,
Visits: 465
|
|
| Меня попросили написать сайт, примерно такого плана, что бы зарегистрированный на сайте пользователь у которого есть своя папка, мог закачать в эту папку Фортрановский файл и мог так же откомпилировать его с последующим запуском откомпилированного файла. Все прекрасно я сделал, и все работает как в песни, НО остался вопрос по безопасности, как не дать возможность пользователю закачать фортрановский файл с кодом который просто отформатировал бы диск или скопировал содержимое всех папок на диске к себе в папку, короче как ограничить этого пользователя в его правах.Запуск программы выполняю командой exec(). У меня на данный момент Window XP с Apache Web Server. Если это можно сделать на ISS то как или если у меня будет Unix ???
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
В конфигурации Windows/Apache возможны два варианта:- Создаем новую учетную запись, исключаем ее из всех групп. Затем настраиваем свойства сервиса Apache так чтобы он запускался от имени этой учетной записи. Предварительно понадобится настроить NTFS права для данного пользователя чтобы он имел доступ на чтение к каталогу Apache, права на чтение для каталога где находятся файлы сайта, права на запись в папку с лог-файлами и во временный каталог (%windir%\TEMP).
Тогда программа запущенная из под сервиса Apache унаследует права родительского процесса и не сможет сильно набедокурить.
Недостатком является наличие прав на запись в часть каталогов на диске. Это потенциально опасно. - Написать или найти готовую программу-загрузчик. Она должна будет запускать процесс указанный в командной строке с правами ограниченного пользователя. Если делать самому, то можно сильно себя подстраховать используя Job object и restricted token.
В конфигурации с Unix для создания безопасной среды можно использовать Apache suExec. Разработчики правда предупреждают что его настройка непроста и должна выполняться опытными администраторами.
|
|
|
|
|
Forum Member
      
участник
Last Login: 15.08.2007 0:34
Сообщ.: 49,
Visits: 465
|
|
| Спасибо за подробный ответ! А через команду runas в XP не как нельзя настроить? Например, создать пользователя с ограниченными правами а потом runas /user:username program.exe ?
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Надо пробовать. У runas нельзя пароль пользователя в командной строке задать поэтому придется использовать учетную запись без пароля. В WinXP/2003, кстати, учетная запись без пароля может входить на компьютер только с локальной консоли, из сети с ней войти не получится. В качестве замены runas можно взять бесплатную утилиту PsExec.
|
|
|
|
|
Forum Member
      
участник
Last Login: 15.08.2007 0:34
Сообщ.: 49,
Visits: 465
|
|
Я использую команду runas с ключом /savecred при первом запуске пароль попросит обязательно. Но только при первом. В следующий раз при запуске программы runas /savecred /user:username progr.exe вводит пароль не нужно. А утилиту PsExec попробую.
|
|
|
|