Pokyny pro zabezpečení služby Bot Framework

PLATÍ PRO: SDK v4

Roboti se čím dál více rozšiřují v klíčových obchodních oblastech, jako jsou finanční služby, maloobchod, cestování atd. Robot může shromažďovat velmi citlivá data, jako jsou platební karty, SSN, bankovní účty a další osobní údaje. Proto je důležité, aby roboti jsou zabezpečení a chránili před běžnými hrozbami a ohroženími zabezpečení.

Ke zlepšení zabezpečení robota můžete použít několik standardních preventivních opatření. Některá bezpečnostní opatření jsou podobná těm, která se používají v jiných softwarových systémech, zatímco některá jsou specifická pro Bot Framework. Pro druhou možnost se podívejte na srovnávací test zabezpečení Azure. Srovnávací test poskytuje doporučení týkající se zabezpečení cloudových řešení v Azure.

Problémy se zabezpečením v maticovémshellu

Tento článek seskupuje problémy se zabezpečením do 2 kategorií:

  • Hrozby: Taktika, pomocí které může někdo ohrozit vašeho robota, jako je falšování identity, manipulace, zveřejnění informací, odepření služby atd.

  • Ohrožení zabezpečení: Způsoby, kterými může být robot nebo správa robota náchylná k takovým taktikám, jako jsou chyby nebo laxní zabezpečení.

Snížení ohrožení zabezpečení je dobrým způsobem, jak zmírnit hrozby a známým způsobem, jak snížit ohrožení zabezpečení, je implementovat kontrolní body zabezpečení v procesu vývoje a nasazení.

Běžné pokyny k zabezpečení

Následující oblasti se týkají standardních osvědčených postupů zabezpečení, které jsou běžné pro aplikace.

Zabezpečení síťového provozu

Existují protokoly, které poskytují kryptografické ovládací prvky pro řešení manipulace s daty a jejich zpřístupnění během přenosu. V tomto ohledu by roboti měli komunikovat pouze přes zabezpečené kanály.

Pokud chcete vyměňovat data na drátě, musí používat protokol HTTPS , který přenáší data přes PROTOKOL HTTP v šifrovaných připojeních chráněných protokolem TLS (Transport Layer Security ) nebo SSL (Secure Sockets Layer ). Viz také RFC 2818 – HTTP přes TLS.

Poznámka:

Všechny kanály služby Bot Service vyžadují PROTOKOL HTTPS a TLS 1.2.

Samodestrukční zprávy

Trvale odstraňte všechna citlivá data, jakmile už je nepotřebujete, obvykle po skončení výměny zpráv nebo po určité době. Může to zahrnovat osobní identifikační údaje, ID, PIN kódy, hesla, bezpečnostní otázky a odpovědi atd.

Úložiště dat

Osvědčeným postupem je uložit informace do zabezpečeného stavu po určitou dobu a pak je později po jejím účelu zahodit.

Níže jsou uvedeny některé běžné techniky zabezpečení.

Brány firewall databáze

  • Brány firewall ve výchozím nastavení zakazují přístup k provozu. Jediný povolený provoz by měl pocházet z konkrétních aplikací nebo webových serverů, které potřebují přístup k datům.
  • Měli byste také nasadit firewall webových aplikací. Důvodem je to, že útoky, jako jsou útoky prostřednictvím injektáže SQL zaměřené na webovou aplikaci, je možné použít k exfiltraci nebo odstranění dat z databáze.

Posílení zabezpečení databáze

  • Ujistěte se, že je databáze stále podporovaná dodavatelem a používáte nejnovější verzi databáze se všemi nainstalovanými opravami zabezpečení, abyste odebrali známá ohrožení zabezpečení.
  • Odinstalujte nebo zakažte všechny funkce nebo služby, které nepotřebujete, a ujistěte se, že změníte hesla všech výchozích účtů z jejich výchozích hodnot; nebo lépe odstraňte všechny výchozí účty, které nepotřebujete.
  • Ujistěte se, že jsou povolené všechny ovládací prvky zabezpečení databáze poskytované databází, pokud neexistuje konkrétní důvod pro zakázání.

Minimalizace cenných informací

  • Ujistěte se, že neukládat žádné důvěrné informace, které nemusí být v databázi.
  • Data zachovaná kvůli dodržování předpisů nebo jiným účelům je možné přesunout do bezpečnějšího úložiště, třeba offline, což je méně náchylné k ohrožením zabezpečení databáze.
  • Nezapomeňte odstranit všechny soubory historie, které server zapisuje během původního postupu instalace. Pokud instalace proběhne úspěšně, tyto soubory nemají žádnou hodnotu, ale mohou obsahovat informace, které mohou být potenciálně zneužity.

Vzdělávání

Roboti poskytují inovativní nástroj pro interakci mezi společností a jejími zákazníky. Ale mohli by potenciálně poskytnout zadní vrátka pro manipulaci s webem společnosti. Společnost proto musí zajistit, aby vývojáři pochopili důležitost zabezpečení robotů v rámci zabezpečení webu. Chyby uživatelů navíc můžou být také problémem. To bude vyžadovat určité vzdělávání o tom, jak se roboti dají bezpečně používat, například:

  • Pro vývojáře by strategie měla zahrnovat interní školení o tom, jak robota bezpečně používat.
  • Zákazníci můžou poskytnout podrobné pokyny, jak bezpečně pracovat s robotem.

Pokyny pro zabezpečení specifické pro roboty

Následující oblasti jsou popsané v některých standardních osvědčených postupech zabezpečení pro aplikace Bot Framework. Následující pokyny popisují bezpečnostní opatření bot Framework osvědčených postupů. Další informace najdete v nejčastějších dotazech k zabezpečení a ochraně osobních údajů.

Ověřování Připojení or robota

Služba robota Připojení or nativně používá protokol HTTPS k výměně zpráv mezi robotem a kanály (uživateli). Sada SDK služby Bot Framework automatizuje základní ověřování mezi roboty za vás.

Upozorňující

Pokud píšete vlastní ověřovací kód, je důležité, abyste správně implementovali všechny bezpečnostní postupy. Implementací všech krokůpopsanýchm krokům můžete zmírnit riziko, že útočník dokáže číst zprávy odeslané robotovi, odesílat zprávy, které zosobňují robota, a ukrást tajné klíče.

Ověřování uživatele

Ověřování Azure AI Bot Service umožňuje ověřovat uživatele a získávat přístupové tokeny od různých zprostředkovatelů identity, jako je Microsoft Entra ID, GitHub, Uber atd. Můžete také nakonfigurovat ověřování pro vlastního zprostředkovatele identity OAuth2 . To vše vám umožní napsat jeden ověřovací kód , který funguje ve všech podporovaných zprostředkovatelích identit a kanálech. Pokud chcete využít tyto funkce, musíte provést následující kroky:

  1. Staticky nakonfigurujte settings robota, který obsahuje podrobnosti o registraci vaší aplikace u zprostředkovatele identity.
  2. OAuthCardK přihlášení uživatele použijte informace o aplikaci, které jste zadali v předchozím kroku.
  3. Načtěte přístupové tokeny prostřednictvím rozhraní API služby Azure AI Bot Service. Osvědčeným postupem je umístit časový limit, jak dlouho může ověřený uživatel zůstat přihlášený.

Další informace najdete v článku o ověřování uživatelů.

Webový chat

Pokud používáte ovládací prvek Webový chat, musíte mít na paměti některé důležité aspekty zabezpečení týkající se zosobnění a falšování identity. Další informace naleznete v tématu Rozšířené ověřování direct line.

Další informace