Все хранилища, структурированные и неструктурированные, требуют защиты, даже если она заключается в простом выключении питания или физическом отключении от USB-разъема внешнего диска. Однако защита информации в базе данных, которая является темой этой статьи, может оказаться и сложнее.
Недавно я беседовал с Тедом Джулианом (вице-президентом по консалтингу компании Application Security) о проблемах защиты структурированной части контента в базах данных. Джулиан хотя и кратко, но довольно подробно рассказал о том, что он считает важным в защите баз данных, начиная с их сбора и заканчивая описанием всего пути до обнаружения атаки.
Начало: сбор данных
Во-первых, нужно точно знать, что требуется защитить.
“При установке защиты данных необходимо иметь точное представление о месте их нахождения, иначе нельзя быть уверенным в непрерывности такой защиты. Когда место нахождения базы данных в конфигурации системы установлено, можно приступать к оценке ее окружения и значимости данных”, — сказал Джулиан.
Он также посоветовал администраторам составить опись всех баз данных, определить все возможные уязвимости и задать базовый уровень активов защиты для последующего сравнения.
Возможность контролировать изменения в состоянии базы данных — главное свойство всех мероприятий, направленных на соответствие требованиям любых правил. Процесс поможет определить общие недостатки, включая неисправность системы, неудовлетворительные и установленные по умолчанию пароли, чрезмерные права доступа и недостатки в контроле. Эту задачу можно облегчить с помощью технических решений, помогающих в проведении исследований, в определении положения дел с защитой, а также решений для создания сценариев, ускоряющих процесс исправлений.
Полное решение для защиты базы данных должно содержать стратегию по контролю угроз и уязвимых мест в реальном времени, заявил Джулиан. Администраторы баз данных (АБД) должны приоритизировать возможные проблемы и уделять первостепенное внимание самым неотложным.
“Всесторонняя защита баз данных основывается на сведениях об уязвимости и угрозах, включая их серьёзность и критичность. Когда приоритеты уже определены, устройство должно моментально докладывать о прогрессе и исправлять недостатки для определения формального плана защиты”, -- говорит Джулиан.
Главное — защита флангов
Зафиксируйте и исправьте известные уязвимости.
Следующий шаг в укреплении безопасности на уровне базы данных, который необходимо предпринять с тем, чтобы уменьшить риски и улучшить состояние защиты этой базы, заключается в фиксации и исправлении известных уязвимостей. Установленные по умолчанию пароли следует удалить, а неправильные конфигурации исправить. Затем нужно установить “заплатки” и обходы ошибок в программных кодах. Джулиан советует провести оценку эффективности проделанной работы.
“Не все уязвимые места можно “залатать” или удалить сразу. Сигналы о подозрительной активности, поступающие в реальном времени, и соответствующим образом настроенные правила реагирования на них позволяют компании действовать при возникновении угроз с упреждением”, -- объяснил Джулиан.
По его мнению, методика фирмы Application Security, названная Database Security Lifecycle, помогает предприятиям расширить разделенную на уровни защиту хранилищ с наиболее важной информацией и, как результат, значительно уменьшить риски. Описанные шаги являются основой следования нормативным требованиям, обеспечивают незамедлительную реакцию компаний, а при необходимости и протоколирование процесса внесения изменений.
Основы защиты базы данных
Здесь описано несколько основных действий, которые помогут предприятиям улучшить работу защиты базы данных всего за один день.
Измените установленные по умолчанию пароли. Каждая база данных, поставленная фирмой Oracle, всегда имела определённый набор установленных по умолчанию учетных записей и паролей. Эти имена и пароли хорошо известны и задокументированы. Джулиан утверждает: “Установленные по умолчанию пароли могут вызвать проблемы, так как они оставляют “парадный вход” к вашей базе данных широко распахнутым”.
На сегодняшний день известно более шестисот устанавливаемых по умолчанию имён пользователей и комбинаций паролей, а кроме того, множество свободно доступных инструментов для вычисления таковых, говорит Джулиан.
Еще существует несколько свободно доступных сценариев и инструментов:
- Checkpwd компании Red Database Security;
- DPS (Default Password Scanner) корпорации Oracle;
- Oracle Security Probe.
Кстати, Oracle11g включает возможность для администратора базы данных увидеть перечисление всех устанавливаемых по умолчанию паролей (DBA_USERS_WITH_DEFPWD).
Устраните легко разгадываемые пароли. Одним из самых простых направлений атак является сегодня доступ с помощью паролей, которые можно легко отгадать. Нападающие на систему знают, что люди часто используют пароли, совпадающие с именем пользователя.
Многие хакеры пользуются списком слов (wordlist). Такие списки предназначены в первую очередь для применения с программами взлома паролей путем перебора.
Требуйте надежных паролей. Надежные пароли могут значительно повысить защиту базы данных. Существует несколько рекомендаций для их разработки:
--учитывайте длину пароля. Каждый знак пароля повышает его защиту. Пароль должен иметь восемь или больше знаков — идеально не меньше четырнадцати. Пятнадцатизначный пароль, составленный из случайно выбранных букв и цифр, защищен примерно в 33 000 раз лучше, чем восьмизначный;
--усложняйте пароль. Объединяйте буквы, цифры и символы для увеличения разнообразия знаков в пароле. Многие системы поддерживают использование пробела, так что можно создавать фразы из нескольких слов. Такие фразы обычно легче запомнить, чем простой пароль, а заодно дольше и труднее разгадывать. Избегайте очерёдности, повторения знаков
(важно, чтобы пароль, особенно в Oracle, начинался со знака, имеющего код ASCII, поэтому желательны знаки ASCII a-z, _, #, $, а также цифры от нуля до девяти. Пробел в паролях в Oracle не поддерживается. Oracle11g также поддерживает пароли с учётом регистра клавиатуры. Другие версии этой СУБД превращают любой пароль в прописные буквы);
--используйте разнообразие. Применяйте больше одного пароля в своей среде. Чем большее количество паролей вы задействуете, тем сложнее злоумышленникам взломать их.
Дополнительные шаги защиты:
- установите пароль для абонентов;
- установите самый последний пакет обновлений ПО;
- заблокируйте неиспользуемые учетные записи;
- аннулируйте доступ типа PUBLIC, если он вам явно не нужен.
Несмотря на то что на осуществление защиты базы данных тратятся время и силы, организации, принимая меры по устранению простых рисков, могут значительно улучшить ситуацию с защитой.
Опережать хакеров
Избегайте уязвимости и уменьшите риск взлома
Следование приведенным ниже советам -- самый лучший путь избежать уязвимости баз данных и уменьшить риск их взлома.
Устанавливайте “заплаты” регулярно. Злоумышленники ищут известные уязвимые места и готовы при возможности их использовать. Ключевой элемент защиты баз данных -- это регулярная установка “заплат” и контроль известных уязвимостей.
Автоматизируйте выполнение задач защиты как регулярную процедуру обслуживания базы данных. Защита сильно зависит от регулярной переоценки и проверки достоверности. Повседневная работа быстро становится утомительной, что ведет к снижению внимания. В ходе автоматизации процессов защиты специалист по безопасности составляет план регулярных задач и отчётов. Современные решения для защиты баз данных позволяют пользователю составлять план задач, управлять задачами и одновременно получать извещения и предупреждения. Автоматизированный процесс создания отчётов и их доставки также упрощает уведомление заинтересованных лиц.
Поддерживайте средства защиты постоянно. Используя программы, которые обеспечивают регулярную установку новых “заплаток”, защиту от новых угроз и известных уязвимостей, вы делаете решающий шаг к надежной защите базы данных и снижению риска.
Сосредоточьтесь на обеспечении многослойной защиты. Защита данных в БД играет главную роль в предотвращении взломов и потери данных. Лучшим способом защититься от хищения больших объемов информации (когда нападающий на систему удаляет или повреждает данные в крупном объёме) является использование многослойного вида защиты, который включает в себя защиту БД.
Регулярно проводите ревизию системы и принимайте меры сразу при возникновении проблем. Регулярный аудит убеждает компанию в надежности установленных правил информационной безопасности и помогает обнаружить уязвимости до того, как ими воспользуются злоумышленники. Инструменты аудита безопасности помогут контролировать состояние базы данных и фиксировать аномальные активности в ней.
Шифруйте данные, если необходимо. Шифрование — это последняя линия защиты и требование многих нормативов. Оно чрезвычайно важно при создании резервных копий, транспортировке и хранении данных вне БД или на мобильных устройствах, таких как мобильный компьютер, лента, флэш-карта.
Сосредоточьтесь на постоянном обслуживании систем. Защита баз данных -- это непрерывный процесс. Специалисты по защите всё время следят за системой, чтобы обеспечить соответствие установленным требованиям, оценивая угрозы и реагируя на их изменение. По мнению Джулиана, использование таких систем, как Database Security Vulnerability Management Lifecycle, оптимизирует усилия компании, направленные на уменьшение рисков.
Используйте системы для обнаружения вторжений и аудита баз данных, особенно для управления между выпуском “заплаты” и обнаружением уязвимости. При рассмотрении результатов аудита и уязвимостей обеспечиваются условия для оценки рисков безопасности. Такую стратегию рекомендуется пополнить средствами онлайнового обнаружения угроз. Система, которая предупреждает об обнаружении атаки в реальном времени, даёт самую актуальную информацию о состоянии безопасности.