|
|
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Прошу вашей критики по поводу "придуманной", но еще не реализованной системы защиты от несанкционированного доступа к данным в... файл-серверной БД Access. Да-да-да... Тема неоднократно обсуждалась, да и, вобщем-то, на своей шкуре вся утопичность подобного рода занятий уже прочувстована, но тем не менее... эээ-э-э-э-э... Тем не менее есть задача реализовать защиту сетевой mdb по следующим направлениям: ТЗ 1. Разграничение прав Пользователей на доступ и изменение информации (стандартные фишки по раздаче прав); 2. Ведение жесткого и надежного лога действий Пользователей (вошел-ушел; изменил, удалил, добавил и т.п.); 3. Исключить возможность изменения информации (как по предметной области учета, так и служебной, например логов действий Пользователей) минуя специально созданный интерфейс (фронт-сайд). То есть, основной задачей является предотвращение несанкционированного (без попадания в лог информации о пользователе или, что еще хуже, под видом другого пользователя) изменения данных в БД. Уже имеем: - Стандартную "защиту" файлом Рабочих групп (была взломана "мышкой" посредством соотв.утилиты нечистоплотным сотрудником с целью заметания следов хищения тов.мат. ценностей). - Ведение лога программыми средствами (из форм). Изменение важной информации "логируется" вплоть до сохранения старого значения (бывшего до изменения), не говоря уже "постановке на карандаш" пользователя, внесшего онное. Дополнительные предполагаемые (выставленные для критики) действия: 1. Специально выделенный Сервер с физическим ограничением к нему доступа лиц, потенциально жаждущих наживы; 2. Для решения задач поставленных в ТЗ, на сервере постоянно "крутится" аля MDBSQLServer v0.1 (c) Exquisite :) Данное творение выполнено на базе mde. Его функции станут понятны из ниже приведенного текста. 3. На сервере находится MDB с данными (стандартное решение). Находиться файл может в двух местах: в "расшаренной" папке и в "нерасшаренной", локальной папке. Перенос файла(ов) с данными из папки в папку и, таким образом, псевдо-контроль за доступом к данным через сеть, производит MDBSQLServer. При запуске MDBSQLServer'а данные переносятся в расшаренную папку, при закрытии MDBSQLServer'а - в локальную, что исключает бесконтрольный (без присутствия запущенного MDBSQLServer'а) доступ к данным через сеть. 4. Запущенный (постоянно работающий) MDBSQLServer обеспечивает: - копирование файлов данных в расшаренную папку; - переодическое (думаю раз в неск. секунд) определение количества подключенных пользователей и количество "официально" сообщивших о подключении "Интерфейсов" (которые обязаны самостоятельно вести лог своих подключений/отключений и изменения данных). Данный Лог пишится Интерфейсами в серверную БД, из которой MDBSQLServer незамедлительно (раз в неск секунд) перекидывает (при этом удаляя из общей БД) данную информацию в специальную БД (или файл), расположенную в локальной папке сервера, что исключает самовольное редактирование хронологии подключений/изменений (лога) пользователями сети. - Несанкционированное подключение через запущенный с шифтом Интерфейс или из собственной БД с линками будет вычислен MDBSQLServer'ом по отсутствию "официального" сообщения о подключении со стороны Интерфейса, при том, что количество подключений увиличилось. Реакция MDBSQLServer'а может быть разной... От насильственного отключения всех пользователей (предотвращая тем самым нелегальный доступ) до дозвона в 02 (или куда там еще можно позвонить:). - при закрытии MDBSQLServer'а он переносит (сжимает, делает резервные копии, протирает монитор и т.п.) рабочий файл в локальную папку, что исключает сетевое подключение к рабочей БД без ведома MDBSQLServer'а. 5. Клиентские Интерфейсы - конечно mde, конечно защита от Шифта, конечно "прятание" окна БД (как стандартными средствами, так и, думаю, субклассированием, "отнимающим" у окошка все "вредоносные" сообщения). Программное сообщение о подключении формируется Интерфейсом в автоматически стартующей форме, при этом как само сообщение, так и ID Пользователя шифруются по нескольким собственным (читать: "нестандартным") алгоритмам, выдающим каждый раз (каждый день) различный итоговый "текст", т.е. вчерашнее сообщение и ID сегодня уже не будут восприняты MDBSQLServer'ом как корректные. Вроде всё... Еще раз повторю, что это всего лишь не реализованная идея , перед воплощением которой хотелось бы убедиться в ее "полезности". Т.е. цель сего топика - определиться, способна ли подобная защита устоять перед... нет, конечно не перед Сергеем Гавриловым или Андреем Митиным (извиняюсь, если не назвал кого-либо, кто иногда или когда-то "баловались" взломом в познавательных целях;) ...перед продвинутыми пользователями, знающими как пользоваться интернетом, гуглом и умеющие читать файлы "РиадМи" к разным ломальным утилиткам. Дочитавшим до сего места огромная просьба: Покритикуйте данную схему, "Повзламывайте" ее виртуально, укажите на возможные "тонкие" места в подобном усилении защиты... ...перед попыткой реализации, возможно, заведомо бессмысленного проекта... Заранее огромное спасибо! ...хотя бы за то, что дочитали до сего места :) ------------- З.Ы. Переход на SQLServer (с) MS - невозможен по религиозным соображениям. З.Ы.2. В перечне "ТЗ" еще присутствовала и защита от "Утечки информации", но после довольно продолжительного общения с "заказчиком" (в кавычках от того, что денег за это не беру... так... удовольствия ради... типа хобби...:) о бренности подобных усилий в заявленных условиях (mdb) - пункт был удален. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 03:47:54 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
Это, наверное, возможно сделать... но стоить это будет заметно дороже покупки MS SQL Personal Edition или даже MS SQL Ent. Edition. Ну время, само-собой нужно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 07:35:31 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
А если просто скопировать MDB к себе отредактировать и записать обратно на сервер. Как я понимаю надо просто выбрать время когда ни кто не подключен например в обед. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 08:44:44 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
Exquisite, ну зачем тебе такие религиозные убеждения, а? Из сразу видимых недостатков автор- переодическое (думаю раз в неск. секунд) определение количества подключенных пользователей и количество "официально" сообщивших о подключении "Интерфейсов" Человек может скопировать серверное расшаренное хранилище к себе, унести домой на миллионе дискеток, внимательно изучить, написать мудрый скрипт, который все что нужно исправит за 0.5 секунды, и этот скрипт запустить уже на работе. Даже не придется копировать измененное хранилище поверх старого, что чревато обрушением, но способно иногда отработать даже при подключенных, но неактивных пользователях. Открытое хранилище данных - это п...ц любым мыслям о серьезной защите. А если его закрыть - то придется писать свой сервер. Уж лучше подними Terminal Server, жестко настрой права пользователей в нем, чтобы они вообще ничего не могли запустить, кроме твоей оболочки (приложения), и всю работу веди через терминальные сессии с локальным (для терминального сервера) хранилищем данных. А доступ к хранилищу через сеть закрой ото всех. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 09:36:35 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
Показаось, что это скрещение ежа с ужом. И желание "поработать с линкованными таблицами". Пункт 3 не вполне понят. Кажется, пратать-выкладывать придумано для того, чтобы исключить возможность прямого доступа к данным в момент, когда не поднят "Сервер". Но когда он поднят - ведь возможность остается... (Если нет - то непонятно зачем перекладывать) Тут скорее каналы-сокеты-DCOM или COM+ на ум приходит. Клиентские права, похоже, придется сильно либо надстроить либо переписать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 09:51:59 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
еще мысль насчет неконтролируемых подключений чем постоянно мониторить, не влез ли кто чужой - пусть уже лучше MDBSQLServer сразу создаст 256 подключений, которые ниче делать не будут, но и никого больше не впустят. Кошерный интерфейс перед подключением посылает запрос серверу, тот одно из своих подключений срубает. Сервер периодически должен мониторить свободные подключения, на случай отвала клиента, и если свободные подключения есть - то тут же занимать их. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 10:03:06 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
2 Лох Позорный : шиза косила наши ряды ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 11:40:44 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
Alexey Sh2 Лох Позорный : шиза косила наши ряды Это к чему-то конкретно или вообще к идее защитить mdb? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 11:43:27 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
Я (пока) не разбираюсь в MDBSQLServer и может глупость напишу, но всетаки:создав свой МДБ с примерно таким кодом я получу легальное подключение через которое выполню нелогируемые действия. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. frmStart -несвязанная стартовая форма нормального инттерфейса Также: Я не увидел мыслей про защиту лог файла от прямого изменения. Вскрыв самопальный алгоритм шифрования можно долго оставаться незамеченным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 11:49:29 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
ЯЯ не увидел мыслей про защиту лог файла от прямого изменения.Извеняюсь, что не увидел, видимо просто потому, что сам не пишу логи в базу, а пишу их в текстовый файл(ИМХО быстрее и не пучит базу) . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 12:33:24 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
Лох Позорный Alexey Sh2 Лох Позорный : шиза косила наши ряды Это к чему-то конкретно или вообще к идее защитить mdb? Это к конкретной идее :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 12:38:56 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
Защитить MDB файл можно только построив сервер приложений, для которого mdb файл будет хранилищем. А стоит ли такая овчинка выделки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 12:42:00 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
- не составит труда подменить SQL запрос в вашем mde на "SELECT t1.* INTO copy IN 'D:\db0.mdb' FROM t1" (стандартная защита mde обходится) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 13:09:20 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
ExquisiteТо есть, основной задачей является предотвращение несанкционированного (без попадания в лог информации о пользователе или, что еще хуже, под видом другого пользователя) изменения данных в БД. Прошу прощения, но я не очень хорошо понял связь между этим предложением и далее изложенным текстом. Ситуация 1 (раз): автор1. Специально выделенный Сервер с физическим ограничением к нему доступа лиц, потенциально жаждущих наживы; Я, пользователь, Geo, имеющий разрешение на работу с Сервером, подключаюсь к нему и читаю файл .mdw, мне доступный. Далее я, уже будучи пойманным на факте входа под другим логином, вновь читаю содержимое .mdw, и "официально", с помощью Интерфейса, вхожу в акцесс, правда, под пользователем Exquisite (я же знаю, что сегодня он в командировке, а то написанная и работающая чудо-программа меня не бы не пустила) и несанкционированно правлю остатки проданного мною "налево" товара. Да, информация об изменении сохранилась, но сделал-то их не я. Что? Ведется лог подключений пользователей силами Windows, а этот пароль Exquisite я не смог получить? А зачем тогда вообще чудо-программа? Есть факт входа Geo на сервер, есть факт санкционированного входа Exquisite в программу. Как они между собой ассоциируются? Неужели так: авторДанный Лог пишится Интерфейсами в серверную БД, из которой MDBSQLServer незамедлительно (раз в неск секунд) перекидывает (при этом удаляя из общей БД) данную информацию в специальную БД (или файл), расположенную в локальной папке сервера, что исключает самовольное редактирование хронологии подключений/изменений (лога) пользователями сети. Но уже есть авторИзменение важной информации "логируется" вплоть до сохранения старого значения (бывшего до изменения), не говоря уже "постановке на карандаш" пользователя, внесшего онное. Не лучше ли скрестить это и предыдущее предложение между собой, понаписать "триггеров для бедных" (на вход выход из подформы или др. событие, я делал как-то на печать: часто печатают неверную накладную для продажи налево, правят ее и печатают повторно для подшивки), которые будут складывать лог изменений базы (+имя логина в акцесс, имя к-ра, с которого эти изменения ведутся и/или другую информацию, собрать которую способна клиентская mdb о своем окружении) на сервер в виде, например, а-ля xml-файлов, которые тут же будут тамошним резидентом складываться в недоступное для всех место? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 13:12:12 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
ЗЫ. Привет, кстати :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 13:13:41 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
Здравствуйте еще раз. Спасибо проявившим внимание! Увидел примерно то, что и сам бы написал на подобную тему, исходи она не от меня. Но... Но надо дополнительно защитить MDB (не обсуждается по условиям ТЗ) от несанкционированного изменения данных. Итак... для aleks2: Не буду спорить, ибо переход на SQL-Server по не обсуждаемым здесь причинам ближайшее время (да и не ближайшее тоже, видимо) не планируется. Конечно, клиент-сервер при грамотном подходе решил бы все задачи ТЗ. для makar: >А если просто скопировать MDB к себе отредактировать и записать обратно на сервер. Остается как минимум одно подключение - наш MDBSQLServer. В большинстве случаев копирование БД на место открытой (используемой) БД либо завершится сообщением об ошибке, либо "навернет" БД, либо, как заметил ЛП, тихо-мирно-незаметно скопирует. Но подмена рабочей БД может быть довольно просто (и надежно) решена с помощью MDBSQLServer. Правда, для реализации подобной проверки необходимо использование самописного алгоритма шифрования, что, вроде бы, легко ломается, но об этом еще речь впереди... Т.е. эту "дыру" в защите данная схема решить может. для ЛП: Ну, во-первых, сразу извиняюсь за орфографические ошибки :) Во-вторых... >Человек может... ...внимательно изучить, написать мудрый скрипт, который все что нужно исправит за 0.5 секунды, и этот скрипт запустить уже на работе. Нда... Действительно может, хотя речь здесь уже идет не о "продвинутом юзере, умеющим пользоваться Гуглом", а о программизде, но, всё же, действительно "дыра"... ...которая, кажется, рашаема 256-ю подключениями :) Спасибо! //надо подумать... >Уж лучше подними Terminal Server... Не... При таком раскладе лучше переходить на клиент-серверные решения (что в моем случае даже не может быть рассмотрено), ибо весь проект придется кардинальнейшим образом переделывать. Еще раз спасибо за "сразу 256 подключений". для Victosha: >Показаось, что это скрещение ежа с ужом. Ну от чего же "показалось"? Все правильно увидели :) >И желание "поработать с линкованными таблицами". Не очень хорошо понял смысл сказанного... Разве при разделении mdb проектов на "хранилище" и "интерфейс" не приводит к "поработать с линкованными таблицами"? Хм... >Кажется, пратать-выкладывать придумано для того, чтобы исключить возможность прямого доступа к данным в момент, когда не поднят "Сервер". Именно так... Но когда он поднят - ведь возможность остается... (Если нет - то непонятно зачем перекладывать) Нет, когда он поднят возможность подключения НЕ через фронт-сайд (фронт-энд, если угодно) маловероятна. "Сервер" постоянно контроллирует количество подключившихся и количество зарегистрировавшихся на "Сервере" (подключившихся "официально"). Правда, была предложена другая идея для решения данной проблемы :) А перекладывать от того, что наш "Сервер" - это всего лишь БД Access, которая может оказаться и не запущенной в момент подключения пользователей, и, соответственно, проверять "кошерность" подключений будет некому... Тут скорее каналы-сокеты-DCOM или COM+ на ум приходит. Не... Вот это действительно слишком э-э-ээ-э-э... слишком "не по детски", а мы ведь не профи :) Спасибо за критику. для Alexey Sh: И Вам спасибо... для N_A: Я (пока) не разбираюсь в MDBSQLServer и может глупость напишу... Эээээ-э-э-э-э... Нет уж, нет уж! Глупости здесь пишу я! //типа, место уже забито :) "MDBSQLServer" - не более чем плод фантазии (пока), поэтому здесь НИКТО не разбирается в MDBSQLServer'е :) ...создав свой МДБ с примерно таким кодом я получу легальное подключение через которое выполню нелогируемые действия Т.е. откроете "интерфейсный" mde, который сразу попытается приконнектиться к серверной БД и тут то "MDBSQLServer" поймает нас за руку. Хотя, еще открывается старт-ап форма, которая должна выполнить "легальное" подключение, но для легального подключения она попросит логин и пароль, которые проверит все тот же MDBSQLServer. Если вы дадите свой логин и пароль, то и не стоило так извращаться - добро пожаловать к данным через предоставленный вам Интерфейс :) Или я чего-то не допонял? для marvan: - не составит труда подменить SQL запрос в вашем mde на "SELECT t1.* INTO copy IN 'D:\db0.mdb' FROM t1" (стандартная защита mde обходится) Это позволит нам "украсть" информацию, что, вобщем-то, и не ставится целью "защитить" (ввиду ЯВНОЙ бессмысленности сего). Кстати, добраться до окошка БД (там, где видно эти самые запросы) еще надо умудриться, ведь оно защищено. Я не питаю иллюзий по поводу невозможности до него добраться, но еще раз повторю - это способ украсть инфу, но не измени... хм... мля... типа: Открываем наш интерфейс с кнопочкой Шифт (снять сию защиту помог Гугл), добавляем собственный запрос на изменение данных, затем запускаемся в обычном, "кошарном" режиме, умудряемся добраться до окна БД, запускаем запрос... Есть над чем подумать... но не "с ходу"... Спасибо! для Geo: Я, пользователь, Geo, имеющий разрешение... Нда... Файл рабочих групп ломать мы умеем, но... Есть обход, но он опять же упирается в "самопальный" алгоритм шифрования... Спасибо за критику... //и надо подумать :) Но уже есть "Изменение важной информации "логируется" вплоть до..." Есть то, оно, есть, но на данный момент его можно обойти. И лог-таблицу на данный момент можно (с помощью Гугла и мыши) подправить... А "триггеры для бедных" просто-напросто не сработают, если приконнектиться к сетевой БД из своей собственной БД (понатыкав линков в чистую базу). Эту "дырку" и призван закрыть "MDBSQLServer" - предотвратить (или максимально осложнить) подключения к сетевой БД в обход Интерфейса. З.Ы. И тебе привет! Очень рад не только "читать", но и общаться :) //ностальжи, аднака... (вытирая слезу:) ---------------------------- В общем, добавилось несколько хороших идей и несколько поводов для "подзадуматься"... Что и не примену сделать. Огромное всем спасибо!!! Но вот только... Если можно, то еще минутку внимания %) Тут прозвучала мысль, что самопальные алгоритмы шифрования элементарно вскрываются... А откуда эта информация? Кто-нибудь реально пробовал вскрыть последовательность из 1024 байт, в которой за 7 (пока) "проходов" шифруется строчка из 16 символов? Нет, конечно я понимаю, что шифрование это вам не "MDBSQLServer", но какую сумму запросит хаккер и сколько времени потратит на дешифровку этих самых 16 символов по алгоритму, ломалку к которому в интернете не найдешь? Методом перебора? %) Единственный вариант вскрытия подобного шифрования, ИМХО, это пошаговое выполнение шифрующей функции. Но ведь и мы не дураки, можем и "петельки" делать, и ложные ходы, и дошифровывать в неких не вызываемых явно из кода процедурах... К чему я это... К тому, что чтобы лично меня заставить трассить машинные коды чей-то проги для выяснения алгоритма преобразования 1024 байт в 16 символов и обратно - даже не знаю что и сделать то надо :) Конечно, есть люди, которые и на это пойдут, но... но это не тот случай! В защищаемой БД нет государственных секретов :) Если кто-нибудь что-нибудь может подсказать, показать (т.е. дать ссылочку на самопальное шифрование и методы его взлома), рассказать реальные или вымышленные случаи, то очень прошу... В любом случае огромное спасибо всем! з.ы. Не радуйтесь... Я его (топик) может быть еще разок подниму :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 21:09:35 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
Забыл автоподпись... Легких путей не ищу! Это слишком тяжело... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 21:11:28 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
Гусак не мечет икру. Защитить файловый источник данных от несанкционированного,нелогированного или какого ещё доступа можно только изолировав его от потребителя сервером приложений. В данной постановке задача не имеет разумного решения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 21:17:53 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
2 Exquisite Ну что ж, вот тебе контрольный в голову. Есть серверное хранилище. Назовем его server.mdb Есть мудрая софтина, непрерывно мониторящая подключения к server.mdb или вообще занявшая все свободные подключения, чтоб никого чужого не пустить. Копируем server.mdb к себе. Меняем его как нам надо. Создаем в нотепаде файлик нулевого размера под названием server.mdb. Копируем его поверх серверного хранилища. Даже не сомневайся, что сделать это получится. Что после этого произойдет? Правильно, все отвалятся с "дисковой или сетевой ошибкой" (аль какой другой). В том числе отвалится и мудрая мониторящая софтина. После отвала всех - преспокойненько копируем измененный нами server.mdb на историческую родину. Для правдоподобия можно его даже обрушить, но слегка, сафсэм чут-чут, чтоб потом он без проблем восстановился. Как с этим собираешься бороться??? Такой вот шоу-бизнес. Епаный мазафакер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 21:57:39 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
>переход невозможен по религиозным соображениям Критиковать попытку самостоятельно сваять систему безопасности бессмысленно, так же как критиковать вечный двигатель. Много умных дяденек и тетенек долго трудились и наваяли кучу продуктов про это. Тебе просто надо взять готовое решение и не парить голову себе, форумитам и заказчикам. На работе надо деньги зарабатывать. а не религиозно соображать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 08:29:50 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
для Alexey Sh: Спасибо еще раз... для ЛП: Контрольный не прокатил... Умная софтина умеет отличать файл "server.mdb" десяти(или N)секундной давности от файла на данный момент. Если после обрушения "server.mdb" умная софтина определила, что файл хотя бы "минутной давности", то делается предположение о попытке нелегального доступа. Остается всё тот же вариант со скриптом, который можно попытаться обойти полным блокированием подключений (с) ЛП. Впрочем, умолкаю-умолкаю )) для Shark (флэйм): >Критиковать попытку самостоятельно сваять систему безопасности бессмысленно, так же как критиковать вечный двигатель. Согласен... Так же, как критиковать во времена Икара саму мысль о том, что человек может летать с помощью искусственных крыльев или, к примеру, "посещать" космос. Что? Какой такой "космос"? :) //хотя про космос тогда уже знали... >Много умных дяденек и тетенек долго трудились и наваяли кучу продуктов про это. Тебе просто надо взять готовое решение... Много умных дяденек и тетенек долго трудились и наваяли много чего... Например, 1Сэ, Галактик, ПромФинБухУч и прочей срани... Так что? Программизды, которые не учавствовали в создании этих проектов и не используют (читать: "не ходят и не устанавливают эти готовые решения по клиентам") - дармоеды или мошенники, обдирающие бедных клиентов, навязывая им мысль, что готовых решений нет и надо всё писать с нуля, а значит дайте нам постоянную высокооплачиваемую работу? Кстати, то, что Вы сейчас пишите (создаете) на работе (а я не знаю, что вы пишите) - уже написано до вас тысячи раз и именно в вашей предметной области (а я ее не знаю) и с функциональностью, надежностью и безопасностью (о которых в вашем случае я не имею никакого представления) превышающей создаваемую Вами! //не наезд... >... и не парить голову себе, форумитам и заказчикам. Парить голову себе - хорошо... Мне нравится парить себе голову "попытками программировать" ))) Хобби такое... Парить голову форумитам... Хм... Ну, извиняюсь... Конечно, вопросы о том, "почему происходит ошибка Тайп мисматч при программной работе с рекордсетом после перехода на А2К" голову не парит... Все просто и легко... Думать не надо... Более того, могу сказать по секрету, что "парили" голову по данному топику совсем не много человек, которые реально критиковали, описывая возможные варианты "взлома", а не просто читали (если вообще читали или ДОчитали первый пост до конца) или высказывали ну никому абсолютно не нужное (ибо и так все это знают) мнение, что защита MDB - дело безнадежное. Я ЭТО ЗНАЮ! Но, всё же, рассматриваю возможность организовать ДОПОЛНИТЕЛЬНУЮ (для увеличения гемора взломщику и повышения шансов поймать его с поличным) и НЕСТАНДАРТНУЮ (с отсутствующей в инете ломалкой) защиту. Парить голову заказчикам... Млин... Ну вот почему каждый уверен, что ничегошеньки не зная ни о "заказчике", ни о системе, которая в данный момент у него стоит, ни о "железе" и "софте", ни о сфере деятельности предприятия, ни о требованиях, предпочтениях и ограничениях, предъявляемых "заказчиком", ни о финансовых его возможностях, может просто взять да и сказать: "Да поставь ему Оракл с ОЛАПом на парочку и будет тебе счастье"... Ведь я же сказал, что ситуация уже была оценена на месте и было принято решение просто организовать ДОПОЛНИ... хм... повтор... >На работе надо деньги зарабатывать. а не религиозно соображать. На работе я и зарабатываю. И дела идут не плохо. Бизнесс растет, свободного времени становится больше, которое предпочитаю тратить на отдых за любимым занятием - "попыткой программировать". бесплатно... ...ну и флеймить, как Вы уже заметили ))) Все, флеймить надоело... Действительно всё... Флеймить надоело... Еще раз огромаднейшее спасибо тем, кто указал на возможные реальные способы взлома описанной схемы "защиты" НЕ ГОСУДАРСТВЕННОЙ ВАЖНОСТИ ИНФОРМАЦИИ от ПРОДВИНУТОГО ПОЛЬЗОВАТЕЛЯ , ёпть, УМЕЮЩЕГО ПОЛЬЗОВАТЬСЯ ГУГЛОМ . На данный момент самой большой проблемой вижу "взлом" через изменение или создание собственных сохраненных запросов в "официальном" Интерфейсе. Буду думать... Всем спасибо! //Приятно было "посмеяться" :) --------------- Нда... Опять "многовато получилось" (с) не помню чье //гы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 09:50:30 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
На еще: Итак. Есть задача вести лог действий пользователя, по возможности минимально меняя программу... Окромя предложенного тобой + ЛП варианта можно было бы (мне он не нравится, честно говоря, слишком "толстый" алгоритм не прибавит счастья ни тебе, ни твоим возможным преемника, особенно если начнет глючить): 1. Наладить что-то вроде репликации. Все пользователи работают с локальными данными, живущими в их же собственной mdb. Причем локальными можно сделать лишь несколько "ключевых" таблиц, изменения данных которых могут быть "выгодными" по той или иной причине. Если кому-то не нравится вводить информацию посредством форм, пусть хоть самопальными запросами ковыряется. Раз в отрезок времени локальный файл базы копируется на сервер. Там данные этих файлов собирает в кучу серверная программа, логирует и возвращает всем обновленные данные. - минусы: самописный или почти самописный алгоритм репликации. Пользователи жестко привязаны к "своей" мде. Можно обойти ситуацию "создал неверную -> напечатал -> отдал -> тут же поправил -> напечатал -> подшил". - плюсы: имена пользователей прошиты в коде мдб. При появлении несанкционированных изменений всегда можно сказать, что их сделал пользователь такой-то. Защита перекладывается на плечи Windows. (мне самому такая схема не нравится). 2. Выбрать какое-то действие, которое может делать только локальная мде (или локальный к-р). Какое? Не знаю. Печать отчета(!), например (организационно можно заставить всех, например, печатать и подшивать все введенные документы), или просмотр остатков, или что-то еще. Это действие должно выполняться только в том случае если успешно удалось положить очередную дельту изменений на сервер (откуда их тут же перепрятал тамошний резидент). Что такое дельта? Да хоть печатаемый документ. - плюсы: при "свободном" доступе к данным на сервере ведется лог, о котором пользователь в идеале и не знает. Если кто-то изменил данные, процедура проверки соответствия данных ведущемуся логу обнаружит это. - минусы: сопоставить несанкционированные изменения внесшему их к-ру удастся не всегда. --- ЗЫ. А через ODBC пробовал с sql'ем работать? Насколько я понимаю, mdb-шку при этом можно и не менять... --- ЗЗЫ. А давай сыграем? Предположим, недавно вышел приказ, что все набранные накладные в обязательном порядке должны печататься и сдаваться в архив. Я - сервер. Ты - пользователь, унесший ТМЦ. Тебе надо стереть запись. У меня есть архивная копия и лог изменений, тебе недоступные. Расшаренная сетевая база толком не защищена. Лог шифруется, как можно. Каждый, скажем вечер, я сверяю архив+лог изменений с текущей расшареной базой. При обнаруженных несоответствиях приоритет отдается первым двум. Если не могу справиться с проблемой сам, отдаю ее на откуп администратору. После проверки и устранения возможных проблем текущая версия переезжает в архив. 1. Ты стираешь (правишь) запись накладной и печатаешь ее. Перед печатью дельта переезжает на сервер, откуда подчищается наблюдающей программой, которая разрешает локальной программе работать дальше посредством, например, такого же файлика. Лог есть => изменения корректные. (При инвентаризации недосчитываюсь этого товара. Кто его вводил/менял? Такие-то товарищи.) 2. Ты стираешь запись накладной и не печатаешь ее. Вечером я восстанавливаю исходные данные - лога нет => изменения несанкционированны => удаляю их, сообщаю всем пользователям, что накладная такая-то не была сохранена, если надо, попробуйте еще раз. 3. Ты узнал, что лог складывается туда-то. Пробуешь подсовывать мне разнообразные файлы в эту папку. Я их не беру - не так зашифрованы, откуда тебе знать, что там программист наковырял в этом шифровании. Ты пробуешь подложить себе разрешительные файлы - та же беда. Что еще ты можешь мне сделать? это навскидку, как альтернативы. ЗЗЗЫ. Чем бы не заниматься, лишь бы ничем не заниматься... Как же работать неохота :(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 10:13:57 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
За 1с обидно. Мне 1с нравится. Я просто хотел Вам посоветовать использовать SQL сервер, тк имхо это правильное решение вашей задачи. Если Ваше мнение не включать в постановку. Если я сделал это в резкой форме, то прошу прощения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 11:05:13 |
|
||
|
Покритикуйте схему защиты mdb (файл-сервер), пажалста...
|
|||
|---|---|---|---|
|
#18+
http://v8.1c.ru/overview/Platform.htm Скачайте ролик с этой странички. Я был сильно впечатлен. Наверно Вы просто плохо знаете 1с... Сертификация 1с- это разработка маленькой учетной задачки за 4 часа. На эксесе сделать такую за месяц- это очень быстро, я думаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 12:07:01 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32728933&tid=1671089]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 349ms |

| 0 / 0 |
