top of page
  • Writer's pictureamber lee

우리 주변에서 흔하게 볼 수 있는 API 활용 사례_Trellix


우리 주변에서 흔하게 볼 수 있는 API 활용 사례

업무를 진행하다 보면 단순하고 반복적인 업무를 수행하는 경우가 많은데요, 이는 사내의 보안을 책임지는 보안담당자 에게도 마찬가지 입니다. ​ 오늘은 자동화를 위한 첫걸음인 API를 활용한 Trellix NX 업무 자동화 방안에 대해 확인해보려 합니다! 저와 함께 떠나볼까요? ​ ​

우리 주변에서 흔하게 볼 수 있는 API 활용 사례

API가 무엇인지 확인하기 전에 활용 사례를 먼저 확인해보면 좋을 것 같습니다. ​ 흔히, 날씨 정보를 확인하기 위해서는 인터넷 검색, 일기예보 시청 등 다양한 매체를 통해 날씨 정보를 확인합니다. 저는 주로 인터넷 검색을 통해 날씨를 확인하는데요, 저는 네이버 검색, 기상청 사이트에서 강남역 날씨를 검색해보겠습니다.


네이버에서 기상청이 제공한 날씨 정보




기상청에서 사이트에 접속 후 날씨 정보
  1. 네이버에서 기상청이 제공한 날씨 정보











  1. 기상청에서 사이트에 접속 후 날씨 정보






동일한 데이터를 활용해 날씨를 표시하지만 다른 이미지를 사용하고, 가독성의 차이가 있는 것 같습니다. 우리에게 익숙한 네이버는 기상청이 제공하는 데이터를 표시하기 위해서 기상청이 제공하는 API 서비스를 활용하여 사용자가 보기 편하게 가공하여 제공하고 있음을 확인 할 수 있습니다. ​ 먼저 REST API가 뭔지 간단하게 안내 드리도록 하겠습니다. ​




“REST” ( Representational State Transfer )

- 자원을 이름으로 구분하고, 자원의 상태를 주고받습니다. 예를들어 학교의 데이터에 홍길동을 입력하면, 3학년 2반의 홍길동 학생을 반환합니다 데이터가 요청되는 ( Request ) 시점에서 자원의 상태에대한 응답 ( Response )를 반환 - HTTP 규칙과 함께, 웹의 기술을 사용하여 쉽게 접근 가능한 아키텍처 스타일 입니다.



“API” ( Application Programming Interface )

- 데이터 및 기능의 집합을 제공하고 프로그램간 상호작용을 통해 서로 정보를 교환 합니다. ​ 위의 기상청 API를 활용한 사례와 REST, API에 대한 설명으로 기본적은 이해가 되었다고 믿고, REST API에 대해 안내하도록 하겠습니다! ​ ​



“ REST API” (Representational State Transfer Application Programming Interface)란

- REST 규칙을 활용한 API 서비스라고 보시면 될 것 같습니다. ​ - REST는 HTTP 규칙을 사용한다고 말씀드렸는데요, JavaScript, Python, curl, GO등 HTTP를 지원하는 프로그램에서 REST API를 사용이 가능하다는게 가장 큰 특징이자 장점이라고 볼 수 있습니다. ​ - 또한 HTTP 상태코드를 통해서 정보가 성공적으로 교환 되었는지, 오류가 나지 않았는지 확인하는 절차도 쉽고 빠르게 확인이 가능합니다. ​



아래의 상태코드는 API를 호출하며 우리가 많이 보게되는 코드를 정리해봤습니다.

API를 호출하며 우리가 많이 보게되는 코드

​ Trellix 역시 제품을 구매한 고객을 대상으로 REST API 서비스를 제공하고 있는데요, 제공하는 서비스의 중 고객들이 많이 사용하는 서비스는 무엇인지 살펴보도록 하겠습니다. ​




제공하는 서비스의 중 고객들이 많이 사용하는 서비스


이를 제외하고도 여러 기능을 제공하고 있으며 자세한 사항은 API 가이드 문서가 잘 나와있습니다! Trellix를 사용하는 고객들은 해당 문서를 파트너사로부터 공유 받아 API를 활용하시면 좋을 것 같습니다 ​ Trellix 제품에서 API를 사용하기 위해서는 가장 먼저 인증을 위한 토큰을 발급 받아야 합니다. ​ API 토큰을 발급받지 않을 경우, 서버로 올바른 요청을 보내더라도, 401 에러가 발생하며 인증정보를 요구하게 됩니다! 토큰의 경우 다음과 같은 형식으로 요청을 보내야만 발급이 가능합니다. ​


example ) base64 인코딩 ( username : password )을 진행해야 정상적인 토큰을 발급 받을 수 있습니다. ​ username : admin password : 1234 admin:1234 → Base64 인코딩 → YWRtaW46MTIzNA== ​ curl, postman등 다양한 방법을 사용해 API 요청을 보내고 토큰을 발급받을 수 있지만, 저는 Python script를 작성 해서 토큰을 발급 받아보도록 하겠습니다. ​ ​

STEP 1 >


 Python script를 작성 해서 토큰을 발급



STEP 2> ​ ▶API Token을 자동으로 가져오는 Python Script ​

API Token을 자동으로 가져오는 Python Script

​ ​ ​ config.ini 파일에 입력된 Trellix 서버로 API요청을 진행하고, 서버는 헤더 정보를 통해 우리에게 원하는 정보를 반환합니다. 우리는 정규표현식을 활용하여 X-FeApi-Token 값을 추출하고 추후 사용하는 API에서 계속해서 활용하게 됩니다.

​ ​

API Token을 자동으로 가져오는 Python Script


장점

API서버 잘 구성되어있는 제품을 활용하면 발생하는 장점이 무엇이 있을까요? ​

  1. 보안 업무 자동화

  2. 사내 인프라 보안성 향상

  3. 보안 담당자의 업무 부하감소

​ ​ 오늘은 API 요청을 통해서 인증토큰 값을 획득하는 방법에 대해 알아보았습니다. 해당 토큰값은 추후 포스팅 예정인 API 주제에서 계속해서 활용 될 예정입니다~ ​ 추후 진행 예정 포스팅 Trellix API를 활용하여 하루동안 탐지된 이벤트의 상세정보를 확인해보도록 하겠습니다. ​

  • 상세 정보를 통해 Hash, URL 추출하여 타사보안 장표로 활용하는 방안 확인

​ ​ 자동화 솔루션을 구매하여 사용하시는 방법도 존재하지만 별도의 비용 투자 없이 API에 대해 학습하고 간단한 자동화를 통해 개인의 실력 향상을 노려보는건 어떠신가요?

글. 노동혁 엔지니어_다온 기술




다온기술에 문의하기



25 views0 comments
bottom of page