PaaS 배포 보안Securing PaaS deployments

이 문서에서 제공하는 유용한 정보는 다음과 같습니다.This article provides information that helps you:

  • 클라우드에서의 애플리케이션 호스팅에 대한 보안 이점 이해Understand the security advantages of hosting applications in the cloud
  • 다른 클라우드 서비스 모델과 비교하여 서비스로서의 플랫폼 (PaaS)에 대한 보안 이점 평가Evaluate the security advantages of platform as a service (PaaS) versus other cloud service models
  • 네트워크 중심에서 ID 중심 경계 보안 방식으로 보안 목표 변경Change your security focus from a network-centric to an identity-centric perimeter security approach
  • 일반적인 PaaS 보안 모범 사례 권장 구현Implement general PaaS security best practices recommendations

Azure에서 보안 응용 프로그램을 개발 하는 것은 클라우드 용 응용 프로그램을 개발할 때 소프트웨어 개발 수명 주기의 각 단계에서 고려해 야 하는 보안 질문 및 제어에 대 한 일반적인 지침입니다.Developing secure applications on Azure is a general guide to the security questions and controls you should consider at each phase of the software development lifecycle when developing applications for the cloud.

클라우드 보안 이점Cloud security advantages

사용자와 Microsoft 간의 책임 구분 을 이해 하는 것이 중요 합니다.It’s important to understand the division of responsibility between you and Microsoft. 온-프레미스에서는 전체 스택을 가지고 있지만 클라우드로 이동할 때 일부 책임이 Microsoft로 이전됩니다.On-premises, you own the whole stack but as you move to the cloud some responsibilities transfer to Microsoft.

클라우드에 있는 보안상의 이점이있습니다.There are security advantages to being in the cloud. 온-프레미스 환경에서 조직은 충족되지 않은 책임과 제한된 리소스를 보안에 투자할 가능성이 높으며, 이로 인해 공격자가 모든 계층의 취약점을 악용할 수 있는 환경이 만들어집니다.In an on-premises environment, organizations likely have unmet responsibilities and limited resources available to invest in security, which creates an environment where attackers are able to exploit vulnerabilities at all layers.

조직에서는 공급자의 클라우드 기반 보안 기능 및 클라우드 인텔리전스를 사용하여 위협 요소 탐지 및 응답 시간을 향상시킬 수 있습니다.Organizations are able to improve their threat detection and response times by using a provider’s cloud-based security capabilities and cloud intelligence. 조직은 클라우드 공급자에 책임을 전가함으로써 보안 적용 범위를 더 넓힐 수 있으며, 보안 리소스와 예산을 다른 비즈니스 우선 순위에 다시 할당할 수 있습니다.By shifting responsibilities to the cloud provider, organizations can get more security coverage, which enables them to reallocate security resources and budget to other business priorities.

PaaS 클라우드 서비스 모델의 보안 이점Security advantages of a PaaS cloud service model

Azure PaaS 배포와 온-프레미스의 보안 이점을 살펴보겠습니다.Let’s look at the security advantages of an Azure PaaS deployment versus on-premises.

PaaS의 보안 이점

Microsoft는 물리적 인프라인 스택 맨 아래부터 시작하여 일반적인 위험과 책임을 덜어줍니다.Starting at the bottom of the stack, the physical infrastructure, Microsoft mitigates common risks and responsibilities. Microsoft 클라우드는 Microsoft에서 지속적으로 모니터링하므로 공격하기가 어렵습니다.Because the Microsoft cloud is continually monitored by Microsoft, it is hard to attack. 따라서 공격자가 Microsoft 클라우드를 목표로 삼는 것은 의미가 없습니다.It doesn’t make sense for an attacker to pursue the Microsoft cloud as a target. 공격자가 많은 돈과 자원을 갖고 있지 않으면 다른 대상으로 이동할 가능성이 있습니다.Unless the attacker has lots of money and resources, the attacker is likely to move on to another target.

스택 중간에 수행되는 PaaS 배포와 온-프레미스 배포 간에는 차이가 없습니다.In the middle of the stack, there is no difference between a PaaS deployment and on-premises. 유사한 위험이 애플리케이션 계층과 계정/액세스 관리 계층에도 있습니다.At the application layer and the account and access management layer, you have similar risks. 이 문서의 다음 단계 섹션에서는 이러한 위험을 제거하거나 최소화하는 모범 사례로 안내합니다.In the next steps section of this article, we will guide you to best practices for eliminating or minimizing these risks.

스택 맨 위에는 데이터 관리와 권한 관리가 있으며 키 관리를 통해 완화될 수 있는 위험이 하나 있습니다.At the top of the stack, data governance and rights management, you take on one risk that can be mitigated by key management. (키 관리는 모범 사례에서 설명 합니다.) 키 관리는 추가 책임 이지만, 더 이상 관리 하지 않아도 되는 PaaS 배포 영역이 있으므로 리소스를 키 관리로 전환할 수 있습니다.(Key management is covered in best practices.) While key management is an additional responsibility, you have areas in a PaaS deployment that you no longer have to manage so you can shift resources to key management.

또한 Azure 플랫폼은 다양한 네트워크 기반 기술을 사용하여 강력한 DDoS 보호 기능을 제공합니다.The Azure platform also provides you strong DDoS protection by using various network-based technologies. 하지만 모든 유형의 네트워크 기반 DDoS 보호 방법에는 링크별 및 데이터 센터별로 제한이 있습니다.However, all types of network-based DDoS protection methods have their limits on a per-link and per-datacenter basis. 대규모 DDoS 공격의 영향을 피하기 위해 Azure의 핵심 클라우드 기능을 활용하여 DDoS 공격으로부터 자동으로 신속하게 확장할 수 있습니다.To help avoid the impact of large DDoS attacks, you can take advantage of Azure’s core cloud capability of enabling you to quickly and automatically scale out to defend against DDoS attacks. 권장 사례 항목에서 이 작업을 수행하는 방법에 대해 자세히 설명하겠습니다.We'll go into more detail on how you can do this in the recommended practices articles.

방어자의 사고 방식 현대화Modernizing the defender’s mindset

PaaS를 배포하면 전반적인 보안 접근 방식이 바뀌게 됩니다.With PaaS deployments come a shift in your overall approach to security. 스스로 모든 것을 제어해야 하는 것에서 Microsoft와 책임을 분담하는 것으로 태도를 바꾸어야 합니다.You shift from needing to control everything yourself to sharing responsibility with Microsoft.

PaaS 배포와 기존 온-프레미스 배포 간의 또 다른 중요한 차이점은 기본 보안 경계를 정의하는 새로운 개념에 있습니다.Another significant difference between PaaS and traditional on-premises deployments, is a new view of what defines the primary security perimeter. 전통적으로 기본 온-프레미스 보안 경계는 네트워크였으며 대부분의 온-프레미스 보안 설계에서는 네트워크를 기본 보안 중심축으로 사용하고 있습니다.Historically, the primary on-premises security perimeter was your network and most on-premises security designs use the network as its primary security pivot. 하지만 PaaS 배포의 경우 ID가 기본 보안 경계라고 생각하면 더 효과적으로 수행할 수 있습니다.For PaaS deployments, you are better served by considering identity to be the primary security perimeter.

기본 보안 경계로서의 ID 정책 채택Adopt a policy of identity as the primary security perimeter

클라우드 컴퓨팅의 필수적인 다섯 가지 특성 중 하나는 광범위한 네트워크 액세스이며, 이는 네트워크 중심적 사고의 관련성을 떨어뜨립니다.One of the five essential characteristics of cloud computing is broad network access, which makes network-centric thinking less relevant. 클라우드 컴퓨팅의 목표는 사용자가 위치에 관계 없이 리소스에 액세스할 수 있도록 하는 것입니다.The goal of much of cloud computing is to allow users to access resources regardless of location. 대부분의 사용자에 대한 위치는 인터넷 어딘가에 있을 것입니다.For most users, their location is going to be somewhere on the Internet.

다음 그림에서는 보안 경계가 네트워크 경계에서 ID 경계까지 전개되는 방식을 보여 줍니다.The following figure shows how the security perimeter has evolved from a network perimeter to an identity perimeter. 보안 수준이 네트워크 보호에 대해서는 낮아지고 데이터를 보호하고 앱과 사용자의 보안을 관리하는 방법에 대해서는 높아집니다.Security becomes less about defending your network and more about defending your data, as well as managing the security of your apps and users. 주요 차이점은 보안을 회사의 중요한 요소에 더 가깝게 두려는 것입니다.The key difference is that you want to push security closer to what’s important to your company.

새로운 보안 경계로서의 ID

초기에는 Azure PaaS 서비스(예: 웹 역할 및 Azure SQL)에서 기존의 네트워크 경계 방어를 거의 또는 전혀 제공하지 않았습니다.Initially, Azure PaaS services (for example, web roles and Azure SQL) provided little or no traditional network perimeter defenses. 요소의 목적은 인터넷(웹 역할)에 노출하는 것이고 인증은 새로운 경계(예: BLOB 또는 Azure SQL)를 제공한다는 것이 이해되었습니다.It was understood that the element’s purpose was to be exposed to the Internet (web role) and that authentication provides the new perimeter (for example, BLOB or Azure SQL).

최신 보안 사례에서는 공격자가 네트워크 경계를 침범했다고 가정합니다.Modern security practices assume that the adversary has breached the network perimeter. 따라서 최신 방어 사례가 ID로 전환했습니다.Therefore, modern defense practices have moved to identity. 조직은 강력한 인증 및 권한 부여(모범 사례)로 ID 기반 보안 경계를 설정해야 합니다.Organizations must establish an identity-based security perimeter with strong authentication and authorization hygiene (best practices).

네트워크 경계의 원리와 패턴은 수십 년 동안 사용할 수 있었습니다.Principles and patterns for the network perimeter have been available for decades. 반면 업계에서는 ID를 기본 보안 경계로 사용한 경험이 비교적 적습니다.In contrast, the industry has relatively less experience with using identity as the primary security perimeter. 그렇게 말하면서도 현장에서 증명되고 거의 모든 PaaS 서비스에 적용할 수 있는 몇 가지 일반적인 권장 사항을 제공하기에 충분한 경험을 축적했습니다.With that said, we have accumulated enough experience to provide some general recommendations that are proven in the field and apply to almost all PaaS services.

ID 경계 관리를 위한 모범 사례는 다음과 같습니다.The following are best practices for managing the identity perimeter.

모범 사례: 키와 자격 증명을 안전하게 보관하여 PaaS 배포를 보호합니다.Best practice: Secure your keys and credentials to secure your PaaS deployment.
세부 정보: 키와 자격 증명 분실은 흔히 발생하는 문제입니다.Detail: Losing keys and credentials is a common problem. 키와 암호를 Hsm (하드웨어 보안 모듈)에 저장할 수 있는 중앙 집중화 된 솔루션을 사용할 수 있습니다.You can use a centralized solution where keys and secrets can be stored in hardware security modules (HSMs). Azure Key Vault 는 hsm으로 보호 되는 키를 사용 하 여 인증 키, 저장소 계정 키, 데이터 암호화 키, .pfx 파일 및 암호를 암호화 하 여 키와 비밀을 보호 합니다.Azure Key Vault safeguards your keys and secrets by encrypting authentication keys, storage account keys, data encryption keys, .pfx files, and passwords using keys that are protected by HSMs.

모범 사례: 소스 코드 또는 GitHub에 자격 증명 및 기타 비밀을 포함하지 않습니다.Best practice: Don’t put credentials and other secrets in source code or GitHub.
세부 정보: 키 및 자격 증명을 분실하는 것보다 더 위험한 상황은 권한이 없는 사람이 해당 정보에 액세스하는 것뿐입니다.Detail: The only thing worse than losing your keys and credentials is having an unauthorized party gain access to them. 공격자는 봇 기술을 이용하여 GitHub와 같은 코드 리포지토리에 저장된 키와 비밀을 찾을 수 있습니다.Attackers can take advantage of bot technologies to find keys and secrets stored in code repositories such as GitHub. 따라서 공용 코드 리포지토리에 키와 비밀 정보를 보관해서는 안 됩니다.Do not put key and secrets in these public code repositories.

모범 사례: VM을 직접 원격 관리하는 데 사용할 수 있는 관리 인터페이스를 사용하여 하이브리드 PaaS 및 IaaS 서비스의 VM 관리 인터페이스를 보호합니다.Best practice: Protect your VM management interfaces on hybrid PaaS and IaaS services by using a management interface that enables you to remote manage these VMs directly.
세부 정보: SSH, RDP, PowerShell 원격 등의 원격 관리 프로토콜을 사용할 수 있습니다.Detail: Remote management protocols such as SSH, RDP, and PowerShell remoting can be used. 일반적으로는 인터넷에서 VM에 대해 직접 원격 액세스를 사용하지 않는 것이 좋습니다.In general, we recommend that you do not enable direct remote access to VMs from the internet.

가능한 경우에는 Azure Virtual Network에서 가상 사설망을 사용하는 등의 다른 방법을 사용해야 합니다.If possible, use alternate approaches like using virtual private networks in an Azure virtual network. 다른 방법을 사용할 수 없는 경우에는 복잡 한 암호 및 2 단계 인증 (예: AZURE AD Multi-Factor Authentication)을 사용 해야 합니다.If alternative approaches are not available, ensure that you use complex passphrases and two-factor authentication (such as Azure AD Multi-Factor Authentication).

모범 사례: 강력한 인증 및 권한 부여 플랫폼을 사용합니다.Best practice: Use strong authentication and authorization platforms.
세부 정보: 사용자 지정 사용자 저장소 대신 Azure AD의 페더레이션 ID를 사용합니다.Detail: Use federated identities in Azure AD instead of custom user stores. 페더레이션 ID를 사용하면 플랫폼 기반 접근 방식을 활용하고 권한 있는 ID 관리를 파트너에게 위임합니다.When you use federated identities, you take advantage of a platform-based approach and you delegate the management of authorized identities to your partners. 페더레이션 ID 접근 방식은 직원 퇴사 시에 여러 ID와 권한 부여 시스템을 통해 퇴사 정보를 반영해야 하는 경우에 특히 중요합니다.A federated identity approach is especially important when employees are terminated and that information needs to be reflected through multiple identity and authorization systems.

사용자 지정 코드 대신 플랫폼에서 제공하는 인증 및 권한 부여 메커니즘을 사용합니다.Use platform-supplied authentication and authorization mechanisms instead of custom code. 이는 사용자 지정 인증 코드를 개발하면 오류가 발생할 수 있기 때문입니다.The reason is that developing custom authentication code can be error prone. 대부분의 개발자는 보안 전문가가 아니며 인증 및 권한 부여의 미묘한 측면과 최신 개발 정보를 알지 못할 것입니다.Most of your developers are not security experts and are unlikely to be aware of the subtleties and the latest developments in authentication and authorization. Microsoft에서 제공하는 코드와 같은 상용 코드의 경우 광범위하게 보안을 검토하는 경우가 많습니다.Commercial code (for example, from Microsoft) is often extensively security reviewed.

따라서 2단계 인증을 사용해야 합니다.Use two-factor authentication. 2단계 인증은 인증의 사용자 이름과 암호 유형에 내재된 보안 약점을 방지할 수 있기 때문에 인증 및 권한 부여의 현재 표준입니다.Two-factor authentication is the current standard for authentication and authorization because it avoids the security weaknesses inherent in username and password types of authentication. Azure 관리 (포털/원격 PowerShell) 인터페이스 및 고객 지향 서비스 모두에 대 한 액세스는 AZURE AD Multi-Factor Authentication를 사용 하도록 설계 및 구성 해야 합니다.Access to both the Azure management (portal/remote PowerShell) interfaces and customer-facing services should be designed and configured to use Azure AD Multi-Factor Authentication.

OAuth2 및 Kerberos와 같은 표준 인증 프로토콜을 사용합니다.Use standard authentication protocols, such as OAuth2 and Kerberos. 이러한 프로토콜은 광범위하게 검토되었으며 인증 및 권한 부여를 위한 플랫폼 라이브러리의 일부로 구현될 수 있습니다.These protocols have been extensively peer reviewed and are likely implemented as part of your platform libraries for authentication and authorization.

애플리케이션 디자인 과정에서 위협 모델링 사용Use threat modeling during application design

Microsoft Security Development Lifecycle에서는 디자인 단계에서 팀이 위협 모델링 프로세스를 진행해야 하도록 지정하고 있습니다.The Microsoft Security Development Lifecycle specifies that teams should engage in a process called threat modeling during the design phase. Microsoft는 이 프로세스를 원활하게 진행할 수 있도록 SDL Threat Modeling Tool을 제작했습니다.To help facilitate this process, Microsoft has created the SDL Threat Modeling Tool. 애플리케이션 디자인을 모델링하고 모든 보안 경계에 걸쳐 STRIDE 위협을 열거하면 디자인 오류를 초기에 파악할 수 있습니다.Modeling the application design and enumerating STRIDE threats across all trust boundaries can catch design errors early on.

아래 표에는 STRIDE 위협 및 Azure 기능을 사용하는 몇 가지 완화 방식의 예가 나와 있습니다.The following table lists the STRIDE threats and gives some example mitigations that use Azure features. 이러한 완화 방식을 모든 상황에서 사용할 수 있는 것은 아닙니다.These mitigations won’t work in every situation.

위협Threat 보안 속성Security property Azure 플랫폼 완화 가능성Potential Azure platform mitigations
스푸핑Spoofing 인증Authentication HTTPS 연결을 사용해야 하도록 지정합니다.Require HTTPS connections.
변조Tampering 무결성Integrity TLS/SSL 인증서의 유효성을 검사 합니다.Validate TLS/SSL certificates.
부인Repudiation 부인 방지Non-repudiation Azure 모니터링 및 진단을 사용하도록 설정합니다.Enable Azure monitoring and diagnostics.
정보 공개Information disclosure 기밀성Confidentiality 서비스 인증서를 사용하여 미사용 상태의 중요한 데이터를 암호화합니다.Encrypt sensitive data at rest by using service certificates.
서비스 거부Denial of service 사용 가용성Availability 성능 메트릭에서 서비스 거부 상황 가능성을 모니터링합니다.Monitor performance metrics for potential denial-of-service conditions. 연결 필터를 구현합니다.Implement connection filters.
권한 상승Elevation of privilege 권한 부여Authorization Privileged Identity Management를 사용합니다.Use Privileged Identity Management.

Azure App Service에서 개발 진행Develop on Azure App Service

Azure App Service는 플랫폼이나 디바이스를 위한 웹 및 모바일 앱을 만들고 어디서나 클라우드 또는 온-프레미스에 있는 데이터에 연결할 수 있는 PaaS 서비스 제품군입니다.Azure App Service is a PaaS offering that lets you create web and mobile apps for any platform or device and connect to data anywhere, in the cloud or on-premises. 앱 서비스는 이전에 개별적으로 Azure 웹 사이트 및 Azure Mobile Services로 전달한 웹 및 모바일 기능을 포함합니다.App Service includes the web and mobile capabilities that were previously delivered separately as Azure Websites and Azure Mobile Services. 또한 비즈니스 프로세스를 자동화하고 클라우드 API를 호스팅하는 새 기능을 포함합니다.It also includes new capabilities for automating business processes and hosting cloud APIs. App Service는 단일 통합 서비스로서 웹, 모바일 및 통합 시나리오에 풍부한 기능 집합을 제공합니다.As a single integrated service, App Service brings a rich set of capabilities to web, mobile, and integration scenarios.

App Service 사용 시의 모범 사례는 다음과 같습니다.Following are best practices for using App Service.

모범 사례: Azure Active Directory를 통해 인증합니다.Best practice: Authenticate through Azure Active Directory.
세부 정보: App Service는 ID 공급자를 위한 OAuth 2.0 서비스를 제공합니다.Detail: App Service provides an OAuth 2.0 service for your identity provider. OAuth 2.0은 클라이언트 개발자의 단순성에 기반하여 웹 애플리케이션, 데스크톱 애플리케이션 및 휴대폰에 대한 특정 권한 부여 흐름을 제공합니다.OAuth 2.0 focuses on client developer simplicity while providing specific authorization flows for web applications, desktop applications, and mobile phones. Azure AD는 OAuth 2.0을 사용하여 모바일 및 웹 애플리케이션에 대한 액세스 권한을 부여합니다.Azure AD uses OAuth 2.0 to enable you to authorize access to mobile and web applications.

모범 사례: 꼭 알아야 할 필요가 있는 경우에 한하여, 그리고 최소 권한 보안 원칙에 따라 액세스를 제한합니다.Best practice: Restrict access based on the need to know and least privilege security principles.
세부 정보: 데이터 액세스를 위한 보안 정책을 시행하려는 조직에서는 액세스를 반드시 제한해야 합니다.Detail: Restricting access is imperative for organizations that want to enforce security policies for data access. Azure RBAC를 사용 하 여 특정 범위에서 사용자, 그룹 및 응용 프로그램에 권한을 할당할 수 있습니다.You can use Azure RBAC to assign permissions to users, groups, and applications at a certain scope. 사용자에게 애플리케이션 액세스 권한을 부여하는 방법에 대해 자세히 알아보려면 액세스 관리 시작을 참조하세요.To learn more about granting users access to applications, see Get started with access management.

모범 사례: 키를 보호합니다.Best practice: Protect your keys.
세부 정보: Azure Key Vault를 사용하면 클라우드 애플리케이션과 서비스에서 사용하는 암호화 키 및 비밀을 보호할 수 있습니다.Detail: Azure Key Vault helps safeguard cryptographic keys and secrets that cloud applications and services use. Key Vault를 사용하면 HSM(하드웨어 보안 모듈)을 통해 보호되는 키를 통해 키와 비밀(예: 인증 키, 스토리지 계정 키, 데이터 암호화 키, .PFX 파일 및 암호)를 암호화할 수 있습니다.With Key Vault, you can encrypt keys and secrets (such as authentication keys, storage account keys, data encryption keys, .PFX files, and passwords) by using keys that are protected by hardware security modules (HSMs). 추가된 보증을 위해, HSM에서 키를 생성하거나 가져올 수 있습니다.For added assurance, you can import or generate keys in HSMs. 자세한 내용은 Azure Key Vault를 참조하세요.See Azure Key Vault to learn more. 또한 Key Vault를 사용하여 자동 갱신으로 TLS 인증서를 관리할 수도 있습니다.You can also use Key Vault to manage your TLS certificates with auto-renewal.

모범 사례: 들어오는 원본 IP 주소를 제한합니다.Best practice: Restrict incoming source IP addresses.
세부 정보: App Service Environment에는 네트워크 보안 그룹을 통해 들어오는 원본 IP 주소를 제한할 수 있는 가상 네트워크 통합 기능이 있습니다.Detail: App Service Environment has a virtual network integration feature that helps you restrict incoming source IP addresses through network security groups. 가상 네트워크에서는 액세스를 제어할 수 있는 인터넷이 아닌 라우팅 가능 네트워크에 Azure 리소스를 배치할 수 있습니다.Virtual networks enable you to place Azure resources in a non-internet, routable network that you control access to. 자세히 알아보려면 Azure Virtual Network에 앱 통합을 참조하세요.To learn more, see Integrate your app with an Azure virtual network.

모범 사례: App Service Environment의 보안 상태를 모니터링합니다.Best practice: Monitor the security state of your App Service environments.
세부 정보: Azure Security Center를 사용하여 App Service Environment를 모니터링합니다.Detail: Use Azure Security Center to monitor your App Service environments. Security Center는 잠재적 보안 취약성이 확인되면 필요한 컨트롤을 구성하는 과정을 안내하는 권장 사항을 만듭니다.When Security Center identifies potential security vulnerabilities, it creates recommendations that guide you through the process of configuring the needed controls.

참고

Monitoring App Service는 미리 보기로 제공되며 Security Center의 표준 계층에서만 사용할 수 있습니다.Monitoring App Service is in preview and available only on the Standard tier of Security Center.

웹 애플리케이션 방화벽 설치Install a web application firewall

웹 애플리케이션의 널리 알려진 취약점을 악용하는 악의적인 공격이 점점 많아지고 있습니다.Web applications are increasingly targets of malicious attacks that exploit common known vulnerabilities. 이러한 공격으로는 SQL 삽입 공격, 사이트 간 스크립팅 공격 등이 있습니다.Common among these exploits are SQL injection attacks, cross site scripting attacks to name a few. 애플리케이션 코드로 이러한 공격을 방어하기란 매우 어려울 수 있으며 애플리케이션 토폴로지의 다양한 계층에서 엄격한 유지 관리, 패치 적용 및 모니터링이 필요할 수 있습니다.Preventing such attacks in application code can be challenging and may require rigorous maintenance, patching and monitoring at many layers of the application topology. 중앙 집중식 웹 애플리케이션 방화벽을 통해 보안 관리가 훨씬 간단해지고 애플리케이션 관리자에게 위협 또는 침입으로부터 효과적인 보호를 제공합니다.A centralized web application firewall helps make security management much simpler and gives better assurance to application administrators against threats or intrusions. 또한 WAF 솔루션은 각각의 웹 애플리케이션을 보호하는 대신 중앙의 위치에서 알려진 취약점에 패치를 적용하여 보다 신속하게 보안 위협에 대응할 수 있습니다.A WAF solution can also react to a security threat faster by patching a known vulnerability at a central location versus securing each of individual web applications. 기존 Application Gateway는 웹 애플리케이션 방화벽을 사용한 Application Gateway로 쉽게 변환될 수 있습니다.Existing application gateways can be converted to a web application firewall enabled application gateway easily.

WAF(웹 애플리케이션 방화벽)는 일반적인 악용 및 취약점으로부터 웹 애플리케이션에 대해 중앙 집중화된 보호를 제공하는 Application Gateway의 기능입니다.Web application firewall (WAF) is a feature of Application Gateway that provides centralized protection of your web applications from common exploits and vulnerabilities. WAF는 OWASP(Open Web Application Security Project) 핵심 규칙 집합 3.0 또는 2.2.9의 규칙에 기반합니다.WAF is based on rules from the Open Web Application Security Project (OWASP) core rule sets 3.0 or 2.2.9.

애플리케이션 성능 모니터링Monitor the performance of your applications

모니터링은 애플리케이션의 성능, 상태 및 가용성을 확인하기 위해 데이터를 수집 및 분석하는 작업입니다.Monitoring is the act of collecting and analyzing data to determine the performance, health, and availability of your application. 효과적인 모니터링 전략은 애플리케이션 구성 요소의 세부 작업을 이해하는 데 도움이 됩니다.An effective monitoring strategy helps you understand the detailed operation of the components of your application. 또한 중요한 문제의 알림이 제공되므로 문제가 커지기 전에 해결하여 작동 시간을 늘릴 수 있습니다.It helps you increase your uptime by notifying you of critical issues so that you can resolve them before they become problems. 그리고 보안과 관련이 있을 수 있는 변칙적인 상황도 검색할 수 있습니다.It also helps you detect anomalies that might be security related.

Azure Application Insights를 사용하여 클라우드 또는 온-프레미스에서 호스트되는 애플리케이션의 가용성, 성능 및 사용량을 모니터링합니다.Use Azure Application Insights to monitor availability, performance, and usage of your application, whether it's hosted in the cloud or on-premises. Application Insights를 사용하면 사용자가 보고할 때까지 기다리지 않고 애플리케이션의 오류를 빠르게 식별하고 진단할 수 있습니다.By using Application Insights, you can quickly identify and diagnose errors in your application without waiting for a user to report them. 수집한 정보를 사용하여, 애플리케이션의 유지 관리 및 개선에 대해 현명한 결정을 내릴 수 있습니다.With the information that you collect, you can make informed choices on your application's maintenance and improvements.

Application Insight에는 수집하는 데이터와 상호 작용할 수 있는 광범위한 도구가 있습니다.Application Insights has extensive tools for interacting with the data that it collects. Application Insights는 공용 저장소에 데이터를 저장합니다.Application Insights stores its data in a common repository. Kusto 쿼리 언어를 사용 하 여 경고, 대시보드 및 심층 분석과 같은 공유 기능을 활용할 수 있습니다.It can take advantage of shared functionality such as alerts, dashboards, and deep analysis with the Kusto query language.

보안 침투 테스트 수행Perform security penetration testing

보안 방어의 유효성을 검사 하는 것은 다른 기능을 테스트 하는 것 만큼 중요 합니다.Validating security defenses is as important as testing any other functionality. 침투 테스트 를 빌드 및 배포 프로세스의 표준 부분으로 만듭니다.Make penetration testing a standard part of your build and deployment process. 배포된 애플리케이션에서 보안 테스트 및 취약성 검사를 주기적으로 실시하고 열린 포트, 엔드포인트 및 공격을 모니터링하세요.Schedule regular security tests and vulnerability scanning on deployed applications, and monitor for open ports, endpoints, and attacks.

퍼징 테스트는이 데이터를 구문 분석 하 고 사용 하는 프로그램 인터페이스 (진입점)에 잘못 된 입력 데이터를 제공 하 여 프로그램 오류 (코드 오류)를 찾는 방법입니다.Fuzz testing is a method for finding program failures (code errors) by supplying malformed input data to program interfaces (entry points) that parse and consume this data. Microsoft 보안 위험 검색 은 소프트웨어를 Azure에 배포 하기 전에 소프트웨어에서 버그 및 기타 보안 취약성을 검색 하는 데 사용할 수 있는 클라우드 기반 도구입니다.Microsoft Security Risk Detection is a cloud-based tool that you can use to look for bugs and other security vulnerabilities in your software before you deploy it to Azure. 이 도구는 소프트웨어를 배포 하기 전에 취약점을 파악 하 여 버그를 패치 하거나, 크래시를 처리 하거나, 소프트웨어가 출시 된 후 공격에 대응 하지 않아도 되도록 설계 되었습니다.The tool is designed to catch vulnerabilities before you deploy software so you don’t have to patch a bug, deal with crashes, or respond to an attack after the software is released.

다음 단계Next steps

이 문서에서는 Azure PaaS 배포의 보안 이점과 클라우드 애플리케이션의 보안 모범 사례에 대해 중점적으로 설명했습니다.In this article, we focused on security advantages of an Azure PaaS deployment and security best practices for cloud applications. 다음 단계에서는 특정 Azure 서비스를 사용하여 PaaS 웹 및 모바일 솔루션을 보호하는 권장 사례에 대해 알아보겠습니다.Next, learn recommended practices for securing your PaaS web and mobile solutions using specific Azure services. Azure App Service, Azure SQL Database 및 Azure Synapse Analytics로 시작 하 고 Azure Storage 합니다.We’ll start with Azure App Service, Azure SQL Database and Azure Synapse Analytics, and Azure Storage. 다른 Azure 서비스에 권장되는 사례에 대한 문서를 사용할 수 있으며, 해당 링크는 다음 목록에서 제공합니다.As articles on recommended practices for other Azure services become available, links will be provided in the following list:

클라우드의 응용 프로그램을 개발할 때 소프트웨어 개발 수명 주기의 각 단계에서 고려해 야 하는 보안 질문 및 제어는 Azure에서 보안 응용 프로그램 개발 을 참조 하세요.See Developing secure applications on Azure for security questions and controls you should consider at each phase of the software development lifecycle when developing applications for the cloud.

Azure 보안 모범 사례 및 패턴에서 Azure를 사용하여 클라우드 솔루션을 디자인하고, 배포하고, 관리할 때 사용할 수 있는 더 많은 보안 모범 사례를 참조하세요.See Azure security best practices and patterns for more security best practices to use when you’re designing, deploying, and managing your cloud solutions by using Azure.

Azure 보안 및 관련 Microsoft 서비스에 대한 보다 일반적인 정보를 제공하는 다음 리소스도 확인할 수 있습니다.The following resources are available to provide more general information about Azure security and related Microsoft services: