API-k védelme az Application Gateway és az API Management használatával

Azure API Management
Azure Application Gateway

Mivel egyre több számítási feladat irányítja az API első megközelítését a kialakításukhoz, valamint a webalkalmazások internetes fenyegetéseinek növekvő száma és súlyossága miatt kritikus fontosságú az API-k védelmére szolgáló biztonsági stratégia. Az API-biztonság egyik lépése a hálózati forgalom védelme az átjáró-útválasztási minta használatával. Az átjáróval a rugalmas útválasztási szabályok támogatása mellett korlátozhatja a forgalom forráshelyeit és a forgalom minőségét. Ez a cikk azt ismerteti, hogyan használható az Azure-alkalmazás Gateway és az Azure API Management az API-hozzáférés védelmére.

Architektúra

Ez a cikk nem foglalkozik az alkalmazás mögöttes szolgáltatásaival, mint például az App Service Environment, az Azure SQL Managed Instance és az Azure Kubernetes Services. A diagram ezen részei csak azt mutatják be, hogy mit tehet szélesebb körű megoldásként. Ez a cikk kifejezetten az árnyékolt területeket, az API Managementet és az Application Gatewayt ismerteti.

Diagram showing how Application Gateway and API Management protect APIs.

Töltse le az architektúra Visio-fájlját.

Workflow

  • Az Application Gateway olyan HTTP-kéréseket fogad, amelyeket az alhálózat hálózati biztonsági csoportja (NSG) engedélyezett.

  • Az Application Gateway webalkalmazási tűzfala (WAF) ezután ellenőrzi a kérést a WAF-szabályokon, beleértve a Geomatch-szűrést is. Ha a kérelem érvényes, a kérés folytatódik.

  • Az Application Gateway beállít egy URL-proxy mechanizmust, amely elküldi a kérést a megfelelő háttérkészletnek. Például az API-hívás URL-formátumától függően:

    • A hasonló api.<some-domain>/external/* formátumú URL-címek elérhetik a háttérrendszert a kért API-k használatához.

    • Zsákutcába (fogadóba) formázott api.<some-domain>/* hívások, amelyek egy cél nélküli háttérkészletek.

  • Az Application Gateway emellett fogadja és proxyzza a belső hívásokat is, amelyek ugyanazon Azure-beli virtuális hálózaton található erőforrásokból származnak.api.<some-domain>/internal/*

  • Végül az API Management szintjén az API-k úgy vannak beállítva, hogy fogadják a hívásokat az alábbi minták szerint:

    • api.<some-domain>/external/*
    • api.<some-domain>/internal/*

    Ebben a forgatókönyvben az API Management kétféle IP-címet használ, nyilvános és privát. A nyilvános IP-címek a 3443-es port belső kommunikációjához, valamint a külső virtuális hálózati konfiguráció futtatókörnyezeti API-forgalmához szükségesek. Amikor az API Management kérést küld egy nyilvános internetes háttérrendszernek, a kérés forrásaként egy nyilvános IP-cím jelenik meg. További információ: AZ API Management szolgáltatás IP-címei a VNetben.

  • Az Application Gateway szintjén található útválasztási szabály megfelelően irányítja át a felhasználókat portal.<some-domain>/* a fejlesztői portálra, így a fejlesztők kezelhetik az API-kat és konfigurációikat belső és külső környezetekből is.

Összetevők

  • Az Azure Virtual Network számos típusú Azure-erőforrás számára teszi lehetővé az egymással, az internettel és a helyszíni hálózatokkal való privát kommunikációt.

  • Azure-alkalmazás Gateway egy webes forgalom terheléselosztója, amely kezeli a webalkalmazások forgalmát. Ezt a fajta útválasztást alkalmazásrétegbeli (OSI 7. réteg) terheléselosztásnak nevezzük. Webalkalmazási tűzfalat (WAF) üzemeltet a gyakori webalapú támadási vektorok elleni védelem érdekében.

  • Az Azure API Management egy hibrid, többfelhős felügyeleti platform az API-k számára minden környezetben. Az API Management konzisztens, modern API-átjárókat hoz létre a meglévő háttérszolgáltatásokhoz.

Javaslatok

Ez a megoldás a teljes megoldás implementálására és az API-hozzáférés tesztelésére összpontosít az API Management virtuális hálózatán belülről és kívülről. Az API Management virtuális hálózati integrációs folyamatával kapcsolatos további információkért lásd : API Management integrálása belső VNET-ben az Application Gatewayrel.

Ahhoz, hogy privát erőforrásokkal kommunikáljon a háttérrendszerben, az Application Gatewaynek és az API Managementnek ugyanabban a virtuális hálózatban kell lennie, mint az erőforrások vagy egy társhálózatban lévő virtuális hálózat.

  • A privát, belső üzembehelyezési modell lehetővé teszi az API Management számára, hogy egy meglévő virtuális hálózathoz csatlakozzon, így az elérhető a hálózati környezeten belülről. A funkció engedélyezéséhez telepítse a Fejlesztői vagy a Prémium API Management szinteket.

  • Tanúsítványok és jelszavak kezelése az Azure Key Vaultban.

  • A szolgáltatásokkal való interakciók személyre szabásához használhat CNAME bejegyzéseket.

Alternatívák

Más szolgáltatásokkal is hasonló szintű tűzfal- és webalkalmazási tűzfal(WAF-) védelmet biztosíthat:

Considerations

Megbízhatóság

Azure-alkalmazás átjáró mindig magas rendelkezésre állású módon van üzembe helyezve, függetlenül a példányok számétől. A zónahibák hatásának elkerülése érdekében konfigurálhatja az Application Gatewayt úgy, hogy több rendelkezésre állási zónára is kiterjedjen. További információ: Automatikus skálázás és magas rendelkezésre állás.

Engedélyezze a zónaredundanciát az API Management szolgáltatás összetevői számára a rugalmasság és a magas rendelkezésre állás biztosítása érdekében. A zónaredundancia replikálja az API Management-átjárót és a vezérlősíkot fizikailag elkülönített zónák adatközpontjai között, így ellenállóvá válik a zónahibákkal szemben. A rendelkezésre állási zónák támogatásához az API Management Premium szint szükséges.

Az API Management támogatja a többrégiós üzemelő példányokat is, amelyek javíthatják a rendelkezésre állást, ha egy régió offline állapotba kerül. További információ: Többrégiós üzembe helyezés. Ebben a topológiában fontos, hogy régiónként egy Application Gateway is legyen, mivel az Application Gateway egy regionális szolgáltatás.

Biztonság

Az Application Gateway biztonságáról további információt az Application Gateway Azure biztonsági alapkonfigurációjában talál.

További információ az API Management biztonságáról: Azure biztonsági alapkonfiguráció az API Managementhez.

Az Azure DDoS Protection alkalmazástervezési ajánlott eljárásokkal kombinálva továbbfejlesztett DDoS-kockázatcsökkentési funkciókat biztosít, hogy nagyobb védelmet nyújtson a DDoS-támadásokkal szemben. Az Azure DDOS Protectiont minden peremhálózaton engedélyeznie kell.

Költségoptimalizálás

Az architektúra költsége a konfigurációs szempontoktól függ, például:

  • Service tiers
  • Méretezhetőség, ami azt jelenti, hogy a szolgáltatások által egy adott igény támogatására dinamikusan lefoglalt példányok száma
  • Függetlenül attól, hogy ez az architektúra folyamatosan vagy csak néhány órát fog-e futni egy hónapban

Miután felmérte ezeket a szempontokat, lépjen az Azure díjszabási kalkulátorára a díjszabás becsléséhez.

Teljesítmény hatékonysága

Az Application Gateway az architektúra belépési pontja, a WAF-funkció pedig további feldolgozási teljesítményt igényel minden egyes kéréselemzéshez. Ahhoz, hogy az Application Gateway a helyszínen bővíthesse számítási kapacitását, fontos engedélyezni az automatikus skálázást. További információ: Automatikus skálázás megadása. Kövesse a termékdokumentációra vonatkozó ajánlásokat az Application Gateway alhálózatának méretére vonatkozóan. Ez biztosítja, hogy az alhálózat elég nagy legyen a teljes felskálázás támogatásához.

A magas párhuzamos forgatókönyvek támogatásához kapcsolja be az API Management automatikus skálázását. Az automatikus skálázás kibővíti az API Management képességeit a bejövő kérések növekvő száma miatt. További információ: Azure API Management-példány automatikus méretezése.

A forgatókönyv üzembe helyezése

Ezt a forgatókönyvet az Application Gateway belső API Managementtel és webalkalmazással való Azure gyorsútmutató-katalógusában mutatjuk be.

Következő lépések

Az API-kat a megfelelő webes API-tervezési irányelvek alapján tervezheti meg, és jó webes API-implementálási gyakorlatokkal valósíthatja meg őket.