프록시 기반 웹 애플리케이션 방화벽(WAF)은 애플리케이션 보호의 필수 구성 요소입니다. WAF는 PCI-DSS를 준수하는 데 필요한 요구 사항일 뿐만 아니라, OWASP Top 10으로부터 보호하는 데도 매우 뛰어납니다. 또한, 이러한 솔루션은 서명 업데이트를 신속하게 릴리스하거나, 어떤 경우에는 장기 솔루션을 배포하는 동안 가상으로 애플리케이션에 패치를 적용하기 위한 프로그래밍 기능을 사용하여 제로데이 취약성을 해결하는 데 적합한 솔루션입니다.
문제는, 그러한 보호 장치를 어디에 두느냐는 것입니다.
물론, 선택지는 있습니다. 데이터 경로에는 WAF를 배포할 수 있는 여러 삽입 지점이 포함되어 있습니다. 하지만 그렇다고 해서 모든 삽입 지점이 좋은 아이디어인 것은 아닙니다. 어떤 것은 다른 것보다 효율성이 떨어지고, 어떤 것은 받아들일 수 없는 실패 지점을 초래하고, 어떤 것은 시간이 지남에 따라 높은 이자 벌금을 초래하는 구조적 부채를 초래합니다.
이상적으로는 로드 밸런싱 계층 뒤에 WAF를 배포합니다. 이를 통해 모든 앱에 필요한 보호 기능을 제공하는 동시에 활용도, 성능 및 안정성을 최적화할 수 있습니다. 특히 인터넷에 노출된 앱에 필요한 보호 기능을 제공합니다.
부하 분산 결정을 내리는 데 필요한 리소스(CPU 등)는 최소한입니다. 이는 일반적으로 LB가 수백만 명의 사용자를 동시에 지원할 수 있는 이유이고, WAF는 더 많은 활용이 필요합니다. WAF는 전체 페이로드를 검사하고 서명 및 정책과 비교 평가하여 요청이 유효하고 안전한지 확인하기 때문입니다.
최신 데이터 센터 모델은 클라우드와 사용량 기반 비용 구조에서 많은 부분을 차용했습니다. 활용도는 운영 비용의 핵심 요소가 됩니다. 활용도가 높아지면 추가적인 리소스가 필요하게 되어 예산이 소모됩니다. 따라서 활용을 최적화하는 것은 데이터 센터와 퍼블릭 클라우드 환경 모두에서 비용을 제한하는 좋은 전략입니다.
WAF를 수평적으로 확장하는 것이 일반적입니다. 즉, LB를 사용하여 WAF를 확장합니다. 이러한 구조적 결정은 활용도와 직접적인 관련이 있습니다. 많은 WAF가 확장성이 뛰어나지만 플래시 트래픽이나 공격으로 인해 과부하가 걸릴 수 있습니다. WAF가 LB 앞에 배치되면 별도로 확장할 수 있는 또 다른 LB 계층이 필요하거나 성능과 가용성에 영향을 미칠 위험이 있습니다.
성능은 애플리케이션 경제의 주요 관심사 입니다. 데이터가 데이터 경로를 통과할 때 많은 변수와 시스템이 데이터와 상호 작용하기 때문에 성능이 저하되는 지점을 정확히 찾아내는 것은 힘든 일이며, 더 나아가 다른 것에 영향을 주지 않고 각 항목을 조정하는 것은 더욱 어렵습니다. 앞서 여러 번 언급했듯이 시스템 부하가 증가할수록 성능은 감소합니다. 이는 활용도를 최적화하지 않은 경우의 의도치 않은 결과 중 하나이며, 노련한 네트워크 설계자가 네트워크 장치에서 60% 활용도 임계값을 사용하는 주요 이유입니다.
LB 계층 뒤에 WAF를 배포하면 상류로 지정된 WAF 부하 분산 계층이 필요 없게 되므로 방정식에서 전체 네트워크 계층이 제거됩니다. 처리 시간이 단축되었다고 해서 크게 느껴지지 않을 수도 있지만, 연결을 관리하고 WAF 서비스를 확장하고 이를 다시 수행하여 대상 앱 인스턴스/서버를 선택하는 데 소요되는 귀중한 마이크로초는 중요합니다. LB 계층 뒤에 WAF를 배포하여 이 계층을 제거하면 오늘날의 사용자가 알아차리고 감사하게 여길 수 있는 귀중한 마이크로초를 확보할 수 있습니다.
가시성은 데이터 경로의 보안 솔루션에 중요한 요구 사항입니다. 페이로드를 포함한 전체 흐름을 검사할 수 있는 기능이 없으면 WAF의 보안 기능 중 상당수가 무의미해집니다. 결국, 대부분의 악성 코드는 프로토콜 헤더가 아닌 페이로드 에서 발견됩니다. LB 계층 뒤에 WAF를 배치하면 트래픽이 검사를 위해 WAF로 전달되기 전에 SSL/TLS를 복호화할 수 있습니다. 로드 밸런서는 어차피 보안 트래픽에 대한 가시성을 확보하여 요청을 올바르게 라우팅하는 방법을 결정해야 하므로 이 아키텍처가 더 바람직합니다.
즉, WAF는 원하는 곳이라면 거의 모든 데이터 경로에 적합합니다. 이는 네트워크 경로에 중개자로 배포되는 L7 프록시 기반 보안 서비스입니다. 원한다면 네트워크 가장자리에 위치할 수도 있습니다. 하지만 성능, 안정성, 활용도를 위해 아키텍처를 동시에 최적화하려면 WAF를 부하 분산 계층 뒤에, 보호하려는 애플리케이션에 더 가깝게 배치하는 것이 가장 좋습니다.
적절한 도구를 사용하면 포괄적인 WAF 적용을 통해 노출과 운영 비용을 크게 줄일 수 있습니다. F5의 주문형 웨비나를 통해 OWASP Top 10 및 기타 위협으로부터 앱을 보호하는 방법에 대해 자세히 알아보고, 회사의 클라우드 기반 Silverline WAF 관리 서비스를 포함하여 F5 WAF 기능을 배포하는 다양한 방법을 살펴보세요.
F5 보안 아키텍트 브라이언 맥헨리 와 수석 위협 연구 전문가 데이비드 홈즈가 이 글에 기여했습니다. 2019년 8월에 사소한 편집이 이루어졌습니다.