SaaS, PaaS 및 IaaS 서비스에 대한 보안 기준 지정

완료됨

이 단원에서는 IaaS 및 PaaS 보안의 일반적인 모범 사례에 대한 개요를 제공합니다.

IaaS 보안

인증 및 액세스 제어를 사용하여 VM 보호

VM을 보호하는 첫 번째 단계는 승인된 사용자만 새 VM을 설정하고 VM에 액세스할 수 있게 하는 것입니다.

Azure 정책을 사용하여 조직의 리소스에 대한 규칙을 설정하고 사용자 지정된 정책을 만듭니다. 리소스 그룹과 같은 리소스에 이러한 정책을 적용합니다. 리소스 그룹에 속한 VM에서 해당 정책을 상속합니다.

가용성 향상을 위해 여러 VM 사용

VM에서 고가용성의 중요한 애플리케이션을 실행할 경우에는 여러 VM을 사용하는 것이 좋습니다. 가용성을 높이려면 가용성 집합 또는 가용성 영역을 사용합니다.

가용성 집합은 해당 집합에 배치한 VM 리소스가 Azure 데이터 센터에 배포될 때 서로 간에 격리되도록 하기 위해 Azure에서 사용할 수 있는 논리적 그룹화입니다. Azure는 가용성 집합에 배치한 VM을 여러 물리적 서버, 컴퓨팅 랙, 스토리지 단위 및 네트워크 스위치에서 실행되도록 합니다. 하드웨어 또는 Azure 소프트웨어 오류가 발생할 경우 VM의 하위 집합에만 영향을 주는 한편 전체 애플리케이션은 고객이 계속 사용할 수 있습니다. 가용성 집합은 안정적인 클라우드 솔루션을 빌드하려고 할 때 필수적인 기능입니다.

맬웨어로부터 보호

맬웨어 방지 보호를 설치하여 바이러스, 스파이웨어 및 기타 악성 소프트웨어를 식별하고 제거해야 합니다. Microsoft Antimalware 또는 Microsoft 파트너의 엔드포인트 보호 솔루션(Trend Micro, Broadcom, McAfee, Windows Defender, System Center Endpoint Protection)을 설치할 수 있습니다.

VM 업데이트 관리

모든 온-프레미스 VM과 같이 Azure VM은 사용자가 관리하도록 합니다. Azure에서 Windows 업데이트를 푸시하지 않습니다. VM 업데이트를 관리해야 합니다.

Azure Automation의 업데이트 관리 솔루션을 사용하면 Azure, 온-프레미스 환경 또는 다른 클라우드 공급자에 배포된 Windows 및 Linux 컴퓨터에 대한 운영 체제 업데이트를 관리할 수 있습니다. 모든 에이전트 컴퓨터에서 사용 가능한 업데이트의 상태를 신속하게 평가하고 서버에 대한 필수 업데이트를 설치하는 프로세스를 관리할 수 있습니다.

VM 보안 태세 관리

사이버 위협은 진화하고 있습니다. VM을 보호하려면 신속하게 위협을 감지하고 리소스에 대한 무단 액세스를 방지하고 경고를 트리거하며 거짓 오류를 줄일 수 있는 모니터링 기능이 필요합니다.

WindowsLinux VM의 보안 태세를 모니터링하려면 클라우드용 Microsoft Defender를 사용합니다.

VM 성능 모니터링

리소스 남용은 VM 프로세스가 소비해야 하는 것보다 더 많은 리소스를 소비하는 경우 문제가 될 수 있습니다. VM의 성능 문제로 인해 가용성의 보안 원칙을 위반하는 서비스 중단이 발생할 수 있습니다. CPU 또는 메모리 사용량이 높으면 DoS(서비스 거부) 공격을 나타낼 수 있기 때문에 IIS 또는 다른 웹 서버를 호스팅하는 VM에 특히 중요합니다. 문제가 발생하는 동안 VM 액세스를 적극적으로 모니터링할 뿐만 아니라 정상 작업 중에 측정된 기준 성능에 대해 사전 대처식으로 모니터링해야 합니다.

가상 하드 디스크 파일 암호화

VHD(가상 하드 디스크)를 암호화하여 암호화 키 및 비밀과 함께 스토리지의 미사용 부팅 볼륨 및 데이터 볼륨을 보호할 수 있는 것이 좋습니다.

Linux VM용 Azure Disk EncryptionWindows VM용 Azure Disk Encryption을 사용하면 Linux 및 Windows IaaS 가상 머신 디스크를 암호화할 수 있습니다. Azure Disk Encryption은 업계 표준인 Windows의 BitLocker 기능과 Linux의 DM-Crypt 기능을 사용하여 OS 및 데이터 디스크를 위한 볼륨 암호화를 제공합니다. 또한 고객이 Key Vault 구독에서 디스크 암호화 키 및 암호를 관리 및 제어할 수 있도록 Azure Key Vault에 통합되어 있습니다. 이 솔루션은 가상 머신 디스크에 있는 모든 데이터가 Azure Storage에서 미사용 시 암호화되도록 합니다.

직접 인터넷 연결 제한

VM 직접 인터넷 연결을 모니터링하고 제한합니다. 공격자는 개방형 관리 포트의 퍼블릭 클라우드 IP 범위를 지속적으로 검색하고 공용 암호 및 패치가 적용되지 않은 알려진 취약점과 같은 “쉬운” 공격을 시도합니다.

PaaS 보안

기본 보안 경계로서의 ID 정책 채택

클라우드 컴퓨팅의 필수적인 다섯 가지 특성 중 하나는 광범위한 네트워크 액세스이며, 이는 네트워크 중심적 사고의 관련성을 떨어뜨립니다. 클라우드 컴퓨팅의 목표는 사용자가 위치에 관계 없이 리소스에 액세스할 수 있도록 하는 것입니다. 대부분의 사용자에 대한 위치는 인터넷 어딘가에 있을 것입니다.

다음 그림에서는 보안 경계가 네트워크 경계에서 ID 경계까지 전개되는 방식을 보여 줍니다. 보안 수준이 네트워크 보호에 대해서는 낮아지고 데이터를 보호하고 앱과 사용자의 보안을 관리하는 방법에 대해서는 높아집니다. 주요 차이점은 보안을 회사의 중요한 요소에 더 가깝게 두려는 것입니다.

새 보안 경계로서의 ID를 보여 주는 다이어그램

초기에는 Azure PaaS 서비스(예: 웹 역할 및 Azure SQL)에서 기존의 네트워크 경계 방어를 거의 또는 전혀 제공하지 않았습니다. 요소의 목적은 인터넷(웹 역할)에 노출하는 것이고 인증은 새로운 경계(예: BLOB 또는 Azure SQL)를 제공한다는 것이 이해되었습니다.

최신 보안 사례에서는 공격자가 네트워크 경계를 침범했다고 가정합니다. 따라서 최신 방어 사례가 ID로 전환했습니다. 조직은 강력한 인증 및 권한 부여(모범 사례)로 ID 기반 보안 경계를 설정해야 합니다.

네트워크 경계의 원리와 패턴은 수십 년 동안 사용할 수 있었습니다. 반면 업계에서는 ID를 기본 보안 경계로 사용한 경험이 비교적 적습니다. 그렇게 말하면서도 현장에서 증명되고 거의 모든 PaaS 서비스에 적용할 수 있는 몇 가지 일반적인 권장 사항을 제공하기에 충분한 경험을 축적했습니다.

Azure App Service에서 개발 진행

Azure App Service는 플랫폼이나 디바이스를 위한 웹 및 모바일 앱을 만들고 어디서나 클라우드 또는 온-프레미스에 있는 데이터에 연결할 수 있는 PaaS 서비스 제품군입니다. 앱 서비스는 이전에 개별적으로 Azure 웹 사이트 및 Azure Mobile Services로 전달한 웹 및 모바일 기능을 포함합니다. 또한 비즈니스 프로세스를 자동화하고 클라우드 API를 호스팅하는 새 기능을 포함합니다. App Service는 단일 통합 서비스로서 웹, 모바일 및 통합 시나리오에 풍부한 기능 집합을 제공합니다.

웹 애플리케이션 방화벽 설치

웹 애플리케이션의 널리 알려진 취약점을 악용하는 악의적인 공격이 점점 많아지고 있습니다. 이러한 공격으로는 SQL 삽입 공격, 사이트 간 스크립팅 공격 등이 있습니다. 애플리케이션 코드로 이러한 공격을 방어하기란 매우 어려울 수 있으며 애플리케이션 토폴로지의 다양한 계층에서 엄격한 유지 관리, 패치 적용 및 모니터링이 필요할 수 있습니다. 중앙 집중식 웹 애플리케이션 방화벽을 통해 보안 관리가 훨씬 간단해지고 애플리케이션 관리자에게 위협 또는 침입으로부터 효과적인 보호를 제공합니다. 또한 WAF 솔루션은 각각의 웹 애플리케이션을 보호하는 대신 중앙의 위치에서 알려진 취약점에 패치를 적용하여 보다 신속하게 보안 위협에 대응할 수 있습니다.

WAF(웹 애플리케이션 방화벽)는 일반적인 악용과 취약성으로부터 웹 애플리케이션을 중앙 집중식으로 보호합니다.

DDoS 보호

애플리케이션 설계 모범 사례와 결합된 Azure DDoS Protection은 향상된 DDoS 완화 기능을 제공하여 DDoS 공격에 대한 방어력을 높입니다. 경계 가상 네트워크에서 Azure DDOS Protection을 사용하도록 설정해야 합니다.

애플리케이션 성능 모니터링

모니터링은 애플리케이션의 성능, 상태 및 가용성을 확인하기 위해 데이터를 수집 및 분석하는 작업입니다. 효과적인 모니터링 전략은 애플리케이션 구성 요소의 세부 작업을 이해하는 데 도움이 됩니다. 또한 중요한 문제의 알림이 제공되므로 문제가 커지기 전에 해결하여 작동 시간을 늘릴 수 있습니다. 그리고 보안과 관련이 있을 수 있는 변칙적인 상황도 검색할 수 있습니다.

보안 침투 테스트 수행

보안 방어의 유효성을 검사하는 것은 다른 기능을 테스트하는 것만큼 중요합니다. 침투 테스트를 빌드 및 배포 프로세스의 표준 파트로 설정하세요. 배포된 애플리케이션에서 보안 테스트 및 취약성 검사를 주기적으로 실시하고 열린 포트, 엔드포인트 및 공격을 모니터링하세요.