Microservice 및 API 보호, NGINX로 해결
기술 산업에서는 모놀리식 웹 애플리케이션을 Microservice 로 분해하거나 새로운 웹 애플리케이션을 처음부터 Microservice를 사용하여 개발하는 변화가 일어나고 있습니다.
애플리케이션을 작은, 독립적인 서비스로 분해함으로써, 전체적으로 광범위한 애플리케이션 일지라도 개발자들은 애플리케이션의 구성 요소를 독립적으로 변경할 수 있습니다. 이러한 아키텍처 접근 방식은 변경 사항을 전달하는데 소요되는 총 시간을 크게 줄이는 파급 효과를 가져오는 동시에 위험을 줄일 수 있습니다.
Microservice는 한때 의존적이었던 시스템을 분리하고 팀이 개발에서 런타임 운영에 이르기까지 모든 단계에서 더 빠르게 이동할 수 있도록 합니다. Microservice 전환은 개발, 성능, 모니터링 및 보안에 영향을 미칩니다.
일반적으로, Microservice 전환이 진행되는 동안 애자일 방법론 채택 및 DevOps 채용과 같은 문화적 변화와 함께 이루어집니다.
이러한 문화적 움직임은 많은 조직에 전파되어 이전에 전담 부서들이 방해했던 업무의 진행을 방지합니다.
Microservice 전환은 웹에 대해 좋은 영향을 미칩니다.
대부분의 Microservice는 HTTP/HTTPS를 통해 전달되기 때문입니다. HTTP보다 적합한 프로토콜이 있을 수도 있지만, IT 업계에서는 HTTP 프로토콜을 사용하여 최적화하고 제공하는 방법을 다른 어떤 것보다 더 잘 알고 있다는 사실을 부인할 수 없습니다. HTTP를 통해 제공되는 최고의 경험 측면에서 NGINX는 종종 웹 서비스를 제공하기 위해 선택한 웹 서버이며 그 이유를 쉽게 알 수 있습니다.
목차
1. Microservice용 NGINX
2. Microservice 보안 문제
3. NGINX를 사용한 Signal Sciences를 통해 Microservice 보호
1. Microservice용 NGINX
NGINX를 Microservice에서 사용하는 것은 매우 쉽습니다. 이유 중 하나는 (웹 운영 엔지니어들이 매우 좋아하는) 간단한 구성입니다. Microservice에서도 웹 서버로 NGINX를 간단한 구성 변경으로 빠르게 설정할 수 있습니다.
NGINX가 Microservice 구현 및 API Gateway에서 선호되는 웹 서버인 또 다른 이유는 속도입니다. NGINX는 빠르며 웹 규모의 부하에서도 잘 수행됩니다. NGINX는 비동기식으로 설계되어 블로킹 (Blocking) 되지 않는 스레드를 사용하므로 트래픽이 증가하더라도 속도가 느려지지 않습니다.
전 세계 웹의 3분의 1 이상이 NGINX를 사용하고 있으며, 추산치는 34.6%입니다. 그러나 규모가 큰 사이트만을 고려할 경우, NGINX의 사용 비율은 58.4%입니다. 이러한 높은 채택율은 NGINX가 웹 애플리케이션 개발에 얼마나 유용한지 보여줍니다.
마지막으로, 운영 엔지니어들은 NGINX의 유연성을 높이 평가합니다. NGINX는 웹 서버, 프록시 또는 로드 밸런서로 운영될 수 있으므로 아키텍처 전체에서 상호 교환 가능합니다. NGINX는 견고한 HTTPS 성능도 제공하지만, 이 새로운 환경을 보호하는 것은 단순한 보안 프로토콜 이상이 필요합니다.
2. Microservice 보안 문제
한편, 아키텍처 패턴의 특성상 보안은 Microservice 환경에서 현저히 개선됩니다.
서비스를 분리함으로써 복원력이 높아질 뿐만 아니라 시스템 각 부분 사이에 새로운 경계가 생깁니다. 각 API는 자체적으로 적용된 Limiting과 Throattling을 가질 수 있으며, 시스템 내에 과부하나 악용 시도를 탐지하는 데에 사용될 수 있습니다.
Microservice는 더 안전할 수 있지만 Microservice 로의 이동은 새로운 공격 벡터를 생성할 수도 있습니다. Microservice 아키텍처는 새로운 공격 표면을 추가하기 때문입니다. 이전에는 애플리케이션 내 요청이 이제는 네트워크를 통해, 때로는 인터넷을 통해 다른 서비스로 전달되기 때문입니다.
이러한 맥락에서 애플리케이션 보안은 Microservice의 가장 큰 격차 중 하나입니다. 이제 Microservice가 HTTP를 통해 실행되므로 기존 애플리케이션의 보안 문제가 Microservice로 직접 변환됩니다. Injection 공격, XSS (Cross Site Scripting), 권한 접근 통제 및 명령 실행은 여전히 관련이 있습니다. 또한 Microservice에 충분한 모니터링이 없거나 방어 기능이 내장되어 있지 않으면 비즈니스 논리 공격이 감지되지 않을 수 있습니다.
3. NGINX를 사용한 Signal Sciences를 통해 Microservice 보호
Signal Sciences는 주요 웹 서버 중 대부분에서 모듈로 실행되는 웹 보호 플랫폼을 제공합니다.
특히 NGINX에서 가장 두드러진 역할을 합니다. Signal Sciences는 웹 애플리케이션 보안에 대해 독특한 접근 방식을 취합니다.
이 플랫폼은 SQL Injection, XSS (Cross Site Scripting) 및 기타 OWASP TOP 10 공격과 같은 일반적인 웹 애플리케이션 공격 방식을 식별하지만 여기서 그치지 않습니다. Signal Sciences 사용자는 사용자 계정 탈취 또는 모니터링 하려는 모든 애플리케이션 흐름과 같은 비즈니스 로직 결함을 감지 할 수 있도록 Signal Sciences의 맞춤 시그널 (Custom Signal)을 사용할 수 있습니다.
더 자세히 관찰해야 하는 것이 무엇이든 Signal Sciences를 사용하며 쉽게 해결할 수 있습니다.
Signal Sciences는 고유한 비즈니스 논리를 기반으로 애플리케이션 논리 결함 및 문제를 정확히 찾아내기 위해 애플리케이션의 범위를 확장합니다.
Adobe, Etsy 및 Vimeo와 같은 많은 회사와 고객이 Microservice 아키텍처 패턴을 사용하고 있습니다.
NGINX STORE에 문의하여 NGINX를 통해 MIcroservice를 제공하고 보안과 성능을 개선하는 방법에 대해 자세히 알아보세요.