Re[2]: Запретить удаление файлов пользователям но не навредить программам
От: AlexanderDz  
Дата: 08.10.14 18:47
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, AlexanderDz, Вы писали:


AD>>Вопрос: кто встречался с задачей запрета на удаление файлов и как ее решил.


S>Стандартное решение: выносим часть, которая требует повышенных прав в сервис (службу windows), запускаем службу от имени специально заведённого пользователя, раздаём этому пользователю права, остальным обрезаем.


...

Категорически согласен. У меня (моей организации) стандартная проблема и у нее есть стандартное решение. Увы, в стандратных условиях. Но, можно ли назвать условия стандартными если такой реорганизации надо будет подвергнуть несколько проектов на VB6 и Delphi?
Re[3]: Запретить удаление файлов пользователям но не навреди
От: AlexanderDz  
Дата: 08.10.14 20:16
Оценка:
Здравствуйте, AlexanderDz, Вы писали:

AD>Здравствуйте, Sinix, Вы писали:


S>>Здравствуйте, AlexanderDz, Вы писали:


AD>>>Вопрос: кто встречался с задачей запрета на удаление файлов и как ее решил.


S>>Стандартное решение: выносим часть, которая требует повышенных прав в сервис (службу windows), запускаем службу от имени специально заведённого пользователя, раздаём этому пользователю права, остальным обрезаем.


AD>...


AD>Категорически согласен. У меня (моей организации) стандартная проблема и у нее есть стандартное решение. Увы, в стандратных условиях. Но, можно ли назвать условия стандартными если такой реорганизации надо будет подвергнуть несколько проектов на VB6 и Delphi?


Однако! Ну если перенести операции записи файлов в сервис связано с большими затратами, то можно перехватить Win32 вызовы CreateFile, WriteFile, CloseFile, DeleteFile, MoveFile и т.д. и перенести их сервис работающий под правами специального пользователя.

Тогда и не надо будет "высшего пилотажа" с file system filter. А то пока все отладишь BSOD насмотришься до посинения

Какие тут могут быть засады? Что надо использовать для перехвата Win API — кажется mhook?
Отредактировано 08.10.2014 20:47 AlexanderDz . Предыдущая версия .
Re[4]: Filter driver
От: AlexanderDz  
Дата: 08.10.14 20:30
Оценка:
Здравствуйте, bazis1, Вы писали:

B>Здравствуйте, AlexanderDz, Вы писали:


AD>>Здравствуйте, bazis1, Вы писали:


B>>>Напишите/закажите простой kernel-mode FS filter, который будет блокировать попытки удаления файлов в заданных директориях, если только они не исходят от одной из программ в белом списке.


AD>>Замечательная идея! Спасибо за совет!


AD>>Правда есть проблема с записью файлов на сетевой диск. Это означает что на всех компьютерах с которых доступен сетевой диск/каталог, должен быть установлен этот драйвер. Если на компьютере нет этого драйвера, то можно все и драйвер от этого не защитит — его-же просто нет. Но, надеюсь, тогда сетевые администраторы согласятся предоставить доступ к сетевому каталогу только с компьютеров с драйверами.


AD>>Этого всего не надо будет если драйвер работающий на файл сервере получит информацию о программе которая будет выполнять файловую операцию. Это возможно? Что-то мне слабо верится.

B>А не проще тогда расшарить без прав на удаление + сделать некий сервис на сервере, который по отдельному протоколу будет принимать запросы на удаление файлов от вашей программы? Соответственно, DeleteFile() в программе заменяем удаленным вызовом, и готово. То же самое можно сделать локально — user-mode сервис, сидящий от LocalSystem, по какому-нибудь xmlrpc принимающий запросы от вашей программы на удаление файлов, которые средствами Api из-под этого аккаунта удалить нельзя.

Спасибо за идею! Вот тут я пришел к почти такому-же решению: http://rsdn.ru/forum/design/5812279.1
Автор: AlexanderDz
Дата: 09.10.14
.
Re[4]: Запретить удаление файлов пользователям но не навредить программам
От: AlexanderDz  
Дата: 22.10.14 13:25
Оценка:
...

AD>Однако! Ну если перенести операции записи файлов в сервис связано с большими затратами, то можно перехватить Win32 вызовы CreateFile, WriteFile, CloseFile, DeleteFile, MoveFile и т.д. и перенести их сервис работающий под правами специального пользователя.


AD>Тогда и не надо будет "высшего пилотажа" с file system filter. А то пока все отладишь BSOD насмотришься до посинения


AD>Какие тут могут быть засады? Что надо использовать для перехвата Win API — кажется mhook?


Увы, увы... Таки попал в засаду. Наши продукты защищены продуктом SafeNet, в который встроена защита от перехватывания Windows API.

Тогда получается только фильтр файловой системы. К счастью, самому его кажется писать не надо — есть куча компаний которая предлагает драйверы выполняющие требуемые функции. Проще купить.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.