한 개발자가 러스트(Rust) 언어와 클라우드플레어(Cloudflare)의 핑고라(Pingora) 프레임워크를 기반으로 구축된 웹 애플리케이션 방화벽(WAF) '시부야(Shibuya) WAF'를 공개했습니다. 이 WAF는 웹 서버 앞에 역방향 프록시(reverse proxy)로 위치하여 모든 요청을 검사하고, OWASP 핵심 규칙 세트(Core Rule Set)를 포함한 다양한 보안 규칙을 적용해 웹 애플리케이션을 보호합니다. 특히 MVP(최소 기능 제품) 상태임에도 불구하고, 실제 측정된 수치를 통해 높은 성능과 안정성을 입증했습니다.
시부야 WAF는 SQL 인젝션(SQL injection), 크로스 사이트 스크립팅(XSS), 경로 탐색(path traversal), 명령 주입(command injection) 등 다양한 유형의 웹 공격을 효과적으로 차단합니다. 측정 결과, 101개의 정상 요청에서 오탐(false positive)이 0건이었으며, WAF를 통과하는 요청의 99번째 백분위수(p99) 지연 시간(latency)은 1.60ms에 불과했습니다. 이는 WAF 자체의 오버헤드가 수십 마이크로초(µs) 수준임을 의미합니다. 또한, 잘못된 설정이 감지되면 아예 시작하지 않도록 설계되어 부분적인 보호보다 완벽한 보호를 지향하며, 어떤 규칙이 실행 불가능한지 명확히 알려주는 투명성을 제공합니다.
이 프로젝트는 러스트의 안정성과 성능 이점을 활용하여 보안 솔루션을 구축하는 좋은 사례를 보여줍니다. 특히 WAF와 같은 민감한 시스템에서 투명성과 예측 가능성은 매우 중요하며, 시부야 WAF는 이러한 요구사항을 충족시키기 위해 설계되었습니다. 개발자는 아직 요청 본문 DoS 보호, 응답 검사, XML/SOAP 본문 처리, 자체 HTTPS 인증서 관리 등 일부 기능은 구현되지 않았음을 솔직하게 밝히고 있어, 사용자들이 현재의 한계를 명확히 인지하고 사용할 수 있도록 돕습니다. 이는 보안 제품에서 신뢰를 구축하는 데 중요한 요소로 작용할 것입니다.