피드로 돌아가기
Canonical under DDoS: what my Railway logs and uptime say about my real exposure
Dev.toDev.to
Infrastructure

Ubuntu mirror 의존성 가시화 및 5개 이미지의 Silent Failure 분석

Canonical under DDoS: what my Railway logs and uptime say about my real exposure

Juan Torchia2026년 5월 2일11intermediate

Context

Shared Public Infrastructure에 의존하는 Docker Build 파이프라인의 취약성 분석. Canonical DDoS 발생 시 외부 Mirror 서버의 응답 지연이 전체 배포 프로세스의 병목으로 작용하는 구조적 한계 노출.

Technical Solution

  • Railway Build Log 분석을 통한 apt-get update 단계의 Latency 및 Timeout 패턴 식별
  • Docker Image Base 분석을 통한 Ubuntu Mirror 직접/간접 의존성 맵핑
  • DNS Redirect 기반의 Mirror 서버 장애 상황 시뮬레이션을 통한 빌드 실패 임팩트 검증
  • --no-install-recommends 옵션 적용 및 Non-critical 패키지 설치 단계에 || true 처리를 통한 빌드 강건성 확보
  • 단순 배포 성공 여부를 넘어 Build Log 내 APT 실패 횟수를 추적하는 정기 모니터링 체계 구축

Impact

  • 30일간 4개 배포 환경에서 발생한 11건의 Silent Failure 식별
  • 전체 스택 중 Ubuntu Mirror에 의존하는 이미지 5개 확인
  • 정상 상태 기준 apt-get update 평균 소요 시간 23.4초 측정

Key Takeaway

외부 의존성을 가진 인프라스트럭처는 '동작함'을 전제로 하지 말고, Failure 발생 시의 영향도와 복구 경로를 수치화하여 관리하는 Observability 확보가 필수적임.


- Dockerfile 내 `apt-get update` 단계의 Timeout 발생 가능성 및 영향도 분석 - Base Image의 계층 구조를 추적하여 외부 Mirror 의존성 리스트 작성 - 빌드 로그에서 `Unable to fetch` 등 네트워크 관련 에러 패턴을 정기적으로 쿼리 - 핵심 기능 외의 패키지 설치 시 빌드 전체가 중단되지 않도록 예외 처리 적용

원문 읽기