domain-validation

1 개의 포스트

Cloudflare의 ACME (새 탭에서 열림)

Cloudflare는 최근 ACME(Automatic Certificate Management Environment) 검증 로직에서 특정 경로의 WAF(웹 애플리케이션 방화벽) 기능을 비활성화할 수 있는 취약점을 발견하고 패치했습니다. 이 결함은 `/.well-known/acme-challenge/*` 경로로 들어오는 요청을 처리하는 과정에서 발생했으며, 특정 조건에서 보안 필터링 없이 악의적인 요청이 원본 서버(Origin)에 도달할 수 있는 문제를 야기했습니다. 현재 모든 패치가 완료되어 고객의 추가 조치는 필요 없으며, 실제 악용 사례는 확인되지 않았습니다. ### ACME 프로토콜과 HTTP-01 챌린지 메커니즘 * ACME는 SSL/TLS 인증서의 발급, 갱신 및 취소를 자동화하는 프로토콜로, 도메인 소유권을 확인하기 위해 HTTP-01 챌린지 방식을 널리 사용합니다. * 인증 기관(CA)은 도메인 소유권을 확인하기 위해 특정 경로(`http://{customer domain}/.well-known/acme-challenge/{token value}`)에 토큰이 존재하는지 확인하는 요청을 보냅니다. * Cloudflare가 관리하는 인증서의 경우 해당 경로에 직접 응답하여 토큰을 제공하며, 만약 시스템에 등록되지 않은 토큰 요청일 경우 고객이 별도로 도메인 검증을 진행 중인 것으로 판단하여 요청을 원본 서버로 전달합니다. ### WAF 보안 기능을 무력화하는 논리적 결함 * 기존 시스템은 CA의 인증 시도가 WAF 규칙에 의해 차단되어 인증서 발급이 실패하는 것을 방지하기 위해, ACME 챌린지 경로에 대한 WAF 기능을 일시적으로 비활성화하도록 설계되었습니다. * 그러나 분석 결과, 요청된 토큰이 요청을 받은 현재 호스트 이름과 직접적인 연관이 없더라도, Cloudflare 시스템 내의 다른 존(Zone)에 존재하는 유효한 토큰이기만 하면 WAF가 비활성화되는 허점이 발견되었습니다. * 이로 인해 공격자가 특정 경로를 통해 보안 필터링을 우회하여 원본 서버에 직접 접근할 수 있는 취약한 상태가 노출되었습니다. ### 취약점 보완 및 패치 내용 * Cloudflare는 요청된 토큰이 해당 호스트 이름(Hostname)에 할당된 유효한 ACME HTTP-01 챌린지 토큰과 일치할 때만 보안 기능을 비활성화하도록 로직을 수정했습니다. * 이제 토큰의 유효성뿐만 아니라 호스트 이름과의 매칭 여부를 엄격하게 검증하여, 조건이 충족되지 않는 모든 요청은 정상적인 WAF 규칙의 통제를 받게 됩니다. * 이번 조치는 외부 보안 연구원의 제보를 통해 이루어졌으며, Cloudflare는 인프라의 투명성을 위해 해당 취약점의 상세 내용과 해결 과정을 공개했습니다. Cloudflare를 사용하는 고객은 별도의 설정 변경이나 조치를 취할 필요가 없으며, 현재 시스템은 해당 취약점으로부터 안전하게 보호되고 있습니다. 환경의 보안 강화를 위해 버그 바운티 프로그램 등을 통한 외부 협력을 지속하며 신속한 대응 체계를 유지하고 있습니다.