Ответы пользователя по тегу Администрирование баз данных
  • Как безопасно хранить информацию о балансе счета в бд?

    @ralaton121
    А если все упирается в одно единственное поле которое может самопроизвольно изменится и вы даже не ведете списка операций, чтобы сверить соответствует ли сумма в этом поле сумме всех операций - то, конечно, такая система никак не защищена.

    И даже не от злодея, а от простого программного сбоя не защищена.

    1. Контрольные суммы. При изменениях будет видно. Естественно к алгоритму расчета контрольных сумм у админа не должно быть доступа.

    2. Договор на бумаге. Будет отвечать за последствия.

    3. Зашифрованная БД. То есть он админит её файлами, но не может админить содержимое.

    4. Логи со всеми операциями прихода и расхода денег со счета, где ведется баланс, сохраняются отдельно и время от времени сверяются с остатками баланса. Должно сходиться всегда.

    5. Распечатка баланса (это такая весьма и весьма компактная таблица) и сохранение их в месте недоступном админу. Это баланс переходящий из даты в дату, то есть невозможно скорректировать так чтобы не видно было. Если убавит баланс в одном месте, то должен прибавать в другом - чтобы итог сохранился. Как сделать чтобы было видно, что человек исправил баланс в этом другом месте - вопрос не технический.

    6. Все уже придумано до нас - называется двойная бухгалтерская запись.
    В Европе известна с 15 века.
    А в Америке - и того раньше, еще инки знали.

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

    7. Я даже встречался на практики, когда админа не подпускали к серверу физически. И интернета на сервере не было.
    Он сидел на противоположенном конце комнаты и рассказывал человеку (доверенному лицу) - какие файлы куда скопировать и т.д.
    Ответ написан