top of page

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



업무를 진행하다 보면 단순하고 반복적인 업무를 수행하는 경우가 많은데요, 이는 사내의 보안을 책임지는 보안담당자 에게도 마찬가지 입니다. 오늘은 자동화를 위한 첫걸음인 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에 대해 학습하고 간단한 자동화를 통해 개인의 실력 향상을 노려보는건 어떠신가요?

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




다온기술에 문의하기




bottom of page