Slack 연동 가이드 ============================ .. note:: 본문 중의 incoming webhook 의 경우, Slack의 정식 라이선스 사용자만 사용가능합니다. 이 가이드는 Genian NAC와 Slack 연동에 대한 정보를 제공합니다. 여기에는 다음 정보가 포함 됩니다. `연동의 목적`_ `연동을 위한 Slack 설정`_ - Slack App(bot) 생성하기 - Slack App 설정 확인 `연동을 위한 Genian NAC 설정`_ - 검색필터 설정하기 - Webhook 전송 설정하기 **가이드 개요** - 이 가이드는 Genian NAC와 Slack의 연동설정방법 및 활용예시를 제공합니다. - Genian NAC에서 제공하는 단말의 위협정보, 단말의 정보변경 등의 이벤트 정보를 Slack으로 관리자에게 전송하여, 관리자가 빠르게 인지하고 대응할 수 있도록 도움을 제공합니다. .. image:: /images/int_slack_3rd.png :width: 650px **연동의 목적** -------------------- 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을 복사하여, 터미널에서 명령을 적용해 봅니다. (윈도우와 리눅스가 다르므로 주의바랍니다) - 윈도우 터미널에서 실행 시, .. code-block:: bash curl -X POST -H 'Content-type:application/json' --data "{\"text\":\"Hello, World!\"}" + Webhook URL - 리눅스 터미널에서 실행 시, .. code-block:: bash 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 전송설정 값: .. csv-table:: :header: "설정 명", "설정 값", "참고" :widths: 20 40 40 "방식", "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 데이터 .. code-block:: bash payload={"channel": "webhook_Alarm_Anthony(App 이름)", "username": "mkkim(Slack 계정)", "text": "신규 MAC이 탐지됨.(메시지내용 시작) IP={_IP} MAC={_MAC} HOST={_HOSTNAME} USERNAME={_USERNAME}" } - 'application/json' 선택 시, POST 데이터 .. code-block:: bash {"text":" 신규 MAC이 탐지됨 | IP={_IP} MAC={_MAC}"} - 자세한 설정방법은 장비에서 제공하는 도움말을 활용하시기 바랍니다. **이벤트 전송테스트 하기** - 로그필터에서 설정한 내용이 Slack으로 전송되는지 여부테스트를 진행합니다.