Рекомендации по безопасности Bot Framework
ОБЛАСТЬ ПРИМЕНЕНИЯ: ПАКЕТ SDK версии 4
Использование ботов становится все более распространенным в ключевых сферах бизнеса, таких как финансовые услуги, розничная торговля, туризм и т. д. Бот может собирать очень конфиденциальные данные, такие как кредитные карты, SSN, банковские счета и другие персональные данные. Поэтому важно, чтобы боты были защищены и защищены от распространенных угроз и уязвимостей.
Вы можете принять некоторые стандартные меры предотвращения для повышения безопасности бота. Некоторые меры безопасности похожи на те, которые используются в других программных системах, а некоторые относятся к Bot Framework. Для последнего см . справочник по Azure Security Benchmark. Тест предоставляет рекомендации по защите облачных решений в Azure.
Проблемы безопасности в орехе
В этой статье рассматриваются проблемы безопасности на 2 категории:
Угрозы: тактика, которую кто-то может использовать для компрометации бота, таких как спуфингов, изменение, раскрытие информации, отказ в обслуживании и т. д.
Уязвимости: способы, в которых бот или управление ботом могут быть подвержены такой тактике, например ошибкам или неоплачиваемой безопасности.
Снижение уязвимостей — это хороший способ устранения угроз, а также известный способ снижения уязвимостей — реализовать контрольные точки безопасности в процессе разработки и развертывания.
Общие рекомендации по безопасности
Следующие области рассматриваются стандартными рекомендациями по обеспечению безопасности, общими для приложений.
Защита сетевого трафика
Протоколы существуют, предоставляющие криптографические элементы управления для устранения изменений и раскрытия данных во время передачи. В этом отношении боты должны взаимодействовать только по защищенным каналам.
Для обмена данными в проводной любой безопасной системе необходимо использовать протокол HTTPS, который передает данные по протоколу HTTP в зашифрованных подключениях, защищенных протоколом TLS или SSL. См. также RFC 2818 — HTTP по протоколу TLS.
Примечание.
Для всех каналов Служба Bot требуется протокол HTTPS и TLS 1.2.
Самоунижающие сообщения
Окончательно удалите все конфиденциальные данные, как только он больше не нужен, как правило, после окончания обмена сообщениями или через определенное время. Это может включать персональные данные, идентификаторы, ПИН-коды, пароли, вопросы безопасности и ответы и т..
Хранилище данных
Рекомендуется хранить информацию в безопасном состоянии в течение определенного периода времени, а затем отменять ее позже после того, как она служила своей целью.
Ниже перечислены некоторые распространенные методы безопасности.
Брандмауэры базы данных
- Брандмауэры по умолчанию запрещают доступ к трафику. Единственный разрешенный трафик должен исходить из определенных приложений или веб-серверов, которым требуется доступ к данным.
- Кроме того, необходимо развернуть брандмауэр веб-приложения. Это связано с тем, что атаки, такие как атаки на внедрение SQL, направленные на веб-приложение, можно использовать для получения или удаления данных из базы данных.
Защита базы данных
- Убедитесь, что база данных по-прежнему поддерживается поставщиком, и вы запускаете последнюю версию базы данных со всеми исправлениями безопасности, установленными для удаления известных уязвимостей.
- Удалите или отключите какие-либо функции или службы, которые вам не нужны, и убедитесь, что вы изменяете пароли любых учетных записей по умолчанию из значений по умолчанию; или лучше удалить все учетные записи по умолчанию, которые вам не нужны.
- Убедитесь, что все элементы управления безопасностью базы данных, предоставляемые базой данных, включены, если не существует определенной причины отключения.
Свести к минимуму ценную информацию
- Убедитесь, что вы не храните конфиденциальную информацию, которая не должна находиться в базе данных.
- Данные, сохраненные для соответствия требованиям или другим целям, можно переместить в более безопасное хранилище, возможно, в автономном режиме, что менее подвержено угрозам безопасности базы данных.
- Не забудьте удалить все файлы журнала, написанные сервером во время исходной процедуры установки. Если установка выполнена успешно, эти файлы не имеют значения, но могут содержать сведения, которые могут быть использованы.
Образование
Боты предоставляют инновационный инструмент взаимодействия между компанией и ее клиентами. Но они могут потенциально предоставить backdoor для изменения веб-сайта компании. Поэтому компания должна убедиться, что разработчики понимают важность безопасности бота в рамках безопасности веб-сайта. Кроме того, ошибки пользователей также могут быть проблемой. Для этого потребуется некоторое образование о том, как боты могут использоваться безопасно, например:
- Для разработчиков стратегия должна включать внутреннюю подготовку по безопасному использованию бота.
- Клиентам могут быть предоставлены рекомендации по безопасному взаимодействию с ботом.
Рекомендации по безопасности для конкретного бота
В следующих областях рассматриваются некоторые стандартные рекомендации по обеспечению безопасности для приложений Bot Framework. В следующих рекомендациях описаны меры безопасности Bot Framework. Дополнительные сведения см. в разделе "Вопросы и ответы о безопасности и конфиденциальности".
Проверка подлинности Bot Connector
Служба Bot Connector изначально использует ПРОТОКОЛ HTTPS для обмена сообщениями между ботом и каналами (пользователями). Пакет SDK Bot Framework автоматизирует обычную проверку подлинности бота в канал.
Предупреждение
Если вы пишете собственный код проверки подлинности, важно правильно реализовать все процедуры безопасности. Выполнив все действия, описанные в статье проверки подлинности , вы можете снизить риск того, что злоумышленник сможет читать сообщения, отправленные боту, отправлять сообщения, олицетворяющие бота, и украсть секретные ключи.
Проверка подлинности пользователя
Проверка подлинности azure AI Служба Bot позволяет выполнять проверку подлинности пользователей и получать маркеры доступа от различных поставщиков удостоверений, таких как Идентификатор Microsoft Entra, GitHub, Uber и т. д. Кроме того, настроить проверку подлинности можно для пользовательского поставщика удостоверений OAuth2. Все это позволяет использовать только один фрагмент кода проверки подлинности, который будет работать для всех поддерживаемых поставщиков удостоверений и всех каналов. Чтобы использовать эти возможности, выполните следующие действия:
- Статически настройте
settings
в боте, который содержит сведения о регистрации приложения у поставщика удостоверений. - Используйте
OAuthCard
, указав сведения о приложении, которые используются для входа пользователя и были указаны на предыдущем шаге. - Получение маркеров доступа с помощью API Служба Bot Azure. Рекомендуется разместить ограничение времени на то, как долго пользователь, прошедший проверку подлинности, может оставаться в системе.
Дополнительные сведения см. в статье о проверке подлинности пользователей.
Веб-чат.
При использовании элемента управления Веб-чат следует учитывать некоторые важные аспекты безопасности олицетворения и спуфинирования удостоверений. Дополнительные сведения см. в разделе "Расширенная проверка подлинности Direct Line".
Дополнительная информация:
- Проверка подлинности пользователей
- Добавление проверки подлинности в бот с помощью azure AI Служба Bot
- Включение безопасности и тестирование в localhost
- Секреты и маркеры
- Технологии проверки подлинности
- Расширенные функции проверки подлинности Direct Line
- Рекомендации по безопасности в Центре безопасности Azure
- Защита от угроз с помощью Центра безопасности Azure
- Azure Security Center Data Security (Защита данных в Центре безопасности Azure)
- Защита контейнеров в Центре безопасности