최근 몇 년 동안 API의 확산으로 인해 기업의 운영 방식이 크게 바뀌었습니다. API를 사용하면 서로 다른 애플리케이션이 서로 통신하고 데이터를 교환할 수 있으며, 이를 통해 보다 효율적이고 효과적인 비즈니스 프로세스와 소프트웨어 개발이 가능합니다.
그러나 API 사용 증가에 따라 API 확산 이라는 위험이 발생합니다. API가 여러 분산된 팀과 아키텍처에 생성되고 배포되는 경우 적절한 감독 및 관리가 이루어지지 않는 경우가 많습니다. 각 API는 공격자가 중요한 데이터와 시스템에 무단으로 액세스할 수 있는 잠재적인 진입점이기 때문에, 이는 기업에 새로운 보안 위험을 초래할 수 있습니다.
API 확산의 주요 원인 중 하나는 마이크로서비스의 확산입니다. 마이크로서비스 아키텍처는 더 큰 애플리케이션을 API를 통해 서로 통신하는 더 작고 개별적인 애플리케이션으로 나눕니다. 이는 복잡한 애플리케이션을 개별 팀이 관리하고 트래픽 수요를 충족하기 위해 서로 독립적으로 확장할 수 있는 개별적인 부분으로 나눕니다.
마이크로서비스는 개발자에게 많은 이점을 제공하는데, 그중에는 유연성과 확장성이 향상되는 것도 포함됩니다. 그러나 이러한 이점에는 추가적인 복잡성을 포함한 단점이 있습니다. 결과적으로 많은 기업이 마이크로서비스를 구축하는 데 API 우선 접근 방식을 채택합니다. 이 전략에서 애플리케이션과 서비스를 설계하는 과정은 API 계약부터 시작합니다. API 계약은 API의 작동 방식을 설명하며, 요청 및 응답 형식까지 포괄합니다.
API 우선 소프트웨어 개발의 이점은 API 보안을 심각하게 받아들이지 않으면 쉽게 훼손될 수 있습니다. 특히 설계 및 배포 단계에서 보안이 취약해질 수 있습니다. 가장 기본적인 수준에서, API가 많아질수록 공격 표면도 늘어납니다. API는 현대 소프트웨어 개발에 중요한 역할을 하지만, 동시에 악용이 쉬워지고 있습니다.
2018년에 가트너는 API가 2022년까지 애플리케이션에 대한 가장 흔한 공격 벡터가 될 것이라고 예측했습니다 . 사실, 그들이 그렇게 많은 지연을 예측한 것은 지나치게 낙관적이었습니다. 수백만 명의 사용자에게 영향을 미치는 주요 회사의 주요 API 침해는 이미 발생하고 있었으며 점점 더 흔해지고 있습니다.
이러한 공격의 폭과 종류는 보안 및 엔지니어링 분야의 리더들이 직면한 과제를 보여줍니다. 일부 공격은 인터넷에 잘못 노출된 API를 악용합니다. 코드 저장소에 잘못 노출된 API 키나 기타 인증 방법을 사용하는 사람들도 있습니다. 또는 공격자는 VPN을 악용하여 내부 환경에 접근하고 내부 API를 사용하여 데이터를 빼냅니다.
API 위협으로부터 보호하는 가장 일반적인 방법은 기존 웹 애플리케이션 보안 전략과 최신 API 보안 기술을 결합하는 것입니다. 오늘날 다양한 API 위협에 직면해서는 기존의 전략은 종종 부족합니다. 자동화된 API 검색 및 API 대조 테스트와 같은 최신 기술은 이러한 격차를 해소하려고 시도됩니다.
기업에서는 올바른 방향으로 보호 (배포된 앱과 API를 보호하기 위해 글로벌 제어 및 보안 정책을 구현)하고, 왼쪽으로 이동 (앱과 API를 프로덕션에 투입하기 전에 취약점을 제거하기 위해 코드에 보안을 구축)하는 것이 중요합니다. 어느 전략도 단독으로 포괄적인 API 보안을 제공할 수 없으므로 침해를 방지하는 핵심은 API 보안 관행의 세 가지 범주를 포괄하는 전체적인 접근 방식입니다.
올바른 전략과 올바른 도구를 결합함으로써 조직은 API를 공격으로부터 더 잘 보호하고 소프트웨어 시스템의 보안을 보장할 수 있습니다. 플랫폼 엔지니어링 리더가 API를 수명 주기 전반에 걸쳐 보호하기 위해 구현해야 하는 중요한 기능과 도구를 살펴보겠습니다.
API 보안 포스처 관리를 통해 API에서 노출되는 개수, 유형, 위치 및 데이터에 대한 가시성을 확보할 수 있습니다. 이 정보는 각 API와 관련된 위험을 이해하는 데 도움이 되므로 API를 보호하기 위한 적절한 조치를 취할 수 있습니다.
주요 기능:
대표 기술 :
어떠한 기술도 아키텍처의 모든 API를 안정적으로 찾을 수는 없다는 점을 명심하는 것이 중요합니다. 대부분의 검색 기술은 기존 로드 밸런서, API 게이트웨이, Ingress 컨트롤러가 제공하는 가시성에 의존하며, 이러한 아키텍처 구성 요소를 우회하는 잘못된 구성을 포착할 가능성이 낮습니다.
궁극적으로, 코드 검토와 API 우선 모범 사례를 따르는 것이 더 효과적인 장기적 예방책이 됩니다. 그러나 자동화된 API 검색 도구는 여전히 보안 태세를 빠르게 구축하고 관리되지 않고 보안이 취약할 수 있는 API를 포착하는 데 유용합니다.
API 보안 포스처 관리가 기업 전체의 보안과 관련된 반면, API 보안 테스트는 개별 API에 대한 것입니다. 가장 기본적인 API 보안 테스트는 API 런타임(API 뒤에서 실행되는 애플리케이션)을 테스트하여 취약성과 관련 위험을 식별하고 방지하는 데 도움이 됩니다. 인증, 권한 부여, 속도 제한 및 암호화 조건을 포함하여 기본 보안 요구 사항이 충족되었는지 확인하는 데 도움이 됩니다.
주요 기능:
대표 기술 :
전담 API 보안 공급업체가 제공하는 오픈소스 계약 테스트 도구와 상용 제품이 모두 있습니다. 애플리케이션 보안 테스트(AST) 시장은 수십 년 동안 존재해 왔으며, 점점 더 많은 공급업체가 API에 대한 전용 스캐닝 및 테스트 도구를 제공하고 있습니다.
API 런타임 보호는 API가 작동하고 요청을 관리할 때 API를 보호하는 것을 말합니다. API 자체의 코드뿐 아니라 플랫폼 인프라에도 보안을 구축하는 것을 우선시합니다. 목표는 배포 후 나타나는 악성 API 요청을 식별하고 방지하는 것입니다.
주요 기능:
대표 기술 :
모든 API 게이트웨이와 WAF/WAAP가 동일하게 만들어진 것은 아닙니다. 일부 서비스, 특히 클라우드와 다른 플랫폼에서 제공되는 기본 솔루션의 경우 멀티 클라우드와 하이브리드 아키텍처에 필요한 글로벌 가시성과 표준화가 부족합니다.
API 보안의 중요성을 감안할 때, 체계적인 방식으로 API 보안에 접근하는 것이 필수적입니다. 플랫폼 엔지니어링 및 보안 리더는 API 라이프사이클 전체에 걸쳐 보안 요구 사항을 해결하기 위해 협력해야 합니다. 앞서 살펴보았듯이 이는 대략 세 가지 주요 실무 영역과 일치합니다. API 보안 상태 관리, API 보안 테스트, API 런타임 보호. 즉, API가 몇 개인지, 오류를 테스트하는 방법, 코드에 보안을 구축하는 방법을 아는 데 중점을 두어야 합니다.
모든 사이버 보안과 마찬가지로 API 보안은 네트워크 엔지니어, 보안 운영 리더, 플랫폼 엔지니어링 리더, 소프트웨어 개발 엔지니어를 포함한 많은 이해 관계자와의 협력이 필요한 지속적인 프로세스입니다. 좋은 소식은 API를 보호하는 방법이 큰 수수께끼가 아니라는 것입니다.
대부분의 조직에서는 이미 API를 표적으로 삼을 수 있는 크로스 사이트 스크립팅, 주입, 분산 서비스 거부 공격 등 잘 알려진 공격을 막기 위한 대책을 마련해 놓았습니다. 위에서 설명한 모범 사례 중 대부분은 노련한 보안 전문가에게는 매우 익숙할 것입니다. 귀하의 조직에서 아무리 많은 API를 운영하더라도 목표는 견고한 API 보안 정책을 수립하고 이를 시간이 지남에 따라 적극적으로 관리하는 것입니다.
F5 NGINX Management Suite API Connectivity Manager를 포함하여 API를 관리, 통제, 보호하는 NGINX API Connectivity Stack, API 게이트웨이로 사용되는 F5 NGINX Plus, 고급 API 보안을 위한 F5 NGINX App Protect WAF 및 DoS가 포함된 NGINX API Connectivity Stack의 30일 무료 평가판을 시작하세요.
"이 블로그 게시물에는 더 이상 사용할 수 없거나 더 이상 지원되지 않는 제품이 참조될 수 있습니다. 사용 가능한 F5 NGINX 제품과 솔루션에 대한 최신 정보를 보려면 NGINX 제품군을 살펴보세요. NGINX는 이제 F5의 일부가 되었습니다. 이전의 모든 NGINX.com 링크는 F5.com의 유사한 NGINX 콘텐츠로 리디렉션됩니다."