DevOps 강화를 위한 NGINX 사용

현재 대부분의 모던 소프트웨어 개발에서 “DevSecOps” 개념은 거의 모든 사람에게 익숙합니다.
이 개념은 애플리케이션 보안을 근본적으로 강화하고, DevOps 와 보안팀 간의 마찰을 완화하는 것을 약속합니다.

DevSecOps 모델에서 보안은 “shift-left”로 이동하여 DevOps 개발 및 배포 프로세스에 직접 적용됩니다.
특히 CI/CD (지속적인 통합/지속적인 배포) 파이프라인의 모든 단계에서 보안이 내장되어 보안 결함을 조기에 식별할 수 있습니다.
기존의 보안 모델과 달리 DevSecOps는 보안을 개발의 중심에 두어 문제의 근원지와 더 가까운 곳을 식별하고 비용 및 시간이 많이 드는 수정 작업과 취약성이 프로덕션 환경에 도달하는 것을 방지합니다.

그러나 DevSecOps의 추진에도 불구하고 보안팀은 여전히 DevOps 의 속도에 뒤처지고 있는 것으로 보입니다.
snyk의 DevSecOps Insights 2020 보고서에 따르면 개발자의 48%는 여전히 보안이 소프트웨어를 신속하게 제공하는 능력에 큰 제약이라고 느낍니다.

목차

1. 애플리케이션 보안이 여전히 느린 이유
 1-1. 끊임없이 변화하는 분산된 경계
 1-2. 보안 정책을 자동화하고 CI/CD 파이프라인에 포함할 수 없음
 1-3. 중앙 집중식 가시성 및 보안 인사이트 확보의 어려움
2. 플랫폼 운영으로 전환하는 엔터프라이즈팀
3. NGINX가 DevOps 에 도움이 되는 방법
4. DevOps 간단하게 시작

1. 애플리케이션 보안이 여전히 느린 이유

대부분의 기업은 보안 상태가 어디에 있어야 하는지 알고 있지만, 의도와 현실은 매우 다릅니다. Contrast Security의 The State of DevSecOps Report for 2020에 따르면 99% 이상의 조직이 운영 중인 평균 애플리케이션에 최소 4개 이상의 취약점이 있음을 인정해야 하는 반면, 거의 80%가 개발 중인 애플리케이션에 20개 이상의 취약점이 있다고 보고하고 있습니다.
GitLab의 2021 Global DevSecOps Survey에서 조사한 보안팀의 70%가 보안을 “shift-left”로 전환하고 그 어느 때보다 개발자와 긴밀하게 협력하고 있지만 상당한 보안 격차가 여전히 존재한다는 것은 분명합니다.

NGINX 고객과의 소통을 통해 우리는 보안팀의 DevOps 방식 채택을 계속 늦추거나 차단하는 세 가지 광범위한 문제를 발견했습니다.

1-1. 끊임없이 변화하는 분산된 경계

20년 전과 달리 보안팀은 보안이 용이한 단일 경계를 방어하는 임무를 거의 수행하지 않습니다.
대신 DevOps팀이 개발하고 구축한 앱을 보호해야 하며, 이를 통해 가장 빠르게 반복할 수 있는 환경, 플랫폼 및 툴을 자유롭게 선택할 수 있어야 합니다. DevOps 관행은 혁신에는 좋지만 API를 통해 서로 통신하는 다양한 서비스, 엔드포인트 및 장치를 보호해야 하는 보안 전문가에게는 좋지 않은 소식입니다.
실제로 GitLab 설문 조사에 참여한 응답자 중 절반만이 마이크로서비스와 컨테이너를 포함한 최신 개발 전략을 사용하여 만든 앱을 모니터링하고 보호하는 프로세스를 가지고 있다고 답했습니다.

1-2. 보안 정책을 자동화하고 CI/CD 파이프라인에 포함할 수 없음

서로 다른 팀 간의 혁신은 동일한 속도로 이루어지지 않으며, 보안팀이 사용할 수 있는 대부분의 기존 툴은 shift-left로 이동하는 환경을 위해 설계되지 않았습니다.
결과적으로 보안팀은 자동화 및 최신 인프라에 적합하지 않은 툴을 파이프라인에 적용하고 통합해야 합니다.
더욱 심각한 것은 이러한 툴에는 self-service 기능이 없기 때문에 개발자와 DevOps 엔지니어는 보안에서 정책 및 프로세스에 대한 수동 감사를 완료할 때까지 기다려야 한다는 점입니다.

1-3. 중앙 집중식 가시성 및 보안 인사이트 확보의 어려움

대다수의 엔터프라이즈 앱은 분산되어 있을 뿐만 아니라 분산된 소유권 영역을 가지고 있으며, 각 앱은 서로 다른 도구를 사용합니다.
따라서 조직 내 보안 상태에 대한 통합된 가시성을 확보하는 것은 매우 어렵습니다.
보안팀은 문제의 근본 원인을 파헤치는 대신 서로 다른 위치의 데이터를 통합하고 상관관계를 분석하는 데 시간을 낭비하는 경우가 많습니다.

물론 대부분의 기업을 소수의 애플리케이션만을 위해 이러한 장애물을 극복하는 것이 아닙니다.
자체 기술 스택, 도구 체인 및 프로세스를 실행하는 여러 팀에 분산된 수백 가지 제품 및 서비스를 저글링하고 있습니다.
이 모든 작업에는 취약성이 공격에 문을 열어두지 않도록 감사와 점검이 필요합니다.

2. 플랫폼 운영으로 전환하는 엔터프라이즈팀

그렇다면 애플리케이션 보안팀의 민첩성을 높이는 동시에 개발자가 신속하고 안전하게 계속 이동할 수 있도록 지원하기 위해 무엇을 할 수 있을까요?

엄밀한 사실은 위에서 논의한 문제를 해결하는 방법을 찾을 수 없다면 관행과 프로세스를 발전시킬 수 없다는 것입니다.
더 빠르게 반복하는 것이 모든 사람이 필요로 하는 이점처럼 느껴질 수도 있지만 DevOps 를 최대한 잠재력까지 확장할 수 있는 유일한 방법은 전체 소프트웨어 개발 수명 주기에 걸쳐 가능한 한 안전하고 적응력이 뛰어난 보안을 유지하는 것입니다.

점점 더 많은 기업에서 Gartner의 선례에 따라 Platform Ops라고 불리는 접근 방식을 채택하고 있습니다.
이 핵심 개념은 기업 내부팀의 요구 사항에 맞게 구축된 플랫폼을 통해 DevOps 능력을 제공하는 것입니다.
내부 플랫폼을 사용함으로써 중복된 작업에 시간을 낭비하는 가능성을 줄일 뿐만 아니라, 여러 제품팀이 지연 없이 지속적이고 효과적인 협업을 할 수 있도록 돕습니다.

Platform Ops 모델에서 보안팀은 개발팀에게 셀프서비스 형태로 사용 가능한 정책을 제공합니다.
또한, 보안 도구들은 애플리케이션 전달 프로세스에 완전히 통합됩니다.
이렇게 함으로써 개발자들은 모범 사례, Governance 및 접근 요구 사항을 따르면서도 더 빠르게 배포할 수 있습니다.
이는 안목 있는 보안 전문가들이 설정한 사항들을 준수하는 동시에, 개발자들이 더 빠른 배포를 할 수 있는 환경을 조성합니다.

애플리케이션 보안팀에게 큰 이점은 Platform Ops가 개발자들이 보안을 장애물 요소로 인식하는 것이 아니라 이미 사용하고 있는 프로세스와 도구의 통합된 일부로 보안을 경험할 수 있는 환경을 조성한다는 것입니다.
이를 통해 애플리케이션 전달팀은 기업 전체의 보다 나은 보안을 보장하는 패턴을 채택하게 됩니다.

3. NGINX가 DevOps 에 도움이 되는 방법

NGINX에서는 개발 프로세스의 어느 곳에서든 보안을 제공할 수 있는 웹 애플리케이션 방화벽 (WAF)과 같은 도구를 제공하는 중요성을 인식하고 있습니다.
이러한 도구는 CI/CD 파이프라인과 완전히 통합될 수 있으며, CPU를 과도하게 사용하지 않고 성능을 저하시키지 않는 경량 솔루션으로 제공되어야 합니다.

또한, 개발 및 DevOps팀은 보안이 게이트 (gate)가 아닌 가드레일 (guardrail)로 작동할 때 더 만족합니다.
보안이 공유되는 셀프서비스 플랫폼에서 강력하고 일관된 제어 및 정책을 제공하면, 개발 및 보안팀은 최소한의 상호작용과 중단 없이 지침에 맞추기가 더 쉬워집니다.

NGINX 인그레스 컨트롤러 및 NGINX App Protect WAF가 포함된 Kubernetes 에코시스템의 다이어그램
NGINX Ingress Controller 및 NGINX App Protect WAF가 포함된 Kubernetes 에코시스템의 다이어그램

3-1. NGINX 애플리케이션 솔루션으로 DevOps 지원

  • NGINX App Protect WAF는 가볍고 현대적인 WAF로서 애플리케이션을 구축하고 관리하는 어디에서나 배포할 수 있습니다. F5의 시장 선도적인 WAF 기술을 기반으로 한 App Protect WAF는 클라우드, 하이브리드, 마이크로서비스 기반의 컨테이너화된 환경 또는 on-premises와 같은 아키텍처나 배포 환경에 관계없이 OWASP Top 10 및 기타 고급 위협으로부터 보호합니다. NGINX Plus의 동적 모듈로 배포되며, App Protect WAF를 사용하면 보안 구성 및 정책을 자동화하여 CI/CD 파이프라인 내에서 직접 provisorning 할 수 있습니다.
  • NGINX App Protect DoS는 자동화된 적응형 보호를 제공하여 서비스 거부(DoS) 공격을 식별하고 방지합니다. F5 보안 전문가들의 지원을 받은 App Protect DoS는 적응형 기계 학습과 내장된 이상 감지를 활용하여 애플리케이션 및 마이크로서비스를 애플리케이션 계층 공격으로부터 보호합니다. 특정 공격을 중지하거나 실수로 발생한 잘못된 구성이 애플리케이션 성능에 영향을 미치는 것을 방지해야 할 때, App Protect DoS는 모던 애플리케이션 아키텍처, 개발 도구 및 프레임워크에 완벽하게 통합되는 제로 터치 보호 기능을 제공합니다.

4. DevOps 간단하게 시작

NGINX App Protect WAF 및 DOS와 함께 NGINX Plus의 30일 무료 평가판을 시작하거나, NGINX STORE에 문의하여 사용 사례에 대해 논의해 보세요.
또한 아래 뉴스레터를 구독하여 NGINX의 최신 소식을 누구보다 빠르게 전달받을 수 있습니다.