tcp

2 개의 포스트

Programmable Flow Protection 소개: Magic Transit 고객을 위한 맞춤형 DDoS 완화 로직 (새 탭에서 열림)

클라우드플레어는 매직 트랜짓(Magic Transit) 고객이 자신의 네트워크 환경에 맞춘 DDoS 방어 로직을 직접 설계하고 배포할 수 있는 '프로그래밍 가능한 플로우 보호(Programmable Flow Protection)' 기능을 출시했습니다. 이 기능은 표준화되지 않은 독자적인 UDP 프로토콜을 사용하는 기업들이 eBPF 프로그램을 통해 트래픽의 정당성을 직접 판단하게 함으로써, 기존의 일률적인 차단 방식이 가졌던 오탐 문제를 해결합니다. 고객은 클라우드플레어의 글로벌 네트워크 인프라 위에서 직접 작성한 코드를 실행해 대규모 공격을 정교하고 유연하게 방어할 수 있습니다. ### 커스텀 UDP 프로토콜 방어의 한계 극복 * 기존 DDoS 방어 시스템은 TCP, DNS, NTP 등 잘 알려진 프로토콜의 특성을 활용해 공격을 식별하지만, 기업 고유의 커스텀 UDP 프로토콜은 내부 구조를 알 수 없어 정교한 대응이 어려웠습니다. * 알려지지 않은 UDP 트래픽에 공격이 발생할 경우, 기존에는 특정 IP나 포트 전체를 차단하거나 속도 제한(Rate Limit)을 거는 투박한 방식을 사용해야 했습니다. * 이러한 방식은 공격 트래픽뿐만 아니라 정상적인 사용자의 패킷까지 차단하여 서비스 지연이나 연결 끊김을 유발하는 부작용이 있었습니다. ### eBPF 기반의 맞춤형 방어 메커니즘 * 고객은 eBPF(Extended Berkeley Packet Filter) 프로그램을 작성하여 어떤 패킷이 '정상'이고 '비정상'인지 직접 정의할 수 있습니다. * 작성된 프로그램은 클라우드플레어의 전 세계 엣지 네트워크에 배포되어 모든 유입 패킷에 대해 즉각적인 판단(통과, 차단, 챌린지 등)을 수행합니다. * 커널 공간이 아닌 사용자 공간(Userspace)에서 프로그램을 실행함으로써 보안성을 확보하면서도, 클라우드플레어의 기존 DDoS 방어 계층 이후에 실행되어 다층적인 보호를 제공합니다. ### 상태 저장 및 고급 기능 지원 * 단순한 패킷 필터링을 넘어, 클라이언트의 상태를 저장하고 관리할 수 있는 '상태 저장(Stateful)' 기능을 지원합니다. * 클라우드플레어는 프로그램 실행 간 상태 유지, 암호화 검증, 챌린지 패킷 발송 등을 돕는 전용 API 및 헬퍼 함수(Helper Functions)를 제공합니다. * 이를 통해 게임 엔진의 고유 헤더 검증이나 토큰 기반의 인증 등 복잡한 애플리케이션 계층의 방어 로직을 네트워크 하단에서 구현할 수 있습니다. ### 실무 적용 예시: 독자적인 게임 프로토콜 보호 * 독자적인 헤더 구조를 가진 UDP 포트 기반 온라인 게임 서버의 경우, 공격자가 무작위 페이로드를 보내면 일반적인 장비로는 구분할 수 없습니다. * '프로그래밍 가능한 플로우 보호'를 활용하면 패킷 헤더 내의 특정 바이트나 고유 토큰을 검사하는 코드를 배포하여, 유효하지 않은 모든 트래픽을 클라우드플레어 엣지에서 즉시 제거합니다. * 결과적으로 원본 서버(Origin)에 도달하기 전에 공격이 차단되어 서버 자원을 보호하고 실제 이용자에게는 쾌적한 환경을 제공하게 됩니다. 현재 이 기능은 매직 트랜짓 엔터프라이즈 고객을 대상으로 베타 서비스 중입니다. 표준 프로토콜을 벗어난 고유의 통신 방식을 보유하고 있으며, 기존의 단순 차단 방식만으로는 서비스 품질 유지가 어려운 기업에게 이 기능을 통한 정밀한 트래픽 제어를 권장합니다.

더 빠른 SASE 클라이언트 (새 탭에서 열림)

Cloudflare는 Zero Trust 보안 환경에서 발생하는 프록시 성능 저하 문제를 해결하기 위해 SASE 클라이언트의 프록시 모드 아키텍처를 완전히 재설계했습니다. 기존의 WireGuard 기반 Layer 3 터널링 대신 QUIC 프로토콜을 활용한 직접 Layer 4 프록싱 방식을 도입하여, 보안 수준을 유지하면서도 데이터 전송 속도를 2배로 높이고 지연 시간을 대폭 단축했습니다. 이번 업데이트를 통해 사용자들은 고해상도 영상 스트리밍이나 대용량 파일 전송 시에도 프록시 사용 전과 다름없는 쾌적한 인터넷 환경을 경험할 수 있게 되었습니다. ### 기존 아키텍처의 한계와 smoltcp의 병목 현상 * **Layer 4와 Layer 3의 충돌**: 초기 Cloudflare One 클라이언트는 호환성을 위해 SOCKS5/HTTP 프록시를 사용했으나, 기반 터널은 Layer 3(L3) 프로토콜인 WireGuard로 구축되어 L4 TCP 트래픽을 L3 패킷으로 변환해야 하는 기술적 난제가 있었습니다. * **사용자 공간 TCP 스택의 제약**: 커널 수준의 변환이 어려운 멀티 플랫폼 환경을 지원하기 위해 Rust 기반의 사용자 공간 TCP 구현체인 `smoltcp`를 사용했으나, 이는 임베디드 시스템에 최적화되어 있어 최신 TCP 기능을 지원하지 못했습니다. * **이중 변환 오버헤드**: 클라이언트에서 L4를 L3 패킷으로 쪼개고, Cloudflare 에지(Edge)에서 이를 다시 L4 스트림으로 복구하는 과정이 반복되면서 고속 광랜 환경에서도 성능 상한선이 발생하는 병목 현상이 나타났습니다. ### QUIC 및 MASQUE를 활용한 직접 L4 프록싱 * **아키텍처의 근본적 변화**: 프록시 모드에서 WireGuard 사용을 중단하고, QUIC의 확장 프로토콜인 MASQUE를 도입하여 트래픽을 Layer 4 수준에서 직접 처리하도록 변경했습니다. * **HTTP/3 CONNECT 메서드 활용**: RFC 9114 표준을 따르는 HTTP/3의 CONNECT 메서드를 사용하여 브라우저의 요청을 L3 패킷으로 분해하지 않고 QUIC 스트림에 직접 캡슐화합니다. * **기술적 이점**: `smoltcp` 레이어를 완전히 제거하여 패킷 처리 오버헤드를 없앴으며, QUIC 고유의 현대적인 혼잡 제어(Congestion Control) 및 흐름 제어 기능을 활용할 수 있게 되었습니다. * **최적화 가능성**: 클라이언트와 Cloudflare 에지 사이의 QUIC 파라미터를 세밀하게 조정하여 네트워크 환경에 최적화된 성능 구현이 가능해졌습니다. ### 새로운 프록시 모드의 주요 수혜 사례 * **타사 VPN과의 공존**: 특정 사내 자원 접속을 위해 레거시 VPN을 병행 사용해야 하는 환경에서, 성능 저하 없이 웹 트래픽에만 Zero Trust 보안을 계층적으로 적용할 수 있습니다. * **고대역폭 애플리케이션 분할**: 브라우저 트래픽만 Cloudflare Gateway로 라우팅하는 환경에서 고화질 콘텐츠 스트리밍이나 대규모 데이터셋 처리가 원활해집니다. * **개발자 및 파워 유저**: CLI 도구나 스크립트에서 SOCKS5 보조 리스너를 사용하는 개발자들이 원격 API 호출 및 데이터 전송 시 Cloudflare 글로벌 네트워크의 저지연 이점을 그대로 누릴 수 있습니다. ### 적용 방법 및 확인 사항 새로운 성능 개선 사항을 적용하려면 Cloudflare One 클라이언트 버전이 **2025.8.779.0 이상**(Windows, macOS, Linux)이어야 합니다. 관리자 대시보드의 장치 프로필 설정에서 서비스 모드를 'Local proxy mode'로, 터널 프로토콜을 'MASQUE'로 설정해야 합니다. 사용 중인 프로토콜은 터미널에서 `warp-cli settings | grep protocol` 명령어를 통해 직접 확인할 수 있습니다.