Упражнение. Мониторинг базы данных
Представьте, что вы получаете оповещение от администратора безопасности вашей компании. В сети обнаружена потенциальная нарушение безопасности. Несанкционированный пользователь мог получить доступ к базе данных через вредоносное действие. Как это отследить?
Вы знаете, что необходимо активно отслеживать базу данных для подозрительных действий. Что можно сделать, чтобы не только получить представление о том, что происходит в базе данных, но и предотвратить вредоносное действие?
База данных SQL Azure имеет встроенные функции, которые помогают отслеживать, что происходит в базе данных. Он может отслеживать и оповещать вас, если он идентифицирует вредоносные действия.
Аудит баз данных SQL Azure
Включив аудит, вы сможете сохранять сведения обо всех последующих операциях с базой данных, которые можно проверять вручную или анализировать с помощью автоматизированных средств. Аудит также используется для управления соответствием и оценки использования базы данных. Аудит требуется, если вы хотите применять службу обнаружения угроз Azure для базы данных Azure SQL.
Используйте аудит базы данных SQL, чтобы выполнять следующие действия:
- Сохранять журнал аудита выбранных событий. Вы можете указать, какие категории действий базы данных должны проходить аудит.
- Создавать отчеты по действиям, производимым с базой данных. Вы можете использовать предварительно настроенные отчеты и панель мониторинга для быстрого начала работы с отчетностью по действиям и событиям.
- Анализировать отчеты. Вы можете искать подозрительные события, необычную деятельность и тенденции.
Журналы аудита записываются в добавление БОЛЬШИХ двоичных объектов в учетную запись Хранилище BLOB-объектов Azure, которую вы назначили. Политики аудита можно применять на уровне сервера или базы данных. После включения вы можете использовать портал Azure для просмотра журналов или отправки их в Log Analytics или Центры событий для дальнейшей обработки и анализа.
Проведение аудита на практике
Не рекомендуется устанавливать политику аудита больших двоичных объектов одновременно для сервера и базы данных, за исключением следующих случаев:
- Если для определенной базы данных нужно использовать другую учетную запись хранения или другой срок хранения.
- Нужно провести аудит типов событий или категорий для конкретной базы данных, которая отличается от остальных баз данных на сервере. Например, может потребоваться выполнить аудит вставки данных в таблицу только для конкретной базы данных.
В противном случае рекомендуется включить аудит только больших двоичных объектов уровня сервера и отключить аудит на уровне базы данных для всех баз данных.
Выполните следующие действия, чтобы настроить аудит в системе.
Войдите на портал Azure, используя ту же учетную запись, с помощью которой вы активировали песочницу.
В строке поиска в верхней части портала найдите сервер, а затем выберите сервер на портале. Замените NNNNN номером из имени сервера.
В области меню слева в разделе Безопасность выберите Аудит.
По умолчанию аудит отключен. Чтобы включить его на сервере базы данных, установите переключатель Включить аудит Azure AQL в положение ВКЛ.
После выбора кнопки "ВКЛ." установите флажок Хранилище.
Выберите свою подписку.
Вы можете выбрать существующую учетную запись хранения или создать новую для хранения аудитов. Учетная запись хранения должна быть настроена в том же регионе, что и сервер.
В этом случае определите новую учетную запись хранения. В разделе Учетная запись хранения выберите Создать. Появится панель Создать учетную запись хранения. Назовите аудит имени сервера>учетной записи< хранения, заменив <имя> сервера на имя логического сервера.
Сохраните остальные значения по умолчанию и нажмите кнопку ОК. Вернитесь к области Параметры хранилища. Оставьте значения по умолчанию и нажмите кнопку ОК.
Нажмите кнопку "Сохранить", чтобы сохранить изменения и включить аудит на сервере базы данных.
Теперь создайте некоторые записи аудита и посмотрите, что можно ожидать.
Войдите в базу данных в качестве пользователя ApplicationUser .
sqlcmd -S tcp:[server-name].database.windows.net,1433 -d marketplaceDb -U 'ApplicationUser' -P '[password]' -N -l 30
Выполните следующий запрос.
SELECT FirstName, LastName, EmailAddress, Phone FROM SalesLT.Customer; GO
Вернитесь в портал Azure на сервере SQL Server, выберите базы данных SQL в левой области меню и выберите базу данных Marketplace.
В области меню слева для базы данных marketplace в разделе Безопасность выберите Аудит.
Так как вы включили аудит на уровне сервера, вы увидите, что он включен здесь. Выберите Просмотр журналов аудита в верхней строке меню для просмотра журналов.
Вы увидите одну или несколько записей аудита, где для параметра ИМЯ УЧАСТНИКА указано ApplicationUser, а для параметра ТИП СОБЫТИЯ — ПАКЕТ ЗАВЕРШЕН. Одна из записей должна содержать подробные сведения о выполненном запросе. Вы можете увидеть и другие события, например неуспешные и успешные попытки проверки подлинности. Выберите любую запись, чтобы просмотреть подробные сведения о событии.
Эти действия включают аудит на уровне сервера базы данных. Аудиты применяются ко всем базам данных на сервере. Вы можете также настроить аудит на уровне базы данных.
Ознакомьтесь с другой функцией, которая использует эти журналы для повышения безопасности базы данных.
Расширенная защита данных для Базы данных SQL Azure
Служба "Расширенная защита данных" (ADS) предоставляет набор расширенных возможностей безопасности SQL, включая обнаружение и классификацию данных, оценку уязвимостей и расширенную защиту от угроз.
- Обнаружение и классификация данных (в настоящее время в предварительной версии) предоставляет возможности, встроенные в База данных SQL Azure для обнаружения, классификации, маркировки и защиты конфиденциальных данных в базах данных. Она может использоваться для просмотра состояния классификации базы данных, а также отслеживания доступа к конфиденциальным данным в базе данных и за ее пределами.
- Оценка уязвимостей —это простая в настройке служба, которая может обнаруживать, отслеживать и помогать исправлять потенциальные уязвимости баз данных. Эта служба обеспечивает представление о состоянии безопасности и предлагает практические действия для устранения проблем безопасности и усиления защиты базы данных.
- Расширенная защита от угроз позволяет выявить подозрительную активность, указывающую на необычные и потенциально опасные попытки получить доступ к базам данных или воспользоваться ими. Она непрерывно отслеживает базу данных для выявления подозрительных действий и немедленно выдает оповещения системы безопасности о потенциальных уязвимостях, атаках путем внедрения кода SQL и аномальных шаблонах доступа к базам данных. Оповещения Расширенной защиты от угроз содержат сведения о подозрительных операциях и рекомендации о том, как исследовать причину угрозы и устранить ее.
Установка и настройка
Включите ADS в базе данных. ADS — это параметр уровня сервера, поэтому запустите его.
Вернитесь в портал Azure, перейдите на сервер SQL Server. В строке поиска в верхней части страницы найдите _<server-name> и выберите сервер.
В области меню слева в разделе Безопасность облака выберите Microsoft Defender для облака.
Выберите Включить Microsoft Defender для SQL.
Выберите Настроить рядом с сообщением Включено на уровне подписки. Появится панель Параметры сервера.
Периодические повторяющиеся проверки включены по умолчанию. При активации еженедельной проверки сводка результатов сканирования отправляется на указанный вами адрес электронной почты. В этом случае отключите этот параметр. Параметр Также отправлять уведомление по электронной почте администраторам и владельцам подписок включен по умолчанию для отправки уведомления об угрозах администраторам служб. Чтобы сохранить параметры, нажмите кнопку Сохранить в верхней части страницы.
В разделе Параметры Расширенной защиты от угроз выберите Добавить контактные данные..., чтобы открыть панель Уведомления по электронной почте Defender для облака. Здесь вы можете определить, где сообщения электронной почты уведомлений доставляются как для оценки уязвимостей, так и расширенной защиты от угроз в виде списка разделенных с запятой адресов электронной почты. Параметр Также отправлять уведомление по электронной почте администраторам и владельцам подписок включен по умолчанию для отправки уведомления об угрозах администраторам служб.
Вы также можете выбрать Включить аудит.... для включения Аудит Azure SQL.
Выберите Сохранить, чтобы применить изменения.
Вы получаете Уведомления по электронной почте по мере обнаружения уязвимостей. Электронная почта описывает, что произошло, и действия, которые необходимо предпринять.
Обнаружение и классификация данных
Перейдите к базе данных marketplace. В строке поиска в верхней части портал Azure найдите Marketplace и выберите базу данных.
В области меню слева в разделе "Безопасность" выберите " Обнаружение данных" и "Классификация данных".
На вкладке Классификация показаны столбцы в ваших таблицах, которые необходимо защитить. Некоторые столбцы могут иметь конфиденциальную информацию или могут считаться классифицированными в разных странах или регионах.
Если нужно настроить дополнительную защиту для каких-либо столбцов, появится сообщение об этом. Это сообщение отформатировано как 15 столбцов с рекомендациями по классификации. Нажмите этот текст, чтобы просмотреть рекомендации.
Выберите столбцы, для которых нужно применить классификацию, устанавливая флажки рядом с именами столбцов или слева от заголовка схемы. Нажмите кнопку Принять выбранные рекомендации, чтобы применить рекомендации по классификации.
Затем измените столбцы, а затем определите тип информации и метку конфиденциальности для базы данных. Выберите Сохранить, чтобы сохранить изменения.
После успешного управления рекомендациями не следует перечислять активные рекомендации.
Уязвимости системы безопасности
В области меню слева в разделе Безопасность облака выберите Microsoft Defender для облака.
В разделе Рекомендации перечислены проблемы с конфигурацией базы данных и связанные с ними риски.
Выберите рекомендацию. На панели рекомендаций отображаются сведения, такие как уровень риска, к которой применяется база данных, описание уязвимости и рекомендуемая исправление для устранения проблемы. Примените предложенные исправления, чтобы устранить проблемы. Обязательно примите меры по всем уязвимостям.
Инциденты и оповещения системы безопасности
В этом разделе появится список обнаруженных угроз.
Устраните проблемы, применив рекомендации. Для таких проблем, как предупреждения внедрения SQL, можно просмотреть запрос и вернуться к месту выполнения запроса в коде. После обнаружения необходимо перезаписать код, чтобы он больше не был проблем.