IBM Resilient 연동 가이드

이 가이드는 Genian NAC와 IBM Resilient(SOAR) 연동에 대한 정보를 제공합니다.

가이드 개요

이 가이드는 Security Orchestration, Automation, and Response (SOAR) 시스템인 IBM의 Resilient와 네트워크 접근제어 시스템인 Genian NAC의 연동을 위한 IBM Resilient 연동용App의 설치와 설정 방법에 대한 가이드입니다.

Genian NAC는 RESTful API를 제공하고 있으므로, 이 가이드에서 작성한 방법이외에도 다양하게 IBM Resilient와 연동하여 활용할 수 있습니다. (Genian NAC의 추가적인 API는 API 가이드 를 참고 바랍니다.)

연동의 목적

Genian NAC와 IBM Resilient의 연동은 다음의 효과를 제공합니다.

실효성 높은 네트워크 차단기능

  • SOAR, SIEM 등의 분석 제품이 Enforcement를 위해 Genian NAC와 연동 구성 시, Genian NAC는 주요 설비, 인프라 장비를 정확히 식별하여 차단/격리 적용대상에서 제외 합니다

위협의 확산 최소화

  • Genian NAC는 단말이 연결된 Layer2 네트워크에서 차단/격리/교정을 수행하므로, Layer3 기반의 경계보안 제품에서 제어하는 방식보다 네트워크자체의 위협에 대한 확산을 최소화 합니다.

사용자에게 본인의 네트워크 차단 사유에 대한 자동안내

  • Genian NAC는 단말의 네트워크 차단 시, 차단사유별로 개별의 안내페이지를 제공합니다.

Resilient Circuits(IBM Resilient 연동용 App)소개

Resilient Circuits(연동용 App)

  • IBM Resilient에 설치되어, Genian NAC를 활용하는 이벤트 발생 시, Genian NAC의 API를 호출하여 구동하도록 구성되어있는 Application입니다.

Genian NAC연동용 Resilient Circuits의 동작 안내

  • Resilient Circuits는 IBM Resilient에 설치되어, Genian NAC에게 API를 호출하여 구동되며, 동작 순서는 다음과 같습니다.

../_images/int_IBM_resilient_app_process.png

IBM Resilient에서 이벤트 발생(위협 IP 식별)후, App으로 전달,

[App 동작 시작: start]

  1. Genian NAC 노드 목록에 위협 IP를 가진 노드가 네트워크에 존재하는 지 확인

  • 노드가 존재하는 경우: 다음 순서 진행

  • 노드가 존재하지 않는 경우: ‘해당 노드는 관리대상이 아닙니다’ 메시지 출력 후, App 종료

  1. 위협 IP의 노드ID(Genian NAC의 노드 관리 고유식별번호) 확인

  2. Resilient가 위협 노드에 부여할 Tag(Resilient_enforcement)가 Genian NAC의 Tag목록에 존재하는지 확인

  • Tag가 존재하는 경우: 다음 순서 진행

  • Tag가 존재하지 않는 경우: Tag 생성 후 다음순서진행

  1. 위협 노드에게 Tag 할당

[App에 의한 동작 종료: end]

이 후, Genian NAC의 Tag별로 지정된 정책을 수행하여 차단하게 됩니다. Genian NAC는 Tag를 이용하여 네트워크 차단/격리, 교정, 알림 등의 다양한 제어방식으로 관리자가 정책을 설정하여 적용합니다. (연동을 위한 Genian NAC설정’에서 상세하게 설명)

사전준비 사항

Genian NAC 사전준비

  1. IBM Resilient의 연동계정용 API키 생성하기

본 항목은 IBM-Resilient의 연동용 App(Resilient-circuits)이 Genian-NAC의 API 호출 시 사용되는 Genian NAC의 API-Key를 생성하는 부분에 대한 설명입니다.

Genian NAC 관리 UI 에서 ‘관리 > 사용자’ 메뉴로 이동하여, ‘작업선택 > 사용자 등록’을 선택하여Resilient에서 API를 이용하여 Genian NAC접속할 계정을 만듭니다. (기존의 계정을 사용할 경우, API키만 확인합니다) 주의 할 점은 계정의 ‘관리역할’이 ‘superAdmin’으로 선택합니다.

계정관리창에서 ‘API 키’ 항목에 API키가 존재하면 별도로 복사해 두고, 없는 경우엔 ‘신규 키 생성’버튼을 클릭하여, API-Key를 생성합니다. 작성을 완료하면, ‘저장/수정’합니다.

  1. 위협노드에 설정될 Tag명 선정하기

IBM Resilient가 위협노드로 분류하여 전송한 노드에 할당될 Tag의 이름을 선정합니다.

(Tag는 IBM Resilient가 전송한 IP의 노드를 Genian NAC가 관리하기 위해서 활용하는 것을 목적으로 해당노드에 적용합니다. (기존의 사용중인 Tag와 동일한 Tag명을 지정하면, 그 Tag가 적용받는 동일한 정책이 적용됩니다.))

IBM Resilient 사전준비

  1. Genian NAC연동용 App 준비하기

  • Genian NAC와 Resilient 연동을 위한 pk_genian_nac_v1.1.x.zip를 다운받습니다. (IBM App-Exchange에서도 제공)

  1. 연동용 App을 설치하기 위한 IBM Resilient계정 준비하기

  • System 계정/비밀번호

    • 수정권한 필요: config.py, app.config

    • 실행권한 필요: PIP install, Resilient-circuits

  • WEB UI admin 계정/비밀번호

Networking 사전 준비사항

Genian NAC Policy Center와 IBM Resilient 서버 간의 통신을 확인합니다. http를 이용할 경우, TCP/80, https는TCP/8443이 API통신의 기본 포트입니다.

(Genian NAC의 접속 포트정보는UI에서 ‘시스템 > 서비스 관리 > 접속포트’에 있습니다.)

연동을 위한 IBM Resilient 설정

본 문서에서 다루는 IBM-Resilient의 설정 부분은 Genian NAC와의 연동을 위해 최소화해서 설정하는 부분만을 소개합니다.

Step 1: App 업로드하기

resilient의 구동을 위한 디렉토리에 업로드 합니다. (winscp 등의 도구를 활용하면 편리합니다)

[/home/resadmin/pk_genian_nac] 이 기본경로입니다.

Step 2: App 설치하기

압축을 풀어주고, 설치합니다.

[sudo pip install ../pk_genian_nac/] 로 설치를 진행하여, 정상적으로 설치가 되면,

맨 마지막 줄에 “Successfully installed pk-genian-nac-1.1.x”가 보입니다.

Step 3: Genian NAC 설정정보입력

Genian NAC의 정보를 설정합니다.

[ ~ pk_genian_nac/pk_genian_nac/util ] 로 이동합니다.

vi config.py 를 입력하여, Genian NAC의 설정 값을 입력합니다.(사전준비사항의 정보)

# Input Genian NAC config
nac_server="Genian NAC 정책서버 IP" (e.g. 172.29.52.220)
api_key="API-Key" (e.g. 8375eae5-d976-....-....-............)
tag_name="적용Tag이름" (e.g. Resilient_enforcement)

예제를 참고하여 nac_server, api_key, tag_name의 설정 값을 입력한 후, 저장합니다.

Step 4: 설정 값 반영하기

[resilient-circuits config –u] 를 입력하여 설정 값을 적용합니다.

정상적으로 적용되면, 업데이트 되었다는 메시지가 출력됩니다.

Note

  • 운영중인 상태에서, 설정 값만 변경하는 경우에는 “/home/resadmin/.resilient/app.config”에서 수정합니다

  • 추가적인 설정, 변수, 항목의 추가하는 경우엔 config-u를 통해서 적용하기 바랍니다.

Step 5: workflows와 function 추가 및 Resilient Circuits 실행하기

[resilient-circuits customize] 를 실행하면, workflow, function, message destination 가 자동으로 생성, 적용됩니다.

여기까지 진행하시면, App 설치 과정은 완료되었습니다.

[resilient-circuits run] 을 입력 하시면, IBM resilient는 이벤트를 기다리는 상태가 됩니다.

연동을 위한 Genian NAC 설정(정책 추가/수정)

정책을 수립하는 본 과정은 최초 1회만 작업해주시면 이후엔 자동으로 적용됩니다.

Step 1: 노드그룹에 Tag 적용하기

‘정책 > 그룹 > 노드’로 이동하여 노드그룹의 ‘그룹조건’ 항목에서 다음과 같이 설정합니다.

설정 항목

설정 값

참고

항목

태그(Tag)

조건

존재하면

설정

Resilient_exforcement

위와같이, 그룹의 조건을 설정한 후, 그룹의 이름을 정해주고 (본 가이드에서는 'Resilient_isolation_node'로 생성) 저장합니다.

Step 2: Tag가 적용된 노드를 제어하기 위한 제어정책 만들기

‘정책 > 제어정책’으로 이동한 후, ‘작업선택 > 생성’을 클릭하면, 제어정책 마법사가 실행됩니다.

‘제어정책 마법사’에서 제공하는 순서에 따라 제어정책을 생성합니다.

제어정책 마법사 설정

(아래의 과정은 Resilient가 위협노드 IP를 전달하면 네트워크 격리 실행을 예로 설명)

  1. 정책생성: 신규생성 선택

  2. 정책 기본설정:

설정 항목

설정 값

참고

ID

Resilient_isolation_policy

정책의 이름을 정해줍니다.

설명

IBM Resilient 연동정책

정책의 설명을 작성합니다.

순서

3

정책 적용 순서 (숫자로 기입)

적용모드

사용함

사용함/사용안함 중 선택

  1. 노드그룹 할당: 좌측의 ‘사용가능’한 노드그룹중에서 ‘Resilient_isolation_node’를 Drag&Drop으 로 우측의 ‘선택’ 항목으로 이동합니다.

  2. 권한 할당: 아무것도 선택하지 않고 ‘다음’을 클릭합니다. (아무것도 선택하지 않으면 ‘격리’입니다.)

  3. 제어옵션 설정: 사용자 메시지에 “Your device is isolated by IBM Resilient”를 입력하고 ‘다음’을 클릭합니다. (위협노드가 격리되었을 때, 옵션을 설정하는 부분입니다.)

  4. 제어액션: 변경하지 않고 ‘완료’버튼을 클릭하여 정책생성을 완료합니다.

위와 같이 ‘제어정책 마법사’를 이용하여 정책을 생성하면, 제어정책은 활성화 됩니다.