현대 기업의 디지털 전략의 중심에는 애플리케이션이 있습니다. F5 Labs 조사에 따르면, 대기업은 평균 983개의 애플리케이션을 관리하는데, 이는 종종 여러 클라우드와 데이터 센터에 분산되어 있습니다. 최신 애플리케이션은 일반적으로 분산 아키텍처로 설계되고 구성 요소 수준까지 민첩한 개발 관행을 사용하여 구축됩니다. 이 CI/CD(지속적인 통합 및 지속적인 배포) 프레임워크를 사용하면 DevOps가 빠르고 효율적으로 소프트웨어 수명 주기를 관리할 수 있습니다. DevOps는 출시 기간을 주요 KPI(핵심 성과 지표)로 삼고 최신 워크플로우와 자동화를 도입했습니다. 그러나 보안은 CI/CD 보안 워크플로에서 종종 제외됩니다.
DevOps 워크플로에 애플리케이션 보안 제어가 없기 때문에 애플리케이션 코드와 함께 테스트되지 않습니다. 그 결과, 개발 주기가 끝나갈 무렵 운영 테스트를 실시할 때까지 애플리케이션 보안 결함을 발견하지 못할 수도 있는데, 이 경우 결함을 해결하는 데 드는 비용이 훨씬 더 많이 듭니다. 시장 출시 시간이 상당히 지연되고, 수정 비용이 증가하거나, 보안 제어가 부족해지는 등의 영향이 있을 수 있습니다.
CI/CD 프로세스의 초기 단계에서 보안 테스트를 도입하는 것이 애플리케이션 팀과 보안 팀 간의 격차를 해소하는 데 가장 효율적인 솔루션입니다. 과제는 규모와 효율성을 고려하여 이를 달성하는 것인데, 이를 위해서는 애플리케이션 개발 단계의 일부로 운영 보안 테스트를 강조하는 문화적, 기술적 변화가 모두 필요합니다.
F5 고급 웹 애플리케이션 방화벽을 사용하면 개발 파이프라인 초기 단계에서 운영 애플리케이션 보안 테스트를 통합 할 수 있습니다. 이를 통해 파이프라인 초기 단계에서 기능 사양과 보안 정책을 모두 포괄적으로 테스트할 수 있습니다. 이제 DevOps 팀은 애플리케이션이 아직 개발되는 동안에도 보안 정책이나 애플리케이션 자체의 보안 결함을 발견할 수 있습니다. 팀에서 오류를 발견하면 훨씬 낮은 비용으로 효율적으로 수정 작업을 수행할 수 있습니다.
선언적 API를 사용하면 애플리케이션 보안을 개발 파이프라인에 통합하는 것이 용이해집니다. 이러한 API 명령은 고급 WAF를 배포하고 구성하기 위한 자동화된 개발 파이프라인의 일부로 사용할 수 있습니다. 자동화는 GitLab, Jenkins, Bitbucket 등 DevOps 팀에서 이미 사용 중인 도구를 통해 구현할 수 있습니다.
WAF 보안 정책은 동일한 자동화 프로세스를 사용하여 기존 WAF 인스턴스에도 적용할 수 있습니다. 보안 정책은 간단한 JSON(JavaScript Object Notation) 파일로 정의할 수 있습니다. 해당 파일에는 일반적으로 GitHub 등의 저장소에 있는 WAF 정책의 이름과 위치에 대한 포인터가 포함될 수 있습니다.
이 프레임워크를 사용하면 SecOps 팀은 개발 팀에서 쉽게 사용할 수 있는 보안 정책을 만들고, 게시하고, 유지 관리할 수 있습니다. 정책은 신청서에 따라 다를 수 있습니다. 예를 들어, SecOps 팀은 웹 애플리케이션의 가장 심각한 보안 위험을 정의하는 OWASP Top 10을 방지하는 애플리케이션에 대한 기준 정책을 가질 수 있습니다. 추가적인 제어가 필요한 애플리케이션, 즉 민감한 데이터를 처리하거나 금융 거래를 수행하는 애플리케이션에 대해서는 다른 정책을 게시할 수 있습니다. 개발팀은 다른 애플리케이션 코드를 사용하는 것과 마찬가지로 이러한 정책을 사용합니다.
그림 1 : 조직에서는 선언적 API를 사용하여 애플리케이션 보안을 자동화된 개발 파이프라인에 통합해 고급 WAF를 배포하고 구성할 수 있습니다.
보안 "코드"에 대한 변경 사항은 CI/CD 파이프라인 자동화 툴셋을 통해 자동으로 통합, 적용, 테스트 및 빌드됩니다. 이러한 접근 방식은 CI/CD 파이프라인에서 보안 제어를 더욱 왼쪽(앞쪽)으로 옮겨, 보안을 프로세스 전체에서 공유된 책임으로 만들 수 있습니다. 다른 애플리케이션 부분과 마찬가지로 이를 통해 개발 라이프사이클의 모든 단계(개발, 테스트, 품질 보증, 프로덕션)에서 일관된 보안 구현이 보장됩니다.
여러 기능을 갖춘 DevSecOps 팀은 추가적인 ChatOps(예: Slack) 통합 기능을 사용하여 효율성을 높이고 항상 같은 방향을 향하고 있는지 확인할 수 있습니다. 하지만 ChatOps는 단순한 메시징과 알림에만 그치지 않습니다. 파이프라인 도구와 통합하면 ChatOps를 통해 실시간 DevOps 진행 상황을 제공하고 고급 WAF 정책 업데이트와 같은 파이프라인 작업을 시작할 수도 있습니다.
Advanced WAF에 대해 자세히 알아보세요: