Azure Front Door Service에 대한 속도 제한이란?

속도 제한을 사용하면 모든 소켓 IP 주소에서 비정상적으로 높은 수준의 트래픽을 탐지하고 차단할 수 있습니다. Azure Front Door의 Azure Web Application Firewall을 사용하면 일부 형식의 서비스 거부 공격을 완화할 수 있습니다. 속도 제한은 또한 짧은 시간에 많은 양의 요청을 보내도록 잘못 구성된 클라이언트로부터 사용자를 보호합니다.

소켓 IP 주소는 Azure Front Door에 대한 TCP 연결을 시작한 클라이언트의 주소입니다. 일반적으로 소켓 IP 주소는 사용자의 IP 주소이지만 프록시 서버 또는 사용자와 Azure Front Door 사이에 있는 다른 디바이스의 IP 주소일 수도 있습니다. 서로 다른 소켓 IP 주소에서 Azure Front Door에 액세스하는 여러 클라이언트가 있는 경우 자체의 속도 제한이 각각 적용됩니다.

속도 제한 정책 구성

속도 제한은 사용자 지정 WAF 규칙을 사용하여 구성됩니다.

속도 제한 규칙을 구성할 때 임계값을 지정합니다. 임계값은 1분 또는 5분 이내에 각 소켓 IP 주소에서 허용되는 웹 요청 수입니다.

또한 Azure Front Door에 속도 제한을 활성화할 시기를 알려 주는 하나 이상의 일치 조건을 지정해야 합니다. 애플리케이션 내의 다른 경로에 적용되는 여러 속도 제한을 구성할 수 있습니다.

모든 요청에 속도 제한 규칙을 적용해야 하는 경우 다음 예제와 같은 일치 조건을 사용하는 것이 좋습니다.

Screenshot that shows the Azure portal showing a match condition that applies to all requests. The match condition looks for requests where the Host header size is zero or greater.

위의 일치 조건은 0보다 긴 Host 헤더가 있는 모든 요청을 식별합니다. Azure Front Door에 대한 모든 유효한 HTTP 요청에는 Host 헤더가 포함되어 있으므로 이 일치 조건은 모든 HTTP 요청을 일치시키는 효과가 있습니다.

속도 제한 및 Azure Front Door 서버

동일한 클라이언트의 요청은 종종 동일한 Azure Front Door 서버에 도착합니다. 이 경우 각 클라이언트 IP 주소의 속도 제한에 도달하는 즉시 요청이 차단되는 것을 볼 수 있습니다.

동일한 클라이언트의 요청이 아직 속도 제한 카운터를 새로 고치지 않은 다른 Azure Front Door 서버에 도착할 수 있습니다. 예를 들어 클라이언트는 각 요청에 대해 새 TCP 연결을 열고 각 TCP 연결을 다른 Azure Front Door 서버로 라우팅할 수 있습니다.

임계값이 충분히 낮으면 새 Azure Front Door 서버에 대한 첫 번째 요청이 속도 제한 검사를 통과할 수 있습니다. 따라서 낮은 임계값(예: 분당 약 200개 미만의 요청)의 경우 임계값을 초과하는 일부 요청이 통과하는 것을 볼 수 있습니다.

속도 제한에 대한 임계값 및 시간 기간을 결정하는 동안 다음 몇 가지를 고려해야 합니다.

  • 허용되는 요청 수 임계값이 가장 작으면서 창 크기가 클수록 DDoS 공격을 방지하기 위한 가장 효과적인 구성이 됩니다. 공격자가 임계값에 도달하면 속도 제한 기간의 나머지 기간 동안 차단되므로 이 구성이 더 효과적입니다. 따라서 공격자가 1분 기간의 처음 30초 동안 차단되는 경우 나머지 30초 동안만 속도가 제한됩니다. 공격자가 5분 기간의 첫 1분에 차단되면 나머지 4분 동안 속도가 제한됩니다.
  • 시간 창을 더 크게 설정(예: 1분보다 5분)하고 임계값을 더 크게 설정(예: 100보다 200)하면 짧은 시간 창과 낮은 임계값을 사용하는 것보다 속도 제한의 임계값에 가깝게 적용하는 것이 더 정확해지는 경향이 있습니다.
  • Azure Front Door WAF 속도 제한은 고정된 기간에 작동합니다. 속도 제한 임계값을 위반하면 해당 속도 제한 규칙과 일치하는 모든 트래픽이 고정 창의 나머지 부분에 대해 차단됩니다.

다음 단계