Вопросы обеспечения безопасности баз данных так или иначе обсуждаются на протяжении уже ряда лет. Но только в последние два года эта тема всерьез привлекла внимание отраслевых аналитиков и профессионалов в области информационной безопасности и баз данных. Ниже приведены семь эффективных правил, которые помогут специалистам по безопасности защитить свои базы данных.
Правило № 1: что бы вы ни делали — думайте о безопасности
Постоянно оценивайте свои действия с точки зрения их безопасности как при разработке приложений, так и при выполнении повседневных задач по управлению пользователями и данными. Не думайте о безопасности, как о чем-то таком, чем следует заниматься раз в месяц. Обучайте пользователей думать так же. Большинство “дыр” в системах безопасности обусловлено недостаточной подготовленностью персонала и пренебрежением правилами безопасности, а не иными причинами.
Правило № 2: используйте принцип минимальных привилегий
Принцип минимальных привилегий предполагает, что пользователи и приложения наделяются минимальным набором прав и привилегий, необходимым для нормального функционирования. В результате не только ограничивается доступ пользователей к базе данных, но и возникает необходимость в регулярном пересмотре прав доступа и их уточнении.
Многие компании дают широкие права нанятым по временному договору консультантам и разработчикам, а потом, когда работа закончена, забывают эти права отменить или скорректировать. Имейте в виду, что даже безобидные на первый взгляд привилегии могут быть использованы для злонамеренных атак и получения доступа через обнаруженные уязвимости. Поэтому в каждом случае очень тщательно продумывайте, какие права следует предоставить пользователю или приложению.
Правило № 3: минимизируйте пространство атаки
Гораздо сложнее обезопасить большой дом с большим числом окон, чем маленький дом с несколькими окнами. Аналогично обстоит дело и с базами данных. Чем они сложнее, тем больше периметр для атаки. Постарайтесь ограничить этот периметр, устраняя те компоненты, которые не используются.
Правило № 4: управляйте паролями
Одна из главных и наиболее простых целей для хакерских атак — учетные записи пользователей с установленными по умолчанию или слабыми паролями. Список паролей, назначаемых по умолчанию, можно найти в Интернете, и есть много инструментов, которые помогают хакерам взламывать эти пароли, например, с использованием так называемых радужных таблиц (rainbow table) и проводить различного рода атаки. Применяйте эти же инструменты, чтобы выявлять слабые и “дефолтные” пароли в базах данных.
Правило № 5: помните, что шифрование — это не панацея
Шифрование — это, как правило, первое, что приходит в голову, когда задумываешься о безопасности данных, и его, несомненно, имеет смысл рекомендовать для защиты важной информации. Однако такой способ защиты стоит недешево, да и сам по себе он не прост в использовании и управлении. Шифруйте только критически важные данные, для защиты которых это просто необходимо. Внимательно подходите к управлению ключами шифрования/дешифрования и меняйте их регулярно. Очень важно сочетать шифрование с другими средствами и процедурами, такими как мониторинг активности, аудит, периодическая оценка уязвимости и аутентификация пользователей.
Правило № 6: не забывайте о том, что подход к обеспечению безопасности должен быть комплексным
Многие компании выделяют средства и ресурсы на обеспечение безопасности баз данных, но пренебрегают этим при разработке и тестировании среды для этих баз, а также при создании предварительных демонстрационных версий. Поскольку демонстрационный код впоследствии часто переносится в окончательную версию программы, он должен быть так же безопасен, как и основной код. Кроме того, часто реальные данные используются во вспомогательных средах без всякой маскировки. Это порождает серьезные угрозы безопасности. Настоятельно рекомендуется относиться к вспомогательным инструментам так же тщательно, как и к основным.
Правило №7: используйте заплатки
Многое уже сказано и написано о том, как вендоры DMBS справляются с уязвимостями и как быстро они закрывают их специальными заплатками. Однако число обнаруживаемых “дыр” в последние годы только растет. И хотя вендоры удваивают свои усилия, удваивают усилия и хакеры.
Кроме того, распространение программных заплаток обычно занимает несколько месяцев. И еще несколько месяцев заказчики устанавливают их в свои программы, поскольку необходимо время на тестирование обновлений. Многие заказчики пренебрегают заплатками, и тогда их базы данных остаются уязвимыми для самых разных атак. Устанавливать заплатки следует сразу по их получении.