Alkalmazások és szolgáltatásokApplications and services

Az alkalmazások és az azokhoz kapcsolódó adatmennyiség végső soron az üzleti érték elsődleges tárháza egy felhőalapú platformon.Applications and the data associated with them ultimately act as the primary store of business value on a cloud platform. Habár a platform-összetevők, például az identitás és a tárolás a biztonsági környezet kritikus elemei, az alkalmazások az üzleti kockázatok szempontjából jelentős szerepet játszanak, mivel:While the platform components like identity and storage are critical elements of the security environment, applications play an outsize role in risks to the business because:

  • Az üzleti folyamatokat az alkalmazásoknak és a szolgáltatásoknak elérhetőnek kell lenniük, és magas integritást kell biztosítaniukBusiness Processes are encapsulated and executed by applications and services need to be available and provided with high integrity

  • Az üzleti adatok tárolása és feldolgozása az alkalmazás munkaterhelése alapján történik, és magas fokú biztonságot, integritást és rendelkezésre állást igényel.Business Data is stored and processed by application workloads and requires high assurances of confidentiality, integrity, and availability.

Ez a szakasz a szervezet vagy más, a szervezet nevében vagy a IaaS-alapú virtuális gépeken telepített, kereskedelmileg elérhető alkalmazások által írt alkalmazásokra koncentrál.This section focuses on applications written by your organization or by others on behalf of your organization vs. SaaS or commercially available applications installed on IaaS VMs.

Az alkalmazás modelljeinek ábrája

A modern felhőalapú platformok, mint az Azure, az alkalmazások örökölt és modern generációit is üzemeltetikModern cloud platforms like Azure can host both legacy and modern generations of applications

  • Az örökölt alkalmazások az infrastruktúra-szolgáltatás (IaaS) virtuális gépeken futnak, amelyek jellemzően az operációs rendszer, a köztes és az egyéb összetevőket is tartalmazzák.Legacy applications are hosted on Infrastructure as a Service (IaaS) virtual machines that typically include all dependencies including OS, middleware, and other components.

  • Modern A platform as Service-(Pásti-) alkalmazások nem igénylik az alkalmazás tulajdonosát az alapul szolgáló kiszolgáló operációs rendszereinek (operációs rendszerek) felügyeletére és védelmére, és a szolgáltatásként elsősorban a funkciók használatával készültek.Modern Platform as a Service (PaaS) applications don’t require the application owner to manage and secure the underlying server operating systems (OSes) and are sometimes fully “Serverless” and built primarily using functions as a service.

    Megjegyzések: A modern alkalmazások népszerű formái az Azure App Services és a tároló alkalmazások (bár a tárolók a IaaS-alapú virtuális gépeken vagy a helyszínen is üzemeltethető) alkalmazási kódok.Notes: Popular forms of modern applications are application code hosted on Azure App Services and containerized applications (though containers can also be hosted on IaaS VMs or on-premises as well).

  • Hybrid (hibrid ) – míg a hibrid alkalmazások számos űrlapot igénybe vehetnek, a leggyakoribb egy "IaaS Plus" állapot, amelyben az örökölt alkalmazások egy modern architektúrára váltanak, amely a régi összetevőket váltja fel, vagy egy örökölt alkalmazást váltott ki.Hybrid – While hybrid applications can take many forms, the most common is an “IaaS plus” state where legacy applications are transitioning to a modern architecture with modern services replacing legacy components or being added a legacy application.

Az alkalmazások biztonságossá tétele három különböző összetevő-típusra vonatkozó biztonsági garanciát igényel:Securing an application requires security assurances for three different component types:

  • Alkalmazás kódja – ez az a logikai érték, amely az Ön által írt egyéni alkalmazást határozza meg.Application Code – This is the logic that defines the custom application that you write. A kód biztonsága az alkalmazások tulajdonosai felelőssége az alkalmazás-architektúra minden generációjában, beleértve a kód részét képező nyílt forráskódú kódrészleteket vagy összetevőket is.The security of this code is the application owners’ responsibility in all generations of application architecture including any open-source snippets or components included in the code. A kód biztonságossá tételéhez az alkalmazás megtervezésével és megvalósításával, valamint a befoglalt összetevők ellátási láncának kockázatával kapcsolatos kockázatok azonosítására és enyhítésére van szükség.Securing the code requires identifying and mitigating risks from the design and implementation of the application as well as assessing supply chain risk of included components. Vegye figyelembe, hogy az alkalmazások a Service-architektúrákban való fejlődése megszakítja az alkalmazás kódjának különböző aspektusait a kisebb szolgáltatásokban és egyetlen monolitikus-kód esetén.Note that the evolution of applications into microservices architectures will break various aspects of application code into smaller services vs. a single monolithic codebase.

  • Alkalmazásszolgáltatás – ezek a különböző szabványosított összetevők, amelyeket az alkalmazás használ, például az adatbázisokat, az identitás-szolgáltatókat, az Event hubokat, a IoT és így tovább.Application Services – These are the various standardized components that the application uses such as databases, identity providers, event hubs, IoT device management, and so on. A Cloud Services esetében ez a közös felelősség:For cloud services this is a shared responsibility:

    • Felhőalapú szolgáltató – A mögöttes szolgáltatás biztonsága a felhőalapú szolgáltató feladataCloud Provider - The security of the underlying service is the responsibility of the cloud provider

    • Alkalmazás tulajdonosa – az alkalmazás tulajdonosa felelős az alkalmazás által használt szolgáltatási példány (ok) konfigurációjának és működésének biztonsági vonatkozásaival, beleértve a szolgáltatásban tárolt és feldolgozott összes adat használatát is.Application Owner - The application owner is responsible for security implications of the configuration and operation of the service instance(s) used by the application including any data stored and processed on the service.

  • Alkalmazás-üzemeltetési platform – ez az a számítástechnikai környezet, amelyben az alkalmazás ténylegesen lefut és fut.Application Hosting Platform – This is the computing environment where the application actually executes and runs. A helyszínen, az Azure-ban és a külső felhőben (Amazon Web Services például az AWS-ben) üzemeltetett alkalmazásokkal rendelkező vállalatoknál ez számos olyan formát ölthet, amely a biztonságért felelős:In an enterprise with applications hosted on premises, in Azure and in third-party clouds like Amazon Web Services (AWS), this could take many forms with significant variations on who is responsible for security:

    • Az örökölt alkalmazások általában a fizikai vagy virtualizált hardvereken üzemeltetett teljes operációs rendszert (és bármely middleware-t) igénylik.Legacy Applications typically require a full operating system (and any middleware) hosted on physical or virtualized hardware. A virtuális hardver a helyszínen vagy az infrastruktúra-szolgáltatás (IaaS) virtuális gépeken is üzemeltethető.The virtual hardware can be hosted on premises or on Infrastructure as a Service (IaaS) VMs. Ez az operációs rendszer és a telepített middleware/other Components az alkalmazás tulajdonosa vagy az infrastruktúra csapata által üzemeltetett és védett.This operating system and installed middleware/other components are operated and secured by the application owner or their infrastructure team(s).
      A fizikai hardver-és operációsrendszer-virtualizálási összetevők (virtualizációs gazdagépek, operációs rendszerek és felügyeleti szolgáltatások) felelőssége a következőre változik:The responsibility for the physical hardware and OS virtualization components (virtualization hosts, operating systems, and management services) varies:

      • Helyszíni – az alkalmazás tulajdonosa vagy szervezete felelős a karbantartásért és a biztonságért.On premises - The application owner or their organization is responsible for maintenance and security.

      • IaaS – a felhőalapú szolgáltató feladata a mögöttes infrastruktúra karbantartása és biztonsága, valamint az alkalmazás tulajdonosának szervezete felelős a virtuális gépek konfigurációjával, operációs rendszerével és az azon telepített összetevőkért.IaaS – The cloud provider is responsible for maintenance and security of the underlying infrastructure and the application owner’s organization is responsible for the VM configuration, operating system, and any components installed on it.

    • A modern alkalmazások szolgáltatásként (Pásti) üzemelő környezetekben (például Azure Application Service) futnak.Modern Applications are hosted on Platform as a Service (PaaS) environments such as an Azure application service. A legtöbb alkalmazás-szolgáltatási típusban az alapul szolgáló operációs rendszer az alkalmazás tulajdonosától származik, és a felhőalapú szolgáltató biztosítja.In most application service types, the underlying operating system is abstracted from the application owner and secured by the cloud provider. Az alkalmazás tulajdonosai felelősek a számukra biztosított Application Service-konfigurációk biztonsága szempontjából.Application owners are responsible for the security of the application service configurations that are provided to them.

    • A tárolók olyan alkalmazás-csomagoló mechanizmusok, amelyekben az alkalmazások a futtatott környezetből származnak.Containers are an application packaging mechanism in which applications are abstracted from the environment in which they run. Ezek a tároló alkalmazások az örökölt vagy a modern modellekhez illeszkednek, attól függően, hogy a felhőalapú szolgáltató (modern alkalmazások) vagy a szervezet által felügyelt kiszolgálók (helyszíni vagy IaaS) egy tároló szolgáltatáson futnak-e.These containerized applications fit into either the legacy or modern models above depending on whether they are run on a container service by the cloud provider (Modern Applications) or on a server managed by the organization (on premises or in IaaS). További részletekért tekintse meg az alábbi Container Security szakaszt .See the container security section below for more details.

Üzleti szempontból kritikus fontosságú alkalmazások azonosítása és besorolásaIdentify and classify business critical applications

Győződjön meg arról, hogy azonosította és osztályozta a portfóliójában az üzleti funkciók szempontjából kritikus alkalmazásokat.Ensure you have identified and classified the applications in your portfolio that are critical to business functions.

A nagyvállalati szervezetek általában nagy méretű alkalmazás-portfólióval rendelkeznek, így rangsorolva, hogy a manuális és erőforrás-igényes feladatok, például a veszélyforrások modellezése milyen mértékben növelheti a biztonsági program hatékonyságát.Enterprise organizations typically have a large application portfolio, so prioritizing where to invest time and effort into manual and resource-intensive tasks like threat modeling can increase the effectiveness of your security program.

Azonosíthatja azokat az alkalmazásokat, amelyek nagy valószínűséggel befolyásolhatják és/vagy jelentős kockázatot jelenthetnek.Identify applications that have a high potential impact and/or a high potential exposure to risk.

  • Magas lehetséges hatás – azonosítsa az alkalmazást, amely jelentős hatással lenne az üzleti tevékenységre, ha sérült.High potential impact – Identify application that would a significant impact on the business if compromised. Ez a következő formák egyike lehet:This could take the form of one or more of:

    • Üzleti szempontból kritikus fontosságú adatok – olyan alkalmazások, amelyek adatokat dolgoznak fel vagy tárolnak, ami jelentős negatív üzleti vagy kihatást okozhat, ha a titkosság, az integritás vagy a rendelkezésre állás megléte megszakad.Business critical data – Applications that process or store information, which would cause significant negative business or mission impact if an assurance of confidentiality, integrity, or availability is lost.

    • Szabályozott adatok – a szabályok által szabályozott pénzügyi eszközöket és bizalmas személyes adatokat kezelő alkalmazások.Regulated data – Applications that handle monetary instruments and sensitive personal information regulated by standards. Például: Payment Card Industry (PCI) és Health Information hordozhatóság és elszámoltathatósági szabály (HIPAA).For example, payment card industry (PCI) and Health Information Portability and Accountability Act (HIPAA).

    • Üzleti szempontból kritikus rendelkezésre állás – olyan alkalmazások, amelyek funkcionalitása kritikus fontosságú a szervezetek üzleti céljaihoz, mint például a termelési vonalak, amelyek az élet és a biztonság szempontjából kritikus fontosságú bevételt, eszközöket vagy szolgáltatásokat eredményeznek.Business critical availability – Applications whose functionality is critical to organizations business mission such as production lines generating revenue, devices, or services critical to life and safety, and other critical functions.

    • Jelentős hozzáférés – olyan alkalmazásokhoz, amelyek nagy valószínűséggel befolyásolhatják a rendszerek elérését a technikai eszközök, például aSignificant Access – Applications which have access to systems with a high potential impact through technical means such as

      • Tárolt hitelesítő adatok vagy kulcsok/tanúsítványok, amelyek hozzáférést biztosítanak az adatokhoz/szolgáltatáshozStored Credentials or keys/certificates that grant access to the data/service

      • Hozzáférés-vezérlési listán vagy más módon megadott engedélyekPermissions granted via access control lists or other means

  • A támadásoknak való magas expozíció – a támadók számára könnyen elérhető alkalmazások, például webalkalmazások a nyílt interneten.High exposure to attacks – Applications that are easily accessible to attackers such as web applications on the open internet. Az örökölt alkalmazások a támadók és a penetrációs tesztelők számára is magasabb fokú kitettséget jelenthetnek, mivel tudják, hogy ezek az örökölt alkalmazások gyakran nehezen javíthatók.Legacy applications can also be higher exposure as attackers and penetration testers frequently target them because they know these legacy applications often have vulnerabilities that are difficult to fix.

A DevOps megközelítés elfogadásaAdopt the DevOps approach

A szervezeteknek a "vízesés" fejlesztési ciklusból kell áttérniük, hogy a folyamatos integráció, a folyamatos teljesítés (CI/CD) életciklusát DevOps, amilyen gyorsan csak praktikus.Organizations should shift from a ‘Waterfall’ development cycle to DevOps lifecycle of continuous integration, continuous delivery (CI/CD) for applications as fast as is practical. A DevOps olyan személyek, folyamatok és eszközök Uniója, amelyek lehetővé teszik az értékeknek a végfelhasználók számára történő folyamatos teljesítését.DevOps is the union of people, processes, and tools that enable continuous delivery of value to end users. A fejlesztői és az Ops-szerződés arra utal, hogy a fejlesztési és üzemeltetési tudományágakat a megosztott és hatékony eljárásokkal és eszközökkel közösen együttműködő több tudományágat tömörítő csapatokba egyesítse.The contraction of Dev and Ops refers to combining the development and operations disciplines into multi-disciplinary teams that work together with shared and efficient practices and tools.

A DevOps-modell növeli a szervezet azon képességét, hogy gyorsan foglalkozzon a biztonsági szempontokkal anélkül, hogy a Waterfall-modell hosszú tervezési és tesztelési ciklusára kellene várnia.The DevOps model increases the organization’s ability to rapidly address security concerns without waiting for a longer planning and testing cycle of a waterfall model.

A DevOps biztonsági útmutatásának követéseFollow DevOps security guidance

A szervezeteknek útmutatást és automatizálást kell használniuk az alkalmazások Felhőbeli biztonságossá tételéhez, nem pedig nullától kezdve.Organizations should leverage guidance and automation for securing applications on the cloud rather than starting from zero.

Az ilyen modellek korai bevezetésével rendelkező külső szervezetek erőforrásainak és tanulságának használatával felgyorsíthatja a szervezet biztonsági helyzetének javulását, kevesebb költséggel és erőforrásokkal.Using resources and lessons learned by external organizations that are early adopters of these models can accelerate the improvement of an organization’s security posture with less expenditure of effort and resources.

A Cloud Services használata egyéni implementációk helyettUse Cloud services instead of custom implementations

A fejlesztőknek a felhőalapú szolgáltató által elérhető szolgáltatásokat kell használniuk olyan jól bevált funkciókhoz, mint például az adatbázisok, a titkosítás, az identitások könyvtára és a hitelesítés ahelyett, hogy egyéni verziókat kellene írniuk.Developers should use services available from your cloud provider for well-established functions like databases, encryption, identity directory, and authentication instead of writing custom versions of them.

Ezek a szolgáltatások jobb biztonságot, megbízhatóságot és hatékonyságot biztosítanak, mivel a Felhőbeli szolgáltatók működnek, és a dedikált csapatokkal biztosítják őket, és ezekkel a területeken mélyreható szakértelemmel rendelkeznek.These services provide better security, reliability, and efficiency because cloud providers operate and secure them with dedicated teams with deep expertise in those areas. Ezeknek a szolgáltatásoknak a használatával a fejlesztői erőforrások is felhasználhatják a kiszervezett úgy, hogy a fejlesztési időt a vállalat egyedi igényei szerint tudják összpontosítani.Using these services also frees your developer resources from reinventing the proverbial wheel so that they can focus development time on your unique requirements for your business. Ezt a gyakorlatot követve el kell kerülni az új alkalmazások fejlesztése során felmerülő kockázatokat, valamint a meglévő alkalmazások kockázatának csökkentését a tervezett frissítési ciklus vagy a biztonsággal kapcsolatos alkalmazás frissítése során.This practice should be followed to avoid risk during new application development as well as to reduce risk in existing applications either during planned update cycle or with a security-focused application update.

Számos olyan képességet, amelyet a lehetséges biztonsági hatások miatt érdemes elsőként előnyben részesíti:Several capabilities that should be prioritized first because of potential security impact:

  • Identitás – a felhasználói címtárak és más hitelesítési funkciók a biztonsági garanciák fejlesztéséhez és kritikus fontosságú kialakításához szükségesek.Identity – User directories and other authentication functions are complex to develop and critically important to security assurances. Kerülje a házi hitelesítési megoldások használatát és az olyan érettebb képességeket, mint a Azure Active Directory (Azure ad), az Azure ad B2B, a Azure ad B2Cvagy harmadik féltől származó megoldások a felhasználók, partnerek, ügyfelek, alkalmazások, szolgáltatások és egyéb entitások hitelesítéséhez és engedélyezéséhez.Avoid using homegrown authentication solutions and favor mature capabilities like Azure Active Directory (Azure AD), Azure AD B2B, Azure AD B2C, or third-party solutions to authenticate and grant permission to users, partners, customers, applications, services, and other entities.

  • Adatvédelem – a fejlesztőknek az adatok titkosításához és védelméhez olyan felhőalapú szolgáltatók által létesített képességeket kell használniuk, mint például a natív titkosítás a Cloud Servicesben.Data Protection – Developers should use established capabilities from cloud providers such as native encryption in cloud services to encrypt and protect data. A biztonság világa olyan példákkal van ellátva, amelyekkel nem sikerült a valós támadásokkal szemben olyan adatvédelemre vagy jelszavakra irányuló kísérlet, amely nem állt sikerrel.The security world is littered with examples of failed attempts to protect data or passwords that didn’t stand up to real world attacks. Ha a titkosítás közvetlen használata szükséges, a fejlesztőknek jól bevált titkosítási algoritmusokat kell meghívniuk, és nem próbálják meg saját maguknak kitalálni a helyüket.If direct use of cryptography is required, developers should call well-established cryptographic algorithms and not attempt to invent their own.

  • Kulcskezelő – ideális esetben identitást használhat a hitelesítéshez ahelyett, hogy közvetlenül kezeli a kulcsokat (lásd: a kulcsok hitelesítésének előnybenrészesítése).Key management – Ideally use identity for authentication rather than directly handling keys (see Prefer Identity Authentication over Keys). Ha olyan szolgáltatásokhoz fér hozzá, amelyek hozzáférést igényelnek a kulcsokhoz, kihasználják a kulcskezelő szolgáltatást, például az Azure Key Vault vagy az AWS Kulcskezelő szolgáltatást a kulcsok kezeléséhez és védelméhez ahelyett, hogy a kulcsokat az alkalmazás kódjában kellene biztonságosan kezelni.For situations where accessing services that require access to keys, leverage a key management service like Azure Key Vault or AWS Key Management Service to manage and secure these keys rather than attempting to safely handle keys in application code. A CredScan használatával felderítheti az alkalmazás kódjában esetlegesen elérhető kulcsokat.You can use CredScan to discover potentially exposed keys in your application code.

  • Alkalmazás-konfigurációk – az alkalmazások inkonzisztens beállításai biztonsági kockázatokat hozhatnak létre.Application Configurations – Inconsistent configurations for applications can create security Risks. Az Azure app Configuration szolgáltatással központilag kezelhető az Alkalmazásbeállítások és a funkciók jelzői, ami segít a kockázat enyhítésében.Azure App Configuration provides a service to centrally manage application settings and feature flags, which helps mitigate this risk.

Natív biztonsági funkciók használata az Application ServicesbenUse Native Security capabilities in application services

A külső biztonsági összetevők (adattitkosítás, hálózati forgalom szűrése, veszélyforrások észlelése és egyéb funkciók) hozzáadása helyett a Cloud Services beépített natív biztonsági funkcióit használhatja.Use native security capabilities built into cloud services instead of adding external security components (for data encryption, network traffic filtering, threat detection, and other functions).

A natív biztonsági vezérlőket a szolgáltató tartja karban és támogatja, kiküszöbölve vagy csökkenteni a külső biztonsági eszközök integrálásához szükséges erőfeszítéseket, és frissíti az integrációkat az idő múlásával.Native security controls are maintained and supported by the service provider, eliminating or reducing effort required to integrate external security tooling and update those integrations over time. A Cloud Services gyorsan fejlődik, ami jelentősen növeli a külső eszközök karbantartásának terhét, és növeli a biztonsági láthatóság és a védelem elvesztésének kockázatát, ha az eszköz nem tartja meg a felhőalapú szolgáltatást.Cloud services evolve rapidly, which greatly increases the burden of maintaining an external tool and increases risk of losing security visibility and protections from these tools if the tool doesn’t keep up with the cloud service.

Identitások hitelesítésének előnyben részesítése kulcsoknálPrefer Identity Authentication over Keys

A kriptográfiai kulcsok helyett mindig az Identity Services-hitelesítéssel végezze el a hitelesítést.Always authenticate with identity services rather than cryptographic keys when available.

A kulcsok biztonságos kezelése az alkalmazás kódjával megnehezíti és rendszeresen olyan hibákat eredményez, mint például a bizalmas hozzáférési kulcsok véletlen közzététele a GitHub-tárakban.Managing keys securely with application code is difficult and regularly leads to mistakes like accidentally publishing sensitive access keys to code repositories like GitHub. Az Identity Systems biztonságos és használható felhasználói élményt biztosít a hozzáférés-vezérléshez, amely a legfontosabb rotációs, a rendellenességek figyelését és egyebeket biztosító beépített kifinomult mechanizmusokkal rendelkezik.Identity systems offer secure and usable experience for access control with built-in sophisticated mechanisms for key rotation, monitoring for anomalies, and more. A legtöbb szervezet emellett olyan szakosodott csapatokat is tartalmaz, amelyek az Identity Systems és néhány (ha van) személy számára aktívan kezelik a kulcsfontosságú biztonsági rendszereket.Most organizations also have skilled teams dedicated to managing identity systems and few (if any) people actively managing key security systems.

Az Azure AD-hitelesítést (például Azure Storage, Azure app Service, Azure Backup) kínáló szolgáltatások esetében használja hitelesítésre és engedélyezésre.For services that offer the Azure AD authentication like Azure Storage, Azure App Service, Azure Backup, use it for authentication and authorization. A fejlesztők identitások használatának további egyszerűsítése érdekében a felügyelt identitások előnyeit is kihasználhatja az identitások olyan erőforrásokhoz való hozzárendeléséhez, mint például a virtuális gépek és a app Services, hogy a fejlesztőknek ne kelljen az alkalmazáson belüli identitásokat kezelnie.To further simplify using identities for developers, you can also take advantage of managed identities to assign identities to resources like VMs and App Services so that developers don’t have to manage identities within the application.

Alulról felfelé építkező megközelítés a biztonsági hibák mennyiségének és hatásának csökkentéséhezBottom-up approach to reduce security bug volume and impact

a biztonsági hibák mennyiségének és hatásának csökkentését szolgáló, alulról építkező megközelítést bemutató kép

Csökkentse a biztonsági hibák számát és lehetséges súlyosságát az alkalmazásban azáltal, hogy a fejlesztési életciklus során biztonsági eljárásokat és eszközöket implementál.Reduce the count and potential severity of security bugs in your application by implementing security practices and tools during the development lifecycle.

A biztonsági hibák hatására az alkalmazások bizalmas adatokat adhatnak ki, így a bűnözők adatokat vagy rekordokat változtathatnak meg, vagy az adatok/alkalmazások nem válnak elérhetővé az ügyfelek és az alkalmazottak számára.Security bugs can result in an application disclosing confidential data, allowing criminals to alter data/records, or the data/application becoming unavailable for use by customers and employees. Az alkalmazások mindig rendelkeznek olyan logikai hibákkal, amelyek biztonsági kockázatot jelenthetnek, ezért fontos felderíteni, kiértékelni és kijavítani őket, hogy elkerülje a szervezet hírnevének, bevételének vagy árrésének a károsodását.Applications will always have some logic errors that can result in security risk, so it is important to discover, evaluate, and correct them to avoid damage to the organization’s reputation, revenue, or margins. Az alkalmazások tesztelésének befejezése után könnyebben és olcsóbban lehet megoldani ezeket a fejlesztési életcikluson belül, mint az eszköz kijavítása, éles környezetben, vagy a "bal oldali" vagy "leküldéses" elv miatt gyakran megszegték.It is easier and cheaper to resolve these earlier in the development lifecycle than it is to correct them after application has completed testing, is in production use, or has been breached frequently called “shift left” or “push left” principle.

Az alkalmazások kockázatának enyhítése a biztonsági eljárások és az eszközök fejlesztési életciklusba való integrálásával valósul meg, amelyet gyakran biztonságos fejlesztési életciklusnak (SDL vagy SDLC) is nevezünk.Mitigating application risk is achieved by integrating security practices and tools into the development lifecycle, often called a secure development lifecycle (SDL or SDLC). A Microsoft a Microsoft biztonsági fejlesztési életciklusa alapján számos olyan ajánlást tett közzé az Azure-beli biztonságos alkalmazások fejlesztéséhez , amely a bemeneti és a kimeneti ellenőrzés, a fuzz Testing, a támadási felületi felülvizsgálatok és egyéb műveletek során felmerülő gyakori kockázatok enyhítésére szolgál.Microsoft has published a number of recommendations in a whitepaper entitled Develop Secure Apps on Azure based on Microsoft’s Security Development Lifecycle to mitigate common risks with input and output validation, perform fuzz testing, attack surface reviews, and more.

Top-Down megközelítés a veszélyforrások modellezésévelTop-down approach through threat modeling

a fenyegetések modellezésével kapcsolatos legfelső szintű megközelítést bemutató kép

Az üzleti szempontból kritikus fontosságú alkalmazásokra vonatkozó veszélyforrások modellezésével felderítheti és elháríthatja a szervezete lehetséges kockázatait.Perform threat modeling on your business-critical applications to discover and mitigate potential risks to your organization.

A veszélyforrások modellezése az alkalmazásban rejlő kockázatokat, valamint az alkalmazás által a vállalatnak kiértékelt kockázatokat is észleli, különösen az egyes alkalmazások nagyobb rendszerekben történő kiértékelése során.Threat modeling identifies risks to the application itself as well as risks that application may pose to your enterprise particularly when evaluating individual applications in a larger system.

A veszélyforrások modellezése az alkalmazások fejlesztésének vagy gyártásának bármely szakaszában felhasználható, de az új funkciók tervezési szakaszai esetében is egyedien hatékony, mivel az adott alkalmazáshoz még nem áll rendelkezésre valós adat.Threat modeling can be used at any stage of application development or production, but it is uniquely effective for the design stages of new functionality because no real-world data yet exists for that application.

Mivel a veszélyforrások modellezése egy szakképzettségi gyakorlat, javasoljuk, hogy az idő csökkentése érdekében csökkentse a mértéket, és maximalizálja a biztonsági értéket:Because threat modeling is a skill intensive exercise, we recommend taking measures to minimize time investment while maximizing security value:

  1. Az üzleti szempontból kritikus fontosságú alkalmazásokra összpontosíthatja a kockázatkezelést a veszélyforrások alapján, ha a biztonság sérülPrioritize by risk - Apply threat modeling first to business-critical applications that would have an outsize impact on the business if compromised

  2. Hatókör korlátozása – A nagy mennyiségű manuális beavatkozást megelőzően gyorsan azonosíthatja a gyors WINS és a gyakorlatban hasznosítható enyhítéseket, és részletesen elvégezheti a fenyegetések modellezését a fokozatos szakaszban:Limit Scope - Perform threat modeling in progressive stages of detail to quickly identify quick wins and actionable mitigations before spending a lot of manual effort:

    1. Az egyszerű kérdések módszerének megkezdéséhez (lásd az egyszerű kérdések módszerét) az alábbiakban dokumentálva gyorsan betekintést nyerhet a kockázatokra, és hogy van-e alapszintű védelemStart with simple questions method (See Simple questions method) documented below to quickly get insight into risks and whether basic protections are in place

    2. Az alkalmazások kialakításának fokozatos kiértékelése – mivel az erőforrás és a szaktudás elérhető, a haladó szintű elemzésre kell áttérnie a Stride metódus Advanced Threat Modeling Techniques vagy más, a csapat által már használt hasonló módon.Progressively evaluate Application Design – as resource and expertise are available, move to a more advanced analysis using the STRIDE method Advanced threat modeling techniques or another similar one already used by your team. Kezdje az architektúra szintjének kialakításával, és fokozatosan növelje a részleteket az idő és az erőforrások lehetővé tételével:Start with the architecture level design and progressively increase detail as time and resources allow:

      1. Rendszerszintű kialakítás – alkalmazások és azok interakciója egymássalSystem level design – includes applications and how they interact with each other

      2. Alkalmazás szintje – az alkalmazás összetevőit tartalmazza, valamint azt, hogy azok hogyan hatnak egymássalApplication level – includes components of the application and how they interact with each other

      3. Összetevő szintje – az egyes összetevők összevonásának és az egyes elemek egymással való interakciójának módját tartalmazzaComponent level – includes how the individual component is composed and how each element of it interacts with each other

  3. Összehangolás a fejlesztési életciklussal – Optimalizálja erőfeszítéseit a veszélyforrások modellezési tevékenységeinek az alkalmazás-fejlesztési életciklusokkal való összehangolásával.Align with Development lifecycle – Optimize your efforts by aligning threat modeling activities with your application development lifecycles.

    1. Vízesés – győződjön meg arról, hogy a nagy projekteknek a tervezési folyamat során és az alkalmazás jelentős frissítései során is tartalmaznia kell a veszélyforrások modellezését.Waterfall – ensure major projects should include threat modeling during the design process and during significant updates to the application.

    2. DevOps – a veszélyforrások modellezési tevékenységeit olyan gyakorisággal indítja el, amely a fejlesztési csapatok túlzott terhelése nélkül fokozza a biztonsági értéket.DevOps –Trigger threat modeling activities at a frequency that adds security value without over-burdening the development teams. A megfelelő integrációs pontok az alkalmazás jelentős funkcióinak és változásainak bevezetése, valamint a rendszeres ismétlődő naptári ütemtervek, például az üzleti szempontból kritikus fontosságú alkalmazások negyedéve.Good integration points are during the introduction of significant features or changes to the application and a regular recurring calendar schedule for example, every quarter for business-critical applications.

    3. Örökölt alkalmazások – Ezeknek az alkalmazásoknak jellemzően nincs támogatásuk, forráskód-hozzáférésük és/vagy szakértelmük a szervezeten belül, így a fenyegetések modellezése a lehető legjobb módon elvégezhető, hogy milyen alkalmazási ismereteket/szakértelmet biztosít.Legacy applications – These applications typically lack support, source code access, and/or expertise in the organization, so perform threat modeling on a best effort basis with what application knowledge/expertise you have available.

Egyszerű kérdések módszereSimple questions method

Ez az egyszerű kikérdezési módszer úgy lett kialakítva, hogy a biztonsági szakemberek és a fejlesztők megkezdjék a fenyegetések modellezését, mielőtt egy fejlettebb módszerre, például a Stride vagy a OWASP metódusra váltanak (lásd a veszélyforrások modellezésévelkapcsolatos részletes megközelítést).This simple questioning method is designed to get security professionals and developers started on threat modelling before moving on to a more advanced method like STRIDE or OWASP’s method (see, Top-down approach through threat modeling).

Minden egyes alkalmazáshoz vagy összetevőhöz Kérdezzen és válaszoljon ezekre a kérdésekreFor each application or component, ask and answer these questions

  • Hitelesíti a kapcsolatokat az Azure AD-vel, a TLS-vel (kölcsönös hitelesítéssel), vagy egy másik, a biztonsági csapata által jóváhagyott modern biztonsági protokollt?Are you authenticating connections using Azure AD, TLS (with mutual authentication), or another modern security protocol approved by your security team? Ez védelmet nyújt az alkalmazáshoz és az adatkezeléshez való jogosulatlan hozzáférés ellenThis protects against unauthorized access to the application and data

    • A felhasználók és az alkalmazás között (ha van ilyen)Between users and the application (if applicable)

    • A különböző alkalmazás-összetevők és szolgáltatások között (ha vannak ilyenek)Between different application components and services (if applicable)

  • Korlátozza, hogy mely fiókoknak van hozzáférése az alkalmazásban lévő adatíráshoz vagy-módosításhoz, csak azokhoz, amelyek ehhez szükségesek?Do you limit which accounts have access to write or modify data in the application to only those required to do so? Ez csökkenti a jogosulatlan adatmódosítás vagy módosítás kockázatátThis reduces risk of unauthorized data tampering/alteration

  • A rendszer naplózza az alkalmazási tevékenységet, és bevezeti a biztonsági információkat és az Event managementet (SIEM) Azure Monitor vagy egy hasonló megoldáson keresztül?Is the application activity logged and fed into a Security Information and Event Management (SIEM) via Azure Monitor or a similar solution? Ez segít a biztonsági csapatnak a támadások észlelésében és gyors vizsgálatában.This helps the security team detect attacks and quickly investigate them.

  • Az üzleti szempontból kritikus fontosságú, a biztonsági csapat által jóváhagyott titkosítással védett adatvédelem?Is business-critical data protected with encryption that has been approved by the security team? Ez segít megvédeni az adatok jogosulatlan másolását a nyugalmi állapotban.This helps protect against unauthorized copying of data while at rest.

  • Titkosított a bejövő és kimenő hálózati forgalom a TLS protokollal?Is inbound and outbound network traffic encrypted using TLS? Ez segít megvédeni az adatok jogosulatlan másolását az átvitel során.This helps protect against unauthorized copying of data while in transit.

  • Védi az alkalmazást az elosztott szolgáltatásmegtagadási (DDoS) támadásokkal szemben olyan szolgáltatásokkal, mint az Azure DDoS Protection, a Akamai vagy hasonló?Is the application protected against Distributed Denial of Service (DDoS) attacks using services like Azure DDoS protection, Akamai, or similar? Ez védelmet nyújt az alkalmazás túlterhelését célzó támadások ellen, így nem használhatóThis protects against attacks designed to overload the application so it can’t be used

  • Az alkalmazás tárol-e bejelentkezési hitelesítő adatokat vagy kulcsokat más alkalmazások, adatbázisok vagy szolgáltatások eléréséhez?Does the application store any sign in credentials or keys to access other applications, databases, or services? Ez segít megállapítani, hogy a támadás használhatja-e az alkalmazást más rendszerek támadására.This helps identify whether an attack can use your application to attack other systems.

  • Az alkalmazás vezérlői lehetővé teszik a működéséhez szükséges biztonsági és adatvédelmi követelmények teljesítését?Do the application controls allow you to fulfill security and privacy requirements for the localities you operate in? (Ez segít a felhasználók személyes adatainak a védelme és a megfelelőségi bírságok elkerülése érdekében)(This helps protect user’s private data and avoid compliance fines)

Fontos: A biztonság egy összetett témakör, és a lehetséges kockázatokat csak az intelligens indíttatású támadók fantáziája korlátozza.Important: Security is a complex topic and the potential risks are limited only by the imagination of smart motivated attackers. Ezek a kérdések a támadók által könnyen kihasználható, könnyen felismerhető hézagok azonosítására szolgálnak.These questions are designed to help identify readily discoverable gaps that are easily exploited by attackers. Ha ezzel a módszerrel fejleszti a komfortot és a kompetenciákat, megtekintheti, hogy az összetett veszélyforrások modellezésének folyamata során egyre nagyobb képességgel rendelkezik a veszélyforrások modellezése.As you develop comfort and competencies with this method, you can look to grow your ability to threat model by progressing to advanced threat modelling techniques.

Fejlett veszélyforrások modellezési módszereiAdvanced threat modeling techniques

Egy átfogóbb veszélyforrás több potenciális kockázat azonosítására képes, két népszerű módszer a LÉPÉSHOSSZ és a OWASPA more comprehensive threat model can identify more potential risks, two popular techniques are STRIDE and OWASP

  • Microsoft A biztonsági fejlesztési életciklus dokumentálta a veszélyforrások modellezésének folyamatát, és kiadott egy ingyenes eszközt a folyamat támogatásáhozMicrosoft Security Development Lifecycle has documented a process of threat modeling in and released a free tool to assist with this process

    • Ez a módszer kiértékeli az alkalmazás összetevőit és kapcsolatait/kapcsolatait a lehetséges kockázatokkal szemben, amelyek a LÉPÉSHOSSZ hívóbetűje mutatnak:This method evaluates application components and connections/relationships against potential risks, which map to the STRIDE mnemonic:

      • IdentitáshamisításSpoofing

      • Illetéktelen adatmódosításTampering

      • LetagadhatóságRepudiation

      • InformációfelfedésInformation Disclosure

      • SzolgáltatásmegtagadásDenial of Service

      • Jogosultsági szint emelésePrivilege Elevation

    • Ez a módszer a tervezés bármely szintjére alkalmazható a magas szintű architektúra-specifikus alkalmazás-összetevőkből.This method can be applied to any level of the design from the high level architectural specific application components.

  • OWASP – Az Open Web Application Security Project (OWASP) dokumentálta a fenyegetések modellezésének megközelítését az alkalmazásokhoz, amely a Stride és más módszerekre hivatkozik.https://www.owasp.org/index.php/Application_Threat_ModelingOWASP – The Open Web Application Security Project (OWASP) has documented a threat modeling approach for applications, which refers to STRIDE and other methods https://www.owasp.org/index.php/Application_Threat_Modeling

Webalkalmazási tűzfalak használataUse Web Application Firewalls

A webalkalmazási tűzfalak (WAF) csökkentik annak kockázatát, hogy egy támadó kihasználja az alkalmazások gyakran észlelt biztonsági sebezhetőségeit.Web application firewalls (WAFs) mitigate the risk of an attacker being able to exploit commonly seen security vulnerabilities for applications. Habár nem tökéletes, a WAF minimális biztonsági szintet biztosítanak a webalkalmazások számára.While not perfect, WAFs provide a basic minimum level of security for web applications.

A WAF fontos megoldás, mivel a támadók egy ügyfél-végponthoz hasonló szervezetbe tartozó webalkalmazásokat céloznak meg a bejövő forgalom szempontjából.WAFs are an important mitigation as attackers target web applications for an ingress point into an organization similar to a client endpoint. A WAF mindkét esetben megfelelőekWAFs are appropriate for both

  • Olyan szervezetek, amelyek nem rendelkeznek erős alkalmazás-biztonsági programmal, mivel ez kritikus fontosságú biztonsági intézkedés (hasonlóan a síkon lévő ejtőernyőhöz.Organizations without a strong application security program as it’s a critical safety measure(much like a parachute in a plane. Vegye figyelembe, hogy ez az egyetlen tervezett biztonsági mechanizmus, amely csökkenti a biztonsági hibák mennyiségét és súlyosságát az alkalmazásaiban.Note that this shouldn’t be the only planned safety mechanism to reduce the volume and severity of security bugs in your applications. Részletekért lásd: a biztonsági hibák mennyiségének csökkentése és a hatás.For details, see Reduce security bug volume and impact.

  • Azok a szervezetek, akik a WAF-ben fektettek be az alkalmazásba, értékes további védelmet biztosítanak.Organizations who have invested in application security as WAFs provide a valuable additional defense in-depth mitigation. A WAF ebben az esetben végső biztonsági mechanizmusként működnek abban az esetben, ha biztonsági hibát észlelt a fejlesztési életciklus biztonsági gyakorlata.WAFs in this case act as a final safety mechanism in case a security bug was missed by security practices in the development lifecycle.

A Microsoft az Azure Application Gateway WAF funkcióit is tartalmazza, és számos gyártó ezeket a képességeket önálló biztonsági berendezésként vagy a következő generációs tűzfalak részeként kínálja.Microsoft includes WAF capabilities in Azure Application Gateway and many vendors offer these capabilities as standalone security appliances or as part of next generation firewalls.

A tárolók biztonságával kapcsolatos ajánlott eljárások követéseFollow best practices for container security

A tárolókban üzemeltetett alkalmazásoknak követniük kell az általános alkalmazások ajánlott eljárásait, valamint az új alkalmazás-architektúra típusának kezeléséhez szükséges bizonyos irányelveket.Applications hosted in containers should follow general application best practices as well as some specific guidelines to manage this new application architecture type

A tároló alkalmazások ugyanolyan kockázatokkal szembesülnek, mint bármely alkalmazás, és új követelményekkel bővítik a tároló alkalmazások üzemeltetését és felügyeletét.Containerized applications face the same risks as any application and also adds new requirements to securely the hosting and management of the containerized applications.

Az alkalmazás-tárolók architektúrái az absztrakt és a felügyeleti eszközök (jellemzően Kubernetes) új rétegét vezették be, amely nagyobb fejlesztői hatékonyságot és DevOps alapelvek bevezetését eredményezte.Application containers architectures introduced a new layer of abstraction and management tooling (typically Kubernetes) that have increased developer productivity and adoption of DevOps principles.

Habár ez egy új, gyorsan fejlődő terület, számos kulcsfontosságú tanulság és az ajánlott eljárások világossá váltak:While this is an emerging space that is evolving rapidly, several key lessons learned and best practices have become clear:

  • Kubernetes által felügyelt szolgáltatás használata a Kubernetes telepítése és kezelése helyettUse a Kubernetes managed service instead of installing and managing Kubernetes
    A Kubernetes egy nagyon összetett rendszer, és még számos alapértelmezett beállítással rendelkezik, amelyek nem biztonságosak, és néhány Kubernetes biztonsági szakértő a piactéren.Kubernetes is a very complex system and still has a number of default settings that are not secure and few Kubernetes security experts in the marketplace. Habár az elmúlt években az egyes kiadásokkal javult, még sok kockázatot kell enyhíteni.While this has been improving in recent years with each release, there are still a lot of risks that have to be mitigated.

  • Tároló és tároló ellátási láncának ellenőrzéseValidate container + container supply chain
    Ugyanúgy, ahogy az alkalmazásokhoz hozzáadott nyílt forráskódú kódok biztonságát is ellenőriznie kell, ellenőriznie kell az alkalmazásaihoz hozzáadott tárolókat is.Just as you should validate the security of any open-source code added to your applications, you should also validate containers you add to your applications.

    • Győződjön meg arról, hogy a tároló létrehozásához alkalmazott eljárások ellenőrzése megtörténik a biztonsági szabványok, például a biztonsági frissítések alkalmazása, a nemkívánatos kódok, például a hátsóajtó és a tiltott titkosítási érme-bányászok, a biztonsági rések keresése és a biztonságos fejlesztési eljárások alkalmazása terén.Ensure that the practices applied to building the container are validated against your security standards like application of security updates, scanning for unwanted code like backdoors and illicit crypto coin miners, scanning for security vulnerabilities, and application of secure development practices.

    • A tároló-beállításjegyzékben, a használat előtt vagy a használat során rendszeresen vizsgálja a tárolók ismert kockázatait.Regularly scan containers for known risks in the container registry, before use, or during use.

  • Ismert jó tárolók beállításjegyzékének beállításaSet up registry of known good containers
    Ez lehetővé teszi a szervezeten belüli fejlesztők számára, hogy az alacsony súrlódású biztonsággal gyorsan érvényesített tárolókat használjanak.This allows developers in your organization to use containers validated by security rapidly with low friction. Emellett hozzon létre egy folyamatot a fejlesztőknek a kéréshez és az új tárolók biztonsági ellenőrzésének gyors megkezdéséhez, hogy ösztönözze a fejlesztőket ennek a folyamatnak a használatára.Additionally, build a process for developer to request and rapidly get security validation of new containers to encourage developers to use this process vs. working around it.

  • Ne futtasson tárolókat gyökérként vagy rendszergazdaként, ha explicit módon nem szükségesDon’t run containers as root or administrator unless explicitly required
    A tárolók korábbi verzióiban a legfelső szintű jogosultságok szükségesek (ami megkönnyíti a támadásokat), de ez már nem szükséges az aktuális verziókhoz.Early versions of containers required root privileges (which makes attacks easier), but this is no longer required with current versions.

  • Tárolók figyeléseMonitor containers
    Győződjön meg arról, hogy olyan biztonsági figyelő eszközöket telepít, amelyek a rendellenes működés figyelésére és az incidensek vizsgálatának engedélyezésére alkalmasak.Ensure you deploy security monitoring tools that are container aware to monitor for anomalous behavior and enable investigation of incidents.

További lépésekNext steps

További biztonsági útmutatást a Microsofttól a Microsoft biztonsági dokumentációjábantalál.For additional security guidance from Microsoft, see Microsoft security documentation.