Varför och hur säkrar jag API-slutpunkten?

By rik

Säkerhetsåtgärder för dina API:er

I dagens digitala värld, där datamängder flödar genom API:er, är det viktigt att fokusera på säkerhet. API:er är ryggraden i många verksamheter, spel, utbildningsplattformar, väderapplikationer, vetenskapliga projekt och mycket mer. Trots detta fundamentala beroende av API:er, saknas det ofta en tillräcklig satsning på säkerhetsaspekterna.

Utvecklare förlitar sig ofta på standardinställningarna i sina ramverk, och i värsta fall, tror de att de följer bästa praxis utan att använda några ramverk. Systemadministratörer å sin sida, litar på den grundläggande säkerheten som erbjuds av infrastruktur eller tjänsteleverantörer.

Detta är en oroande situation, speciellt med tanke på de potentiella riskerna.

Källa: developer.ibm.com

Risken är stor och konsekvenserna kan vara allvarliga, vilket ofta uppdagas först när en katastrof inträffar.

Därför är det viktigt att agera proaktivt. 🙂

Varför är det viktigt att skydda API-slutpunkter?

Svaret borde vara självklart.

Vi måste säkra slutpunkterna eftersom verksamheten är beroende av dem.

Men det finns fler aspekter att beakta. Låt oss belysa några potentiellt förödande konsekvenser:

Affärsförluster 📉

Det mest uppenbara är att om någon komprometterar dina API-slutpunkter kan det leda till ett totalt stopp i verksamheten. Säkerhetsintrång kan vara kostsamma och ta lång tid att återhämta sig från, vilket kan vara förödande för affärerna. Vissa verksamheter har inte råd med ens korta driftstopp, tänk dig en valutaväxling som ligger nere några minuter!

Efterlevnadsfrågor

Om du inte skyddar dina API:er ordentligt kan du hamna i allvarliga problem beroende på var din verksamhet bedrivs och i vilken bransch du verkar. Inom banksektorn, speciellt i EU, kan otillräckligt skyddade API:er leda till omfattande rättsliga problem och böter, vilket i värsta fall kan innebära slutet för företaget.

Förlust av rykte

Att bli hackad är smärtsamt nog, men om det blir offentligt kommer det att skada varumärket. Företag som Sony, som har drabbats av upprepade allvarliga attacker, betraktas som ett varnande exempel inom säkerhetskretsar.

Även om det inte leder till faktiska förluster av data eller pengar, kan det bli svårt att återvinna kundernas förtroende. 🙂

Ökade infrastrukturkostnader 💰

API:er kräver resurser som bandbredd, processorkraft och minne. Om ett API inte är tillräckligt skyddat kan illvilliga aktörer orsaka onödig belastning genom att tvinga API:et att utföra meningslösa uppgifter, som tunga databasfrågor, vilket ökar dina kostnader. På plattformar med automatisk resursallokering, som AWS, kan detta leda till otrevliga överraskningar (även om AWS i vissa fall har visat sig förstående och kan avstå från överdrivna fakturor).

Sänkt moral

Man kan tro att ett team skulle tappa moralen om de var ansvariga för säkerhetsbrister. Men det kan lika väl vara bristande infrastruktursäkerhet som påverkar utvecklarna negativt. Om sådana situationer uppstår ofta, kan en negativ företagskultur utvecklas.

Konkurrensfördelar för andra

Även om det inte sker någon direkt förlust vid ett intrång, kan dina konkurrenter utnyttja situationen och marknadsföra sina API:er som säkrare (även om det inte nödvändigtvis stämmer). Det blir svårt att vinna tillbaka marknadens förtroende. 🙂

Sammanfattningsvis finns det alltså många konsekvenser av säkerhetsintrång som går utöver ekonomiska förluster.

Bästa metoder för att säkra API-slutpunkter

Det finns lyckligtvis flera beprövade och lättimplementerade metoder för att skydda dina API-slutpunkter. Här är några av de rekommendationer som säkerhetsexperter brukar lyfta fram.

Använd alltid HTTPS 🔒

Att tillåta API-konsumenter att kommunicera via HTTP eller andra osäkra protokoll, är en allvarlig säkerhetsrisk. Lösenord, nycklar och kreditkortsuppgifter kan lätt snappas upp av en man-i-mitten attack eller sniffras ut av ett verktyg.

Se till att HTTPS alltid är det enda tillgängliga alternativet. Det ska inte ens finnas möjlighet att ansluta via HTTP, oavsett hur trivial en slutpunkt kan verka. TLS-certifikat är numera billiga; du kan skaffa dem för så lite som 20 dollar hos exempelvis SSL butik.

Envägs hashning av lösenord

Lösenord ska aldrig lagras i klartext. Om ett intrång inträffar riskeras samtliga användarkonton. Symmetrisk kryptering bör också undvikas eftersom angripare med tillräckligt med resurser kan knäcka dem.

Det bästa alternativet är asymmetriska krypteringsalgoritmer (”envägs”) för att lagra lösenord. På så sätt kan varken angripare, utvecklare eller systemadministratörer inom företaget se kundernas lösenord.

Stark autentisering 💪

De flesta API:er använder någon form av autentisering. OAuth2-systemet är ett av de mest effektiva. Till skillnad från andra metoder delar det upp kontot i resurser och ger endast begränsad åtkomst till autentiseringstokeninnehavaren.

Det är också bra praxis att sätta utgångstider för tokens, t.ex. 24 timmar, så att de måste förnyas. Detta minskar effekterna av eventuella läckor.

Begränsa anropsfrekvensen

Om ditt API inte används av miljontals användare varje minut, är det klokt att begränsa antalet anrop som en klient kan göra inom en viss tidsram.

Detta är mestadels för att förhindra botar som skickar stora mängder samtidiga anrop varje sekund och överbelastar ditt system utan anledning. De flesta webbutvecklingsramverk erbjuder hastighetsbegränsande mellanprogram som är lätta att implementera.

Validera inmatad data

Detta kan tyckas självklart, men det är förvånansvärt många API:er som faller offer för detta. Validering av indata handlar inte bara om att kontrollera om formatet är korrekt, utan också att förhindra överraskningar. Ett vanligt exempel är SQL-injektioner som kan förstöra databaser om frågesträngar inte kontrolleras.

Ytterligare ett exempel är att validera storleken på POST-förfrågningar och ge korrekta felkoder och meddelanden till klienten. Att försöka acceptera och analysera alldeles för stora inmatningar kan leda till att API:et kraschar.

IP-adressfiltrering (om det är lämpligt)

Om dina API:er används av företag från definierade platser, överväg att lägga till ett lager av säkerhet genom att begränsa vilka IP-adresser som kan få tillgång till API:et. Varje ny plats och kund måste godkännas. Även om detta försvårar introduktionen av nya användare, ger det en högre säkerhetsnivå.

Verktyg för att öka API-skyddet

Finns det verktyg som kan hjälpa till att upptäcka sårbarheter eller till och med fungera som ett första skyddslager för att säkra API:er?

Ja, lyckligtvis finns det flera verktyg, men ingen säkerhetsstrategi är perfekt. Dessa verktyg kan dock bidra avsevärt till att öka din API-säkerhet.

Metasploit är ett populärt ramverk med öppen källkod för penetreringstestning av webbappar och API:er. Det kan skanna ditt API utifrån flera parametrar och utföra en noggrann säkerhetsgranskning för olika sårbarheter.

Metasploits säkerhetsskanning kan identifiera om dina API-signaturer avslöjar den underliggande tekniken eller operativsystemet, vilket är en viktig aspekt av API-säkerhet.

Även om den kostnadsfria kärnversionen ofta räcker, finns det även kommersiella tillägg till Metasploit som kan vara värda att undersöka. Pro-planen är värdefull om du behöver premiumsupport, men är inte nödvändig om ditt team har tillräcklig erfarenhet.

AppTrana

AppTranas dedikerade API-skydd erbjuder en omfattande riskbaserad lösning för att skydda mot diverse hot, som OWASP API Top 10, DDoS och botattacker, dataläckage med mera. Med automatiska API-skanningar kombinerat med manuell testning, övervakas riskpoängen kontinuerligt för att stärka säkerheten.

AppTranas API-skydd kombinerar riskdetektering, hotidentifiering, API-säkerhetspolicyer, DDoS-skydd, bot-moduler och API-upptäcktsfunktioner för att erbjuda en komplett lösning.

API-upptäcktsfunktionen ger insikt i alla API-anrop, inklusive odokumenterade API:er, vilket hjälper till att identifiera och förstå potentiella angreppsytor. Denna funktion samlar in information om användardetaljer, användarbeteende, hotaktivitet med mera för att ge realtidsanalyser och skyddsstatus.

Med AppTrana kan du även skapa skräddarsydda API-specifika policyer för att blockera oönskad användning i realtid.

Cloudflare

Cloudflare, erbjuder många säkerhetsfunktioner förutom CDN, som WAF, hastighetsbegränsning, DDoS-skydd, som är viktiga för att skydda ditt API från onlinehot.

Invicti

Invicti fokuserar på ”proof-based scanning”. Ibland kan oregelbundna nätverksförhållanden eller ovanliga API-beteenden felaktigt tolkas som sårbarheter. Detta slösar tid och resurser eftersom alla rapporterade sårbarheter behöver manuell bekräftelse för att säkerställa att de inte är falskt positiva. Invicti ska kunna ge tydliga bevis för rapporterna, vilket kan ta bort tvivel kring upptäckta säkerhetsbrister.

Med företag som Sony, Coca-Cola och Huawei på kundlistan kan man anta att de gör något rätt. 🙂

SoapUI Pro

SoapUI Pro från SmartBear, är ett intuitivt verktyg för att skapa API-tester och få korrekta, datadrivna rapporter. Det integreras enkelt med CI/CD-pipelines och hjälper till att förhindra att nya kodändringar äventyrar API-säkerheten.

SoapUI stöder Swagger, OAS och andra populära API-standarder, vilket minskar tiden det tar att komma igång. Med kunder som Microsoft och Oracle och en prisnivå från 659 dollar per år, är detta ett värdefullt verktyg för säkrare API:er.

Okta

Med Okta kan dina utvecklare fokusera på att förbättra användarupplevelsen och samtidigt skydda företagsdata effektivt. Det stöder OAuth 2.0-auktorisering och är lämpligt för både mobil- och webbapplikationer. Det är även kompatibelt med API-hanteringstjänster från tredje part.

Okta ger dig möjlighet att skapa, granska och underhålla policyer för API-åtkomst via användarvänliga gränssnitt utan att skriva egen kod. Du behöver inte skydda dina API:er med hjälp av extra gateway-instanser.

Okta hanterar identitetsbaserade policyer för att kontrollera olika typer av användare och tjänster. Definiera behörigheter utifrån användarprofiler, nätverk, grupper med mera. Utöka token med hjälp av dynamiska data från dina interna system för att få snabbare integration och enklare migrering.

Okta underlättar centraliserad administration för API:er och ger möjlighet att skydda API-resurser samt åtkomst mellan olika mikrotjänster.

Slutsats

Det finns ett stort utbud av API-säkerhetsverktyg på marknaden, både kostnadsfria, kommersiella och kombinationer av dessa.

Testa några av de verktyg som nämns här och se vad som passar dina behov bäst.