Skip to content
이 페이지는 AI로 번역되어 부정확한 내용이 있을 수 있습니다. GitHub에서 개선에 참여해 주세요.

WAF 방화벽 ​

Coraza와 OWASP CRS v4를 기반으로 한 웹 애플리케이션 방화벽으로, 웹 서비스의 사이트에 연결할 수 있습니다.

기능 ​

  • OWASP CRS v4 규칙 세트를 내장하며 규칙 파일 단위로 켤 수 있습니다.
  • 사용자 정의 SecLang 규칙을 지원합니다.
  • 차단 모드와 탐지 전용 모드를 제공합니다.
  • 요청 본문 검사 한도를 조정할 수 있으며, 한도를 넘으면 요청을 거부하거나 앞부분만 검사합니다. 경로별로 요청 본문 검사를 건너뛸 수 있습니다.
  • WebDAV 호환 모드: 클라우드 드라이브와 WebDAV가 사용하는 메서드, 요청 헤더, 모든 업로드 콘텐츠 유형을 허용합니다.
  • 인스턴스를 여러 개 만들 수 있으며 사이트가 필요에 따라 참조합니다.

사용 권장 사항 ​

  1. 새 사이트는 먼저 「탐지 전용」으로 시작하여 한동안 로그를 관찰하고 오탐이 없는지 확인합니다.
  2. 오탐이 있으면 규칙 파일을 조정하거나 사용자 정의 예외를 추가합니다.
  3. 그런 다음 「차단」으로 전환합니다.

큰 파일을 업로드하는 사이트 ​

WAF는 기본적으로 12.5 MB 이하의 요청 본문만 검사하고 더 큰 요청은 거부(413)하므로, 클라우드 드라이브, WebDAV, 파일 관리 같은 사이트에서 큰 파일을 업로드할 수 없습니다. 인스턴스의 「요청 본문 검사」에서 조정할 수 있습니다.

  • 검사 한도: 0은 기본값 12.5 MB이며 최대 1024 MB입니다.
  • 한도 초과 시: 「요청 거부」는 이전과 같이 동작합니다. 「앞부분만 검사」는 한도 이내의 부분만 검사하고 나머지는 그대로 백엔드로 전달하므로 큰 파일을 업로드하는 사이트에 적합합니다.
  • WebDAV·업로드 호환: OWASP CRS는 기본적으로 GET, HEAD, POST, OPTIONS만 허용하고 Lock-Token, If, Content-Range 요청 헤더와 허용 목록 밖의 콘텐츠 유형을 차단하므로, WebDAV 클라이언트가 디렉터리 목록 조회, 업로드, 잠금을 할 수 없습니다. 켜면 PUT, DELETE, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK 등의 메서드와 이 헤더들을 허용하고 업로드 콘텐츠 유형을 더 이상 제한하지 않습니다. PUT과 application/octet-stream의 요청 본문은 파일 내용으로 보고 폼 파라미터로 검사하지 않습니다. 인젝션, 경로 탐색 등의 공격 검사는 그대로 적용됩니다.
  • 본문 검사 제외 경로: 한 줄에 경로 접두사 하나(예: /api/upload, /remote.php/dav/)를 씁니다. 일치하는 요청은 본문을 검사하지 않으며 헤더, URL, 파라미터는 그대로 검사합니다.

클라우드 드라이브, WebDAV 같은 사이트에는 인스턴스를 따로 만들어 「WebDAV·업로드 호환」을 켜고 「앞부분만 검사」를 선택하며, 필요하면 업로드 경로를 제외 경로에 추가하고, 다른 사이트는 기본 설정을 계속 쓰는 방식을 권장합니다.

curl, rclone 같은 클라이언트는 큰 내용을 업로드할 때 Expect: 100-continue 요청 헤더를 보내는데, CRS 4는 기본적으로 이를 차단합니다. Gately의 모든 인스턴스는 이 헤더를 허용하므로(100-continue는 Gately가 직접 처리) 별도 설정이 필요 없습니다.

검증 ​

WAF는 실제 공격 페이로드로 테스트하며, 경로 탐색 등의 공격 차단을 확인했습니다.

Apache-2.0 라이선스로 공개되어 있습니다.