• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Надо как то "скрыть" БД, посоветуйте

  • Автор темы Sandro
  • Дата начала
S

Sandro

Ситуация следующая:
Начал разрабатывать БД, опыта 0, создал роли, ограничил права пользователям на формы , представления, пункты меню, тут возникла необходимость разместить базу на нескольких серверах (филиалах). Всё реплицируется, всё хорошо, но вот при желании , любой пользователь может базу скопировать локально и посмотреть всю информацию, как вариант убрать дизайн из базы, но тогда , на сколько я понимаю код уже не исправить, как поступают в таких случаях, можно ли как нить настроить , что б структура сохранялась на моём сервере и реплицировалась на другие сервера , на которых структура скрыта. Как это по науке делается, подскажите в каком направлении копать ?
 
N

nvyush

Sandro
Создаёте шаблон БД, доступный только Вам. Создаёте рабочую базу, доступную пользователям, на которую накатываете дизайн из шаблона с включенной галкой сокрытия дизайна.

Все изменения в дизайн вносите в шаблон, после отладки изменений перенакатываете дизайн на рабочую базу, не забыв взвести вышеупомянутую галку.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
и ещё код LS вынести в библиотеки (внешние)
 
S

Sandro

Спасиб, общее направление понятно, буду думать.
 

Kizarek86

Green Team
20.07.2007
871
7
BIT
38
По Вашему описанию пользователи локально себе базы для работы не копируют?
Так и запретите им копирование сняв соответствующую галку в доступе "Репликация или копирование документов"
 
S

Sandro

Ну с пользователями то понятно, но есть ещё администраторы на "местах", которые базу реплицируют, но при этом им совсем не обязательно видеть информацию из других филиалов. Вот такая вот политика партии.
 
N

nvyush

Ну с пользователями то понятно, но есть ещё администраторы на "местах", которые базу реплицируют, но при этом им совсем не обязательно видеть информацию из других филиалов. Вот такая вот политика партии.
Так нужно скрыть дизайн или данные? Если данные, то для этого есть readers-поля. Прописываете туда помимо пользователей центральный сервер и сервер филиала — документы на другой филиальный сервер не попадут. Или мудрить с формулами репликации.
Что касается ACL, то не имея медеджерских прав на базу её можно править только серверным агентом, имеющим соответствующие права. Т.о. создаёте документ-запрос с информацией, кому какие права дать, вызываете серверный агент с NoteID этого документа, агент вносит соответствующие изменения в ACL. Список ролей вывести можно, но, кмк, не нужно, лучше вывести список "человеческих" ролей, а кодом уже преобразовывать в роли и полномочия ACL.

Добавлено:
Так и запретите им копирование сняв соответствующую галку в доступе "Репликация или копирование документов"
Это запретит также и печать документов, а также копирование информации из документов в буфер обмена. Причём документы, созданные/редактированные "ущербными" пользователями получают служебное поле $KeepPrivate, запрещающее копирование документа всем, включая менеджера с полными правами.
 
M

morpheus

Добавлю к ACL в последней закладки поставить галочку напротив
Enforce a consistent Access Controll List across all replicas

ну и плюс ридерс поля - что вижу то и реплицирую.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
Начал разрабатывать БД, опыта 0
смысл дизайн прятать, боишься засмеют?
с хайдинговым дизайном часто траблы на личных папках происходят, а новички как раз любят папки создавать и на них подвязыватсья
 
S

Sandro

Добавлено:
Это запретит также и печать документов, а также копирование информации из документов в буфер обмена. Причём документы, созданные/редактированные "ущербными" пользователями получают служебное поле $KeepPrivate, запрещающее копирование документа всем, включая менеджера с полными правами.
[/quote]

То есть $KeepPrivate документ не будет реплицироваться ??? И будет только доступен в БД к которой подключен пользователь ?
 
M

morpheus

так-с сообщения потёр

ещё чучуть флуда не по теме - и топик будет закрыт, нарушителям - по гарчишнику
 
S

Sandro

Так нужно скрыть дизайн или данные? Если данные, то для этого есть readers-поля. Прописываете туда помимо пользователей центральный сервер и сервер филиала — документы на другой филиальный сервер не попадут. Или мудрить с формулами репликации.
Что касается ACL, то не имея медеджерских прав на базу её можно править только серверным агентом, имеющим соответствующие права. Т.о. создаёте документ-запрос с информацией, кому какие права дать, вызываете серверный агент с NoteID этого документа, агент вносит соответствующие изменения в ACL. Список ролей вывести можно, но, кмк, не нужно, лучше вывести список "человеческих" ролей, а кодом уже преобразовывать в роли и полномочия ACL.

Добавлено:
Это запретит также и печать документов, а также копирование информации из документов в буфер обмена. Причём документы, созданные/редактированные "ущербными" пользователями получают служебное поле $KeepPrivate, запрещающее копирование документа всем, включая менеджера с полными правами.


То есть $KeepPrivate документ не будет реплицироваться ??? И будет только доступен в БД к которой подключен пользователь ?
 
N

nvyush

То есть $KeepPrivate документ не будет реплицироваться ??? И будет только доступен в БД к которой подключен пользователь ?
Если мне не изменяет склероз, реплицироваться такой документ будет (разумеется, сервером или пользователем, имеющим право на репликацию), а вот вытянуть из него информацию через уи, кроме как принтскрином не получится, пока поле $KeepPrivate не будет удалено.
 
P

phantom76

То есть $KeepPrivate документ не будет реплицироваться ??? И будет только доступен в БД к которой подключен пользователь ?

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

Sandro

:) Ладно , будем тренироваться на кошках))) Я так понимаю, значение поля агентиком поменять то можно будет мне ?
 
S

Sandro

;) Ладно , будем тренироваться на кошках))) Я так понимаю, значение поля агентиком поменять то можно будет мне ?

Кошки сказали, фиг вам , а не репликация, пользователь создающий документ без прав к репликации и копирования, метит поле $KeepPrivate=1 и он не реплицируется.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!