.. _integration-paloalto-cortex-xsoar: :orphan: .. apikey 미사용 정책으로 docs toctree에서 제거 Paloalto Cortex XSOAR (Demisto) 연동 가이드 ================================================ 이 가이드는 Genian NAC와 Paloalto Cortex XSOAR (Demisto) 연동에 대한 정보를 제공합니다. 가이드 개요 ------------------------------------------------ 본 가이드는 Security Orchestration, Automation, and Response (SOAR) 시스템인 Palo Alto의 Cortex XSOAR (이하, **Demisto** 로 표기함)와 네트워크 접근제어 시스템인 Genian NAC의 연동기능을 수행하기 위한 S/W인 연동용 Adapter의 설치와 설정방법, 연동테스트에 대한 가이드입니다. Demisto의 Adapter는 연동 제품간의 동작을 위해 설치, 활용되는 S/W Package이며, Demisto에 설치되어 지정한 이벤트 발생 시, Genian NAC의 특정 REST API를 호출하는 방식으로 구동됩니다. Genian NAC는 타 장비와의 연동구성으로 다양한 기능을 활용할 수 있도록 REST API를 제공하고 있습니다. (Genian NAC의 API에 대한 추가적인 정보는 :ref:`REST API 활용 가이드 ` 를 참고하시기 바랍니다.) **권장 버전** .. csv-table:: :header: "제품명", "버전", "비고" :widths: 15 15 70 "Cortex XSOAR", "V5.5 이상", "V5.5.0: 연동용 Adapter 수동 설치 필요 / V6.0.0 이상: 연동용 Adapter 자동 포함" "Genian NAC", "V5.0 이상", "2020.05 이후 버전" 연동의 목적 ------------------------------------------------ Genian NAC와 Demisto의 연동은 다음의 효과를 제공합니다. **실효성 높은 네트워크 차단기능** - SOAR, SIEM 등의 분석 제품이 제어을 위해 Genian NAC와 연동 구성 시, Genian NAC는 주요 설비, 인프라 장비를 정확히 식별하여 차단/격리 적용대상에서 제외합니다. 따라서 Demisto가 위협노드의 IP를 전달하면, Genian NAC는 위협이 발생한 노드를 찾아서 정책적용 대상 여부를 판단하여, 적합하다고 판단 되면, 태그를 적용합니다. 적용된 태그에 따라서 노드는 격리, 교정, 알람과 같이 제어를 위한 정책이 적용됩니다. **위협의 확산 최소화** - Genian NAC는 단말이 연결된 Layer2 네트워크에서 차단/격리/교정을 수행하므로, Layer3 기반의 경계보안 제품에서 제어하는 방식보다 네트워크 자체의 위협 확산을 최소화 합니다. **사용자에게 본인의 네트워크 차단 사유에 대한 자동안내** - Genian NAC는 단말의 네트워크 차단 시, 차단사유별로 안내페이지를 사용자에게 제공합니다. 연동용 Adapter 소개 ------------------------------------------------ 연동용 Adapter는 제품 간 연동을 위해 활용되는 Demisto의 Package 입니다. **Genian NAC 연동용 Adapter 동작 안내** 연동용 Adapter는 Demisto에 설치되어, Genian NAC 로 REST API를 호출하여 구동됩니다. Genian NAC와 Demisto 제품 간 연동 시 동작 순서는 다음과 같습니다. .. image:: /images/int-paloalto-cortex-xsoar-process.png :width: 800px Demisto에서 위협노드 탐지 시 위협노드의 IP를 Adapter로 전달 [Adapter 동작 시작: Start] 1) Demisto 에서 전달받은 위협노드의 IP가 Genian NAC 노드 목록에 존재하는 지 확인 - 위협노드가 존재하는 경우: 다음 순서 진행 - 위협노드가 존재하지 않는 경우: *IP not found. {IP} is not exist in your network* 메시지 출력 후 동작 종료 2) 위협노드의 IP를 노드ID(Genian NAC에서 노드 관리 고유식별번호)로 변환 3) Demisto가 지정하는 태그를 위협노드에 할당 - 태그 할당 성공한 경우: Genian NAC 차단정책에 의해 차단 - 태그 할당 실패한 경우: *IP : {IP}, {Tag name} Tag assign fail* 메시지 출력 후 동작 동료 [Adapter 에 의한 동작 종료: End] 사전준비 사항 ------------------------------------------------ **Genian NAC 사전준비** 1) Genian NAC 정책서버 IP 및 네트워크 접속 확인하기 Genian NAC 정책서버와 Demisto 서버 간의 통신을 확인합니다. http를 이용할 경우, TCP/80, https는TCP/8443이 API통신의 기본 포트입니다. (Genian NAC의 접속 포트정보는 UI에서 **시스템 > 서비스 관리 > 접속포트** 에 있습니다.) 2) Demisto 의 연동계정용 API Key 생성하기 본 항목은 Demisto 의 연동용 Adapter가 Genian NAC 의 API 호출 시 사용되는 Genian NAC 의 API Key 를 생성하는 부분에 대한 설명입니다. Genian NAC 관리 UI 에서 **관리 > 사용자** 메뉴로 이동하여, **작업선택 > 사용자 등록** 을 선택하여 Demisto 에서 API 를 이용하여 Genian NAC 접속할 계정을 만듭니다. (기존의 계정을 사용할 경우, API 키만 확인합니다) 주의 할 점은 계정의 **관리역할** 을 **superAdmin** 으로 선택합니다. 계정관리창에서 **API 키** 항목에 API 키가 존재하면 별도로 복사해 두고, 없는 경우엔 **신규 키 생성** 버튼을 클릭하여, API Key 를 생성합니다. 작성을 완료하면, **저장/수정** 합니다. .. _integration-paloalto-cortex-xsoar-tag-name: 3) 위협노드에 할당될 Tag 선정하기 Demisto 가 위협노드로 분류하여 전송한 노드에 할당될 Tag를 선정합니다. Tag 는 Demisto 가 전송한 IP 의 노드를 Genian NAC 가 관리하기 위해서 활용하는 것을 목적으로 해당 노드에 Tag를 적용합니다. (기존의 사용중인 Tag 와 동일한 Tag 명을 지정하면, 그 Tag 가 적용 받는 동일한 정책이 적용됩니다.) (본 가이드에서는 기존에 존재하는 *THREAT* 태그를 활용합니다.) **Demisto 사전준비** Genian NAC 와 Demisto 제품 간 연동을 위해서는 Demisto 에 연동용 Adapter가 설치되어 있어야 합니다. (Demisto V6.0.0 이상 버전부터는 연동용 Adapter가 설치되어 있습니다.) 아래의 연동용 Adapter 설치여부 확인 방법을 참고하여 확인 후, 존재하지 않는 경우 수동으로 설치하여 연동용 Adapter를 추가하시기 바랍니다 1) 연동용 Adapter 설치 여부 확인 Step 1: Demisto Web콘솔 **Settings > INTEGRATIONS > Servers&Services** 메뉴로 이동 Step 2: 연동용 Adapter 설치여부 확인 - 연동용 Adapter가 기본으로 설치되어 있으면, 검색창에 *Genians* 키워드 검색으로 확인 가능합니다. 2) 연동용 Adapter 수동 설치 Step 1: 수동 설치를 위한 연동용 Adapter 파일 다운로드 - 연동용 Adapter 가 존재하지 않을 시 수동 설치를 위해 `다운로드 링크`_ 로 이동하여, **Genians.yml** 과 **Genians.py** 파일의 소스를 복사하여 별도의 파일로 저장합니다. (**Genians.yml** 파일 저장 시 확장자는 **.yml** 로 설정 후 저장합니다.) Step 2: Genians.yml 파일 업로드 - **Settings > INTEGRATIONS > Servers&Services** 메뉴에서 상단 **Upload Integration** 업로드 버튼 클릭 후 **Genians.yml** 파일을 업로드합니다. (**.yml** 확장자 파일만 업로드 가능합니다.) - Genians.yml 파일 정상 업로드 시 **Integration Settings** 창이 자동으로 표시됩니다. Step 3: Genians.py 코드 입력 - **Integration Settings** 좌측 코드 입력창에 **Genians.py** 파일에서 코드만 복사 후 붙혀넣기 합니다. Step 4: 연동용 Adapter 저장 - 우측 상단 **Save** 버튼을 클릭하여 저장합니다. 여기까지 진행했다면 연동용 Adapter 수동 설치가 완료되었습니다. 연동을 위한 Genian NAC 설정 (정책 추가/수정) ------------------------------------------------ 정책을 수립하는 본 과정은 최초 1회만 작업해주시면 이후엔 자동으로 적용됩니다. Step 1: 노드그룹에 Tag 적용하기 (제어정책 생성 시 활용) **정책 > 그룹 > 노드** 메뉴로 이동하여, 노드그룹의 **그룹조건** 항목에서 다음과 같이 설정합니다. .. csv-table:: :header: "설정 항목", "설정 값", "비고" :widths: 25 15 60 "조건연산", "AND", "AND 또는 OR 선택" "조건설정 > 항목", "태그", "" "조건설정 > 조건", "존재하면", "설정유무, 존재하면, 존재하지 않으면 중 택1" "조건설정 > 설정", "THREAT", ":ref:`Genian NAC 사전준비 ` 에서 설정한 Tag 값 입력 (본 가이드에서는 THREAT 태그 활용)" 위와 같이, 그룹의 조건을 설정한 후, 그룹의 이름을 정해주고 저장합니다. (본 가이드에서는 *Demisto_isolation_group* 으로 생성) Step 2: Tag가 적용된 노드를 제어하기 위한 제어정책 만들기 **정책 > 제어정책** 메뉴로 이동한 후, **작업선택 > 생성** 셀렉트박스를 클릭하면 제어정책 마법사가 실행됩니다. **제어정책 마법사** 에서 제공하는 순서에 따라 제어정책을 생성합니다. **정책생성 마법사 설정** 아래와 같이 제어정책 마법사를 이용하여 정책을 생성하면, 제어정책은 활성화 됩니다. 1) 정책선택: **신규생성** 선택 후 **다음** 버튼 클릭 2) 정책 기본설정: 값 입력 후 **다음** 버튼 클릭 .. csv-table:: :header: "설정 항목", "설정 값", "비고" :widths: 25 25 50 "ID", "Demisto_isolation", "정책의 이름 입력" "설명", "Demisto 연동 정책", "정책의 설명 입력" "순서", "3", "정책 적용 순서 입력 (숫자)" "적용모드", "사용함", "사용함/사용안함 중 선택" 3) 노드그룹 할당: 미리 생성한 노드그룹(*Demisto_isolation_group*)을 Drag&Drop 으로 우측 **선택** 항목으로 이동 후 **다음** 버튼 클릭 4) 권한 할당: **다음** 버튼 클릭 (아무것도 선택하지 않을 시 격리) 5) 제어옵션설정: 사용자 메시지에 *Your Device isolated by Demisto. Contact to help@demisto.com* 입력 후 **다음** 버튼 클릭 6) 제어액션설정: 변경하지 않고 **완료** 버튼 클릭하여 정책생성 완료 연동을 위한 Demisto 설정 ------------------------------------------------ 본 항목에서 다루는 Demisto의 설정 부분은 Genian NAC와 연동을 위해 최소화해서 설정하는 부분만을 소개합니다. Step 1: Demisto Web콘솔 **Settings > INTEGRATIONS > Servers&Services** 메뉴로 이동 Step 2: 검색창에 *Genians* 키워드 검색 Step 3: 우측 **Add instance** 텍스트 클릭 Step 4: 연동에 필요한 설정 값 입력 Instance 에서 Name, Server IP, API Key, Tag Name 필드에 값을 입력합니다. (Trust any certificate 체크박스는 필수로 체크하여, URL에 대한 SSL을 검증하지 않도록 설정) .. csv-table:: :header: "필드명", "입력 값", "비고" :widths: 20 35 45 "Name", "Genians_instance_1", "Instance 의 이름 입력" "Server IP", "xxx.xxx.xxx.xxx", "Genian NAC 의 정책서버 IP 입력" "API Key", "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "Genian NAC 의 API Key 입력" "Trust any certificate", "", "체크" "Tag Name", "THREAT", ":ref:`Genian NAC 사전준비 ` 에서 설정한 Tag 값 입력 (본 가이드에서는 THREAT 태그 활용)" Step 5: **Test** 버튼 클릭 후 Success 시 **Done** 버튼 클릭 연동 테스트: 연동 결과 학인 ------------------------------------------------ Demisto에서 위협노드 탐지 시 Genian NAC의 Tag 를 활용한 차단 절차는 다음과 같습니다. Step 1: Demisto에서 위협노드의 IP 자동탐지 - 위협노드 IP: 192.168.100.100 Step 2: Demisto Web콘솔 하단에 있는 명령 실행바(DBot)를 활용하여, 위협노드의 IP를 전달하여 연동용 Adapter 실행 - *!genians-assign-ip-tag ip={위협노드 IP}* 명령어를 활용하여 명령 실행바에 아래의 예제 코드 입력 .. code-block:: bash !genians-assign-ip-tag ip=192.168.100.100 Step 3: Demisto Web콘솔 왼쪽 상단 **Playround** 메뉴로 이동 후 동작 확인 - 정상 동작 시 *IP : [192.168.100.100], [THREAT] Tag assign success.* 메시지 확인 Step 4: Genian NAC Web콘솔 **관리 > 노드** 메뉴로 이동 후 Demisto 에서 지정한 Tag가 위협노드의 IP에 정상적으로 할당되었는지 확인 - 192.168.100.100 단말에서 네트워크 접속 시도 시 차단 확인 .. _다운로드 링크: https://github.com/demisto/content/tree/master/Packs/Genians/Integrations/Genians