Slack 연동 가이드

Note

본문 중의 incoming webhook 의 경우, Slack의 정식 라이선스 사용자만 사용가능합니다.

이 가이드는 Genian NAC와 Slack 연동에 대한 정보를 제공합니다. 여기에는 다음 정보가 포함 됩니다.

연동의 목적

연동을 위한 Slack 설정
  • Slack App(bot) 생성하기

  • Slack App 설정 확인

연동을 위한 Genian NAC 설정
  • 검색필터 설정하기

  • Webhook 전송 설정하기

가이드 개요

  • 이 가이드는 Genian NAC와 Slack의 연동설정방법 및 활용예시를 제공합니다.

  • Genian NAC에서 제공하는 단말의 위협정보, 단말의 정보변경 등의 이벤트 정보를 Slack으로 관리자에게 전송하여, 관리자가 빠르게 인지하고 대응할 수 있도록 도움을 제공합니다.

../_images/int_slack_3rd.png

연동의 목적

Genian NAC와 Slack을 연동하여, 다음과 같은 장점 및 효과를 IT관리자와 사용자에게 제공합니다.

  • 노드의 모든 정보를 대상으로 하는 Genian NAC와 Slack의 시너지 효과

  • 네트워크 위협에 대한 신속한 알림

  • 노드에서 발생하는 관심정보에 대한 알림정보 제공

연동을 위한 Slack 설정

Slack App(bot) 생성 및 설정하기

https://api.slack.com/apps에 Slack 계정으로 로그인 하신 후, App을 만듭니다.

App의 이름을 정해주고, Slack Workspace를 지정합니다.

  • App Name은 Slack에 메시지를 표시하는 Bot의 이름입니다.

  • Development Slack Workspace에서 메세지를 전송할 Workspace를 선택합니다. (Slack 계정과 연결된 Workspace 중에서 선택 가능합니다.)

Webhook 전송테스트

정상동작을 확인하기 위해, App 생성과정에서 확인한 Sample Curl을 복사하여, 터미널에서 명령을 적용해 봅니다. (윈도우와 리눅스가 다르므로 주의바랍니다)

  • 윈도우 터미널에서 실행 시,

    curl -X POST -H 'Content-type:application/json' --data "{\"text\":\"Hello, World!\"}" + Webhook URL
    
  • 리눅스 터미널에서 실행 시,

    curl -X POST -H 'Content-type:application/json' --data '{"text":"Hello, World!"}' + webhook URL
    

연동을 위한 Genian NAC 설정

검색필터 설정하기

  1. Genian NAC의 메뉴에서 ‘감사 > 로그’에서 설정이 가능합니다.

  2. 전송할 내용이 포함된 로그에 대해서 검색필터를 설정합니다.

  3. 검색필터의 저장 및 전송 설정

  • 검색필터의 ‘저장’을 클릭하여, 필터의 이름을 정해주고, 설명을 추가(생략가능)하고, 전송방식 중, ‘Webhook’을 선택합니다.

  • Genian NAC는 이벤트 별로 다른 방식으로 메시지 전송이 가능합니다.

Webhook 설정하기

  • 검색필터 설정 후, Webhook 호출 옵션을 선택하면 다음의 옵션을 요구합니다.

  • Webhook 전송설정 값:

설정 명

설정 값

참고

방식

POST

전송방식 선택

URL 설정

Slack APP의 URL 정보

api.slack.com에서 Features > incoming Webhooks 참고

CHARSET

UTF-8

POST 데이터

전송할 내용을 설정

아래의 예제 참고

데이터 전송타입

application/x-www-form-urlencoded, application/json 중 선택

전송타입에 POST 데이터 값이 다르므로 주의

  • 'application/x-www-form-urlencoded' 선택 시, POST 데이터

    payload={"channel": "webhook_Alarm_Anthony(App 이름)",
    "username": "mkkim(Slack 계정)",
    "text": "신규 MAC이 탐지됨.(메시지내용 시작) IP={_IP} MAC={_MAC} HOST={_HOSTNAME} USERNAME={_USERNAME}"
    }
    
  • 'application/json' 선택 시, POST 데이터

    {"text":" 신규 MAC이 탐지됨 | IP={_IP} MAC={_MAC}"}
    
  • 자세한 설정방법은 장비에서 제공하는 도움말을 활용하시기 바랍니다.

이벤트 전송테스트 하기

  • 로그필터에서 설정한 내용이 Slack으로 전송되는지 여부테스트를 진행합니다.