Database security: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
м Section heading change: References → Примечания using a script
 
(не показано 13 промежуточных версий 8 участников)
Строка 1: Строка 1:
'''«Безопасность баз данных»''' ({{lang-en|Database security}}) относится к использованию широкого спектра средств защиты информации для защиты баз данных (потенциально включая данные, приложения баз данных или хранимые функции, системы баз данных, серверы баз данных и связанные с ними сетевые ссылки) против компрометации их конфиденциальности, целостности и доступности. Он включает в себя различные типы или категории контроля, такие как технические, процедурные / административные и физические. «Безопасность базы данных» является специализированной темой в более широких сферах компьютерной безопасности, информационной безопасности и управления рисками.


[[Росс Андерсон]] часто говорил, что по своей природе большие базы данных никогда не будут свободны от злоупотреблений в результате нарушений безопасности; Если большая система предназначена для облегчения доступа, она становится небезопасной; Если сделана водонепроницаемая, становится невозможно использовать. Это иногда называют «Правилом Андерсона».<ref>{{Cite web |url=https://www.theguardian.com/commentisfree/henryporter/2009/aug/10/id-card-database-breach |title=Guardian newspaper article on a security breach, in which Anderson’s Rule is formulated |access-date=2017-06-11 |archive-date=2017-09-12 |archive-url=https://web.archive.org/web/20170912191608/https://www.theguardian.com/commentisfree/henryporter/2009/aug/10/id-card-database-breach |deadlink=no }}</ref>
'''«Безопасность базы данных»''' относится к использованию широкого спектра средств защиты информации для защиты баз данных (потенциально включая данные, приложения баз данных или хранимые функции, системы баз данных, серверы баз данных и связанные с ними сетевые ссылки) против компрометации их конфиденциальности, целостности и доступности. Он включает в себя различные типы или категории контроля, такие как технические, процедурные / административные и физические. «Безопасность базы данных» является специализированной темой в более широких сферах компьютерной безопасности, информационной безопасности и управления рисками.

К угрозам безопасности к системам баз данных относятся, например:
* Непреднамеренная деятельность или неправильное использование уполномоченными пользователями базы данных, администраторами баз данных или сетевыми / системными менеджерами или не авторизованными пользователями или хакерами (например, ненадлежащий доступ к конфиденциальным данным, метаданным или функциям в базах данных или неправильные изменения в программах, структурах или безопасности базы данных конфигурации);
* Инфекции вредоносных программ, вызывающие такие инциденты, как несанкционированный доступ, утечка или раскрытие личных или запатентованных данных, удаление или повреждение данных или программ, прерывание или отказ в разрешенном доступе к базе данных, атак на другие системы и непредвиденный сбой служб баз данных ;
* Перегрузки, ограничения производительности и проблемы с пропускной способностью, приводящие к невозможности использования авторизованных пользователей для использования баз данных по назначению;
* Физический ущерб серверам баз данных, вызванный пожарами или наводнениями в компьютерном зале, перегревом, молнией, случайными разливами жидкости, статическими разрядами, сбоями в электроснабжении / сбоями оборудования и устареванием;
* Ошибки разработки и ошибки программирования в базах данных и связанных с ними программах и системах, создание различных видов уязвимости безопасности (например, несанкционированное эскалация привилегий), потеря / повреждение данных, ухудшение производительности и другие;
* Повреждение данных и / или потеря, вызванные вводом неверных данных или команд, ошибками в процессах администрирования базы данных или системы, саботажем / уголовным ущербом и другие.

[[Росс Андерсон]] часто говорил, что по своей природе большие базы данных никогда не будут свободны от злоупотреблений в результате нарушений безопасности; Если большая система предназначена для облегчения доступа, она становится небезопасной; Если сделана водонепроницаемая, становится невозможно использовать. Это иногда называют "Правилом Андерсона".<ref>[https://www.theguardian.com/commentisfree/henryporter/2009/aug/10/id-card-database-breach Guardian newspaper article on a security breach, in which Anderson’s Rule is formulated]</ref>


Многие уровни и типы управления информационной безопасностью подходят для баз данных, в том числе:
Многие уровни и типы управления информационной безопасностью подходят для баз данных, в том числе:
Строка 22: Строка 13:
* Защита базы данных с использованием статистического метода
* Защита базы данных с использованием статистического метода


== Угрозы безопасности ==
Базы данных в значительной степени защищены от хакеров с помощью сетевой безопасности мер, таких как ''брандмауэры'' и ''сетевые системы обнаружение вторжений''. Несмотря на то, что средства защиты сети остаются ценными в этом отношении, обеспечение безопасности самих систем баз данных и программ / функций и данных внутри них, возможно, становится более важным, поскольку сети становятся все более открытыми для более широкого доступа, в частности доступа из Интернета.
К угрозам безопасности к системам баз данных относятся, например:
Кроме того, системные, программные, функции и средства управления доступом к данным, а также связанные с ними функции идентификации, аутентификации и управления правами всегда были важны для ограничения и в некоторых случаях регистрировать действия авторизованных пользователей и администраторов. Другими словами, это взаимодополняющие подходы к обеспечению безопасности баз данных, работающие как из внешних, так и изнутри.
* ''Непреднамеренная деятельность или неправильное использование уполномоченными пользователями базы данных, администраторами баз данных или сетевыми / системными менеджерами или не авторизованными пользователями или хакерами (например, ненадлежащий доступ к конфиденциальным данным, метаданным или функциям в базах данных или неправильные изменения в программах, структурах или безопасности базы данных конфигурации);''

* ''Инфекции вредоносных программ, вызывающие такие инциденты, как несанкционированный доступ, утечка или раскрытие личных или запатентованных данных, удаление или повреждение данных или программ, прерывание или отказ в разрешенном доступе к базе данных, атак на другие системы и непредвиденный сбой служб баз данных ;''
Многие организации разрабатывают собственные «базовые» стандарты безопасности и разработки, в которых подробно описаны основные меры контроля безопасности для своих систем баз данных. Они могут отражать общие требования информационной безопасности или обязательства, налагаемые политикой корпоративной информационной безопасности и применимыми законами и правилами (например, в отношении систем конфиденциальности, управления финансами и отчетности), а также общепринятых хороших практик обеспечения безопасности баз данных (таких как надлежащее упрощение базовых систем) И, возможно, рекомендации по безопасности от соответствующей системы баз данных и поставщиков программного обеспечения.
* ''Перегрузки, ограничения производительности и проблемы с пропускной способностью, приводящие к невозможности использования авторизованных пользователей для использования баз данных по назначению;''
В проектах безопасности для конкретных систем баз данных обычно указываются дополнительные функции администрирования и управления безопасностью (такие как администрирование и отчетность о правах доступа пользователей, управление журналом и анализ, репликация и синхронизация базы данных и резервное копирование), а также различные управляемые бизнес-информацией средства контроля безопасности в базе данных Программ и функций (например, проверка ввода данных и Аудиторская тропа и контрольные журналы). Кроме того, различные связанные с безопасностью действия (ручное управление) обычно включаются в процедуры, руководства и другие, Касающиеся проектирования, разработки, использования, управления и обслуживания баз данных.
* ''Физический ущерб серверам баз данных, вызванный пожарами или наводнениями в компьютерном зале, перегревом, молнией, случайными разливами жидкости, статическими разрядами, сбоями в электроснабжении / сбоями оборудования и устареванием;''
* ''Ошибки разработки и ошибки программирования в базах данных и связанных с ними программах и системах, создание различных видов уязвимости безопасности (например, несанкционированное эскалация привилегий), потеря / повреждение данных, ухудшение производительности и другие;''
* ''Повреждение данных и / или потеря, вызванные вводом неверных данных или команд, ошибками в процессах администрирования базы данных или системы, саботажем / уголовным ущербом и другие.''


== Привилегии ==
== Привилегии ==
В среде базы данных важны два типа привилегий:
В среде базы данных важны два типа привилегий:
#Cистемные привилегии.
# ''Cистемные привилегии.''
#Привилегии объектов.
# ''Привилегии объектов.''


=== Привилегии системы ===
=== Привилегии системы ===
Системные привилегии позволяют пользователю выполнять административные действия в базе данных. К ним относятся привилегии (как указано в SQL Server), такие как: создание базы данных, создание процедуры, создание представления, резервная база данных, создание таблицы, создание триггера и выполнение.<ref>{{cite book|last=Stephens|first=Ryan|title=Sams teach yourself SQL in 24 hours|publisher=Sams|location=Indianapolis, Ind|year=2011|isbn=9780672335419}}</ref>
Системные привилегии позволяют пользователю выполнять административные действия в базе данных. К ним относятся привилегии (как указано в SQL Server), такие как: создание базы данных, создание процедуры, создание представления, резервная база данных, создание таблицы, создание триггера и выполнение.<ref name="автоссылка1">{{книга |заглавие=Sams teach yourself SQL in 24 hours |издательство=Sams |место=Indianapolis, Ind |год=2011 |isbn=9780672335419 |ref=Stephens |язык=und |автор=Stephens, Ryan}}</ref>


=== Привилегии объекта ===
=== Привилегии объекта ===
Объектные привилегии позволяют использовать определенные операции над объектами базы данных, разрешенные другим пользователем. Примеры включают: использование, выбор, вставку, обновление и ссылки.<ref>{{cite book|last=Stephens|first=Ryan|title=Sams teach yourself SQL in 24 hours|publisher=Sams|location=Indianapolis, Ind|year=2011|isbn=9780672335419}}</ref>
Объектные привилегии позволяют использовать определенные операции над объектами базы данных, разрешенные другим пользователем. Примеры включают: использование, выбор, вставку, обновление и ссылки.<ref name="автоссылка1" />
-


'''''Принцип наименьшей привилегии и разделения обязанностей:'''''
'''''Принцип наименьшей привилегии и разделения обязанностей:'''''


Базы данных подпадают под внутренний контроль, то есть данные, используемые для публичной отчетности, годовые отчеты и другие, подлежат разделению обязанностей, то есть должно быть разделение задач между развитием и производством. Каждая задача должна быть проверена третьим лицом, которое не пишет фактический код. Разработчик базы данных не должен ничего выполнять в производстве без независимого анализа документации кода для выполняемой работы. Как правило, роль разработчика заключается в передаче кода в DBA; Однако, учитывая сокращения, возникшие в результате экономического спада, администратор баз данных может быть недоступен. Если администратор базы данных не задействован, важно, как минимум, для сверстников провести обзор кода.
Базы данных подпадают под внутренний контроль, то есть данные, используемые для публичной отчетности, годовые отчеты и другие, подлежат разделению обязанностей, то есть должно быть разделение задач между развитием и производством. Каждая задача должна быть проверена третьим лицом, которое не пишет фактический код. Разработчик базы данных не должен ничего выполнять в производстве без независимого анализа документации кода для выполняемой работы. Как правило, роль разработчика заключается в передаче кода в DBA; Однако, учитывая сокращения, возникшие в результате экономического спада, администратор баз данных может быть недоступен. Если администратор базы данных не задействован, важно, как минимум, для сверстников провести обзор кода.


'''''Принцип предоставления наименьшего количества привилегий:'''''
'''''Принцип предоставления наименьшего количества привилегий:'''''


Другим пунктом внутреннего контроля является соблюдение принципа предоставления наименьшего количества привилегий , особенно в производстве. Чтобы предоставить разработчикам больше доступа для выполнения своей работы, гораздо безопаснее использовать олицетворение для исключений, требующих повышенных привилегий (например, ''«EXECUTE AS»'' или ''sudo'', чтобы сделать это временно). Часто разработчики могут отклонить это как «накладные расходы», находясь на пути к славе кодирования. Однако имейте в виду, что администраторы баз данных должны делать все, что считается ответственным, потому что они являются «де-факто» стюардами данных организации и должны соблюдать правила и закон.<ref>{{Cite web|url=https://technet.microsoft.com/en-ca/security/gg483744.aspx|title=Database Security Best Practices|website=technet.microsoft.com|access-date=2016-09-02}}</ref>
Другим пунктом внутреннего контроля является соблюдение принципа предоставления наименьшего количества привилегий, особенно в производстве. Чтобы предоставить разработчикам больше доступа для выполнения своей работы, безопаснее использовать олицетворение для исключений, требующих повышенных привилегий (например, ''«EXECUTE AS»'' или ''sudo'', чтобы сделать это временно). Часто разработчики могут отклонить это как «накладные расходы», находясь на пути к славе кодирования. Однако имейте в виду, что администраторы баз данных должны делать все, что считается ответственным, потому что они являются «де-факто» стюардами данных организации и должны соблюдать правила и закон.<ref>{{Cite web|url=https://technet.microsoft.com/en-ca/security/gg483744.aspx|title=Database Security Best Practices|website=technet.microsoft.com|access-date=2016-09-02|archive-date=2017-09-12|archive-url=https://web.archive.org/web/20170912191532/https://technet.microsoft.com/en-ca/security/gg483744.aspx|deadlink=no}}</ref>


== Оценки уязвимости для управления рисками и соответствия требованиям ==
== Оценки уязвимости для управления рисками и соответствия требованиям ==
Один метод оценки безопасности базы данных включает в себя проведение оценок уязвимости или тестов на проникновение в базу данных. Тестеры пытаются найти уязвимости (уязвимости), которые могут быть использованы для поражения или обхода элементов управления безопасностью, взлома базы данных, компрометации системы и другие. Администраторы базы данных могут, например, использовать автоматическое сканирование уязвимости для поиска неправильной конфигурации элементов управления (часто называемых «дрифт») в пределах упомянутых выше уровней наряду с известными слабостями в программном обеспечении базы данных. Результаты таких сканирования используются для упрощения базы данных (повышения безопасности) и закрытия определенных выявленных уязвимости, но другие уязвимости часто остаются не распознанными и без внимания.
Один метод оценки безопасности базы данных включает в себя проведение оценок уязвимости или тестов на проникновение в базу данных. Тестеры пытаются найти уязвимости (уязвимости), которые могут быть использованы для поражения или обхода элементов управления безопасностью, взлома базы данных, компрометации системы и другие. Администраторы базы данных могут, например, использовать автоматическое сканирование уязвимости для поиска неправильной конфигурации элементов управления (часто называемых «дрифт») в пределах упомянутых выше уровней наряду с известными слабостями в программном обеспечении базы данных. Результаты таких сканирования используются для упрощения базы данных (повышения безопасности) и закрытия определенных выявленных уязвимости, но другие уязвимости часто остаются не распознанными и без внимания.


В средах баз данных, где важна безопасность, постоянный мониторинг соответствия стандартам повышает безопасность. Обеспечение безопасности требует, доступ на управление и обзор разрешениями (особенно публичными), предоставляемыми объектам в базе данных. Объекты базы данных могут включать таблицы или другие объекты, перечисленные в таблице. Разрешения, предоставленные для команд языка [[SQL]] на объектах, рассматриваются в этом процессе. Мониторинг соблюдения аналогичен оценке уязвимости, за исключением того, что результаты оценок уязвимости в целом приводят к стандартам безопасности, которые приводят к непрерывной программе мониторинга. По сути, оценка уязвимости является предварительной процедурой определения риска, когда программа соблюдения является процессом текущей оценки риска.
В средах баз данных, где важна безопасность, постоянный мониторинг соответствия стандартам повышает безопасность. Обеспечение безопасности требует, доступ на управление и обзор разрешениями (особенно публичными), предоставляемыми объектам в базе данных. Объекты базы данных могут включать таблицы или другие объекты, перечисленные в таблице. Разрешения, предоставленные для команд языка [[SQL]] на объектах, рассматриваются в этом процессе. Мониторинг соблюдения аналогичен оценке уязвимости, за исключением того, что результаты оценок уязвимости в целом приводят к стандартам безопасности, которые приводят к непрерывной программе мониторинга. По сути, оценка уязвимости является предварительной процедурой определения риска, когда программа соблюдения является процессом текущей оценки риска.


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


== Абстракция ==
== Абстракция ==

Механизмы уровня приложений ''authentication'' и ''authorization'' могут быть эффективными средствами обеспечения абстракции от уровня базы данных. Основным преимуществом абстракции является способность ''single sign-on'' к нескольким базам данных и платформам. Единая система регистрации сохраняет учетные данные пользователя базы данных и идентифицируется в базе данных от имени пользователя.
Механизмы уровня приложений ''authentication'' и ''authorization'' могут быть эффективными средствами обеспечения абстракции от уровня базы данных. Основным преимуществом абстракции является способность ''single sign-on'' к нескольким базам данных и платформам. Единая система регистрации сохраняет учетные данные пользователя базы данных и идентифицируется в базе данных от имени пользователя.


== Мониторинг активности базы данных (DAM) ==
== Мониторинг активности базы данных (DAM) ==
Другой уровень безопасности более сложного характера включает мониторинг активности базы данных в режиме реального времени либо путем анализа трафика протокола (SQL) по сети, либо путем наблюдения активности локальной базы данных на каждом сервере с использованием программных агентов или обоих. Использование агентов или собственное ведение журнала требуется для захвата действий, выполняемых на сервере, которые обычно включают в себя действия администратора базы данных. Агенты позволяют эту информацию захватывать таким образом, который не может быть отключен администратором базы данных, который имеет возможность отключать или изменять собственные журналы аудита.


Анализ может быть проведен для выявления известных нарушений правил, или исходные данные могут быть со временем захвачены для создания нормального шаблона, используемого для обнаружения аномальной активности, которая может свидетельствовать о вторжении. Эти системы могут обеспечить всеобъемлющий контрольный журнал базы данных в дополнение к механизмам обнаружения вторжений, а некоторые системы также могут обеспечивать защиту путем прекращения сеансов пользователей и карантина пользователей, демонстрирующих подозрительное поведение. Некоторые системы предназначены для поддержки разделения обязанностей (SOD), что является типичным требованием аудиторов. SOD требует, чтобы администраторы баз данных, которые обычно контролируются как часть DAM, не могут отключать или изменять функциональность DAM. Для этого необходимо, чтобы контрольный журнал DAM надежно хранился в отдельной системе, не администрируемой группой администрирования базы данных.
Другой уровень безопасности более сложного характера включает мониторинг мониторинг активности базы данных в реальном времени в режиме реального времени либо путем анализа трафика протокола (SQL) по сети, либо путем наблюдения активности локальной базы данных на каждом сервере с использованием программных агентов или обоих. Использование агентов или собственное ведение журнала требуется для захвата действий, выполняемых на сервере, которые обычно включают в себя действия администратора базы данных. Агенты позволяют эту информацию захватывать таким образом, который не может быть отключен администратором базы данных, который имеет возможность отключать или изменять собственные журналы аудита.

Анализ может быть проведен для выявления известных нарушений правил, или исходные данные могут быть со временем захвачены для создания нормального шаблона, используемого для обнаружения аномальной активности, которая может свидетельствовать о вторжении. Эти системы могут обеспечить всеобъемлющий контрольный журнал базы данных в дополнение к механизмам обнаружения вторжений, а некоторые системы также могут обеспечивать защиту путем прекращения сеансов пользователей и карантина пользователей, демонстрирующих подозрительное поведение. Некоторые системы предназначены для поддержки разделения обязанностей (SOD), что является типичным требованием аудиторов. SOD требует, чтобы администраторы баз данных, которые обычно контролируются как часть DAM, не могут отключать или изменять функциональность DAM. Для этого необходимо, чтобы контрольный журнал DAM надежно хранился в отдельной системе, не администрируемой группой администрирования базы данных.


== Родительский аудит ==
== Родительский аудит ==

Помимо использования внешних инструментов для мониторинга или аудита, для многих платформ баз данных также доступны собственные возможности проверка базы данных. Собственные контрольные журналы извлекаются на регулярной основе и передаются в назначенную систему безопасности, где администраторы баз данных имеют / не должны иметь доступ. Это обеспечивает определенный уровень разделения обязанностей, который может свидетельствовать о том, что собственные контрольные маршруты не были изменены администраторами, прошедшими проверку подлинности, и должны проводиться ориентированной на безопасность старшей группой DBA с правами на чтение в производство. Включение собственного воздействия на производительность сервера. Как правило, собственные контрольные журналы баз данных не обеспечивают достаточного контроля для обеспечения разделения обязанностей; Поэтому возможности мониторинга на основе хоста на уровне сети и ядра модуля обеспечивают более высокую степень достоверности для судебной экспертизы и сохранения доказательств.
Помимо использования внешних инструментов для мониторинга или аудита, для многих платформ баз данных также доступны собственные возможности проверка базы данных. Собственные контрольные журналы извлекаются на регулярной основе и передаются в назначенную систему безопасности, где администраторы баз данных имеют / не должны иметь доступ. Это обеспечивает определенный уровень разделения обязанностей, который может свидетельствовать о том, что собственные контрольные маршруты не были изменены администраторами, прошедшими проверку подлинности, и должны проводиться ориентированной на безопасность старшей группой DBA с правами на чтение в производство. Включение собственного воздействия на производительность сервера. Как правило, собственные контрольные журналы баз данных не обеспечивают достаточного контроля для обеспечения разделения обязанностей; Поэтому возможности мониторинга на основе хоста на уровне сети и ядра модуля обеспечивают более высокую степень достоверности для судебной экспертизы и сохранения доказательств.

== Процесс и процедуры ==

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

В сочетании со звуковой программой обеспечения безопасности базы данных соответствующая программа аварийного восстановления может гарантировать, что служба не будет прервана во время инцидента с безопасностью, или любой инцидент, который приведет к отключению первичной среды базы данных. Примером может служить Репликация (информатика) | репликация для первичных баз данных на сайты, расположенные в разных географических регионах.<ref name="Kedar2009">{{cite book|author=Seema Kedar|title=Database Management Systems|url=https://books.google.com/books?id=Mv_anxicHoEC|date=1 January 2009|publisher=Technical Publications|isbn=978-81-8431-584-4|page=15}}</ref>

После возникновения инцидента судебная экспертиза может использоваться для определения объема нарушения и для определения соответствующих изменений в системах и процессах.

== Управление доступом в базах данных ==

Большинство систем баз данных представляют собой средство единого централизованного хранения данных. Это значительно сокращает избыточность данных, упрощает доступ к данным и позволяет более эффективно защищать данные . Однако, в технологии БД возникает ряд проблем, связанных, например, с тем, что различные пользователи должны иметь доступ к одним данным и не иметь доступа к другим . Поэтому, не используя специальные средства и методы, обеспечить надежное разделение доступа в баз данных практически невозможно.

Большинство современных СУБД имеют встроенные средства, позволяющие администратору системы определять права пользователей по доступу к различным частям баз данных, вплоть до конкретного элемента . При этом имеется возможность не только предоставить доступ тому или иному пользователю, но и указать разрешенный тип доступа: что именно может делать конкретный пользователь с конкретными данными (читать, модифицировать, удалять ), вплоть до реорганизации всей базы данных. Управления доступом широко используются в компьютерных системах, например, в ОС для управления доступом к файлам .Особенность использования этого средства для защиты баз данных состоит в том, что в качестве объектов защиты выступают не только отдельные файлы (области в сетевых баз данных, отношения в реляционных баз данных), но и другие структурные элементы баз данных: элемент, поле, запись, набор данных.


== Повышение безопасности базы данных ==
== Повышение безопасности базы данных ==

Для повышения общей безопасности этих баз данных можно использовать следующие дополнительные шаги, которые выполняются в рамках сети и среды сервера:
Для повышения общей безопасности этих баз данных можно использовать следующие дополнительные шаги, которые выполняются в рамках сети и среды сервера:


# Запустите сервер баз данных на компьютере, на котором установлена система Windows Server 2003. По умолчанию эта операционная система более безопасна, чем система Windows 2000 Server. Несмотря на то, что компьютер сервера Windows 2000 Server можно заблокировать, этот процесс может быть связан с затратами времени, кроме того, существует вероятность возникновения ошибок, которыми могут воспользоваться злоумышленники для получения доступа к базе данных.
# ''Запустите сервер баз данных на компьютере, на котором установлена система Windows Server 2003. По умолчанию эта операционная система более безопасна, чем система Windows 2000 Server. Несмотря на то, что компьютер сервера Windows 2000 Server можно заблокировать, этот процесс может быть связан с затратами времени, кроме того, существует вероятность возникновения ошибок, которыми могут воспользоваться злоумышленники для получения доступа к базе данных.''
#Ограничьте физический доступ к серверу базы данных.
# ''Ограничьте физический доступ к серверу базы данных.''
#Обеспечьте, чтобы разрешения базы данных и списки разграничительного контроля доступа, имеющиеся в файлах базы данных, разрешали доступ только уполномоченному персоналу. Надежными являются разрешения по умолчанию и списки DACL, настроенные службой управления правами. Следует соблюдать осторожность при изменении любых параметров по умолчанию.
# ''Обеспечьте, чтобы разрешения базы данных и списки разграничительного контроля доступа, имеющиеся в файлах базы данных, разрешали доступ только уполномоченному персоналу. Надежными являются разрешения по умолчанию и списки DACL, настроенные службой управления правами. Следует соблюдать осторожность при изменении любых параметров по умолчанию.''
#Не запускайте лишние службы на сервере базы данных, например службы IIS, службу очередей сообщений или службы терминалов.
# ''Не запускайте лишние службы на сервере базы данных, например службы IIS, службу очередей сообщений или службы терминалов.''
#Кроме баз данных службы управления правами, не следует запускать на сервере баз данных никакие другие базы данных.
# ''Кроме баз данных службы управления правами, не следует запускать на сервере баз данных никакие другие базы данных.''

== References ==


== Примечания ==
{{примечания}}
{{примечания}}


[[Категория:Базы данных]]


[[Category:Базы данных]]


{{DEFAULTSORT:Безопасность баз данных}}

Текущая версия от 10:09, 26 ноября 2022

«Безопасность баз данных» (англ. Database security) относится к использованию широкого спектра средств защиты информации для защиты баз данных (потенциально включая данные, приложения баз данных или хранимые функции, системы баз данных, серверы баз данных и связанные с ними сетевые ссылки) против компрометации их конфиденциальности, целостности и доступности. Он включает в себя различные типы или категории контроля, такие как технические, процедурные / административные и физические. «Безопасность базы данных» является специализированной темой в более широких сферах компьютерной безопасности, информационной безопасности и управления рисками.

Росс Андерсон часто говорил, что по своей природе большие базы данных никогда не будут свободны от злоупотреблений в результате нарушений безопасности; Если большая система предназначена для облегчения доступа, она становится небезопасной; Если сделана водонепроницаемая, становится невозможно использовать. Это иногда называют «Правилом Андерсона».[1]

Многие уровни и типы управления информационной безопасностью подходят для баз данных, в том числе:

Угрозы безопасности

[править | править код]

К угрозам безопасности к системам баз данных относятся, например:

  • Непреднамеренная деятельность или неправильное использование уполномоченными пользователями базы данных, администраторами баз данных или сетевыми / системными менеджерами или не авторизованными пользователями или хакерами (например, ненадлежащий доступ к конфиденциальным данным, метаданным или функциям в базах данных или неправильные изменения в программах, структурах или безопасности базы данных конфигурации);
  • Инфекции вредоносных программ, вызывающие такие инциденты, как несанкционированный доступ, утечка или раскрытие личных или запатентованных данных, удаление или повреждение данных или программ, прерывание или отказ в разрешенном доступе к базе данных, атак на другие системы и непредвиденный сбой служб баз данных ;
  • Перегрузки, ограничения производительности и проблемы с пропускной способностью, приводящие к невозможности использования авторизованных пользователей для использования баз данных по назначению;
  • Физический ущерб серверам баз данных, вызванный пожарами или наводнениями в компьютерном зале, перегревом, молнией, случайными разливами жидкости, статическими разрядами, сбоями в электроснабжении / сбоями оборудования и устареванием;
  • Ошибки разработки и ошибки программирования в базах данных и связанных с ними программах и системах, создание различных видов уязвимости безопасности (например, несанкционированное эскалация привилегий), потеря / повреждение данных, ухудшение производительности и другие;
  • Повреждение данных и / или потеря, вызванные вводом неверных данных или команд, ошибками в процессах администрирования базы данных или системы, саботажем / уголовным ущербом и другие.

Привилегии

[править | править код]

В среде базы данных важны два типа привилегий:

  1. Cистемные привилегии.
  2. Привилегии объектов.

Привилегии системы

[править | править код]

Системные привилегии позволяют пользователю выполнять административные действия в базе данных. К ним относятся привилегии (как указано в SQL Server), такие как: создание базы данных, создание процедуры, создание представления, резервная база данных, создание таблицы, создание триггера и выполнение.[2]

Привилегии объекта

[править | править код]

Объектные привилегии позволяют использовать определенные операции над объектами базы данных, разрешенные другим пользователем. Примеры включают: использование, выбор, вставку, обновление и ссылки.[2]

Принцип наименьшей привилегии и разделения обязанностей:

Базы данных подпадают под внутренний контроль, то есть данные, используемые для публичной отчетности, годовые отчеты и другие, подлежат разделению обязанностей, то есть должно быть разделение задач между развитием и производством. Каждая задача должна быть проверена третьим лицом, которое не пишет фактический код. Разработчик базы данных не должен ничего выполнять в производстве без независимого анализа документации кода для выполняемой работы. Как правило, роль разработчика заключается в передаче кода в DBA; Однако, учитывая сокращения, возникшие в результате экономического спада, администратор баз данных может быть недоступен. Если администратор базы данных не задействован, важно, как минимум, для сверстников провести обзор кода.

Принцип предоставления наименьшего количества привилегий:

Другим пунктом внутреннего контроля является соблюдение принципа предоставления наименьшего количества привилегий, особенно в производстве. Чтобы предоставить разработчикам больше доступа для выполнения своей работы, безопаснее использовать олицетворение для исключений, требующих повышенных привилегий (например, «EXECUTE AS» или sudo, чтобы сделать это временно). Часто разработчики могут отклонить это как «накладные расходы», находясь на пути к славе кодирования. Однако имейте в виду, что администраторы баз данных должны делать все, что считается ответственным, потому что они являются «де-факто» стюардами данных организации и должны соблюдать правила и закон.[3]

Оценки уязвимости для управления рисками и соответствия требованиям

[править | править код]

Один метод оценки безопасности базы данных включает в себя проведение оценок уязвимости или тестов на проникновение в базу данных. Тестеры пытаются найти уязвимости (уязвимости), которые могут быть использованы для поражения или обхода элементов управления безопасностью, взлома базы данных, компрометации системы и другие. Администраторы базы данных могут, например, использовать автоматическое сканирование уязвимости для поиска неправильной конфигурации элементов управления (часто называемых «дрифт») в пределах упомянутых выше уровней наряду с известными слабостями в программном обеспечении базы данных. Результаты таких сканирования используются для упрощения базы данных (повышения безопасности) и закрытия определенных выявленных уязвимости, но другие уязвимости часто остаются не распознанными и без внимания.

В средах баз данных, где важна безопасность, постоянный мониторинг соответствия стандартам повышает безопасность. Обеспечение безопасности требует, доступ на управление и обзор разрешениями (особенно публичными), предоставляемыми объектам в базе данных. Объекты базы данных могут включать таблицы или другие объекты, перечисленные в таблице. Разрешения, предоставленные для команд языка SQL на объектах, рассматриваются в этом процессе. Мониторинг соблюдения аналогичен оценке уязвимости, за исключением того, что результаты оценок уязвимости в целом приводят к стандартам безопасности, которые приводят к непрерывной программе мониторинга. По сути, оценка уязвимости является предварительной процедурой определения риска, когда программа соблюдения является процессом текущей оценки риска.

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

Абстракция

[править | править код]

Механизмы уровня приложений authentication и authorization могут быть эффективными средствами обеспечения абстракции от уровня базы данных. Основным преимуществом абстракции является способность single sign-on к нескольким базам данных и платформам. Единая система регистрации сохраняет учетные данные пользователя базы данных и идентифицируется в базе данных от имени пользователя.

Мониторинг активности базы данных (DAM)

[править | править код]

Другой уровень безопасности более сложного характера включает мониторинг активности базы данных в режиме реального времени либо путем анализа трафика протокола (SQL) по сети, либо путем наблюдения активности локальной базы данных на каждом сервере с использованием программных агентов или обоих. Использование агентов или собственное ведение журнала требуется для захвата действий, выполняемых на сервере, которые обычно включают в себя действия администратора базы данных. Агенты позволяют эту информацию захватывать таким образом, который не может быть отключен администратором базы данных, который имеет возможность отключать или изменять собственные журналы аудита.

Анализ может быть проведен для выявления известных нарушений правил, или исходные данные могут быть со временем захвачены для создания нормального шаблона, используемого для обнаружения аномальной активности, которая может свидетельствовать о вторжении. Эти системы могут обеспечить всеобъемлющий контрольный журнал базы данных в дополнение к механизмам обнаружения вторжений, а некоторые системы также могут обеспечивать защиту путем прекращения сеансов пользователей и карантина пользователей, демонстрирующих подозрительное поведение. Некоторые системы предназначены для поддержки разделения обязанностей (SOD), что является типичным требованием аудиторов. SOD требует, чтобы администраторы баз данных, которые обычно контролируются как часть DAM, не могут отключать или изменять функциональность DAM. Для этого необходимо, чтобы контрольный журнал DAM надежно хранился в отдельной системе, не администрируемой группой администрирования базы данных.

Родительский аудит

[править | править код]

Помимо использования внешних инструментов для мониторинга или аудита, для многих платформ баз данных также доступны собственные возможности проверка базы данных. Собственные контрольные журналы извлекаются на регулярной основе и передаются в назначенную систему безопасности, где администраторы баз данных имеют / не должны иметь доступ. Это обеспечивает определенный уровень разделения обязанностей, который может свидетельствовать о том, что собственные контрольные маршруты не были изменены администраторами, прошедшими проверку подлинности, и должны проводиться ориентированной на безопасность старшей группой DBA с правами на чтение в производство. Включение собственного воздействия на производительность сервера. Как правило, собственные контрольные журналы баз данных не обеспечивают достаточного контроля для обеспечения разделения обязанностей; Поэтому возможности мониторинга на основе хоста на уровне сети и ядра модуля обеспечивают более высокую степень достоверности для судебной экспертизы и сохранения доказательств.

Повышение безопасности базы данных

[править | править код]

Для повышения общей безопасности этих баз данных можно использовать следующие дополнительные шаги, которые выполняются в рамках сети и среды сервера:

  1. Запустите сервер баз данных на компьютере, на котором установлена система Windows Server 2003. По умолчанию эта операционная система более безопасна, чем система Windows 2000 Server. Несмотря на то, что компьютер сервера Windows 2000 Server можно заблокировать, этот процесс может быть связан с затратами времени, кроме того, существует вероятность возникновения ошибок, которыми могут воспользоваться злоумышленники для получения доступа к базе данных.
  2. Ограничьте физический доступ к серверу базы данных.
  3. Обеспечьте, чтобы разрешения базы данных и списки разграничительного контроля доступа, имеющиеся в файлах базы данных, разрешали доступ только уполномоченному персоналу. Надежными являются разрешения по умолчанию и списки DACL, настроенные службой управления правами. Следует соблюдать осторожность при изменении любых параметров по умолчанию.
  4. Не запускайте лишние службы на сервере базы данных, например службы IIS, службу очередей сообщений или службы терминалов.
  5. Кроме баз данных службы управления правами, не следует запускать на сервере баз данных никакие другие базы данных.

Примечания

[править | править код]
  1. Guardian newspaper article on a security breach, in which Anderson’s Rule is formulated. Дата обращения: 11 июня 2017. Архивировано 12 сентября 2017 года.
  2. 1 2 Stephens, Ryan. Sams teach yourself SQL in 24 hours (неопр.). — Indianapolis, Ind: Sams, 2011. — ISBN 9780672335419.
  3. Database Security Best Practices. technet.microsoft.com. Дата обращения: 2 сентября 2016. Архивировано 12 сентября 2017 года.