Обеспечение безопасности базы данных в локальной сети
Система обеспечения безопасности базы данных предотвращает возможность случайного или намеренного просмотра, модификации, удаления или разрушения информации в файлах базы данных лицами, не имеющими соответствующих прав доступа. Обеспечение безопасности базы данных является первоочередной задачей в многопользовательском окружении.
Термины безопасность и целостность в контексте обсуждения баз данных часто используются совместно, хотя, на самом деле, это совершенно разные понятия. Термин “безопасность” относится к защите данных от несанкционированного доступа и модификации (изменения или разрушения данных), а “целостность” — к точности или истинности данных. По-другому их можно описать следующим образом.
Под безопасностью подразумевается, что пользователям разрешается выполнять некоторые действия.
Под целостностью подразумевается, что эти действия выполняются корректно.
Между ними есть, конечно, некоторое сходство, поскольку как при обеспечении безопасности, так и при обеспечении целостности система вынуждена проверить, не нарушают ли выполняемые пользователем действия некоторых правил. Эти правила должны быть заданы (обычно администратором базы данных) на некотором удобном для этого языке и сохранены в системном каталоге. Причем в обоих случаях СУБД должна каким-то образом отслеживать все действия пользователя и проверять их соответствие заданным правилам.
Таким образом, под целостностью информации понимается точность, достоверность и полнота информации, на основе которой принимаются важные решения и защищенность от возможных непреднамеренных и злоумышленных искажений, под конфиденциальностью данных – обеспечение доступа к засекреченной информации только тому, кому она предназначена, а под защитой информации от несанкционированного доступа и модификации – разграничение функциональных полномочий и доступа к информации с целью сохранения трех основных свойств защищаемой информации: конфиденциальности, целостности, готовности.
Для баз данных, работающих в локальной сети, существуют десять основных принципов обеспечения безопасности. Пять из этих принципов связаны с работой сетевой операционной системы:
· Каждый пользователь сети перед получением доступа к ресурсам сети должен пройти процедуру идентификации. Для идентификации пользователя используется уникальное имя пользователя и его секретный личный пароль. Пользователи не должны сообщать свои пароли другим лицам, смену всех паролей следует проводить каждые 60-90 дней.
· Каждый идентифицированный пользователь сети должен подтверждать свое право на доступ к отдельным элементам сети, например, папкам на сервере, принтерам и другим разделяемым ресурсам. Данные об идентификации пользователя хранятся на сервере. Файл, в котором содержатся эти сведения, всегда шифруется, правом доступа к нему обладает только администратор сети.
· Необходим контроль действий пользователей сети с целью регистрации попыток получить доступ к тем ресурсам сети, права доступа к которым у данного пользователя нет. Те пользователи, которые регулярно пытаются преодолеть систему защиты сети, должны отключаться от сети до принятия соответствующих административных мер.
· Сеть должна быть защищена от взлома. Защищенность от взлома включает системы безопасности, которые не поддаются атакам искусных программистов-хакеров и регулярно тестируются на наличие вирусов.
· Данные, хранящиеся на серверах сети, должны быть защищены от искажений, связанных с выходом оборудования из строя и различными природными катаклизмами (пожарами, землетрясениями, ураганами и т. п.), адекватным и своевременным резервированием. Системы резервирования позволяют восстановить данные на момент последнего резервирования.
Меры, принимаемые для выполнения первых пяти принципов, лежат в области компетенции администратора сети с выделенными серверами. В одноранговых сетях меры обеспечения безопасности являются прерогативой каждого пользователя, который предоставляет ресурсы для совместного использования. Оставшиеся пять принципов обеспечения безопасности базы данных определяются возможностями по поддержанию безопасности системы управления базами данных:
· Содержимое таблиц базы данных должно быть зашифровано для того, чтобы предотвратить просмотр данных с помощью программ просмотра файлов или других программ вторжения.
· Перед тем как открыть файл базы данных, пользователь должен проходить вторичную идентификацию. На этом этапе должен использоваться секретный пароль, отличный от пароля доступа к сети. Файл базы данных, содержащий данные по идентификации и паролям пользователей, должен быть зашифрован. Используемая технология шифрования должна быть достаточно сложной, чтобы не позволить хакерам вскрыть истинное содержимое файла (за обозримое время). К этому файлу должен иметь доступ только администратор базы данных.
· Каждый пользователь должен иметь особые права на использование базы данных и содержащихся в ней таблиц. Если пользователи не имеют права просматривать определенные поля таблицы, то доступ к таблице должен реализовываться в форме запроса, в который включены только те поля, которые разрешено просматривать. Система управления базой данных должна предоставлять возможности для установки таких ограничений.
· Данные в таблицах должны проверяться. Отсутствие контроля часто является толчком к утечке конфиденциальной информации. Обновления таблиц, содержащих финансовую информацию, должны протоколироваться, предпочтительно в другой базе данных, в которой указывается пользователь (осуществивший ввод данных), а также дата и время операции. Протоколы могут пригодиться при восстановлении элементов базы данных, появившихся между моментом последнего резервирования базы данных и моментом восстановления данных из архивной копии.
· Операции по обновлению данных в нескольких таблицах должны выполняться с использованием техники транзакций, которые могут быть отменены (а ситуация возвращена в исходное состояние), если нельзя немедленно провести обновления во всех таблицах.
Большая часть сетевых операционных систем для персональных компьютеров обеспечивает выполнение пяти первых принципов обеспечения безопасности базы данных, но усиление секретности паролей, контроль действий пользователей и антивирусная защита часто игнорируются, особенно в одноранговых сетях
Замечание: Одной из наиболее частых причин утечки информации является найм на работу временного сотрудника вместо заболевшего или отдыхающего постоянного. Вместо того чтобы создать нового пользователя, часто имя и пароли отсутствующего сотрудника передаются временному сотруднику. Временного сотрудника обязательно нужно зарегистрировать как нового пользователя сети и базы данных; а когда постоянный сотрудник вернется на службу, информацию о временном сотруднике следует удалить.