Säkerhetsriktlinjer för Bot Framework
GÄLLER FÖR: SDK v4
Robotar blir mer och mer vanliga inom viktiga affärsområden, t.ex. finansiella tjänster, detaljhandel, resor och så vidare. En robot kan samla in mycket känsliga data, till exempel kreditkort, SSN, bankkonton och annan personlig information. Därför är det viktigt att robotar är säkra och skyddar mot vanliga hot och sårbarheter.
Du kan vidta några vanliga förebyggande åtgärder för att förbättra robotens säkerhet. Vissa säkerhetsåtgärder liknar de som används i andra programvarusystem, medan vissa är specifika för Bot Framework. Mer information finns i Azure Security Benchmark. Benchmark ger rekommendationer om hur du kan skydda dina molnlösningar i Azure.
Säkerhetsproblem i ett nötskal
Den här artikeln grupperar säkerhetsproblem i två kategorier:
Hot: Den taktik som någon kan använda för att kompromettera din robot, till exempel förfalskning, manipulering, avslöjande av information, denial of service och så vidare.
Sårbarheter: De sätt på vilka din robot eller hanteringen av din robot kan vara mottagliga för sådana taktiker, till exempel buggar eller slapp säkerhet.
Att minska dina sårbarheter är ett bra sätt att minimera hot, och ett känt sätt att minska sårbarheter är att implementera säkerhetskontrollpunkter i utveckling och distributionsprocessen.
Vanliga säkerhetsriktlinjer
Följande områden omfattas av vanliga metodtips för säkerhet som är gemensamma för program.
Skydda nätverkstrafik
Protokoll finns som tillhandahåller kryptografiska kontroller för att hantera datamanipulering och avslöjande under överföring. I det här avseendet bör robotar endast kommunicera via skyddade kanaler.
Om du vill utbyta data på kabeln måste alla säkra system använda HTTPS-protokollet , som överför data via HTTP i krypterade anslutningar som skyddas av TLS (Transport Layer Security ) eller Secure Sockets Layer (SSL). Se även RFC 2818 – HTTP Över TLS.
Kommentar
Alla Bot Service-kanaler kräver HTTPS och TLS 1.2.
Självförstörande meddelanden
Ta bort känsliga data permanent så snart de inte längre behövs, vanligtvis efter att meddelandeutbytet har avslutats eller efter en viss tid. Detta kan omfatta personligt identifierande information, ID: er, PIN-koder, lösenord, säkerhetsfrågor och svar, och så.
Datalagring
Bästa praxis kräver att information lagras i ett säkert tillstånd under en viss tid och sedan ignoreras senare efter att den har tjänat sitt syfte.
Några vanliga säkerhetstekniker visas nedan.
Databasbrandväggar
- Brandväggar nekar åtkomst till trafik som standard. Den enda trafik som tillåts bör komma från specifika program eller webbservrar som behöver komma åt data.
- Du bör också distribuera en brandvägg för webbprogram. Det beror på att attacker som SQL-inmatningsattacker riktade mot ett webbprogram kan användas för att exfiltera eller ta bort data från databasen.
Databashärdning
- Kontrollera att databasen fortfarande stöds av leverantören och att du kör den senaste versionen av databasen med alla säkerhetskorrigeringar installerade för att ta bort kända säkerhetsrisker.
- Avinstallera eller inaktivera alla funktioner eller tjänster som du inte behöver och se till att du ändrar lösenorden för alla standardkonton från deras standardvärden. eller bättre, ta bort alla standardkonton som du inte behöver.
- Kontrollera att alla databassäkerhetskontroller som tillhandahålls av databasen är aktiverade, såvida det inte finns en specifik orsak till att någon inaktiveras.
Minimera värdefull information
- Se till att du inte lagrar någon konfidentiell information som inte behöver finnas i databasen.
- Data som bevaras för efterlevnad eller andra ändamål kan flyttas till säkrare lagring, kanske offline, vilket är mindre känsligt för databassäkerhetshot.
- Se till att ta bort alla historikfiler som skrivs av en server under den ursprungliga installationsproceduren. Om installationen lyckas har dessa filer inget värde men kan innehålla information som potentiellt kan utnyttjas.
Education
Robotar tillhandahåller ett innovativt interaktionsverktyg mellan ett företag och dess kunder. Men de kan potentiellt tillhandahålla en bakdörr för manipulering av ett företags webbplats. Därför måste ett företag se till att utvecklarna förstår vikten av robotsäkerhet som en del av webbplatsens säkerhet. Dessutom kan användarnas fel också vara ett problem. Detta kräver viss utbildning om hur robotar kan användas på ett säkert sätt, till exempel:
- För utvecklarna bör en strategi innehålla intern utbildning om hur du använder roboten på ett säkert sätt.
- Kunder kan få riktlinjer som beskriver hur du interagerar med roboten på ett säkert sätt.
Botspecifika säkerhetsriktlinjer
Följande områden omfattas av vissa rekommenderade standardsäkerhetsmetoder för Bot Framework-program. Följande riktlinjer beskriver säkerhetsåtgärder för Bästa praxis för Bot Framework. Mer information finns i Vanliga frågor och svar om säkerhet och sekretess.
Bot Connector-autentisering
Bot Connector-tjänsten använder inbyggt HTTPS för att utbyta meddelanden mellan en robot och kanaler (användare). Bot Framework SDK automatiserar grundläggande robot-till-kanal-autentisering åt dig.
Varning
Om du skriver en egen autentiseringskod är det viktigt att du implementerar alla säkerhetsprocedurer korrekt. Genom att implementera alla steg som beskrivs i autentiseringsartikeln kan du minska risken för att en angripare kan läsa meddelanden som skickas till din robot, skicka meddelanden som personifierar din robot och stjäla hemliga nycklar.
Användarautentisering
Med Azure AI Bot Service-autentisering kan du autentisera användare till och få åtkomsttoken från olika identitetsprovidrar , till exempel Microsoft Entra ID, GitHub, Uber och så vidare. Du kan också konfigurera autentisering för en anpassad OAuth2-identitetsprovider . Allt detta gör att du kan skriva en kod för autentisering som fungerar i alla identitetsprovidrar och kanaler som stöds. För att kunna använda dessa funktioner måste du utföra följande steg:
- Konfigurera statiskt
settings
på din robot som innehåller information om din programregistrering med en identitetsprovider. - Använd en
OAuthCard
, som backas upp av programinformationen som du angav i föregående steg, för att logga in på en användare. - Hämta åtkomsttoken via Azure AI Bot Service API. En bra idé är att ange en tidsgräns för hur länge en autentiserad användare kan vara inloggad.
Mer information finns i artikeln Användarautentisering .
Webbchatt
När du använder Webbchatt kontroll måste du tänka på några viktiga säkerhetsöverväganden om personifiering och identitetsförfalskning. Mer information finns i Utökad direktlinjeautentisering.
Ytterligare information
- Användarautentisering
- Lägga till autentisering i din robot via Azure AI Bot Service
- Aktivera säkerhet och test på localhost
- Hemligheter och token
- Autentiseringstekniker
- Förbättrade direktlinjeautentiseringsfunktioner
- Säkerhetsrekommendationer i Azure Security Center
- Skydd mot hot i Azure Security Center
- Azure Security Center-datasäkerhet
- Containersäkerhet i Security Center