보안 제어 v3: ID 관리

ID 관리는 애플리케이션, 조건부 액세스 및 계정 변칙 모니터링을 위한 Single Sign-On, 강력한 인증, 관리 ID(및 서비스 주체) 사용을 포함하여 Azure Active Directory를 사용하여 보안 ID 및 액세스 제어를 설정하는 컨트롤을 다룹니다.

IM-1: 중앙 ID 및 인증 시스템 사용

CIS Controls v8 ID NIST SP 800-53 r4 ID PCI-DSS ID v3.2.1
6.7, 12.5 AC-2, AC-3, IA-2, IA-8 7.2, 8.3

보안 원칙: 중앙 집중식 ID 및 인증 시스템을 사용하여 클라우드 및 비 클라우드 리소스에 대한 조직의 ID 및 인증을 관리합니다.

Azure 지침: Azure AD(Azure Active Directory)는 Azure의 ID 및 인증 관리 서비스입니다. Azure AD에서 표준화하여 다음에서 조직의 ID 및 인증을 관리해야 합니다.

  • Microsoft 클라우드 리소스(예: Azure Storage, Azure Virtual Machines(Linux 및 Windows), Azure Key Vault, PaaS 및 SaaS 애플리케이션)
  • Azure의 애플리케이션, 회사 네트워크 리소스에서 실행되는 타사 애플리케이션 및 타사 SaaS 애플리케이션과 같은 조직의 리소스
  • 일관성 있고 중앙에서 관리 ID 전략을 보장하기 위해 Azure AD에 동기화한 Active Directory의 엔터프라이즈 ID.

참고: 기술적으로 실현 가능한 즉시 온-프레미스 Active Directory 기반 애플리케이션을 Azure AD로 마이그레이션해야 합니다. 이는 Azure AD 엔터프라이즈 디렉터리, 기업 간 구성 또는 기업 대 소비자 구성일 수 있습니다.

구현 및 추가 컨텍스트:

고객 보안 관련자(자세한 정보):

IM-2: ID 및 인증 시스템 보호

CIS Controls v8 ID NIST SP 800-53 r4 ID PCI-DSS ID v3.2.1
5.4, 6.5 AC-2, AC-3, IA-2, IA-8, SI-4 8.2, 8.3

보안 원칙: 조직의 클라우드 보안 관행에서 높은 우선 순위로 ID 및 인증 시스템을 보호합니다. 일반적인 보안 컨트롤에는 다음이 포함됩니다.

  • 권한 있는 역할 및 계정 제한
  • 모든 권한 있는 액세스에 대해 강력한 인증 필요
  • 고위험 작업 모니터링 및 감사

Azure 지침: Azure AD 보안 기준 및 Azure AD ID 보안 점수를 사용하여 Azure AD ID 보안 태세를 평가하고 보안 및 구성 격차를 수정합니다. Azure AD ID 보안 점수는 다음 구성에 대해 Azure AD를 평가합니다: - 제한된 관리 역할 사용

  • 사용자 위험 정책 켜기
  • 둘 이상의 전역 관리자 지정
  • 정책을 사용하여 레거시 인증 차단
  • 모든 사용자가 보안 액세스를 위해 다단계 인증을 완료할 수 있는지 확인
  • 관리자용 MFA 필요
  • 셀프 서비스 암호 재설정 사용
  • 암호를 만료하지 마세요.
  • 로그인 위험 정책 켜기
  • 사용자가 관리되지 않는 애플리케이션에 동의하도록 허용하지 않음

참고: 온-프레미스 Active Directory 및 타사 기능과 이를 호스팅하는 인프라(예: 운영 체제, 네트워크, 데이터베이스)를 포함하여 기타 모든 ID 구성 요소에 대해 게시된 모범 사례를 따릅니다.

구현 및 추가 컨텍스트:

고객 보안 관련자(자세한 정보):

IM-3: 애플리케이션 ID를 안전하게 자동으로 관리

CIS Controls v8 ID NIST SP 800-53 r4 ID PCI-DSS ID v3.2.1
해당 없음 AC-2, AC-3, IA-4, IA-5, IA-9 해당 없음

보안 원칙: 애플리케이션이 리소스에 액세스하고 코드를 실행할 수 있도록 사람 계정을 만드는 대신 관리 애플리케이션 ID를 사용합니다. 관리되는 애플리케이션 ID는 자격 증명 노출을 줄이는 등의 이점을 제공합니다. 자격 증명 순환을 자동화하여 자격 증명의 보안을 보장합니다.

Azure 지침: Azure AD 인증을 지원하는 Azure 서비스 및 리소스에 인증할 수 있는 Azure 관리 ID를 사용합니다. 관리 ID 자격 증명은 플랫폼에서 완전히 관리, 순환 및 보호되므로 소스 코드 또는 구성 파일에 하드 코딩된 자격 증명을 방지합니다.

관리 ID를 지원하지 않는 서비스의 경우 Azure AD를 사용하여 리소스 수준에서 권한이 제한된 서비스 주체를 만듭니다. 인증서 자격 증명을 사용하여 서비스 주체를 구성하고 인증을 위해 클라이언트 암호로 폴백하는 것이 좋습니다.

구현 및 추가 컨텍스트:

고객 보안 관련자(자세한 정보):

IM-4: 서버 및 서비스 인증

CIS Controls v8 ID NIST SP 800-53 r4 ID PCI-DSS ID v3.2.1
해당 없음 IA-9 해당 없음

보안 원칙: 클라이언트 쪽에서 원격 서버 및 서비스를 인증하여 신뢰할 수 있는 서버 및 서비스에 연결하도록 합니다. 가장 일반적인 서버 인증 프로토콜은 TLS(전송 계층 보안)이며, 여기서 클라이언트 쪽(종종 브라우저 또는 클라이언트 디바이스)은 서버 인증서가 신뢰할 수 있는 인증 기관에서 발급되었는지 확인하여 서버를 확인합니다.

참고: 상호 인증은 서버와 클라이언트가 서로를 인증할 때 사용할 수 있습니다.

Azure 지침: 많은 Azure 서비스가 기본적으로 TLS 인증을 지원합니다. 사용자가 TLS 사용/사용 안 함 전환을 지원하는 서비스의 경우 서버/서비스 인증을 지원하도록 항상 사용하도록 설정되어 있는지 확인합니다. 또한 클라이언트 애플리케이션은 핸드셰이크 단계에서 서버/서비스 ID를 확인하도록 설계되어야 합니다(신뢰할 수 있는 인증 기관에서 발급한 서버 인증서 확인).

구현 및 추가 컨텍스트:

고객 보안 관련자(자세한 정보):

IM-5: 애플리케이션 액세스에 SSO(Single Sign-On) 사용

CIS Controls v8 ID NIST SP 800-53 r4 ID PCI-DSS ID v3.2.1
12.5 IA-4, IA-2, IA-8 해당 없음

보안 원칙: SSO(Single Sign-On)를 사용하여 클라우드 서비스 및 온-프레미스 환경에서 애플리케이션 및 데이터를 비롯한 리소스에 대한 인증을 위한 사용자 환경을 단순화합니다.

Azure 지침: Azure AD SSO(Single Sign-On)를 통한 워크로드 애플리케이션 액세스에 Azure AD를 사용하여 여러 계정을 필요로 하지 않습니다. Azure AD는 Azure 리소스(CLI, PowerShell, 포털을 포함한 관리 평면), 클라우드 애플리케이션 및 온-프레미스 애플리케이션에 대한 ID 및 액세스 관리를 제공합니다.

Azure AD는 기업 사용자 ID와 같은 엔터프라이즈 ID와 신뢰할 수 있는 타사 및 공용 사용자의 외부 사용자 ID에 대한 SSO를 지원합니다.

구현 및 추가 컨텍스트:

고객 보안 관련자(자세한 정보):

IM-6: 강력한 인증 컨트롤 사용

CIS Controls v8 ID NIST SP 800-53 r4 ID PCI-DSS ID v3.2.1
6.3, 6.4 AC-2, AC-3, IA-2, IA-5, IA-8 7.2, 8.2, 8.3, 8.4

보안 원칙: 리소스에 대한 모든 액세스에 대해 중앙 집중식 ID 및 인증 관리 시스템으로 강력한 인증 컨트롤(강력한 암호 없는 인증 또는 다단계 인증)를 적용합니다. 암호 자격 증명만을 기반으로 하는 인증은 안전하지 않고 널리 사용되는 공격 방법을 견디지 못하기 때문에 레거시로 간주됩니다.

강력한 인증을 배포할 때 관리자와 권한이 있는 사용자를 먼저 구성하여 가장 높은 수준의 강력한 인증 방법을 보장한 다음 모든 사용자에게 적절한 강력한 인증 정책을 신속하게 롤아웃합니다.

참고: 레거시 애플리케이션 및 시나리오에 레거시 암호 기반 인증이 필요한 경우 복잡성 요구 사항과 같은 암호 보안 모범 사례를 따릅니다.

Azure 지침: Azure AD는 암호 없는 방법 및 MFA(다단계 인증)를 통해 강력한 인증 컨트롤을 지원합니다.

  • 암호 없는 인증: 암호 없는 인증을 기본 인증 방법으로 사용합니다. 암호 없는 인증에는 비즈니스용 Windows Hello, Microsoft Authenticator 앱 휴대폰 로그인 및 FIDO 2Keys의 세 가지 옵션을 사용할 수 있습니다. 또한 고객은 스마트 카드와 같은 온-프레미스 인증 방법을 사용할 수 있습니다.
  • 다단계 인증: Azure MFA는 로그인 조건 및 위험 요소를 기반으로 모든 사용자, 일부 사용자 또는 사용자별 수준에서 적용할 수 있습니다. Azure MFA를 사용하도록 설정하고 MFA 설정에 대한 클라우드용 Azure Defender ID 및 액세스 관리 권장 사항을 따릅니다.

Azure AD 인증에 레거시 암호 기반 인증이 계속 사용되는 경우 클라우드 전용 계정(Azure에서 직접 만든 사용자 계정)에는 기본 기준 암호 정책이 있다는 점에 유의해야 합니다. 그리고 하이브리드 계정(온-프레미스 Active Directory에서 가져온 사용자 계정)은 온-프레미스 암호 정책을 따릅니다.

기본 ID와 암호가 있을 수 있는 타사 애플리케이션 및 서비스의 경우 초기 서비스 설정 중에 사용하지 않도록 설정하거나 변경해야 합니다.

구현 및 추가 컨텍스트:

고객 보안 관련자(자세한 정보):

IM-7: 조건에 따라 리소스 액세스 제한

CIS Controls v8 ID NIST SP 800-53 r4 ID PCI-DSS ID v3.2.1
3.3, 6.4, 13.5 AC-2, AC-3, AC-6 7.2

보안 원칙: 리소스에 대한 사용자 액세스를 허용하거나 거부하기 위해 신뢰할 수 있는 신호의 유효성을 제로 트러스트 액세스 모델의 일부로서 명시적으로 검사합니다. 유효성 검사할 신호에는 사용자 계정의 강력한 인증, 사용자 계정의 동작 분석, 디바이스 신뢰성, 사용자 또는 그룹 멤버 자격, 위치 등이 포함되어야 합니다.

Azure 지침: MFA를 사용하기 위해 특정 IP 범위(또는 디바이스)에서 사용자 로그인을 요구하는 것과 같이 사용자 정의 조건을 기반으로 더욱 세분화된 액세스 컨트롤을 위해 Azure AD 조건부 액세스를 사용합니다. Azure AD 조건부 액세스를 사용하면 특정 조건에 따라 조직의 앱에 대한 액세스 제어를 적용할 수 있습니다.

워크로드에서 Azure AD 조건부 액세스에 적용 가능한 조건 및 기준을 정의합니다. 다음과 같은 일반적인 사용 사례를 고려합니다.

  • 관리자 역할이 할당된 사용자에게 다단계 인증 요구
  • Azure 관리 작업 시 다단계 인증 요구
  • 레거시 인증 프로토콜을 사용하려고 시도하는 사용자의 로그인 차단
  • Azure AD Multi-Factor Authentication 등록 시 신뢰할 수 있는 위치 요구
  • 특정 위치의 액세스 차단 또는 액세스 권한 부여
  • 위험한 로그인 동작 차단
  • 특정 애플리케이션에는 조직에서 관리 디바이스를 사용하도록 요구

참고: 세분화된 인증 세션 관리는 로그인 빈도 및 영구 브라우저 세션과 같은 컨트롤에 대한 Azure AD 조건부 액세스 정책을 통해 사용할 수도 있습니다.

구현 및 추가 컨텍스트:

고객 보안 관련자(자세한 정보):

IM-8: 자격 증명 및 비밀 노출 제한

CIS Controls v8 ID NIST SP 800-53 r4 ID PCI-DSS ID v3.2.1
16.9, 16.12 IA-5 3.5, 6.3, 8.2

보안 원칙: 애플리케이션 개발자가 자격 증명과 보안 비밀을 안전하게 처리하도록 합니다.:

  • 코드 및 구성 파일에 자격 증명과 비밀을 포함하지 마세요.
  • 키 자격 증명 모음 또는 보안 키 저장소 서비스를 사용하여 자격 증명 및 비밀 저장
  • 소스 코드에서 자격 증명을 검사합니다.

참고: 이는 보안 SDLC(소프트웨어 개발 수명 주기) 및 DevOps 보안 프로세스를 통해 관리되고 적용되는 경우가 많습니다.

Azure 지침: 비밀 및 자격 증명을 코드 및 구성 파일에 포함하는 대신 Azure Key Vault와 같은 안전한 위치에 저장해야 합니다.

  • Azure DevOps 자격 증명 스캐너를 구현하여 코드 내에서 자격 증명을 식별합니다.
  • GitHub의 경우 기본 비밀 검사 기능을 사용하여 코드 내에서 자격 증명 또는 다른 형식의 비밀을 식별합니다.

Azure Functions, Azure Apps 서비스 및 VM과 같은 클라이언트는 관리 ID를 사용하여 Azure Key Vault에 안전하게 액세스할 수 있습니다. 비밀 관리를 위한 Azure Key Vault 사용과 관련된 데이터 보호 컨트롤을 참조하세요.

구현 및 추가 컨텍스트:

고객 보안 관련자(자세한 정보):

IM-9: 기존 애플리케이션에 대한 보안 사용자 액세스

CIS Controls v8 ID NIST SP 800-53 r4 ID PCI-DSS ID v3.2.1
6.7, 12.5 AC-2, AC-3, SC-11 해당 없음

보안 원칙: 레거시 인증을 사용하는 온-프레미스 애플리케이션 또는 비네이티브 클라우드 애플리케이션이 있는 하이브리드 환경에서는 CASB(클라우드 액세스 보안 브로커), 애플리케이션 프록시, SSO(Single Sign-On)와 같은 솔루션을 고려하여 다음과 같은 이점을 위해 이러한 애플리케이션에 대한 액세스를 제어합니다:

  • 중앙 집중식 강력한 인증 적용
  • 위험한 최종 사용자 작업 모니터링 및 제어
  • 위험한 레거시 애플리케이션 작업 모니터링 및 수정
  • 중요한 데이터 전송 검색 및 방지

Azure 지침: 레거시 인증을 사용하여 온-프레미스 및 비네이티브 클라우드 애플리케이션을 다음에 연결하여 보호합니다.:

  • Azure AD 조건부 액세스를 사용하여 원격 사용자와 디바이스 모두의 신뢰성을 명시적으로 유효성 검사하면서 SSO(Single Sign-On)를 통해 원격 사용자에게 레거시 온-프레미스 애플리케이션을 게시하기 위한 헤더 기반 인증과 함께하는 Azure AD 애플리케이션 프록시. 필요한 경우 유사한 기능을 제공할 수 있는 타사 SDP(소프트웨어 정의 경계) 솔루션을 사용합니다.
  • 기존 타사 애플리케이션 제공 컨트롤러 및 네트워크
  • Microsoft Defender for Cloud Apps CASB(클라우드 액세스 보안 브로커) 서비스로 사용하여 사용자의 애플리케이션 세션을 모니터링하고 작업을 차단하는 컨트롤을 제공합니다(레거시 온-프레미스 애플리케이션 및 클라우드 SaaS(Software as a Service) 애플리케이션 모두).

참고: VPN은 일반적으로 레거시 애플리케이션에 액세스하는 데 사용됩니다. 기본 액세스 제어 및 제한된 세션 모니터링만 있는 경우가 많습니다.

구현 및 추가 컨텍스트:

고객 보안 관련자(자세한 정보):