아무도 소유하지 않은 Credential

발행: (2026년 3월 24일 PM 07:30 GMT+9)
16 분 소요
원문: Dev.to

Source: Dev.to

전체 공개: 우리는 ExpiryPulse를 만들었기 때문에 이 문제에 대한 관점을 가지고 있습니다. 하지만 이 글은 홍보가 아니라 실제 사건, 실제 데이터, 그리고 실제 교훈을 모은 것입니다. 여러분이 우리 도구를 사용하든, 다른 도구를 사용하든, 혹은 잘 관리된 스프레드시트를 사용하든 적용됩니다. 우리는 이 문제가 솔직히 논의할 가치가 있다고 생각합니다.

클래식한 새벽 2시 호출

누군가 새벽 2시에 호출을 받는다. 사이트가 다운되었거나, API가 500 오류를 반환하거나, 결제 흐름이 갑자기 멈췄다.

팀이 급히 움직인다:

  1. 로그를 확인하고, 서비스를 재시작하며, 배포 문제를 배제하는 데 30분을 보낸다.
  2. 그러다 누군가가 결국 묻는다: 인증서는 언제 만료되나요?

답변: 어제.

이는 업계 전반에 걸쳐 반복되는 이야기다—팀이 부주의해서가 아니라, 자격 증명이 매우 쉽게 관리 소홀에 빠지기 때문이다. 한 번 설정하면 몇 달 동안 조용히 작동하지만, 작동을 멈추는 순간에야 그 존재가 떠오른다.

인증서 및 자격 증명 만료가 흥미로운 실패 모드인 이유

  • 이는 기업 규모, 예산, 엔지니어링 인재에 관계없이 발생합니다.
  • 가장 자원이 풍부한 기술 조직조차도 이 문제에 걸렸습니다.

주목할 만한 사고

조직날짜영향근본 원인
Google Bazel2025 년 12월만료된 SSL 인증서가 bcr.bazel.buildreleases.bazel.build를 중단시켜 전 세계 Bazel 사용자들의 빌드를 깨뜨렸습니다. 장애 시간 ≈ 13 시간.사용되지 않는 서브도메인의 DNS 레코드가 한 달 전에 삭제되어 인증서 자동 갱신이 조용히 차단되었습니다. 알림이 발생하지 않았습니다.
IPinfo2025 년 9월만료된 TLS 인증서로 인해 2시간 36분 동안 API가 완전히 중단되었습니다 (서비스는 월 1천억 건 이상의 요청을 처리).Cert‑manager가 갱신 오류를 로그에 기록했지만 해당 로그에 대한 모니터링/알림이 설정되지 않았습니다.
Epic Games2021만료된 와일드카드 인증서가 Fortnite, Rocket League, Epic Games Store 및 다수의 백엔드 서비스를 중단시켰습니다.원인 파악에 12 분이 걸렸지만, 2차 장애 연쇄로 인해 완전 복구까지 약 5.5 시간이 소요되었습니다.
Microsoft Teams2020월요일 아침 장애: 수백만 명의 사용자가 Teams에 접근할 수 없었습니다.Microsoft가 인증서 갱신을 잊어버렸습니다. 약 3 시간 다운타임.
기타Spotify, LinkedIn(두 차례), Ericsson(유럽 및 일본 전역 수백만 모바일 사용자에게 영향), 그리고 미국 정부(≈ 80개의 만료된 인증서로 연방 사이트가 접근 불가하거나 보안 위험) 등.

이것은 절약을 위해 무리한 스타트업이 아니라, 전담 보안 팀과 수억 달러 규모의 인프라 예산, 확립된 프로세스를 갖춘 조직들인데도 여전히 영향을 받았습니다.

일관된 패턴: 가시성 실패

  1. 소유권이 불분명함 – 인증서를 설정한 사람이 팀을 옮기거나 회사를 떠났거나 단순히 잊어버렸습니다. 다른 사람은 인증서가 존재한다는 것을 만료될 때까지 모릅니다.
  2. 알림은 실패할 수 있는 시스템에 의존함
    • Google Bazel은 자동 갱신에 의존했지만, 전제 조건이 변경되면서 자동화가 조용히 실패했습니다.
    • IPinfo의 cert‑manager는 오류를 기록했지만 아무도 확인하지 않았습니다.
    • Epic Games는 이메일 그룹이 잘못 구성되어 AWS의 만료 알림을 받지 못했습니다.
  3. 자격 증명은 스스로 알리지 않음 – 유효한 인증서는 신호가 전혀 발생하지 않습니다. 작동은 보이지 않게 진행되다가 갑자기 멈춥니다. 성능 저하 곡선도 없고, APM 대시보드에 경고도 없으며, 오류가 서서히 쌓이는 현상도 없습니다. 어느 순간은 정상이고, 다음 순간은 만료된 상태입니다.
  4. 추적 방법이 흐려짐
    • 스프레드시트는 누군가 관리할 때 잘 작동합니다.
    • 캘린더 알림은 누군가 무시할 때까지 잘 작동합니다.
    • 자동화는 기본 전제가 바뀔 때까지 잘 작동합니다.

모든 추적 방법은 지속적인 관심이 필요하며, 그 관심은 수백 가지 다른 우선순위와 경쟁합니다.

Source:

개인 경험: 두 가지 실제 실패

저는 이 문제를 멀리서 보는 것이 아니라 직접 겪고 있습니다. 저는 연방 IT 부서에서 일하고 있으며, 위에서 설명한 정확한 실패 유형을 두 번이나 경험했습니다.

1️⃣ Microsoft Graph API 키 만료

  • 해당 키는 내부 애플리케이션에 사용되었으며 몇 달 동안 문제 없이 작동했습니다.
  • 어느 날 갑자기 멈췄습니다—점진적인 성능 저하도, 사전 경고도 없었고, 바로 중단되었습니다.
  • 조사 결과 키가 만료된 것이 원인이라는 것을 알게 되었습니다.
  • 소유권 격차: 개발팀은 Entra ID 팀이 갱신을 추적하고 있다고 가정했고, Entra 팀은 개발팀이 책임지고 있다고 생각했습니다. 어느 쪽도 틀리지 않았으며, 소유권이 명확히 정의되지 않았을 뿐이었습니다.

이 이야기가 가장 흔히 회자되는 버전: 과실이 아니라, 확인되지 않은 정직한 가정일 뿐입니다.

2️⃣ 고객용 사이트의 Let’s Encrypt SSL 만료

  • 자동 갱신이 설정되어 있었고 이전에도 정상 작동했기 때문에 별다른 생각을 하지 않았습니다—바로 자동화가 이렇게 해주길 기대하는 부분이죠.
  • 어느 날 전화가 울렸습니다: 고객이 브라우저 보안 경고를 보고했다고 했습니다.
  • 인증서가 만료된 이유는 자동 갱신이 조용히 실패했으며, 자동화 위에 모니터링이 전혀 없었기 때문이었습니다.
  • 고객이 저보다 먼저 문제를 발견했습니다—이 부분이 가장 안타까웠습니다.

이러한 상황은 기업을 파멸에 이르게 하는 재앙적인 사건은 아니었습니다. IT 부서 어디에서든 일어날 수 있는, 헤드라인에 오르지는 않지만 신뢰를 약화시키고, 시간을 낭비하게 하며, “또 어떤 문제가 숨어 있을까?” 하는 불안을 야기하는 조용하고 일상적인 문제였습니다.

핵심 요점

Both incidents came down to the same root cause: there wasn’t a single place where I could see what was

(원본 텍스트는 여기서 끝납니다; 의도된 결론은 모든 자격 증명 및 만료를 한눈에 볼 수 있는 통합된 뷰가 없다는 것입니다.)

요약

  • 인증서와 자격 증명 만료는 가시성 문제이며, 기술 문제가 아닙니다.
  • 명확한 소유권, 신뢰할 수 있는 알림, 그리고 만료에 대한 단일 진실 원천이 필수적입니다.
  • 가장 크고 자금이 풍부한 조직이라도 이러한 기본이 없으면 함정에 빠집니다.

여전히 스프레드시트로 인증서를 추적하거나 모니터링 없이 “설정하고 잊어버리기” 자동화에 의존한다면, 다음 헤드라인이 될 가능성이 높습니다.

문제

  • 산재된 정보 – 인증서, API 키 및 기타 자격 증명은 관리자 콘솔, 구성 파일, 비밀번호 관리자, Slack 스레드 및 개인적인 사고 모델에 흩어져 있습니다.
  • 조기 경고 없음 – 무언가가 만료되면, 고장이 난 뒤에야 알게 됩니다.
  • 수동 추적은 확장되지 않음 – SSL/TLS 수명은 ≈ 47 days by 2029까지 줄어들어, 인증서당 연간 약 8번 갱신해야 함을 의미합니다 (기존 1회 대비).

“만료된 자격 증명은 역량 문제도 아니고, 드문 문제도 아니다. 시스템 문제이다.”

핵심 원칙 (ExpiryPulse 사용 여부와 관계없이 적용)

  1. 가시성 중앙화

    • 모든 자격 증명을 한 곳(스프레드시트, 위키, 혹은 전용 도구)에 모아두세요.
    • 단일 대시보드가 나머지 모든 단계를 더 쉽게 만들어 줍니다.
  2. 소유권 명시적 할당

    • 각 자격 증명에는 주 소유자백업이 반드시 필요합니다.
    • 소유권은 역할 인수인계 시 접근 권한 및 문서와 함께 포함되어야 합니다.
  3. 다단계 알림 설정

    • 여러 번의 리마인더를 사용하세요(예: 30 일, 14 일, 7 일, 1 일).
    • 주 담당자가 조치를 취하지 않으면 두 번째 담당자에게 에스컬레이션합니다.
    • 이렇게 하면 알림을 미루거나 무시해서 놓치는 상황을 줄일 수 있습니다.
  4. 자동화가 실패할 수 있음을 예상

    • 자동 갱신은 좋지만, 언제든지 중단될 수 있습니다.
    • “모니터를 모니터링”하세요: 갱신 도구(예: cert‑manager)의 작동 여부를 감시하고, 작동이 멈추면 알림을 받도록 합니다.
  5. 47일 주기를 대비

ExpiryPulse가 이러한 원칙을 구현하는 방법

기능무엇을 하는가
대시보드추적된 모든 자격 증명(인증서, API 키, 토큰, 라이선스, 전문 인증 등)을 한 눈에 볼 수 있습니다.
다중 간격 알림30 일, 14 일, 7 일, 1 일에 자동 이메일 알림을 보내며, 마감일이 임박하면 에스컬레이션됩니다.
팀 소유권주 소유자와 백업을 지정하고, 팀 전체에 걸쳐 책임을 공유합니다.
비밀 저장소 없음만료 메타데이터만 저장되며, 실제 자격 증명 값은 절대 저장되지 않습니다.
무료 티어비용 없이 최대 5개의 자격 증명을 관리할 수 있으며, 설정이 간단합니다.
확장 가능한 가격스프레드시트를 벗어났지만 $50K 규모의 엔터프라이즈 솔루션은 필요 없는 소규모중규모 IT 팀(10수백 개 자격 증명)을 위해 설계되었습니다.

Note: 다른 도구나 엄격히 관리되는 스프레드시트를 선호한다면 괜찮습니다—다만 추적하고 있는지 확인하세요.

The Bigger Picture

  • Expired credentials = system failure mode – Google, Spotify 등 대기업의 가장 뛰어난 엔지니어들조차도 조용히 만료되는 인증 정보에 걸리곤 합니다.
  • The question isn’t “Can we track manually?”“우리는 절대 잊지 않을 것을 전제로 가동 시간을 걸고 싶은가?”

백업, 알림, 명확한 소유권을 갖춘 신뢰할 수 있는 시스템을 구축하는 것이 답입니다.

시작하기

ExpiryPulse는 개인 및 IT 팀을 위한 자격증 만료 추적 도구입니다. 무료 티어는 expirypulse.dev에서 이용할 수 있습니다.

0 조회
Back to Blog

관련 글

더 보기 »

Agent Security 소개

!Evo by Snykhttps://res.cloudinary.com/snyk/image/upload/v1773757842/evo-og-image_hqmx8a_zrr7wg.png AI agents를 발견하고, 모니터링하며, 보호하세요. Evo by Snyk를 탐색하세요.

Amazon Route 53에서 DNS Hosted Zone 설정

개요 이 가이드는 도메인의 DNS 레코드를 관리하기 위해 Amazon Route 53에서 퍼블릭 호스티드 존을 생성하는 과정을 안내합니다. 호스티드 존이란? 호스티드 존은…