본문 바로가기
카테고리 없음

(AZ-900-7)Azure ID, 액세스 및 보안

by Amins 2023. 6. 12.

1. Azure 인증 방법 설명

인증은 사람, 서비스 또는 디바이스의 ID를 설정하는 프로세스입니다. 사람, 서비스 또는 디바이스에 자신이 누구인지 증명하기 위한 자격 증명 유형을 제공하도록 요구합니다. 인증은 여행 중 ID를 제시하는 것과 같습니다. 발권이 되었는지 확인하는 것이 아니라 단지 주장하는 신원이 맞는지 증명합니다. Azure는 표준 암호, SSO(Single Sign-On), MFA(다단계 인증) 및 암호 없는 인증을 비롯한 여러 인증 방법을 지원합니다.

아주 오랜 시간 동안 보안과 편의성은 서로 대립하는 듯 보였습니다. 하지만 다행스럽게도 새로운 인증 솔루션은 보안과 편의성을 모두 제공합니다.

다음 다이어그램에서는 편의성과 비교한 보안 수준을 보여줍니다. 암호 없는 인증은 보안이 높고 편의성이 높지만 암호는 보안은 낮지만 편의성이 높습니다.

2. Single Sign-On(SSO)이란?

SSO(Single Sign-On)을 사용하면 사용자가 한 번 로그인하고 해당 자격 증명을 사용하여 여러 공급자의 여러 리소스 및 애플리케이션에 액세스할 수 있습니다. SSO가 작동하려면 다른 애플리케이션과 공급자가 초기 인증자를 신뢰해야 합니다.

더 많은 ID는 더 많은 암호를 기억하고 변경해야 한다는 뜻입니다. 암호 정책은 애플리케이션마다 다를 수 있습니다. 복잡한 암호를 요구하는 수준이 높아지면 사용자가 암호를 기억하기가 더 어려워집니다. 사용자가 관리할 암호가 많을수록 자격 증명 관련 보안 사고가 발생할 위험이 높습니다.

해당 ID를 모두 관리하는 프로세스를 생각해 봅시다. 계정 잠금 및 암호 재설정 요청을 처리하는 기술 지원팀의 부담이 가중됩니다. 사용자가 조직을 떠날 때 해당 사용자의 모든 ID를 추적하여 비활성화는 것이 어려울 수 있습니다. ID를 간과하면 제거했어야 하는 ID의 액세스를 허용할 수 있습니다.

SSO를 사용하는 경우 하나의 ID와 하나의 암호만 기억하면 됩니다. 애플리케이션 전반에 걸친 액세스 권한이 사용자와 연결된 단일 ID에 부여되므로 보안 모델이 간소화됩니다. 사용자가 역할을 변경하거나 조직을 떠나면 액세스 권한이 단일 ID로 제한됩니다. 이렇게 변경하면 계정을 변경하거나 사용하지 않도록 설정하는 데 필요한 노력이 크게 줄어듭니다. 계정에 SSO를 사용하면 사용자는 자신의 ID를, IT는 사용자를 더 쉽게 관리할 수 있습니다.

 

3. 다단계 인증이란?


다단계 인증은 로그인 프로세스 중에 사용자에게 식별의 추가 양식(또는 요소)을 요청하는 프로세스입니다. MFA는 암호가 손상되었지만 두 번째 요소는 손상되지 않은 경우 암호 손상으로부터 보호해줍니다.

웹 사이트, 메일 또는 온라인 서비스에 로그인하는 과정에 대해 생각해 보세요. 사용자 이름 및 암호를 입력한 후 휴대폰으로 전송된 추가 코드를 입력해야 했던 적이 있나요? 있다면 다단계 인증을 사용하여 로그인한 것입니다.

다단계 인증은 인증 완료에 2개 이상의 요소를 요구하여 ID를 추가로 보호합니다. 이러한 요소는 세 가지 범주로 분류됩니다.

  • 사용자가 알고 있는 것 - 이것은 어려운 본인 확인 질문일 수 있습니다.
  • 사용자가 가지고 있는 것 - 사용자의 휴대폰으로 전송되는 코드가 여기에 해당할 수 있습니다.
  • 사용자의 존재인 것 - 이는 일반적으로 지문 또는 얼굴 스캔과 같은 일종의 생체 인식 특성입니다.

다단계 인증은 자격 증명 노출(예: 도난당한 사용자 이름 및 암호)의 영향을 제한하여 ID 보안을 강화합니다. 다단계 인증이 사용될 경우 사용자의 암호를 알고 있는 공격자가 완벽하게 인증하려면 사용자의 전화기나 사용자의 지문도 있어야 합니다.

다단계 인증과 단일 단계 인증을 비교해 봅시다. 단일 단계 인증에서는 공격자가 사용자 이름과 암호만 있으면 인증할 수 있습니다. 다단계 인증은 보안에 상당한 이점을 제공하므로 되도록이면 다단계 인증을 사용하도록 설정해야 합니다.

 

Azure AD Multi-Factor Authentication이란?

Azure AD Multi-Factor Authentication은 다단계 인증 기능을 제공하는 Microsoft 서비스입니다. Azure AD Multi-Factor Authentication을 사용하면 사용자가 로그인 중에 전화 통화 또는 모바일 앱 알림과 같은 추가 인증 형식을 선택할 수 있습니다.

 

 

3. 암호 없는 인증이란?

MFA 같은 기능은 조직을 보호하는 좋은 방법이지만, 암호를 기억해야 하는 데다가 추가 보안 계층까지 있어 사용자가 답답함을 느끼게 됩니다. 사람들은 쉽고 편리한 것을 지킬 가능성이 더 높습니다. 암호 없는 인증 방법 사용 시 암호가 제거되고 사용자가 소유하고 있거나 알고 있는 인증 수단으로 대체되기 때문에 더 편리합니다.

암호 없는 인증이 작동하려면 먼저 디바이스에서 설정해야 합니다. 예를 들어 컴퓨터는 사용자가 가지고 있는 것입니다. 컴퓨터가 등록되면 Azure는 이제 컴퓨터가 사용자와 연결되어 있음을 알 수 있습니다. 이제 컴퓨터가 알게 되었으므로 사용자가 아는 것이나 존재인 것(예: PIN 또는 지문)을 제공하면 암호를 사용하지 않고 인증할 수 있습니다.

조직마다 인증 요구 수단은 다릅니다. Microsoft 글로벌 Azure 및 Azure Government는 Azure Active Directory(Azure AD)와 통합되는 세 가지 암호 없는 인증 옵션을 다음과 같이 제공합니다.

 

  • 비즈니스용 Windows Hello
  • Microsoft Authenticator 앱
  • FIDO2 보안 키

비즈니스용 Windows Hello
비즈니스용 Windows Hello는 지정된 고유 Windows PC가 있는 정보 근로자에게 적합합니다. 생체 인식 및 PIN 자격 증명은 사용자 PC에 직접 연결되기 때문에 소유자 이외의 사용자가 액세스하지 못합니다. 비즈니스용 Windows Hello는 PKI(공개 키 인프라) 통합 및 기본 제공 SSO(Single Sign-On)를 사용하여 온-프레미스 및 클라우드에서 회사 리소스에 원활하게 액세스할 수 있는 편리한 방법을 제공합니다.

Microsoft Authenticator 앱
직원의 휴대폰을 암호 없는 인증 방법으로 사용하도록 허용할 수도 있습니다. 암호 외에도 편리한 다단계 인증 옵션으로 Microsoft Authenticator 앱을 이미 사용하고 있을 수도 있습니다. Authenticator 앱을 암호 없는 옵션으로 사용할 수도 있습니다.

Authenticator 앱으로 iOS 또는 Android 휴대폰이 강력한 암호 없는 자격 증명으로 바뀝니다. 사용자는 휴대폰으로 알림을 받고, 화면에 표시되는 숫자를 휴대폰에 표시되는 숫자와 일치시킨 다음, 생체 인식 데이터(지문 또는 얼굴 인식) 또는 PIN을 사용하여 확인함으로써 플랫폼 또는 브라우저에 로그인할 수 있습니다. 설치에 대한 자세한 내용은 Microsoft Authenticator 앱 다운로드 및 설치를 참조하세요.

FIDO2 보안 키
FIDO(Fast IDentity Online) Alliance는 공개 인증 표준을 알리고 암호를 인증 형태로 사용하는 것을 줄이도록 지원합니다. FIDO2는 WebAuthn(웹 인증) 표준을 통합하는 최신 표준입니다.

FIDO2 보안 키는 모든 폼 팩터로 제공할 수 있으며, 피싱이 불가능한 표준 기반의 암호 없는 인증 방법입니다. FIDO(Fast Identity Online)는 암호 없는 인증을 위한 공개 표준입니다. FIDO를 사용하여 사용자와 조직은 사용자 이름 또는 암호 없이 외부 보안 키 또는 디바이스의 기본 제공 플랫폼 키로 해당 리소스에 로그인할 수 있습니다.

사용자는 로그인 인터페이스에서 FIDO2 보안 키를 등록한 다음에 인증의 기본 수단으로 선택할 수 있습니다. 이러한 FIDO2 보안 키는 일반적으로 USB 디바이스이지만 Bluetooth 또는 NFC를 사용할 수도 있습니다. 인증을 처리하는 하드웨어 디바이스를 사용하면 노출되거나 추측될 수 있는 암호가 없으므로 계정의 보안이 강화됩니다.

 

 

4. Azure 외부 ID

외부 ID는 조직 외부에 있는 사람, 디바이스, 서비스 등입니다. Azure Active Directory for External Identities는 조직 외부 사용자와 안전하게 상호 작용할 수 있는 모든 방법을 나타냅니다. 파트너, 배포자, 공급자 또는 공급업체와 협업하려는 경우 리소스를 공유하고 내부 사용자가 외부 조직에 액세스할 수 있는 방법을 정의할 수 있습니다. 소비자 지향 앱을 만드는 개발자인 경우 고객의 ID 환경을 관리할 수 있습니다.

외부 ID는 Single Sign-On과 비슷하게 들릴 수 있습니다. Azure Active Directory for External Identities를 사용하면 "자신의 ID를 가져올 수 있습니다." 회사 또는 정부에서 발급한 디지털 ID 또는 Google 또는 Facebook과 같은 관리되지 않는 소셜 ID가 있는지 여부에 관계없이 자신의 자격 증명을 사용하여 로그인할 수 있습니다. 외부 사용자의 ID 공급자는 해당 ID를 관리하고, 사용자는 Azure AD 또는 Azure Active Directory B2C를 통해 앱에 대한 액세스를 관리하여 리소스를 보호된 상태로 유지합니다.

다음 기능은 Azure Active Directory for External Identities를 구성합니다.

 

  • B2B(기업간) Collaboration - 선호하는 ID를 사용하여 Microsoft 애플리케이션 또는 다른 엔터프라이즈 애플리케이션(SaaS 앱, 사용자 지정 개발 앱 등)에 로그인하도록 하여 외부 사용자와 협업합니다. B2B Collaboration 사용자는 일반적으로 게스트 사용자로 디렉터리에 표시됩니다.
  • B2B 직접 연결 - 원활한 협업을 위해 다른 Azure AD 조직과 상호 양방향 트러스트를 구축합니다. B2B 직접 연결은 현재 Teams 공유 채널을 지원하므로 외부 사용자가 Teams의 홈 인스턴스 내에서 리소스에 액세스할 수 있습니다. B2B 직접 연결 사용자는 디렉터리에 표시되지 않지만 Teams 공유 채널 내에서 볼 수 있으며 Teams 관리 센터 보고서에서 모니터링할 수 있습니다.
  • Azure AD B2C(기업간) - ID 및 액세스 관리에 Azure AD B2C를 사용하는 동안 소비자와 고객에게 최신 SaaS 앱 또는 사용자 지정 개발 앱(Microsoft 앱 제외)을 게시합니다.

 


외부 조직과 상호 작용하는 방법 및 공유해야 하는 리소스 유형에 따라 이러한 기능의 조합을 사용할 수 있습니다.

Azure AD(Azure Active Directory)를 사용하면 Azure AD B2B 기능을 통해 조직의 경계를 넘나들며 협업을 쉽게 수행할 수 있습니다. 다른 테넌트의 게스트 사용자는 관리자 또는 다른 사용자가 초대할 수 있습니다. 이 기능은 Microsoft 계정과 같은 소셜 ID에도 적용됩니다.

또한 게스트 사용자에게 적절한 액세스 권한을 쉽게 부여할 수도 있습니다. 게스트 본인 또는 의사 결정자에게 액세스 검토에 참여하고 게스트 액세스 권한을 다시 인증(또는 증명)하도록 요청할 수 있습니다. 검토자는 Azure AD에서의 제안 사항을 기반으로 각 사용자의 지속적인 액세스 요구 사항에 대한 입력을 제공할 수 있습니다. 액세스 검토가 완료되면 변경 사항을 적용하거나 액세스가 더 이상 필요 없는 게스트의 액세스를 제거할 수 있습니다.

 

5. Azure 조건부 액세스 설명

조건부 액세스는 ID 신호에 따라 리소스에 대한 액세스를 허용(또는 거부)하기 위해 Azure Active Directory에서 사용하는 도구입니다. 이러한 신호에는 사용자의 신분, 사용자의 위치 및 사용자가 액세스를 요청하는 디바이스가 포함됩니다.

조건부 액세스를 통해 IT 관리자는 다음을 수행할 수 있습니다.

  • 언제 어디서나 사용자의 생산성을 높입니다.
  • 조직의 자산을 보호합니다.

또한 조건부 액세스를 사용하면 사용자에게 보다 세분화된 다단계 인증 환경을 제공할 수 있습니다. 예를 들어 사용자가 알려진 위치에 있는 경우 두 번째 인증 단계를 거치지 않을 수 있습니다. 그러나 로그인 신호가 비정상이거나 사용자가 예기치 않은 위치에 있는 경우 두 번째 인증 단계를 거쳐야 할 수 있습니다.

로그인하는 동안 조건부 액세스는 사용자의 신호를 수집하고 해당 신호를 기반으로 결정을 내린 다음, 액세스 요청을 허용하거나, 거부하거나, 다단계 인증에 응하도록 하는 식으로 해당 결정을 적용합니다.

다음 다이어그램에서는 이러한 흐름을 보여 줍니다.

여기서 신호는 사용자의 위치, 사용자의 디바이스 또는 사용자가 액세스하려고 하는 애플리케이션일 수 있습니다.

해당 신호에 근거하여 사용자가 정상적인 위치에서 로그인하는 경우 모든 액세스를 허용하도록 결정할 수 있습니다. 사용자가 비정상적인 위치나 고위험으로 표시된 위치에서 로그인하는 경우 사용자가 두 번째 인증 형식을 제공한 이후에 액세스가 완전히 차단되거나 허용될 수 있습니다.

적용은 의사 결정을 수행하는 작업입니다. 예를 들어 액세스를 허용하거나 사용자에게 두 번째 인증 형식을 입력하도록 요구하는 작업입니다.

 

조건부 액세스를 언제 사용할 수 있나요?

 

조건부 액세스는 다음 경우에 유용합니다.

  • 요청자의 역할, 위치 또는 네트워크에 따라 애플리케이션에 액세스하려면 MFA(다단계 인증)가 필요합니다. 예를 들어 관리자가 아닌 일반 사용자 또는 회사 네트워크 외부에서 연결하는 사용자에게 MFA를 요구할 수 있습니다.
  • 승인된 클라이언트 애플리케이션을 통해서만 서비스에 액세스하도록 요구합니다. 예를 들어 메일 서비스에 연결할 수 있는 메일 애플리케이션을 제한할 수 있습니다.
  • 사용자가 관리 디바이스에서만 애플리케이션에 액세스하도록 요구합니다. 관리 디바이스는 보안 및 규정 준수 표준을 충족하는 디바이스입니다.
  • 알 수 없거나 예기치 않은 위치에서의 액세스와 같이 신뢰할 수 없는 소스로부터의 액세스를 차단합니다.

 

6. Azure 역할 기반 액세스 제어 

여러 IT 및 엔지니어링 팀이 있는 경우 클라우드 환경의 리소스에 대한 액세스를 어떻게 제어할 수 있나요? 최소 권한 원칙은 작업을 완료하는 데 필요한 수준까지만 액세스 권한을 부여해야 한다고 말합니다. 스토리지 Blob에 대한 읽기 권한만 필요한 경우 해당 스토리지 Blob에 대한 읽기 권한만 부여받아야 합니다. 해당 Blob에 대한 쓰기 액세스 권한은 부여되지 않아야 하며 다른 스토리지 Blob에 대한 읽기 권한도 부여해서는 안 됩니다. 따라야 할 좋은 보안 사례입니다.

그러나 전체 팀에 대한 사용 권한 수준을 관리하는 것은 지루할 것입니다. 각 개인에 대한 자세한 액세스 요구 사항을 정의한 다음, 새 리소스가 생성되거나 새 사람이 팀에 합류할 때 액세스 요구 사항을 업데이트하는 대신 Azure를 사용하면 Azure RBAC(역할 기반 액세스 제어)를 통해 액세스를 제어할 수 있습니다.

Azure는 클라우드 리소스의 퍼블릭 액세스 규칙을 설명하는 기본적인 역할도 장착하고 있습니다. 임의로 역할을 정의할 수도 있습니다. 각 역할에는 해당 역할과 관련된 액세스 권한의 연결된 세트가 있습니다. 하나 이상의 역할에 할당되는 개인 또는 그룹은 연결된 액세스 권한을 모두 부여받습니다.

따라서 새 엔지니어를 고용하여 엔지니어를 위해 Azure RBAC 그룹에 추가하면 동일한 Azure RBAC 그룹의 다른 엔지니어와 동일한 액세스 권한이 자동으로 부여됩니다. 마찬가지로 추가 리소스를 추가하고 Azure RBAC를 가리키는 경우 해당 Azure RBAC 그룹의 모든 사용자는 이제 새 리소스와 기존 리소스에 대한 권한을 갖게 됩니다.

 


리소스에 역할 기반 액세스 제어는 어떻게 적용되나요?
역할 기반 액세스 제어는 이 액세스가 적용되는 리소스 또는 리소스 세트인 ‘범위’에 적용됩니다.
다음 다이어그램은 역할과 범위 간의 관계를 보여 줍니다. 관리 그룹, 구독 또는 리소스 관리자에게 소유자 역할이 부여될 수 있으므로 제어 및 권한이 향상되었습니다. 업데이트를 수행할 것으로 예상되지 않는 관찰자에게 동일한 범위에 대한 읽기 권한자 역할이 부여되어 관리 그룹, 구독 또는 리소스 그룹을 검토하거나 관찰할 수 있습니다.

범위는 다음과 같습니다.

  • 관리 그룹(여러 구독의 컬렉션)
  • 단일 구독
  • 리소스 그룹
  • 단일 리소스

관찰자, 리소스를 관리하는 사용자, 관리자, 자동화된 프로세스는 일반적으로 다양한 역할 각각에 할당되는 사용자 또는 계정의 종류를 보여 줍니다.
Azure RBAC는 계층 구조입니다. 부모 범위에서 액세스 권한을 부여할 때 해당 권한은 모든 자식 범위에서 상속됩니다. 예를 들면 다음과 같습니다.

  • 관리 그룹 범위에서 사용자에게 소유자 역할을 할당하면 해당 사용자는 관리 그룹 내에서 모든 구독의 모든 항목을 관리할 수 있습니다.
  • 구독 범위에서 그룹에 읽기 권한자 역할을 할당하면 해당 그룹의 멤버는 구독 내의 모든 리소스 그룹 및 리소스를 볼 수 있습니다.

 

 

Azure RBAC는 어떻게 적용되나요?


Azure RBAC는 Azure Resource Manager를 전달되는 Azure 리소스에 대해 시작되는 모든 작업에 적용됩니다. Resource Manager는 클라우드 리소스를 구성하고 보호하는 방법을 제공하는 관리 서비스입니다.

일반적으로 Azure Portal, Azure Cloud Shell, Azure PowerShell 및 Azure CLI에서 Resource Manager에 액세스합니다. Azure RBAC는 애플리케이션 또는 데이터 수준에서 액세스 권한을 적용하지 않습니다. 애플리케이션 보안은 애플리케이션에서 처리해야 합니다.

Azure RBAC는 허용 모델을 사용합니다. 역할이 할당되면 Azure RBAC를 사용하여 해당 역할 범위 내에서 작업을 수행할 수 있습니다. 리소스 그룹에 대한 읽기 권한을 부여한 역할 할당이 있는 반면 동일한 리소스 그룹에 대한 쓰기 권한을 부여하는 역할 할당의 경우 사용자는 해당 리소스 그룹에 대한 읽기 및 쓰기 권한을 가지게 됩니다.

 

7. 제로 트러스트 모델

제로 트러스트는 최악의 시나리오를 가정하고 해당 기대 수준에 따라 리소스를 보호하는 보안 모델입니다. 제로 트러스트는 처음부터 위반을 가정한 다음, 제어되지 않은 네트워크에서 시작된 것처럼 각 요청을 확인합니다.

오늘날 조직에는 최신 환경의 복잡성에 효과적으로 적응하고, 모바일 인력을 수용하며, 위치에 관계없이 사용자, 디바이스, 애플리케이션, 데이터를 보호할 수 있는 새로운 보안 모델이 필요합니다.

이 새로운 컴퓨팅 분야를 해결하기 위해 Microsoft는 다음 지침 원칙을 기반으로 하는 제로 트러스트 보안 모델을 적극 권장합니다.

  • 명시적으로 확인 - 사용 가능한 모든 데이터 요소에 따라 항상 인증하고 권한을 부여합니다.
  • 최소 권한 액세스 사용 - JIT/JEA(Just-In-Time and Just-Enough-Access), 위험 기반 적응 정책 및 데이터 보호를 사용하여 사용자 액세스를 제한합니다.
  • 위반 가정 - 폭발 반경 및 세그먼트 액세스를 최소화합니다. 엔드투엔드 암호화를 확인합니다. 분석을 사용하여 가시성을 얻고, 위협 탐지를 추진하고, 방어를 향상시킵니다.

제로 트러스트 조정

일반적으로 회사 네트워크는 제한되고 보호되며 일반적으로 안전하다고 가정했습니다. 관리형 컴퓨터만 네트워크에 조인할 수 있고, VPN 액세스가 엄격하게 제어되었으며, 개인 디바이스가 자주 제한되거나 차단되었습니다.

제로 트러스트 모델은 해당 시나리오를 뒤집습니다. 디바이스가 회사 네트워크 내에 있기 때문에 안전하다고 가정하는 대신 모든 사용자가 인증해야 합니다. 그런 다음, 위치가 아닌 인증에 따라 액세스 권한을 부여합니다.

 

8. 심층 방어 설명

심층 방어의 목적은 정보를 보호하고 무단 접근을 통한 도난을 방지하는 것입니다.
심층 방어는 데이터에 무단으로 액세스하기 위한 공격 진행 속도를 늦추는 여러 메커니즘을 사용하는 전략입니다.

심층 방어 계층

중앙에서 보호할 데이터와 중앙 데이터 계층을 보호하기 위해 작동하는 다른 모든 계층을 사용하여 심층 방어를 계층 집합으로 시각화할 수 있습니다.

각 레이어가 보호를 제공하므로 한 레이어에서 침해 사고가 발생하더라도 후속 레이어가 이미 작동하고 있기 때문에 추가 노출을 방지합니다. 해당 접근 방식으로 단일 보호 계층에만 의존하지 않을 수 있습니다. 공격 속도를 늦추고 보안 팀이 자동 또는 수동으로 조치할 수 있도록 경고 정보 분석을 제공합니다.

각 계층의 역할에 대한 간략한 개요는 다음과 같습니다.

  • 물리적 보안 계층은 데이터 센터의 컴퓨팅 하드웨어를 보호하기 위한 첫 번째 방어선입니다.
  • ID 및 액세스 계층은 인프라와 변경 제어에 대한 액세스를 제어합니다.
  • 경계 계층은 DDoS(분산 서비스 거부) 보호 기능을 사용하여 최종 사용자에게 서비스 거부가 발생하기 전에 대규모 공격을 필터링합니다.
  • 네트워크 계층은 구분 및 액세스 제어를 통해 리소스 간의 통신을 제한합니다.
  • 컴퓨팅 계층은 가상 머신에 대한 액세스를 보호합니다.
  • 애플리케이션 계층은 애플리케이션을 보호하고 보안 취약점을 제거합니다.
  • 데이터 계층은 보호해야 하는 비즈니스 및 고객 데이터에 대한 액세스를 제어합니다.

이러한 계층은 애플리케이션의 모든 계층에 대한 보안 구성을 결정하는 데 도움이 되는 지침을 제공합니다.

Azure는 심층 방어 개념의 모든 수준에서 보안 툴 및 기능을 제공합니다. 각 계층을 더 자세히 살펴보겠습니다.

물리적 보안
물리적으로 건물에 대한 액세스를 보호하고 데이터 센터 내의 컴퓨팅 하드웨어에 대한 액세스를 제어하는 것이 첫 번째 방어선입니다.
물리적 보안을 사용하는 목적은 자산 액세스에 대한 물리적 보호 수단을 제공하는 것입니다. 이 보호 수단은 다른 레이어가 무시되지 않고 손실 또는 도난이 적절하게 처리되도록 합니다. Microsoft는 클라우드 데이터 센터에서 다양한 물리적 보안 메커니즘을 사용합니다.

ID 및 액세스
ID 및 액세스 레이어는 ID를 안전하게 보호하고, 필요한 것에만 액세스 권한을 부여하고, 로그인 이벤트 및 변경 내용이 기록되도록 합니다.

해당 계층에서는 다음 작업을 수행하는 것이 중요합니다.

  • 인프라에 대한 접근 및 제어 변경을 통제합니다.
  • SSO(Single Sign-On) 및 다단계 인증을 사용합니다.
  • 이벤트 및 변경 내용을 감사합니다.

경계
네트워크 경계는 리소스에 대한 네트워크 기반 공격으로부터 보호합니다. 이러한 공격을 파악하여 영향을 제거하고 발생한 공격을 경고하는 것이 네트워크를 안전하게 유지하는 중요한 방법입니다.

해당 계층에서는 다음 작업을 수행하는 것이 중요합니다.

  • DDoS 방지 기능을 사용하여 사용자의 시스템 가용성에 영향을 주기 전에 대규모 공격을 필터링합니다.
  • 경계 방화벽을 사용하여 네트워크에 대한 악의적인 공격을 식별하고 경고합니다.

네트워크
해당 레이어의 핵심은 모든 리소스에 대한 네트워크 연결을 제한하여 필요한 것만 허용하는 것입니다. 관련 통신을 제한하여 네트워크의 다른 시스템으로 공격이 퍼질 위험을 줄일 수 있습니다.

해당 계층에서는 다음 작업을 수행하는 것이 중요합니다.

  • 리소스 간의 통신을 제한합니다.
  • 기본적으로 거부합니다.
  • 인바운드 인터넷 액세스를 금지하고 필요한 경우 아웃바운드 액세스를 제한합니다.
  • 온-프레미스 네트워크에 대한 보안 연결을 구현합니다.

Compute
맬웨어, 패치가 적용되지 않은 시스템, 적절하게 보호되지 않는 시스템 때문에 환경이 공격에 노출됩니다. 해당 레이어의 핵심은 컴퓨팅 리소스를 안전하게 보호하고 보안 문제를 최소화하는 적절한 제어 방식을 만드는 것입니다.

해당 계층에서는 다음 작업을 수행하는 것이 중요합니다.

  • 가상 머신에 대한 액세스를 보호합니다.
  • 디바이스에 엔드포인트 보호를 구현하고 시스템을 패치하고 최신 상태로 유지합니다.

애플리케이션

애플리케이션 개발 수명 주기에 보안을 통합하면 코드의 취약점을 줄일 수 있습니다. 모든 개발 팀은 기본적으로 애플리케이션이 안전하도록 조치해야 합니다.

해당 계층에서는 다음 작업을 수행하는 것이 중요합니다.

  • 애플리케이션이 안전하고 취약성이 없는지 확인합니다.
  • 중요한 애플리케이션 비밀을 안전한 저장 매체에 저장하세요.
  • 보안 항목을 모든 애플리케이션 개발의 디자인 요구사항에 포함합니다.

데이터
데이터를 저장하고 액세스 권한을 제어하는 사람은 데이터를 안전하게 보호할 책임이 있습니다. 종종 데이터의 기밀성, 무결성 및 가용성을 보장하기 위한 제어 및 프로세스를 적용할 것을 지시하는 규제 요구 사항이 있습니다.

대부분의 경우 공격자의 목표는 다음 데이터입니다.

  • 데이터베이스에 저장된 데이터
  • 가상 머신 내부의 디스크에 저장된 데이터
  • Office 365와 같은 SaaS(Software as a Service) 애플리케이션에 저장된 데이터
  • 클라우드 스토리지를 통해 관리되는 데이터

 

9. Microsoft Defender for Cloud

클라우드용 Defender는 보안 태세 관리 및 위협 방지를 위한 모니터링 도구입니다. 클라우드, 온-프레미스, 하이브리드, 다중 클라우드 환경을 모니터링하여 보안 태세를 강화하기 위한 지침 및 알림을 제공합니다.

Defender for Cloud는 리소스를 강화하고, 보안 상태를 추적하고, 사이버 공격으로부터 보호하고, 보안 관리를 간소화하는 데 필요한 도구를 제공합니다. 클라우드용 Defender는 쉽게 배포할 수 있으며, 이미 기본적으로 Azure에 통합되어 있습니다.

 

배포된 모든 곳에서 보호
Defender for Cloud는 Azure 네이티브 서비스이므로 배포 없이도 많은 Azure 서비스를 모니터링하고 보호합니다. 그러나 온-프레미스 데이터 센터가 있거나 다른 클라우드 환경에서도 운영 중인 경우 Azure 서비스의 모니터링만으로 보안 상황을 완전히 파악하지 못할 수도 있습니다.

필요한 경우 Defender for Cloud는 Log Analytics 에이전트를 자동으로 배포하여 보안 관련 데이터를 수집할 수 있습니다. Azure 컴퓨터의 경우 배포가 직접 처리됩니다. 하이브리드 및 다중 클라우드 환경의 경우 Microsoft Defender 요금제는 Azure Arc의 도움을 통해 비 Azure 머신으로 확장됩니다. CSPM(클라우드 보안 태세 관리) 기능은 에이전트가 필요 없이 다중 클라우드 머신으로 확장됩니다.

 


Azure 네이티브 보호
Defender for Cloud를 사용하면 다음에서 위협을 탐지할 수 있습니다.

  • Azure PaaS 서비스 - Azure App Service, Azure SQL, Azure Storage 계정 및 기타 데이터 서비스를 포함한 Azure 서비스를 대상으로 하는 위협을 탐지합니다. 또한 Microsoft Defender for Cloud Apps(이전의 Microsoft Cloud App Security)와의 네이티브 통합을 사용하여 Azure 활동 로그에서 변칙 검색을 수행할 수 있습니다.
  • Azure 데이터 서비스 - 클라우드용 Defender에는 Azure SQL에서 데이터를 자동으로 분류하는 데 도움이 되는 기능이 포함되어 있습니다. Azure SQL 및 Storage 서비스 전체의 잠재적 취약성 평가 및 취약성을 완화하는 방법에 대한 권장 사항을 확인할 수도 있습니다.
  • 네트워크 - 클라우드용 Defender를 사용하면 무차별 암호 대입 공격(brute force attack)에 대한 노출을 제한할 수 있습니다. Just-In-Time VM 액세스를 통해 가상 머신 포트에 대한 액세스를 줄이면 불필요한 액세스를 방지하여 네트워크를 강화할 수 있습니다. 권한 있는 사용자, 허용된 원본 IP 주소 범위 또는 IP 주소에 대해서만, 제한된 시간 동안 선택한 포트에 보안 액세스 정책을 설정할 수 있습니다.

 

하이브리드 리소스 방어
Azure 환경을 방어하는 것 외에도 Defender for Cloud 기능을 하이브리드 클라우드 환경에 추가하여 비 Azure 서버를 보호할 수 있습니다. 가장 중요한 것에 집중할 수 있도록 특정 환경에 따라 사용자 지정된 위협 인텔리전스와 우선 순위가 지정된 경고를 받게 됩니다.
보호를 온-프레미스 컴퓨터로 확장하려면 Azure Arc를 배포하고 Defender for Cloud의 향상된 보안 기능을 사용하도록 설정합니다.

다른 클라우드에서 실행되는 리소스 방어
또한 클라우드용 Defender는 다른 클라우드(예: AWS 및 GCP)의 리소스를 보호할 수도 있습니다.
예를 들어 AWS(Amazon Web Services) 계정을 Azure 구독에 연결한 경우 다음과 같은 보호를 사용하도록 설정할 수 있습니다.

  • Defender for Cloud의 CSPM 기능은 AWS 리소스로 확장됩니다. 이 에이전트 없는 플랜은 AWS 관련 보안 권장 사항에 따라 AWS 리소스를 평가하며, 보안 점수에 결과가 포함됩니다. 또한 리소스가 AWS(AWS CIS, AWS PCI DSS 및 AWS Foundational 보안 모범 사례)와 관련된 기본 제공 표준을 준수하는지 여부도 평가됩니다. 클라우드용 Defender의 자산 인벤토리 페이지는 Azure 리소스와 함께 AWS 리소스를 관리하는 데 도움이 되는 다중 클라우드 지원 기능입니다.
  • 컨테이너용 Microsoft Defender는 컨테이너 위협 탐지 및 고급 방어를 Amazon EKS Linux 클러스터로 확장합니다.
  • 서버용 Microsoft Defender는 위협 탐지 및 고급 방어를 Windows 및 Linux EC2 인스턴스로 확장합니다.

 

평가, 보안 및 방어
Defender for Cloud는 클라우드 및 온-프레미스에서 리소스 및 워크로드의 보안을 관리할 때 세 가지 중요한 요구 사항을 충족합니다.

 

  • 지속적인 평가 – 보안 태세를 파악합니다. 취약성을 식별하고 추적합니다.
  • 보안 – Azure Security Benchmark를 사용하여 리소스 및 서비스를 강화합니다.
  • 방어 - 리소스, 워크로드 및 서비스에 대한 위협을 탐지하고 해결합니다.

 

지속적인 평가
클라우드용 Defender를 사용하면 환경을 지속적으로 평가할 수 있습니다. 클라우드용 Defender에는 가상 머신, 컨테이너 레지스트리 및 SQL 서버에 대한 취약성 평가 솔루션이 포함되어 있습니다.

서버용 Microsoft Defender에는 엔드포인트용 Microsoft Defender와의 자동 네이티브 통합이 포함되어 있습니다. 이 통합이 사용하도록 설정되면 Microsoft 위협 및 취약성 관리의 취약성 결과에 액세스할 수 있습니다.

이러한 평가 도구 사이에 컴퓨팅, 데이터 및 인프라를 다루는 일반적이고 자세한 취약성 검사가 있습니다. 클라우드용 Defender 내에서 이러한 검사의 결과를 검토하고 응답할 수 있습니다.

 

 

보안

인증 방법부터 액세스 제어, 제로 트러스트 개념에 이르기까지 클라우드의 보안은 올바르게 수행해야 하는 필수 기본 사항입니다. 클라우드에서 보안을 유지하려면 워크로드가 안전한지 확인해야 합니다. 워크로드를 보호하려면 환경 및 상황에 맞게 조정된 보안 정책을 마련해야 합니다. Defender for Cloud의 정책은 Azure Policy 제어를 기반으로 하여 빌드되므로 세계 최고 수준의 정책 솔루션의 전체 범위와 유연성을 얻을 수 있습니다. Defender for Cloud에서는 관리 그룹, 구독 전체 및 테넌트 전체에 대해 실행되는 정책을 설정할 수 있습니다.

클라우드로 전환할 때의 이점 중 하나는 필요에 따라 새 서비스 및 리소스를 추가하여 필요에 따라 확장하고 스케일링할 수 있다는 것입니다. 클라우드용 Defender는 워크로드 전체에 배포되는 새 리소스를 지속적으로 모니터링하고 있습니다. 클라우드용 Defender는 새 리소스가 보안 모범 사례에 따라 구성되었는지 평가합니다. 그렇지 않은 경우 플래그가 지정되고 수정해야 하는 항목에 대해 우선 순위가 지정된 권장 사항 목록이 표시됩니다. 권장 사항은 각 리소스에서 공격 표면을 줄이는 데 도움이 됩니다.

권장 사항 목록은 Azure Security Benchmark에서 사용하도록 설정되고 지원됩니다. Microsoft에서 작성한 이 Azure 관련 벤치마크는 일반적인 규정 준수 프레임워크를 기반으로 하는 보안 및 규정 준수 모범 사례에 대한 일단의 지침을 제공합니다.

Defender for Cloud를 이 방식으로 사용하면 보안 정책을 설정할 뿐만 아니라 리소스 전체에 보안 구성 표준을 적용할 수도 있습니다.

각 권장 사항이 전체 보안 상태에 중요한 정도를 이해하는 데 도움이 되도록 Defender for Cloud는 권장 사항을 보안 제어로 그룹화하고 보안 점수 값을 각 제어에 추가합니다. 보안 점수는 보안 태세의 상태를 한눈에 볼 수 있는 지표를 제공하고, 제어는 보안 점수와 전반적인 보안 태세를 개선하기 위해 고려해야 할 작업 목록을 제공합니다.

방어

처음 두 영역은 환경에 대한 평가, 모니터링 및 유지 관리에 집중했습니다. 또한 클라우드용 Defender는 보안 경고 및 고급 위협 방지 기능을 제공하여 환경을 방어하는 데에도 도움이 됩니다.

보안 경고
클라우드용 Defender가 환경의 모든 영역에서 위협을 탐지하면 보안 경고가 생성됩니다. 보안 경고:

  • 영향을 받는 리소스의 세부 정보 설명
  • 수정 단계 제안
  • 일부 경우에는 응답으로 논리 앱을 트리거하는 옵션을 제공합니다.

클라우드용 Defender에서 경고를 생성하거나 클라우드용 Defender가 통합 보안 제품에서 경고를 수신하는 경우 내보낼 수 있습니다. 클라우드용 Defender의 위협 보호 기능에는 사이버 킬체인 분석을 기반으로 환경 내 경고의 상관관계를 자동으로 파악하는 퓨전 킬체인 분석이 포함되어 있어 공격 캠페인의 전체 내용, 시작 지점, 리소스에 미치는 영향 등을 더욱 잘 파악할 수 있습니다.

Advanced Threat Protection
클라우드용 Defender는 가상 머신, SQL 데이터베이스, 컨테이너, 웹 애플리케이션 및 네트워크를 포함하여 배포된 많은 리소스에 대한 고급 위협 방지 기능을 제공합니다. 보호 기능에는 Just-In-Time 액세스 및 머신에서 실행되어야 하는 앱과 실행되면 안 되는 앱의 허용 목록을 작성하는 적응형 애플리케이션 제어를 사용하여 VM의 관리 포트를 보호하는 기능이 포함됩니다.

 

본 게시글은 Microsoft Azure hackersground 챌린지 자료를 바탕으로 제작되었습니다.

댓글