## 배경 - 프로덕션 API 서버에 .env 스캐닝(295건), PHP 웹셸 탐색(292건) 등 브루트 포스 공격 지속 발생 - 기존 Spring Security MaliciousPathPattern은 알려진 패턴만 차단 가능 - 딕셔너리 기반 랜덤 경로는 Spring Boot까지 도달하여 ERROR 로그 대량 발생 ## 해결 - Envoy Gateway HTTPRouteFilter + HTTPRoute path matching으로 화이트리스트 방식 적용 - 허용된 API 경로만 백엔드 전달, 나머지는 Gateway에서 즉시 403 반환 ## 허용 경로 - product-api: `/api/v1`, `/api/v2`, `/actuator` - admin-api: `/admin/api/v1`, `/actuator` - frontend, admin-dashboard: 전체 허용 (정적 리소스) ## 변경 파일 - `deploy/overlays/development/http-route.yaml` - `deploy/overlays/production/http-route.yaml` ## 검증 (development) - `/api/v1/app-info` -> 200 OK - `/test.php`, `/.env`, `/wp-admin/login.php` -> 403 Forbidden - `/admin/api/v1/actuator/health` -> 200 OK - `/phpinfo.php` -> 403 Forbidden ## 방어 계층 - 1차: Gateway (Envoy) - 화이트리스트, 허용 경로 외 전체 차단 - 2차: App (Spring Security) - 블랙리스트, 허용 경로 내 악성 패턴 차단
배경
해결
허용 경로
/api/v1,/api/v2,/actuator/admin/api/v1,/actuator변경 파일
deploy/overlays/development/http-route.yamldeploy/overlays/production/http-route.yaml검증 (development)
/api/v1/app-info-> 200 OK/test.php,/.env,/wp-admin/login.php-> 403 Forbidden/admin/api/v1/actuator/health-> 200 OK/phpinfo.php-> 403 Forbidden방어 계층