2026년 1월 (새 탭에서 열림)
2026년 1월 22일, Cloudflare 마이애미 데이터 센터에서 자동화된 라우팅 정책 설정 오류로 인해 약 25분간 IPv6 BGP 경로 유출(Route Leak) 사고가 발생했습니다. 특정 접두사 목록(Prefix-list)을 제거하는 과정에서 정책 필터가 의도치 않게 모든 내부 경로를 허용하게 되었고, 이로 인해 전 세계 IPv6 트래픽이 마이애미로 잘못 유도되어 네트워크 혼잡과 서비스 지연이 초래되었습니다. 이 사고는 자동화 코드가 생성한 구성 파일의 논리적 허점으로 인해 발생했으며, 운영진의 수동 복구와 자동화 일시 중지를 통해 해결되었습니다.
BGP 경로 유출의 메커니즘과 영향
- 경로 유출의 정의: 네트워크(Autonomous System, AS)가 원래 전달해서는 안 될 트래픽을 자신에게 보내도록 인터넷 경로 정보를 잘못 광고하는 현상을 의미합니다.
- 위반 사항: 이번 사고는 RFC 7908에 정의된 유형 3 및 유형 4 유출의 혼합 형태로, 피어(Peer)나 상위 제공자(Provider)로부터 받은 경로를 다시 다른 피어나 제공자에게 재분배함으로써 '계곡 없는 라우팅(Valley-free routing)' 원칙을 위반했습니다.
- 네트워크 충격: 마이애미 데이터 센터의 백본 인프라에 트래픽이 집중되면서 혼잡이 발생했고, Cloudflare 서비스뿐만 아니라 외부 네트워크의 트래픽도 마이애미로 유입되었다가 방화벽 필터에 의해 차단되거나 높은 지연 시간을 겪었습니다.
설정 오류의 기술적 원인: 과도하게 허용된 정책
- 변경 목적: 보고타(Bogotá) 데이터 센터로 향하던 IPv6 트래픽을 마이애미를 거치지 않게 하기 위해, 정책 자동화 플랫폼을 통해 기존의 특정 접두사 목록(
6-BOG04-SITE-LOCAL)을 제거하려고 했습니다. - JunOS 동작 특성: JunOS 및 JunOS EVO 운영체제에서
from route-type internal조건은 모든 내부 BGP(iBGP) 경로와 일치합니다. - 논리적 결함: 특정 접두사 필터가 삭제되자, 해당 정책 구문은 "모든 내부 경로를 수락하고 외부로 광고하라"는 광범위한 규칙으로 변질되었습니다. 이로 인해 마이애미 라우터는 수천 개의 내부 경로를 Telia, Cogent, GTT와 같은 외부 피어와 제공자에게 대량으로 전송하게 되었습니다.
사고 대응 타임라인
- 20:25 UTC: 마이애미 에지 라우터에서 자동화 도구가 실행되어 잘못된 설정이 적용되었고, 즉시 경로 유출과 서비스 영향이 시작되었습니다.
- 20:40 UTC: 네트워크 팀이 의도치 않은 경로 광고를 감지하고 조사를 시작했으며, 4분 뒤 공식적인 장애 대응 프로세스가 가동되었습니다.
- 20:50 UTC: 네트워크 운영자가 문제가 된 설정을 수동으로 되돌리고 해당 라우터의 자동화를 일시 중지함으로써 경로 유출 상황이 종료되었습니다.
- 22:40 UTC: 자동화 코드 저장소의 버그를 수정한 후, 마이애미 라우터의 자동화 기능을 다시 활성화하여 정상 상태로 복구했습니다.
기술적 교훈 및 추천 사항
- 정책 검증 강화: 라우팅 정책을 자동 생성할 때, 특정 필터(Prefix-list 등)가 제거된 결과가 '기본 허용(Default Accept)' 상태가 되지 않도록 방어적인 로직을 설계해야 합니다.
- 운영체제 특성 이해: JunOS의
route-type internal과 같이 벤더별로 상이하게 동작할 수 있는 매칭 조건을 사용할 때는 예상치 못한 경로 광고를 막기 위한 추가적인 안전장치(Safety-net)를 마련해야 합니다. - 단계적 배포: 대규모 인프라 변경 시 자동화 도구가 전체 라우터에 동시에 적용되지 않도록 카나리(Canary) 배포나 단계적 적용을 통해 영향 범위를 최소화하는 것이 권장됩니다.