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으로 ì „ì†¡ë˜ëŠ”ì§€ 여부테스트를 진행합니다.