Skip to content

Envoy Gateway 악성 요청 차단 - HTTPRoute 화이트리스트 적용 #212

@Whale0928

Description

@Whale0928

배경

  • 프로덕션 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) - 블랙리스트, 허용 경로 내 악성 패턴 차단

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions