Так Вы хотите оставить этот софт, доработав в части безопасности или с нуля написать или использовать готовое решение.30.06.05 18:42 Число просмотров: 2701 Автор: Garick <Yuriy> Статус: Elderman
Озвучте на чем написана софтина, под какую ОС.
Какие бизнес процессы решает. Реальное описание! Нафиг этих учеников/преподавателей, крестики/нолики.:-)
Хотите получить совет на правильное решение- давайте максимально инфы. Если "шпионские страсти" - в раздел "работа", ищите консультантов. Хочется теории - на форуме несколько раз обсуждалась эта и смежные темы, почитайте.
Тема такая, уж очень много ворюг развелось, так и наровят приписать лишний нолик, задача в том, что бы максимально усложнить злоумышленнику что-то добавить от себя в данные, разделение доступа и шифрование не помогает :(
Не мудрите! Думаю, делать надо так:30.06.05 15:46 Автор: Den <Денис Т.> Статус: 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:53 Автор: kstati <Евгений Борисов> Статус: Elderman
ну не то всё это, вот была прога на Делфи, шифровала базёнку, тока ломанули её, вытащили ключик и алгоритм шифрования, теперь в базе данные не очнь достоверные! Вот я и думаю, как бы написАть так оболочку и на чём, что бы вытащить ключик и алгоритм было бы очень затруднительно!
Если не секрет алгоритм (или название) шифрования. А ключевую информацию надо выносить из софта на внешние носители.30.06.05 17:34 Автор: Garick <Yuriy> Статус: Elderman
Так Вы хотите оставить этот софт, доработав в части безопасности или с нуля написать или использовать готовое решение.30.06.05 18:42 Автор: Garick <Yuriy> Статус: Elderman
Озвучте на чем написана софтина, под какую ОС.
Какие бизнес процессы решает. Реальное описание! Нафиг этих учеников/преподавателей, крестики/нолики.:-)
Хотите получить совет на правильное решение- давайте максимально инфы. Если "шпионские страсти" - в раздел "работа", ищите консультантов. Хочется теории - на форуме несколько раз обсуждалась эта и смежные темы, почитайте.
Вопрос больше теоретичекий, знакомый админ жаловался, что...30.06.05 19:09 Автор: dub Статус: Member
> Озвучте на чем написана софтина, под какую ОС. > Какие бизнес процессы решает. Реальное описание! Нафиг этих > учеников/преподавателей, крестики/нолики.:-) > Хотите получить совет на правильное решение- давайте > максимально инфы. Если "шпионские страсти" - в раздел > "работа", ищите консультантов. Хочется теории - на форуме > несколько раз обсуждалась эта и смежные темы, почитайте.
Вопрос больше теоретичекий, знакомый админ жаловался, что поломали прогу (с его слов написана на Делфи, автор неизвестен) и корректируют данные, что бы было более наглядно я привёл пример с учениками, на самом деле прога стоит на весовой (электронные весы на СОМ порт), оператор вводит данные с весов 1-2 раза в час, менеджер на офисев конце дня печатает отчёт, всё, а он бы хотел прогу, такого же типа, только более защищённую!
Ну ничего страшного... И так покатит.30.06.05 16:14 Автор: Den <Денис Т.> Статус: 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 13:29 Автор: Yurii <Юрий> Статус: Elderman
Не извращайся. Соберите с учеников по рублю и купите первый пень для *NIX30.06.05 13:34 Автор: Yurii <Юрий> Статус: Elderman Отредактировано 30.06.05 13:34 Количество правок: 1