Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| | | | | | | | | | | | |
Права. Права на изменения. Если он не обладает правами на... 30.06.05 18:09 Число просмотров: 2042
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
|
> а что мешает владельцу ключа стать злоумышленником? и при > контроле извне вносить правильные данные, а в нерабочее > время корректировать их подручными средствами, так сказать, > нелегально!
Права. Права на изменения. Если он не обладает правами на внесение информации в базу, изменением ее, то он ни в какое время (рабочее или сверхурочное) это не сможет сделать. Если же ключ позволяет модифицировать, то он должен быть выдан доверенному лицу, а оно может это делать в любое время. Злоумышленник, это тот, кто попытается превзойти, выданные ему права. Не бывает такого, чтоб препод злоумышленником оказался. Короче ученик со своим ключем априории злоумышленник (так как всезда желает увеличить себе балл) никогда ничего не сможет сделать, так как у него доступ "только на просмотр", да и то только для себя. Препод должен уметь править оценки только по своему предмету. Он будет злоумышленником, если захочет подправить оценки, выствленные другим преподом по другому предмету. В любое время дня и ночи.
|
<programming>
|
Подскажите, на чём написать базёнку, чё бы данные в ней нельзя было подправить? 30.06.05 12:36 [Garick, PS]
Автор: dub Статус: Member
|
Тема такая, уж очень много ворюг развелось, так и наровят приписать лишний нолик, задача в том, что бы максимально усложнить злоумышленнику что-то добавить от себя в данные, разделение доступа и шифрование не помогает :(
|
|
Не мудрите! Думаю, делать надо так: 30.06.05 15:46
Автор: Den <Denis> Статус: The Elderman
|
Для начала все же необходимо выделить "сервер", установив его в недоступное место.
Далее необходимо создать две базы:
Первая - рабочая БД (DB1) должна принимать данные от рабочего идентификатора пользователя (UID1, которым пользуется клиентское ПО на местах учеников) и выполнять триггер на добавление записи во вторую защищенную БД (DB2) от имени владельца триггера (dbo). Так как триггер можно повесить раздельно на добавление, изменение и удаление данных, то триггеры на изменение и удаление данных в DB1 можно использовать по своему усмотрению, например для логирования несанкционированных операций (здесь фантазии нет предела).
Вторая БД, как наверное уже поняли, не позволяет подключаться пользователю UID1 и изменять данные каким-либо образом.
Таким образом, все корректные данные по оценкам будут находиться в DB2, а DB1 при этом используется как буферная БД с контролем выполняемых действий. При данной реализации нет необходимости в шифровании
З.Ы. Один очень важный момент - Какой SQL сервер используется?
|
| |
сомневаюсь, что такое место можно будет найти :( 30.06.05 15:55
Автор: dub Статус: Member
|
> Для начала все же необходимо выделить "сервер", установив > его в недоступное место.
сомневаюсь, что такое место можно будет найти :(
> Далее необходимо создать две базы: > > Первая - рабочая БД (DB1) должна принимать данные от > рабочего идентификатора пользователя (UID1, которым > пользуется клиентское ПО на местах учеников) и выполнять > триггер на добавление записи во вторую защищенную БД (DB2) > от имени владельца триггера (dbo). Так как триггер можно > повесить раздельно на добавление, изменение и удаление > данных, то триггеры на изменение и удаление данных в DB1 > можно использовать по своему усмотрению, например для > логирования несанкционированных операций (здесь фантазии > нет предела). > > Вторая БД, как наверное уже поняли, не позволяет > подключаться пользователю UID1 и изменять данные каким-либо > образом. > > Таким образом, все корректные данные по оценкам будут > находиться в DB2, а DB1 при этом используется как буферная > БД с контролем выполняемых действий. При данной реализации > нет необходимости в шифровании > > З.Ы. Один очень важный момент - Какой SQL сервер > используется?
пока никакой, думаю над этим!
|
| | |
mySQL прост и легок для внедрения в программы. Важный момент - раз нельзя изолировать сервер, требуетсядержать реальные файлы данных всегда открытыми монопольно (дабы запретить изменения в обход программы для работы с бд). (SQL серверы так и делают) 30.06.05 16:23
Автор: kstati <Евгений Борисов> Статус: Elderman
|
|
| | | |
а если злоумышленник доберётся до сервера? 30.06.05 16:31
Автор: dub Статус: Member
|
|
| | | | |
в таком случае - нанимайте охраника. имнхо, на безопасности экономить можно, но очень экономно. Еще скажи, что на сервере все работают под учетной записью админа... 30.06.05 16:53
Автор: kstati <Евгений Борисов> Статус: Elderman
|
|
| | | | | |
ну не то всё это, вот была прога на Делфи, шифровала... 30.06.05 17:13
Автор: dub Статус: Member
|
ну не то всё это, вот была прога на Делфи, шифровала базёнку, тока ломанули её, вытащили ключик и алгоритм шифрования, теперь в базе данные не очнь достоверные! Вот я и думаю, как бы написАть так оболочку и на чём, что бы вытащить ключик и алгоритм было бы очень затруднительно!
|
| | | | | | |
Если не секрет алгоритм (или название) шифрования. А ключевую информацию надо выносить из софта на внешние носители. 30.06.05 17:34
Автор: Garick <Yuriy> Статус: Elderman
|
|
| | | | | | | |
К сожалению не я писАл эту прогу, но то, что её поломали 100% 30.06.05 17:42
Автор: dub Статус: Member
|
|
| | | | | | | | |
Так Вы хотите оставить этот софт, доработав в части безопасности или с нуля написать или использовать готовое решение. 30.06.05 18:42
Автор: Garick <Yuriy> Статус: Elderman
|
Озвучте на чем написана софтина, под какую ОС.
Какие бизнес процессы решает. Реальное описание! Нафиг этих учеников/преподавателей, крестики/нолики.:-)
Хотите получить совет на правильное решение- давайте максимально инфы. Если "шпионские страсти" - в раздел "работа", ищите консультантов. Хочется теории - на форуме несколько раз обсуждалась эта и смежные темы, почитайте.
|
| | | | | | | | | |
Вопрос больше теоретичекий, знакомый админ жаловался, что... 30.06.05 19:09
Автор: dub Статус: Member
|
> Озвучте на чем написана софтина, под какую ОС. > Какие бизнес процессы решает. Реальное описание! Нафиг этих > учеников/преподавателей, крестики/нолики.:-) > Хотите получить совет на правильное решение- давайте > максимально инфы. Если "шпионские страсти" - в раздел > "работа", ищите консультантов. Хочется теории - на форуме > несколько раз обсуждалась эта и смежные темы, почитайте.
Вопрос больше теоретичекий, знакомый админ жаловался, что поломали прогу (с его слов написана на Делфи, автор неизвестен) и корректируют данные, что бы было более наглядно я привёл пример с учениками, на самом деле прога стоит на весовой (электронные весы на СОМ порт), оператор вводит данные с весов 1-2 раза в час, менеджер на офисев конце дня печатает отчёт, всё, а он бы хотел прогу, такого же типа, только более защищённую!
|
| | |
Ну ничего страшного... И так покатит. 30.06.05 16:14
Автор: Den <Denis> Статус: The Elderman
|
|
|
Пользователи "общаются" с базой через обработчик. 30.06.05 13:10
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman Отредактировано 30.06.05 13:11 Количество правок: 1
|
> разделение доступа и шифрование не помогает :(
Пользователи "общаются" с базой через обработчик.
Обработчик надо написать так, чтоб минимизировать дыры.
Запросы на выборку данных и модификацию сопровождаются электронной подписью (можно и не шифровать по желанию). Ответы обработчика тоже.
К базе имеет доступ только обработчик. Пользователи имеют доступ (по сети) только к обработчику.
Отработкой прав на модификацию и пр. занимается обработчик.
Предлагаю использовать не парольную, а ключевую систему - ключ труднее стащить, чем подсмотреть пароль.
Подписи можно хранить в базе рядом с данными. Короче можно что-нибудь придумать, чтоб проверить целостность базы.
А, вот, ключики надо хранить как следует.
|
| |
это понятно, но отдельной машины для хранения самой базы нет! 30.06.05 13:16
Автор: dub Статус: Member
|
|
| | |
Обработчик может "висеть" на той же самой машине. 30.06.05 14:05
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
|
Мало того - должен. Смысл на другой, если все машины все равно в один хаб воткнуты. "Огород городить" глупо - то есть в "обработчик" два интерфейса, один "наружу", другой "в базу".
Просто на этой машинке всего один порт должен быть открыт - для "листинера".
И обрабатываться все быстрее будет, если обработчик в базу не по сети будет лезть.
|
| | |
Тогда даже если ты напишешь шифрование с хорошей крптостойкостью и длинным ключом... 30.06.05 13:29
Автор: Yurii <Юрий> Статус: Elderman
|
...какой-нибудь отчаянный двоечник просто грохнет всю базу и нет двоек. :)
Такие базы хранятся на отдельных машинах в помещениях с ограниченным доступом.
|
| | | |
подразумевается возможность бекапить шифрованную базёнку на дискетку/флешку 30.06.05 13:32
Автор: dub Статус: Member
|
|
| | | | |
Не извращайся. Соберите с учеников по рублю и купите первый пень для *NIX 30.06.05 13:34
Автор: Yurii <Юрий> Статус: Elderman Отредактировано 30.06.05 13:34 Количество правок: 1
|
А бэкап он всегда нужен.
|
| | | | | |
и закрыть его в сейфе, а ключик съесть? :) 30.06.05 13:38 Штраф: 20 [Yurii]
Автор: dub Статус: Member
|
|
| | | | | | |
Флейм пошел. Пути решения проблемы тебе сказали. 30.06.05 13:41
Автор: Yurii <Юрий> Статус: Elderman
|
|
|
|