for flooders
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум
   Лисоводы   всех   стран,  объединяйтесь !!!  

Список Форумов  :: Visual Foxpro, Foxpro for DOS
  

Доступ к папке и файлам
AngelOKES
Автор

Сообщений: 797
Дата: 14.07.20 15:33:21
Доброго всем дня господа! Возможно вопрос вообще не к этому форуму, но всё таки буду надеятся что вы сможете мне помочь.
Обрисую ситуацию, есть много различных программ, все написаны на фоксе и у каждой программы своё предназначение.
Есть отдельный модуль для работы с внешними файлами (документами) и этот модуль используется в каждой программе и запускается с уникальными своими ключами.
Есть отдельный сервер для хранения всякой информации, где для каждого отдельного создана отдельная папка (доступ всем на всё!!!).
По сути без программы если знать куда идти можно зайти в эти папки и сделать что захочешь.
Программы конечно же всё автоматизируют чтобы можно было записать, изменить или удалить файл.
Годами эта схема работает исправно, но возник вопрос, можно ли как-то урезать всем пользователям права и чтобы всё можно было делать только через программы?
Пользователей примерно около 3000 и выяснять потом кто что и как сделал конечно можно через аудит, но хотелось бы даже не доходить до этого шага, чтобы доступ был только через программы, в каком направлении рыть, может просто как-то политику безопасности прописать, но ничего путного найти не удалось
Ratings: 0 negative/0 positive

Re: Доступ к папке и файлам
of63

Сообщений: 20502
Откуда: Н.Новгород
Дата: 14.07.20 17:06:35
> По сути без программы если знать куда идти можно зайти в эти папки и сделать что захочешь.

Защита от чего? от доступа к файлам в папке без программы?
Ratings: 0 negative/0 positive

Re: Доступ к папке и файлам
Crispy

Сообщений: 17217
Дата: 14.07.20 19:06:29
AngelOKES
возник вопрос, можно ли как-то урезать всем пользователям права и чтобы всё можно было делать только через программы?

Все зависит конечно от того, что за сервер используется.
Если речь о винде, можно например создать доступ по паролям для каждого пользователя только на свою папку.
Либо, если лично пользователю ничего не давать, а только его программе - создать в системе каждого пользователя дополнительного пользователя с паролем, от имени которого и заходить из программы в данную папку.
Что-то в таком роде я делал когда-то, только не для захода программы пользователя на сервер, а на другой комп с прописанным естественно в программе паролем, делая доступной этому "программному пользователю" только одну эту папку. Начиная с WinXP в принципе это легко рулится.
Главное при этом - чтобы и у пользователя и на целевом компе были два одноименных пользователя с одинаковыми паролями. На целевом при этом открываем доступ для такого пользователя только к нужной папке.
Т.е. при этом все, что надо, и только то, что надо - может видеть только сама программа, и никто больше извне.
На мой взгляд, самое простое.

Впрочем, может кто знает что-то и еще проще. Или "правильнее".


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено: Crispy, 14.07.20 19:13
Ratings: 0 negative/0 positive

Re: Доступ к папке и файлам
Igor Korolyov

Сообщений: 34002
Дата: 14.07.20 21:27:43
AngelOKES
Доброго всем дня господа! Возможно вопрос вообще не к этому форуму, но всё таки буду надеятся что вы сможете мне помочь.
Маловероятно...
AngelOKES
Обрисую ситуацию...
Программа работы с документом должна для получения/сохранения оного документа работать исключительно с сервисом (нынче используют веб-сервисы, но это не принципиально). Сервис должен работать на другой машине, и на этой машине простому пользователю ничего кроме АПИ этого сервиса не должно быть доступно. Как он внутри себя всё делает - опять же не принципиально - хранит документы в той или иной БД, или тупо складирует в файловой системе (этого же сервера!). Главное что сервис это единственный посредник между ПО которому нужно "сохранять/извлекать/заменять" документы и собственно этими самыми документами находящимися в хранилище.
AngelOKES
чтобы доступ был только через программы, в каком направлении рыть, может просто как-то политику безопасности прописать, но ничего путного найти не удалось
чтобы доступ был только чрез программу, эта программадолжна быть сервисом предоставляющим клиентам свой АПИ и ничего больше - и соответственно она будет работать ну абсолютно не от имени простого пользователя и не с его машины.
Crispy
Главное при этом - чтобы и у пользователя и на целевом компе были два одноименных пользователя с одинаковыми паролями. На целевом при этом открываем доступ для такого пользователя только к нужной папке.
Одноранговые сети и описанная система безопасности "рабочих групп" канула в лету вместе с Win9x системами более 20 лет назад. И это не "начинается", это "заканчивается" на WinXP, точнее на висте. Более современные ОС это попросту не поддерживают - их способы организации одноранговых сетей кардинально отличаются и, естественно, не совместимы с "два компа, одинаковые логины и одинаковые пароли"


------------------
WBR, Igor
Ratings: 0 negative/0 positive

Re: Доступ к папке и файлам
Taran

Сообщений: 11098
Откуда: Красноярск
Дата: 14.07.20 21:41:59
В названии сетевого ресурса добавить $.
Тогда он не будет виден в списке и не зная имени на него не зайти.
Ratings: 0 negative/0 positive

Re: Доступ к папке и файлам
Igor Korolyov

Сообщений: 34002
Дата: 14.07.20 22:38:18
ru.wikipedia.org
Безопасность через неясность - антипаттерн проектирования надёжных систем.
И увидеть куда именно подключилась программа не составляет большого труда (неважно что ты "спрятал" свои секреты по пути "\Мусор\к удалению\1995 год\ полная туфта\тут нет ничего важного" - увидеть что программа обращается к этому пути не просто а очень просто).
И "перечислить" скрытые шары проще простого
net view \\server /all


------------------
WBR, Igor
Ratings: 0 negative/0 positive

Re: Доступ к папке и файлам
Taran

Сообщений: 11098
Откуда: Красноярск
Дата: 14.07.20 23:21:46
И что по ссылке?
Именно то, что я и имел ввиду.
Легко и просто глобальную дыру можно прикрыть за пару минут, а далее думать и делать.
Говорить о сервисах и более того о веб-сервисах с бухты ьарахты они здесь, это да, спорить с тобой никто не будет.
Если допустим из ворда можно увидеть путь к доку, то этот док должен быть открыт. Т.е. путь сможет узнать только имеющий доступ к проге.
Это раз.

Прям все юзеру пользуются в винде командной строкой и командой net. Это два.
Под XP ключ /all не работает.
Как работает в других версиях без админских прав надо смотреть. Это три.

Так что ты хотел сказать конкретно?
Ratings: 0 negative/0 positive

Re: Доступ к папке и файлам
AngelOKES
Автор

Сообщений: 797
Дата: 15.07.20 08:07:21
При записи файлов и их открытии там всё хитро сделано, путь никак не отследить, но умников у нас на предприятии хватает.

Taran
Если допустим из ворда можно увидеть путь к доку, то этот док должен быть открыт. Т.е. путь сможет узнать только имеющий доступ к проге.
Такой вариант сразу можно отсечь, для просмотра файл копируется на компьютер пользователя и путь никак не отследить

Igor Korolyov
И увидеть куда именно подключилась программа не составляет большого труда
Подключения как такого и нет, в момент добавления файла, сам путь формируется очень сложным алгоритмом, хотя конечно ничто не совершенно и наверное если очень захотеть...

Igor Korolyov
и соответственно она будет работать ну абсолютно не от имени простого пользователя
А может можно запускать отдельную процедуру от имени другого пользователя?
Ratings: 0 negative/0 positive

Re: Доступ к папке и файлам
Taran

Сообщений: 11098
Откуда: Красноярск
Дата: 15.07.20 08:58:32
AngelOKES
Такой вариант сразу можно отсечь, для просмотра файл копируется на компьютер пользователя и путь никак не отследить

Ну это упрощает. Собственно у меня в аналогичной проге сделано также. Естественно и версии сохраняются.
Ты попробуй побыстрому проверь через $ как я выше написал.
А потом сделаешь DCOM-сервер на фоксе, который будет находиться именно на сервере, как Игорь и пишет.
Папки тогда расшаривать вообще не надо.
Клиентская часть запросит, сервер отправит данные из прочитанного файла. Клиент преобразует в локальный файл. Ну и сохранение аналогично.
Ratings: 0 negative/0 positive

Re: Доступ к папке и файлам
_vit

Сообщений: 4457
Дата: 15.07.20 13:21:46
А что ты Игорь не стал предлагать вариант LogonUser/ImpersonateLoggedOnUser ?

fox.wikis.com
Ratings: 0 negative/0 positive

Re: Доступ к папке и файлам
AngelOKES
Автор

Сообщений: 797
Дата: 15.07.20 14:42:43
_vit
LogonUser/ImpersonateLoggedOnUser

Попробовал, но что-т о результата нет или я что-то не так понял
Немного видоизменил его на обычное копирование, в обоих случаях он копирует замечательно
Попробую ещё разобраться, почитаю описание всех функций в этом примере

Извинияюсь, покопался на англоязычнгых сайтах и разобрался как и для чего и вроде бы всё работает как надо, завтра буду тестировать



Исправлено: AngelOKES, 15.07.20 14:55
Ratings: 0 negative/0 positive

Re: Доступ к папке и файлам
Igor Korolyov

Сообщений: 34002
Дата: 15.07.20 22:15:52
Потому что он реально требует достаточно мощных системных привилегий. По сути административных - а давать простым юзерам такие права даже чисто на их рабочие компы - нехорошо. Плюс проблема скрыть логин/пароль которые будут напрямую в коде прописаны (без шифрования и хотя-бы минимальной защиты от декомпиляции будет не защита, а фикция).
Да и то что писалось для времён Win2k/xp уже мало актуально.


------------------
WBR, Igor
Ratings: 0 negative/0 positive

Re: Доступ к папке и файлам
AngelOKES
Автор

Сообщений: 797
Дата: 16.07.20 11:49:00
Igor Korolyov
Потому что он реально требует достаточно мощных системных привилегий. По сути административных - а давать простым юзерам такие права даже чисто на их рабочие компы - нехорошо. Плюс проблема скрыть логин/пароль которые будут напрямую в коде прописаны (без шифрования и хотя-бы минимальной защиты от декомпиляции будет не защита, а фикция).
Да и то что писалось для времён Win2k/xp уже мало актуально.

Поясните, почему нужно давать мощные системные права и привилегии? Ведь я просто могу делать определённые действия от другой учётной записи, права которой так же будут сильно урезаны под нужды и даже если найдётся хакер который взломает эти права, то он ещё должен понять, а зачем ему это собственно надо было...
Ratings: 0 negative/0 positive

Re: Доступ к папке и файлам
_vit

Сообщений: 4457
Дата: 16.07.20 12:57:34
Игорь имеет в виду что процесс вызывающий LogonUser (а значит пользователь который его запускает) должен иметь привелегию SE_TCB_NAME ("SeTcbPrivilege")


SE_TCB_NAME ("SeTcbPrivilege")
Эта привилегия идентифицирует своего владельца как часть базы доверенных компьютеров.
Некоторым доверенным защищенным подсистемам предоставляется эта привилегия.
Право пользователя: действовать как часть операционной системы.

Пользователи с этим правом пользователя могут получить полный контроль над устройством и стереть доказательства своей деятельности.

Другими словами, пользователи твоей программы, чтобы иметь возможность использования этой фишки, должны иметь практически права администратора.



Исправлено: _vit, 16.07.20 13:02
Ratings: 0 negative/1 positive

Re: Доступ к папке и файлам
of63

Сообщений: 20502
Откуда: Н.Новгород
Дата: 16.07.20 13:21:25
Полумера (может здесь уже было): У папки есть свойство (в закладке "Безопасность") - "Список содержимого папки". Если его стереть для какой-то категории пользователей, то они не увидят содержимого папки. Ещё есть есть атрибуты папки/файла RO, Hidden...
Ratings: 0 negative/0 positive

Re: Доступ к папке и файлам
AngelOKES
Автор

Сообщений: 797
Дата: 16.07.20 13:40:12
_vit
Другими словами, пользователи твоей программы, чтобы иметь возможность использования этой фишки, должны иметь практически права администратора.

Ну на сколько я понимаю сделать запуск чего-либо из под другой учётки может абсолютно любая учётка (может и ошибаюсь).
Тестирование пока показало отсутствие проблем с доступом, был там один косяк, это делать переопределение после выбора файла, а далее, чтобы быть увереным, что у другой учётки будет доступ к данному файлу (сетевые ресурсы к примеру или просто закрытые папки), то необходимо предварительно данный файл скопировать локально в папку программы (предварительно проверив его наличии) и потом уже копировать на нужный ресурс удалив за собой копию (если она создавалась).
Теперь необходимо продумать удаление файла, опять же уже заходя сразу под другой учёткой, тут уже нет смысла проверять уровень доступа, он в любом случае уже должен быть, а также локальное его чтение, но тут уже можно всё упростить дав всем пользователям домена доступ на чтение или можно заморочится по полной и делать копирование на локальное устройство (под правами другой учётки) и после этого уже чтение данного файла локально.
Надеюсь сегодня - завтра запущу глобальное тестирование и делать выводы, но пока что меня вполне устраивает такое решение проблемы
Ratings: 0 negative/0 positive

Re: Доступ к папке и файлам
Аспид

Сообщений: 3443
Откуда: Москва
Дата: 16.07.20 14:08:05

Re: Доступ к папке и файлам
AngelOKES
Автор

Сообщений: 797
Дата: 16.07.20 14:58:44
Аспид
Мне кажется выбранный подход, просто не профессиональным. Затыканием дыр.
Нужно искать другой способ. Правильный, за который тебя не будет материть, пришедший после тебя.


А на счёт поиска другого решения, было тут предложение сделать свой сервис... эх... если бы я ещё понимал как это сделать... вот предложили LogonUser/ImpersonateLoggedOnUser и даже готовый код дали, всё легко и понятно и вроде как работает, пока подводных камней не вижу, поставленная задача решается на все 100%

P.S. Могу успокоить после меня никого не будет, контору нашу закроют в концу года и никому не придётся ломать голову над моими проектами и решениями, всё пойдёт в утиль... и мои сообщения вам тоже не нужно будет лицезреть, так как и я пойду туда же



Исправлено: AngelOKES, 16.07.20 15:01
Ratings: 0 negative/0 positive

Re: Доступ к папке и файлам
_vit

Сообщений: 4457
Дата: 16.07.20 17:24:54
AngelOKES
всё пойдёт в утиль... и мои сообщения вам тоже не нужно будет лицезреть, так как и я пойду туда же

Ну, это...
Выше нос!
Твои знания, умения останутся в любом случае при тебе.
Это то, не смогут пустить в утиль.
Ratings: 0 negative/0 positive

Re: Доступ к папке и файлам
Igor Korolyov

Сообщений: 34002
Дата: 16.07.20 20:56:25
AngelOKES
Ну на сколько я понимаю сделать запуск чего-либо из под другой учётки может абсолютно любая учётка (может и ошибаюсь).
Есть разница между запуском некоторого процесса через RunAs (что действительно доступно без наличия лишних прав для запускающего) и подобной имперсонацией уже запущенного/работающего процесса - второе требует мощной системной привилегии, увы.


------------------
WBR, Igor
Ratings: 0 negative/0 positive



Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 11 of63 po2 Simple777 lulgu  (Гостей: 7)

21.01.2021 17:05:18 exec: 0.03
Mem: 1.497 Mb

© 2000-2021 Fox Club 
Яндекс.Метрика