자산 인벤토리를 사용하여 리소스의 보안 태세 관리
클라우드용 Microsoft Defender의 자산 인벤토리 페이지에는 클라우드용 Defender에 연결한 리소스의 보안 태세가 표시됩니다. 클라우드용 Defender는 구독에 연결된 리소스의 보안 상태를 주기적으로 분석하여 잠재적인 보안 문제를 식별하고 활성 권장 사항을 제공합니다. 활성 권장 사항은 보안 태세를 개선하기 위해 해결할 수 있는 권장 사항입니다.
이 뷰와 해당 필터를 사용하여 다음과 같은 질문을 해결합니다.
- Defender 요금제를 사용하는 구독 중 눈에 띄는 권장 사항이 있는 구독은 무엇인가요?
- ‘Production’ 태그가 있는 내 머신 중 Log Analytics 에이전트가 누락된 머신은 무엇인가요?
- 특정 태그를 사용하여 태그가 지정된 내 머신 중 몇 대에 처리되지 않은 권장 사항이 있나요?
- 알려진 취약성이 있는 특정 리소스 그룹의 컴퓨터는 무엇인가요(CVE 번호 사용)?
자산 인벤토리 페이지의 보안 권장 사항은 권장 사항 페이지에도 표시되지만 여기서는 영향을 받는 리소스에 따라 표시됩니다. 보안 권장 사항 구현에 대해 자세히 알아봅니다.
가용성
측면 | 세부 정보 |
---|---|
릴리스 상태: | GA(일반 공급) |
가격 책정: | Free 소프트웨어 인벤토리와 같은 인벤토리 페이지의 일부 기능을 사용하려면 유료 솔루션을 적용해야 합니다. |
필요한 역할 및 권한: | 모든 사용자 |
클라우드: | 상용 클라우드 국가적(Azure Government, 21Vianet에서 운영하는 Microsoft Azure) 소프트웨어 인벤토리는 현재 국가별 클라우드에서 지원되지 않습니다. |
자산 인벤토리의 주요 기능은 무엇인가요?
인벤토리 페이지는 다음 도구를 제공합니다.
1 - 요약
필터를 정의하기 전에 인벤토리 보기의 맨 위에 있으며 눈에 띄는 값의 스트립은 다음과 같이 표시됩니다.
- 전체 리소스: 클라우드용 Defender에 연결된 총 리소스 수입니다.
- 비정상 리소스: 구현할 수 있는 활성 보안 권장 사항이 있는 리소스입니다. 보안 권장 사항 구현에 대해 자세히 알아보기
- 모니터링되지 않는 리소스: 에이전트 모니터링 문제가 있는 리소스, 즉 Log Analytics 에이전트를 배포했지만 에이전트가 데이터를 전송하지 않거나 다른 상태 문제가 있는 리소스입니다.
- 등록되지 않은 구독: 선택한 범위에서 Azure 클라우드용 Microsoft Defender에 아직 연결되지 않은 구독입니다.
2 - 필터
페이지 맨 위의 여러 필터는 답변하려는 질문에 따라 리소스 목록을 빠르게 구체화하는 방법을 제공합니다. 예를 들어, Log Analytics 에이전트가 누락된 '프로덕션' 태그가 있는 컴퓨터를 알고 싶은 경우 에이전트 모니터링:"설치되지 않음" 및 태그:"프로덕션"에 대한 목록을 필터링할 수 있습니다.
필터를 적용하는 즉시 요약 값은 쿼리 결과와 관련하여 업데이트됩니다.
3 - 내보내기 및 자산 관리 도구
내보내기 옵션 - 인벤토리에는 선택한 필터 옵션의 결과를 CSV 파일로 내보낼 수 있는 옵션이 포함되어 있습니다. 또한 쿼리 자체를 Azure Resource Graph Explorer로 내보내 KQL(Kusto Query Language) 쿼리를 추가로 구체화, 저장 또는 수정할 수 있습니다.
팁
KQL 설명서에서는 언어에 대한 '느낌'을 얻을 수 있도록 샘플 데이터가 포함된 데이터베이스를 몇 가지 간단한 쿼리와 함께 제공합니다. 이 KQL 자습서에서 자세히 알아보세요.
자산 관리 옵션 - 쿼리와 일치하는 리소스를 발견한 경우 인벤토리는 다음과 같은 작업에 대한 바로 가기를 제공합니다.
- 필터링된 리소스에 태그 할당 - 태그를 지정할 리소스 옆에 있는 확인란을 선택합니다.
- 클라우드용 Defender에 새 서버 온보딩 - 비 Azure 서버 추가 도구 모음 단추를 사용합니다.
- Azure Logic Apps를 사용하여 워크로드 자동화 - 논리 앱 트리거 단추를 사용하여 하나 이상의 리소스에서 논리 앱을 실행합니다. 논리 앱을 미리 준비하고 관련 트리거 유형(HTTP 요청)을 수락해야 합니다. 논리 앱에 대해 자세히 알아보세요.
자산 인벤토리는 어떻게 작동하나요?
자산 인벤토리는 여러 구독에서 클라우드용 Defender의 보안 상태 데이터를 쿼리할 수 있는 Azure 서비스인 ARG(Azure Resource Graph)를 활용합니다.
ARG는 대규모로 쿼리를 하는 기능을 갖춘 효율적인 리소스 탐색을 제공하도록 설계되었습니다.
자산 인벤토리에서 KQL(Kusto 쿼리 언어)을 사용하여 다른 리소스 속성과 함께 클라우드용 Defender 데이터를 상호 참조하여 심층적인 인사이트를 빠르게 생성할 수 있습니다.
자산 인벤토리를 사용하는 방법
클라우드용 Defender의 사이드바에서 인벤토리를 선택합니다.
이름별 필터링 상자를 사용하여 특정 리소스를 표시하거나 필터를 사용하여 특정 리소스에 집중합니다.
기본적으로 리소스는 활성 보안 권장 사항 수를 기준으로 정렬됩니다.
Important
각 필터의 옵션은 현재 선택한 구독의 리소스 및 다른 필터에서 선택한 항목에만 적용됩니다.
예를 들어 구독을 하나만 선택하고 구독에 해결되지 않은 보안 권장 사항이 포함된 리소스가 없는 경우(비정상 리소스 0개) 권장 사항 필터에 옵션이 표시되지 않습니다.
보안 결과 포함 필터를 사용하려면 취약성 결과의 ID, 보안 검사 또는 CVE 이름에서 자유 텍스트를 입력하여 영향을 받는 리소스를 필터링합니다.
팁
보안 결과 포함 및 태그 필터는 단일 값만 허용합니다. 둘 이상의 값을 사용하려면 필터 추가를 사용합니다.
쿼리 결과를 자세히 검토하려면 원하는 리소스를 선택합니다.
현재 선택한 필터 옵션을 Resource Graph 탐색기에서 쿼리로 보려면 쿼리 열기를 선택합니다.
일부 필터를 정의하고 페이지를 열어둔 경우에는 클라우드용 Defender가 결과를 자동으로 업데이트하지 않습니다. 수동으로 페이지를 다시 로드하거나 새로 고침을 선택하지 않으면 리소스 변경 내용이 표시된 결과에 영향을 주지 않습니다.
소프트웨어 인벤토리에 액세스
소프트웨어 인벤토리에 액세스하려면 다음 유료 솔루션 중 하나가 필요합니다.
- Defender CSPM(클라우드 보안 태세 관리)에서 에이전트 없는 머신 검사
- 서버용 Defender P2에서 에이전트 없는 머신 검사
- 서버용 Defender에서 엔드포인트용 Microsoft Defender 통합
이미 엔드포인트용 Microsoft Defender와 통합되도록 설정했고 서버용 Microsoft Defender를 사용하도록 설정한 경우 소프트웨어 인벤토리에 액세스할 수 있습니다.
참고 항목
"비어 있음" 옵션은 엔드포인트용 Microsoft Defender가 없거나 서버용 Microsoft Defender가 없는 컴퓨터를 표시합니다.
자산 인벤토리 페이지의 필터외에도 Azure Resource Graph Explorer에서 소프트웨어 인벤토리 데이터를 탐색할 수 있습니다.
Azure Resource Graph Explorer를 사용하여 소프트웨어 인벤토리 데이터에 액세스하고 해당 데이터를 탐색하는 예제:
Azure Resource Graph Explorer를 엽니다.
구독 범위 securityresources/softwareinventories를 선택합니다.
다음 쿼리를 입력하고(또는 사용자 지정하거나 직접 작성) 쿼리 실행을 선택합니다.
설치된 소프트웨어의 기본 목록을 생성하려면:
securityresources | where type == "microsoft.security/softwareinventories" | project id, Vendor=properties.vendor, Software=properties.softwareName, Version=properties.version
버전 번호를 기준으로 필터링하려면:
securityresources | where type == "microsoft.security/softwareinventories" | project id, Vendor=properties.vendor, Software=properties.softwareName, Version=tostring(properties. version) | where Software=="windows_server_2019" and parse_version(Version)<=parse_version("10.0.17763.1999")
소프트웨어 제품을 조합하여 컴퓨터를 찾으려면:
securityresources | where type == "microsoft.security/softwareinventories" | extend vmId = properties.azureVmId | where properties.softwareName == "apache_http_server" or properties.softwareName == "mysql" | summarize count() by tostring(vmId) | where count_ > 1
소프트웨어 제품과 다른 보안 권장 사항 조합:
(이 예제에서는 MySQL이 설치되고 관리 포트가 노출된 컴퓨터)
securityresources | where type == "microsoft.security/softwareinventories" | extend vmId = tolower(properties.azureVmId) | where properties.softwareName == "mysql" | join ( securityresources | where type == "microsoft.security/assessments" | where properties.displayName == "Management ports should be closed on your virtual machines" and properties.status.code == "Unhealthy" | extend vmId = tolower(properties.resourceDetails.Id) ) on vmId
다음 단계
이 문서에서는 클라우드용 Microsoft Defender의 자산 인벤토리 페이지를 설명했습니다.
관련 도구에 대한 자세한 내용은 다음 페이지를 참조하세요.
- ARG(Azure Resource Graph)
- KQL(Kusto Query Language)
- 자산 인벤토리에 대한 일반적인 질문 보기