Azure Sentinel의 플레이북을 사용하여 사고 대응 자동화
2024년 1월 11일
이 기술 및 교육 문서는 보안 분석가, IT 관리자 및 시스템 엔지니어가 Microsoft Sentinel의 플레이북을 사용하여 보안 사고 대응을 자동화하도록 안내하는 것을 목표로 합니다. Azure Logic Apps를 기반으로 하는 플레이북은 Sentinel의 SOAR(보안 오케스트레이션, 자동화 및 대응) 기능의 핵심 구성 요소로, 보안 팀이 반복 작업을 자동화하고, 복잡한 워크플로를 오케스트레이션하고, 위협에 더 빠르고 일관되게 대응할 수 있도록 지원합니다[1].
소개
최신 보안 운영 센터(SOC)에서는 경고 및 사고의 양이 엄청날 수 있습니다. 보안 분석가는 경고 분류, 데이터 강화, 이해관계자에게 알리기, 기본적인 수정 작업 수행 등 수동적이고 반복적인 작업에 상당한 시간을 소비합니다. 이러한 오버헤드는 평균 대응 시간(MTTR)을 증가시킬 뿐만 아니라 분석가의 주의를 더 복잡한 위협과 심층 조사로부터 돌리게 합니다. SOAR 기능을 갖춘 Microsoft Sentinel은 플레이북[2]을 통해 사고 대응 자동화를 활성화하여 이러한 문제를 해결합니다.
이 실무 가이드에서는 Sentinel의 플레이북 및 자동화 규칙의 기본 개념, Azure Logic Apps를 사용하여 플레이북을 생성하는 프로세스, 플레이북을 분석 및 자동화 규칙과 통합하는 프로세스, 알림 보내기, 악성 IP 주소 차단, 손상된 호스트 격리와 같은 실용적인 자동화 예를 다룹니다. 독자가 사고 대응 자동화를 구현 및 검증하여 보안 운영을 최적화하고 조직의 방어 태세를 강화할 수 있도록 단계별 지침과 예시 워크플로가 제공됩니다.
Sentinel에서 플레이북을 사용한 자동화가 중요한 이유는 무엇입니까?
- MTTR(감소된 응답 시간): IP 차단 또는 사용자 계정 비활성화와 같은 즉각적인 교정 조치를 자동화하여 위협이 활성 상태로 유지되는 시간을 줄입니다.
- SOC 효율성 향상: 보안 분석가가 반복적인 작업에서 벗어나 복잡한 조사와 위협 사냥에 집중할 수 있습니다.
- 일관성 및 표준화: 인시던트 대응이 표준화되고 문서화된 프로세스를 따르도록 보장하여 인적 오류를 줄이고 규정 준수를 보장합니다.
- 확장성: SOC가 비례적으로 팀을 늘릴 필요 없이 증가하는 경고 볼륨을 처리할 수 있습니다.
- 도구 오케스트레이션: 광범위한 서비스 및 도구(Azure, Microsoft 365 및 타사 솔루션)와 통합하여 전체 보안 에코시스템에 걸쳐 대응을 오케스트레이션합니다.
- 데이터 강화: 다양한 소스(예: 위협 인텔리전스, 사용자 정보, 장치 데이터)에서 상황별 정보 수집을 자동화하여 분류 및 조사를 가속화합니다.
전제조건
Azure Sentinel에서 플레이북을 사용하여 응답을 자동화하려면 다음 항목이 필요합니다.
- 활성 Microsoft Sentinel 작업 영역: Microsoft Sentinel 솔루션이 활성화된 Log Analytics 작업 영역입니다.
- 관리 액세스: Logic Apps를 포함하여 Azure에서 리소스를 생성 및 관리할 수 있는 권한이 있고 Sentinel 작업 영역에서 'Microsoft Sentinel Contributor' 또는 'Microsoft Sentinel Responder' 역할을 가진 계정입니다[3].
- 구성된 데이터 커넥터: 경고 및 사고를 생성하기 위해 Sentinel에 연결된 데이터 소스(예: Azure Active Directory, Microsoft Defender for Cloud 등).
- 분석 규칙 활성화됨: 위협을 탐지하고 수집된 데이터에서 사고를 생성하도록 구성된 분석 규칙입니다.
단계별: 플레이북을 통한 응답 자동화
보안사고 대응을 위한 플레이북을 생성하고 자동화해 보겠습니다.
1. Sentinel Automation 구성요소 이해하기
- 플레이북: 경고나 사고에 대응하여 Microsoft Sentinel에서 실행할 수 있는 절차 모음입니다. 플레이북은 Azure Logic Apps를 기반으로 구축되며 이메일 보내기, ITSM 시스템에서 티켓 생성, 방화벽에서 IP 차단 등과 같은 일련의 작업을 포함할 수 있습니다[4].
- 자동화 규칙: inci의 자동화를 관리할 수 있는 규칙입니다.센티넬의 이빨. 사건을 할당하고, 상태를 변경하고, 태그를 추가하고, 가장 중요한 것은 플레이북을 실행하는 데 사용할 수 있습니다. 자동화 규칙은 플레이북[5]의 중앙 집중식 "트리거" 역할을 합니다.
2. 플레이북 만들기(Azure Logic 앱)
Sentinel 사건에 의해 트리거될 때 사건 세부 정보가 포함된 이메일 알림을 보내는 간단한 플레이북을 만들어 보겠습니다.
- 브라우저를 열고 Azure Portal
https://portal.azure.com으로 이동합니다. - 상단 검색 필드에 'Logic Apps'를 입력하고 결과에서 선택합니다.
- '+추가'를 클릭하여 새 논리 앱을 만듭니다.
-
기본사항:
- 구독: 구독을 선택합니다.
- 리소스 그룹: 리소스 그룹을 선택합니다(Sentinel 워크스페이스와 동일한 리소스 그룹을 사용하는 것이 좋습니다).
- 논리적 앱 이름: 플레이북에 이름을 지정합니다(예:
NotifyIncidentSentinel). - 지역: 지역을 선택합니다.
- 요금제 유형: 종량제 모델의 경우 '소비'를 선택합니다. 이는 대부분의 플레이북 시나리오에 적합합니다.
-
'검토 + 생성'을 클릭한 다음 '만들기'를 클릭하세요.
- 배포 후 '리소스로 이동'을 클릭하여 Logic Apps 디자이너를 엽니다.
3. 플레이북 트리거 및 작업 구성
논리 앱 디자이너가 템플릿 화면과 함께 열립니다. '빈 논리 앱'을 선택하세요.
-
트리거 구성: 디자이너 검색 필드에 'Microsoft Sentinel'을 입력하고 'Microsoft Sentinel 인시던트가 생성될 때' 트리거를 선택합니다.
-
Sentinel에 연결: 처음이라면 Sentinel 작업 공간에 대한 연결을 생성해야 합니다. 필요한 권한이 있는 계정으로 인증하세요.
-
작업 추가(이메일 보내기):
+ 새 단계를 클릭합니다. -
검색 필드에 '이메일 보내기'를 입력하고 'Office 365 Outlook' 커넥터(또는 선택한 다른 이메일 공급자)에서 '이메일 보내기(V2)' 작업을 선택합니다.
-
이메일 작업 구성: Sentinel 사건 트리거의 동적 콘텐츠를 사용하여 이메일 필드를 채웁니다.
- 받는 사람: 받는 사람의 이메일 주소를 입력합니다(예:
[email protected]). - 제목: '새 감시 사건:' 및 동적 콘텐츠에서 '사건 제목'을 선택하세요.
- 본문: 사건 세부정보를 포함하여 정보가 담긴 이메일 본문을 만듭니다.
제목:(사건 제목선택)심각도:(사고 심각도선택)설명:(사건 설명선택)사건 링크:(사건 URL선택)
- 받는 사람: 받는 사람의 이메일 주소를 입력합니다(예:
-
저장을 클릭하여 플레이북을 저장합니다.
4. 플레이북 권한 부여
플레이북이 Sentinel 및 기타 리소스와 상호작용하려면 권한이 필요합니다. 이를 수행하는 가장 쉬운 방법은 'Microsoft Sentinel Contributor' 역할을 논리 앱 관리 ID에 할당하는 것입니다.
- Azure Portal에서 Azure Sentinel 작업 영역으로 이동합니다.
- 왼쪽 탐색 창에서 액세스 제어(IAM)을 선택합니다.
+추가>역할 할당 추가를 클릭합니다.- 역할: 'Microsoft Sentinel Contributor'를 선택합니다.
- 구성원: '액세스 할당'에서 '관리 ID'를 선택합니다.
- '+멤버 선택'을 클릭하세요.
-
관리 ID: '논리적 앱'을 선택하고 플레이북('NotifyIncidentSentinel')을 검색합니다. 선택하고 '선택'을 클릭하세요.
-
'검토 + 할당'을 클릭하여 완료하세요.
5. 플레이북을 트리거하는 자동화 규칙 생성
이제 새로운 인시던트가 생성될 때마다 플레이북을 실행하도록 Sentinel에서 자동화 규칙을 생성해 보겠습니다.
- Azure Portal에서 Azure Sentinel 작업 영역으로 이동합니다.
- 왼쪽 탐색 창에서 자동화를 선택합니다.
+ 생성>자동화 규칙을 클릭합니다.- 자동화 규칙 이름: 이름을 지정합니다(예: '새 사건 알림').
- 트리거: '인시던트가 생성될 때'를 선택합니다.
- 조건: 특정 사건에 대해서만 규칙이 실행되도록 조건을 추가할 수 있습니다(예:
심각도같음높음). 이 예에서는 조건을 추가하지 않으므로 모든 새로운 사건에 규칙이 적용됩니다. - 작업: '작업'에서 '플레이북 실행'을 선택합니다.
-
드롭다운 메뉴에서 P를 선택합니다.귀하가 만든 레이북(
NotifyIncidentSentinel). -
순서: 규칙 실행 순서를 정의합니다(규칙이 여러 개인 경우).
- 규칙 만료: 규칙이 특정 시점에 만료되어야 하는지 여부를 정의합니다.
- '적용'을 클릭하여 자동화 규칙을 생성합니다.
검증 및 테스트
자동화를 검증하려면 Sentinel에서 인시던트 생성을 트리거해야 합니다.
1. 테스트 사건 발생
- Azure Portal에서 Azure Sentinel 작업 영역으로 이동합니다.
- 왼쪽 탐색 창에서 사건을 선택합니다.
- '+ 인시던트 생성(미리보기)'을 클릭하세요.
- 테스트 사건 세부정보(제목, 설명, 심각도 등)를 입력하고 '만들기'를 클릭합니다.
2. 플레이북 실행 확인
-
이메일 확인: 플레이북에서 설정한 수신자의 받은편지함을 확인하세요. 귀하가 생성한 테스트 사건의 세부 정보가 포함된 이메일을 받게 됩니다.
-
플레이북 실행 기록 확인: Azure Portal에서 논리 앱(
NotifyIncidentSentinel)으로 이동합니다. - 왼쪽 탐색 창에서 개요를 선택한 다음
실행 기록탭을 선택합니다. - 테스트 인시던트에 해당하는 성공적인 실행이 표시되어야 합니다. 클릭하면 각 단계(트리거 및 작업)의 세부 정보를 볼 수 있습니다.
고급 실제 사례: 악성 IP 차단
악의적인 IP 주소가 포함된 인시던트를 수신하면 해당 IP를 Azure NSG(네트워크 보안 그룹)의 차단 규칙에 추가하는 고급 플레이북을 만들어 보겠습니다.
- 새 플레이북 만들기: 섹션 2의 단계에 따라 새 논리 앱을 만듭니다(예: 'BloquearIPMalicioso').
- 트리거 구성: 'Microsoft Sentinel 사고가 생성될 때' 트리거를 사용합니다.
-
작업 추가(사고 엔터티 가져오기): 새 단계를 추가하고 'Microsoft Sentinel' 커넥터에서 '엔터티 - IP 가져오기' 작업을 찾습니다. 그러면 사고 IP 주소가 추출됩니다.
-
작업 추가(각 IP에 대한 루프): 사건에는 여러 개의 IP가 있을 수 있으므로 '각각' 컨트롤을 추가하여 이전 작업에서 반환된 IP 목록을 반복합니다.
-
작업 추가(NSG에 IP 추가): 'For Each' 루프 내에 '네트워크 보안 그룹 업데이트'라는 'Azure NSG' 커넥터 작업을 추가합니다.
- 리소스 그룹: NSG의 리소스 그룹을 선택합니다.
- 네트워크 보안 그룹 이름: 업데이트하려는 NSG를 선택합니다.
- 보안 규칙: 다음 속성을 사용하여 새 보안 규칙을 추가합니다.
- 이름:
BlockIP-(그리고For Each루프에서 동적 IP를 추가합니다). - 우선순위: 높은 우선순위를 설정합니다(예: 100).
- 방향:
입력. - 액세스: '거부'.
- 프로토콜:
모두. - 소스 포트 범위:
*. - 대상 포트 범위:
*. - 소스 주소: 'For Each' 루프의 동적 IP를 선택합니다.
- 대상 주소:
*.
- 이름:
-
저장 및 권한 부여: 플레이북을 저장하고 논리 앱 관리 ID(예: NSG 범위의 '네트워크 기여자')에 필요한 권한을 부여합니다.
- 자동화 규칙 생성: 사고에 악성 IP가 포함된 경우(예: 분석 규칙 이름 또는 태그 기반) 이 플레이북을 트리거하기 위해 Sentinel에서 새로운 자동화 규칙을 생성합니다.
보안 팁 및 모범 사례
- 관리형 ID 사용: 자격 증명이나 API 키를 저장하는 대신 항상 관리형 ID를 사용하여 플레이북을 인증하세요.
- 플레이북에 대한 최소 권한 원칙: 작업을 수행하는 데 꼭 필요한 권한만 플레이북에 부여합니다. 예를 들어 플레이북이 데이터 읽기만 하면 되는 경우 쓰기 권한을 부여하지 마세요.
- 개발 환경에서 테스트: 플레이북을 프로덕션에 배포하기 전에 개발 또는 테스트 환경에서 철저하게 테스트하여 의도하지 않은 결과를 방지하세요.
- 플레이북 모니터링: 플레이북의 실행 기록을 모니터링하여 실패나 예상치 못한 실행을 감지합니다. 플레이북 오류에 대한 경고를 구성합니다.
- 문서화: 각 플레이북이 수행하는 작업, 플레이북에 포함된 권한, 트리거 방법을 명확하게 문서화합니다. 이는 유지 관리 및 감사에 매우 중요합니다.
- 버전 관리: 버전 관리 시스템을 사용합니다.버전(예: Git)을 사용하여 Logic Apps의 소스 코드를 관리하고(ARM 모델 내보내기) 변경 내용 추적 및 공동 작업이 가능합니다.
- 파괴적인 작업에 대한 사람의 승인: 생산에 영향을 미칠 수 있는 수정 작업(예: 중요한 서버 격리)의 경우 플레이북에 사람의 승인 단계를 추가하는 것이 좋습니다(예: 적응형 카드를 통해 승인/거부 옵션이 포함된 이메일 보내기).
일반적인 문제 해결
- 플레이북이 트리거되지 않음: Sentinel에서 자동화 규칙을 확인하세요. 인시던트가 규칙 조건을 충족하는지 확인하십시오. 플레이북 트리거가 올바르게 구성되었는지 확인하세요.
- 플레이북 실행 실패: 논리 앱 실행 기록을 확인하여 실패한 단계와 오류 메시지를 식별합니다. 일반적인 원인으로는 권한 부족, 잘못된 매개변수 또는 연결 문제 등이 있습니다.
- 권한 오류: 논리 앱 관리 ID에 액세스하려는 리소스(예: Sentinel, NSG, Azure AD)에 대한 필수 RBAC 권한이 있는지 확인하세요.
- 무한 루프: 플레이북은 동일한 사건을 다시 트리거하여 무한 루프를 생성하는 작업을 수행하지 않도록 주의하세요. 이를 방지하려면 자동화 규칙의 조건을 사용하세요.
- 커넥터 문제: 알려진 제한 사항이나 문제에 대해서는 사용 중인 논리 앱 커넥터에 대한 설명서를 확인하세요. 연결이 건강한지 확인하세요.
결론
Azure Sentinel의 플레이북을 사용하여 사고 대응을 자동화하는 것은 모든 보안 팀을 위한 혁신적인 기능입니다. 반복적인 작업을 자동화하고 해결 조치를 조율함으로써 조직은 위협 대응 시간을 대폭 줄이고 SOC 효율성을 높이며 일관되고 표준화된 사고 대응을 보장할 수 있습니다. Azure Logic Apps의 유연성을 통해 간단한 알림부터 여러 도구에 걸친 복잡한 수정 체인까지 자동화 워크플로를 만들 수 있습니다. 이 실용적인 가이드를 통해 보안 전문가는 Microsoft Sentinel의 SOAR 기능을 활용하여 보안 운영을 더욱 민첩하고 효과적으로 만들고 끊임없이 진화하는 위협 환경의 과제에 대처할 준비를 갖추게 됩니다.
참고자료:
[1] 마이크로소프트 런. Microsoft Sentinel의 자동화 규칙을 사용하여 위협 대응을 자동화하세요. 사용 가능: https://learn.microsoft.com/pt-br/azure/sentinel/automate-incident-handling-with-automation-rules [2] 마이크로소프트 런. SOAR(보안 오케스트레이션, 자동화 및 대응)이란 무엇입니까?. 사용 가능: https://learn.microsoft.com/pt-br/azure/sentinel/what-is-soar [3] 마이크로소프트 런. Microsoft Sentinel의 권한. 사용 가능: https://learn.microsoft.com/pt-br/azure/sentinel/roles [4] 마이크로소프트 런. Microsoft Sentinel 플레이북을 생성하고 관리합니다. 사용 가능: https://learn.microsoft.com/pt-br/azure/sentinel/automation/create-playbooks [5] 마이크로소프트 런. Azure Sentinel 자동화 규칙을 생성하고 사용하여 응답을 관리합니다. 사용 가능: https://learn.microsoft.com/pt-br/azure/sentinel/create-manage-use-automation-rules