Miért és hogyan védhető az API-végpont?

Hogyan biztosítod az API-t?

Ez a digitális gazdaság robbanásszerű korszaka, és hatalmas adatterhelések zajlanak az API-kon keresztül. Üzlet, játék, oktatás, időjárás, tudomány, művészetek. . . Nevezd meg; API-kon minden működik. Egy olyan alapvetően API-kra támaszkodó világban meglepően kevés a hangsúly a biztonságra.

A fejlesztők számára elég a keretrendszerük alapértelmezett beállításai; vagy ami még rosszabb, ha nem használnak keretrendszert, azt hiszik, hogy biztonsági gyakorlatot követnek. A rendszergazdák számára az infrastruktúra vagy a szolgáltató által kínált alapértelmezett biztonság az, amire támaszkodnak.

Egyáltalán nem szép látvány, ha engem kérdezel.

Forrás: developer.ibm.com

Mondanom sem kell, sok minden forog kockán, amit csak akkor veszünk észre, ha valami valóban szörnyű történik.

De először a dolgok. 🙂

Miért érdemes biztonságos API-végpontokat használni?

Ennek semmi gondnak kell lennie, nem?

Biztosítanunk kell a végpontokat, mert az üzlet ettől függ.

Bár ez önmagában is elég erős érv, szeretném egy kicsit kiszélesíteni a nézőpontot, és rávilágítani más kapcsolódó, de ugyanolyan halálos következményekre.

Üzleti veszteség 📉

Ez a nyilvánvaló. Ha valakinek sikerül elrontania az API-végpontjait, az mindent leállít. A biztonsági megsértések helyreállítása is sok időt vehet igénybe, ami üzleti értelemben öngyilkosságot jelent. Bár igaz, hogy a legtöbb vállalkozást valószínűleg nem érinti az egy-két órás leállás, egyesek számára ez nem megengedhető.

Képzelje el, hogy a pénzváltó néhány percre leáll!

Megfelelőségi problémák

Az API-k megfelelő biztonságának hiánya súlyos problémákba sodorhatja, attól függően, hogy melyik földrajzi területtel vagy iparággal van dolgod. Például, ha Ön a bankszektort szolgálja ki (főleg az EU-ban), akkor a nem biztonságos API-kkal való kiszolgálás költsége hatalmas jogi és megfelelőségi problémákhoz vezet. Olyannyira, hogy ez akár a vállalkozás végét is jelentheti.

Hírnévvesztés

A feltörés önmagában is elég fájdalmas, de ha a hír nyilvánosságra kerül, helyrehozhatatlan veszteséget okoz a márka imázsa. Például a Sony-t mára néhányszor nagyon csúnyán feltörték, és biztonsági körökben a cég nevetség tárgya a fajta.

Még akkor is, ha tényleges adat- vagy pénzvesztés nem történik, sok szerencsét, ha megpróbálja meggyőzni a züllött ügyfeleit. 🙂

Felfújt infrastrukturális számlák 💰

Amikor az API infrastruktúrán fut, erőforrásokat fogyaszt (főleg sávszélesség, CPU és memória). Például, ha az API nincs megfelelően védett, és a rosszindulatú kívülállók interakcióba léphetnek vele, előfordulhat, hogy az API-t arra kényszerítik, hogy folytassa a sok értelmetlen munkát (például nehéz adatbázis-lekérdezések futtatását), ami lőhet. okokból emelje fel számláit.

Azokon a platformokon, ahol engedélyezve van az erőforrások automatikus skálázása (mint például az AWS), az eredmények megdöbbentőek lehetnek (nem témánk, de ha valaha is belekap egy ilyen levesbe az AWS-en, akkor teljesen megértik a helyzetet, és azonnal lemondnak a felfújt számla – legalábbis az írás pillanatában!).

  A PrefDelete lehetővé teszi a Tweaks eltávolítását a Beállítások alkalmazásból [Jailbreak]

Csapatmorál

Tehát azt gondolhatja, hogy az a csapat, amely hagyja, hogy ezek a kompromisszumok megtörténjenek, elveszítik a moráljukat miattuk. Hát nem egészen. Lehetséges, hogy a kompromisszumok az infrastruktúra gyenge biztonsága miatt következtek be, ami el fogja csüggedni a fejlesztőket, vagy fordítva.

Ha ez elég idő alatt megtörténik, akkor egy olyan kultúra lesz a kezedben, amelyet bánni fogsz, hogy hagyd kibontakozni.

A versenytárs nyeresége

Tehát tegyük fel, hogy megsértés történt, de nem volt tényleges veszteség. A versenytársak azonban az incidenst arra fogják használni, hogy összegyűjtsék saját API-jukat, és kijelentsék, mennyivel biztonságosabb az övék (még ha nem is az!). Még egyszer sok sikert a piac meggyőzéséhez. 🙂

Mindent összevetve, a biztonság megsértésének olyan következményei vannak, amelyek túlmutatnak a pénzvesztésen.

Az API-végpontok biztosításának legjobb gyakorlatai

Szerencsére vannak bizonyos könnyen megvalósítható és jól érthető gyakorlatok, amelyeket alkalmazhat az API-végpontjain a biztonságuk érdekében. Íme, amit a legtöbb biztonsági szakértő javasol.

HTTPS mindig 🔒

Ha az API-végpontjai lehetővé teszik az API-fogyasztók számára, hogy http-n vagy más nem biztonságos protokollon keresztül beszéljenek, akkor nagy kockázatot jelent számukra. A jelszavakat, titkos kulcsokat és hitelkártyaadatokat könnyen ellophatják ember a középső támadásbanvagy a csomagszimuláló eszköz egyszerű szövegként tudja olvasni őket.

Ezért mindig a https legyen az egyetlen elérhető lehetőség. Bármilyen triviálisnak is tűnik egy végpont, a http-n keresztüli csatlakozás még csak nem is jöhet szóba. A TLS-tanúsítvány nem kerül sokba; már 20 dollárért megvásárolhatja a SSL áruház.

Egyirányú jelszókivonat

A jelszavakat soha nem szabad sima szövegként tárolni, mivel a biztonság megsértése esetén az összes felhasználói fiók veszélybe kerül. Ugyanakkor szigorúan kerülni kell a szimmetrikus titkosítást, mivel minden elég zseniális és kitartó támadó képes feltörni azokat.

Az egyetlen javasolt lehetőség az aszimmetrikus (vagy „egyirányú”) titkosítási algoritmusok a jelszavak tárolására. Így sem a támadó, sem a vállalaton belüli fejlesztő vagy rendszergazda nem fogja tudni elolvasni az ügyfelek jelszavait.

Erős hitelesítés 💪

Manapság szinte minden API rendelkezik hitelesítési formával, de véleményem szerint az OAuth2 rendszer működik a legjobban. Más hitelesítési módszerekkel ellentétben a fiókot erőforrásokra osztja, és csak korlátozott hozzáférést tesz lehetővé a hitelesítési jogkivonat hordozójához.

Ugyanakkor egy másik nagyon jó gyakorlat, hogy a tokeneket mondjuk 24 óránként lejárnak, hogy frissíteni kell őket. Így még akkor is, ha a token kiszivárog, fennáll annak az esélye, hogy a 24 órás határidő csökkenti a jogsértés hatását.

Alkalmazzon sebességkorlátozást

Hacsak nem rendelkezik olyan API-val, amelyet emberek milliói használnak percenként, nagyon jó ötlet korlátozni, hogy egy ügyfél egy adott időablakban hány hívást kezdeményezhet az API-ban.

Ez leginkább a robotok visszaszorítására szolgál, amelyek másodpercenként több száz egyidejű kérést küldhetnek, és az API-ja minden jó ok nélkül felemészti a rendszer erőforrásait. Minden webfejlesztési keretrendszerhez tartozik egy sebességkorlátozó köztes szoftver (és ha nem, akkor meglehetősen könnyű hozzáadni egy könyvtáron keresztül), amelynek beállítása mindössze egy percet vesz igénybe.

  Hogyan lehet megtekinteni a billentyűparancsok rejtett „csalólapját” az iPaden

Érvényesítse a bevitelt

Ez úgy hangzik, mint egy ötlet, de meg fog lepődni, hogy hány API esik erre. A bevitel ellenőrzése nem csak azt jelenti, hogy ellenőrizzük, hogy a bejövő adatok megfelelő formátumban vannak-e, hanem azt is, hogy ne érjenek meglepetések. Egy egyszerű példa az SQL injekció, amely törölheti az adatbázisokat, ha hagyja, hogy a lekérdezési karakterláncok csekély ellenőrzés nélkül menjenek el.

Egy másik példa a POST kérés méretének érvényesítése, és a megfelelő hibakód és üzenet visszaküldése az ügyfélnek. A nevetségesen nagy bemenetek elfogadása és elemzése csak az API felrobbantását szolgálja.

Ha szükséges, kényszerítse ki az IP-cím szűrését

Ha szereti a B2B szolgáltatásokat, és az API-kat meghatározott helyekről származó vállalkozások használják, fontolja meg egy további biztonsági réteg hozzáadását, amely korlátozza az API-hoz hozzáférő IP-címeket. Minden új hely és új ügyfél esetében az IP-címet össze kell vetni a bejövő kéréssel.

Igen, ez kellemetlenséget okoz a beépítésben, de a végeredmény sokkal szigorúbb biztonság, mint amit egyébként el lehet érni.

Eszközök az API-védelem növeléséhez

Vannak olyan eszközök, amelyek segíthetnek a sérülékenység átvizsgálásában, vagy ami még jobb, az első védelmi vonalat kínálják az API-k biztonsága terén?

Szerencsére igen. Számos eszközt használhat, de figyelmeztetni kell arra, hogy a nap végén egyetlen biztonsági stratégia sem tökéletes. Ennek ellenére ezek az eszközök sokszorosára növelhetik az API biztonságát, ezért ajánlottak.

Metasploit egy rendkívül népszerű nyílt forráskódú keretrendszer a webalkalmazások és API-k behatolási tesztelésére. Több különböző paraméteren is átvizsgálhatja az API-t, és kimerítő biztonsági auditot végezhet a különböző szintű sebezhetőségek tekintetében.

Például a Metasploit által végzett biztonsági vizsgálat meg tudja mondani, hogy az API-aláírásai átadják-e a mögöttes technológiákat és operációs rendszert vagy sem; ennek eltitkolása gyakran fél sikert jelent az API biztonságban.

Noha a nyílt forráskódú alapkeret általában elegendő, vannak kiváló, a Metasploitra épülő fizetős termékek, amelyeket érdemes megnézni. A profi terv nagyszerű, ha prémium támogatást szeretne, és alaposan fogja használni a keretrendszert, de általában nem szükséges, ha csapata kellően tapasztalt.

AppTrana

Az AppTrana dedikált API védelme A funkciók átfogó kockázatalapú megoldást kínálnak az API-fenyegetések széles köre elleni védelemre, beleértve az OWASP API top 10-et, az API-alapú DDoS- és bottámadásokat, a beágyazott fenyegetéseket, az adatszivárgást stb. tesztelése során folyamatosan figyeli a kockázati pontszámot, hogy erősítse a biztonsági helyzetet.

Az AppTrana API védelme biztosítja a legátfogóbb megoldást a kockázatészlelés, az API fenyegetésészlelés, az API pozitív biztonsági szabályzatok, az API-specifikus DDoS házirendek, az API-specifikus bot modulok és az API Discovery funkciók kombinációjával.

  Ellenőrizze a felhasználónév elérhetőségét bármely közösségi hálózaton

API-felfedezése biztosítja az API-hívások teljes áttekintését, beleértve a nem dokumentált és árnyék API-kat is, hogy megértse az API-támadási felületet. Ez a dedikált API-védelem információkat gyűjt a felhasználói adatokról, az API használati viselkedéséről, a fenyegetési tevékenységről, az API-hívási térképekről és még sok másról, hogy valós idejű elemzéssel bemutassa a védelmi állapotot.

Az Indusface AppTrana segítségével személyre szabott API-specifikus házirendeket hozhat létre az API-központú visszaélések valós időben történő blokkolására.

Cloudflare

Nem csak CDN, hanem Cloudflare rengeteg biztonsági funkciót kínál, például WAF-ot, sebességkorlátozást, DDoS-védelmet, amelyek elengedhetetlenek az API online fenyegetések elleni védelméhez.

Invicti

Invicti „proof-based scanning” USP-vel érkezik. Egyszerűbben fogalmazva, gyakran előfordulhat, hogy a szabálytalan hálózati feltételek vagy néhány kevésbé ismert API-viselkedés biztonsági réseknek minősül, amelyekről később kiderül, hogy hibásak.

Ez erőforrásokat pazarol, mivel az összes jelentett sebezhetőséget manuálisan újra meg kell vizsgálni, hogy megbizonyosodjon arról, hogy nem hamis pozitívak. Az Invicti szerint az eszköz képes elég erős bizonyítékot szolgáltatni a jelentésekhez, eloszlatva a talált gyenge láncszemekkel kapcsolatos kétségeket.

Az olyan cégek ügyféllistáján, mint a Sony, a Religare, a Coca-Cola, a Huawei stb., biztos lehet benne, hogy valamit jól csinálnak. 🙂

SoapUI Pro

A SmartBear építette, SoapUI Pro egy intuitív és egyszerű módja az API-tesztek létrehozásának, és pontos, adatvezérelt jelentések készítésének. Ezenkívül szépen integrálódik a CI/CD-folyamatba, biztosítva, hogy új kódkiegészítések ne veszélyeztessék az API biztonságát.

A SoapUI képes együttműködni a Swagger, az OAS és más népszerű API-szabványokkal, jelentősen lerövidítve a kezdéshez szükséges időt. Az olyan ügyfelekkel, mint a Microsoft, a Cisco, a MasterCard, az Oracle stb., és az évi 659 dollártól kezdődő tervekkel ez méltó eszköz a biztonságosabb API-k számára.

Okta

Próbálja meg Okta hogy a fejlesztők a felhasználói élmény javítására koncentrálhassanak, és hatékonyan védjék vállalati adatait. OAuth 2.0 hitelesítést kínál, és mind mobil, mind webes alkalmazásokhoz készült. Harmadik fél API-kezelési szolgáltatásaival is kompatibilis.

Az Okta segítségével létrehozhat, auditálhat és karbantarthat az API-hozzáféréshez szükséges összes házirendet felhasználóbarát és erre a célra kialakított konzolokon, egyéni kódok nélkül. Extra rugalmasságot kínál, így nem kell az API-kat extra átjárópéldányokkal biztonságossá tennie.

Az Okta felöleli az identitás-vezérelt szabályzatot a különböző típusú felhasználók és szolgáltatások egy fedél alatt történő vezérlésére. Határozza meg a hozzáférést a felhasználói profiloktól, hálózatoktól, csoportoktól, hozzájárulástól és ügyfelektől függően. Bővítse ki a tokeneket belső rendszereiből származó dinamikus adatok segítségével a gyorsabb integráció és a zökkenőmentes migráció érdekében.

Lehetővé teszi az API-k központosított adminisztrációját, és lehetővé teszi az API-erőforrások védelmét. Az Okta a biztonságra összpontosít azáltal, hogy lehetővé teszi a különböző mikroszolgáltatások közötti hozzáférés biztosítását.

Következtetés

Van nincs hiány a piacon elérhető API biztonsági eszközök közül, legyen az nyílt forráskódú, ingyenes vagy kereskedelmi, vagy ezek bármilyen kombinációja.

Próbáljon ki néhányat a listából, és nézze meg, melyik felel meg a legjobban az Ön igényeinek.