만료 경보가 울려도 터널은 여전히 트래픽을 통과시키고, 날짜가 중요한지에 대해 아무도 합의하지 못합니다. 중요하지만, 항상 인증서에 인쇄된 그 순간은 아닙니다. 만료된 인증서는 새 인증을 멈추고, 일부 구현이 장수 세션 내부에서 수행하는 재검증도 멈춥니다. 기존 터널이 자정에 죽는지는 프로토콜, 클라이언트, 서버의 재협상 설정에 달려 있습니다. 날짜 전에 갱신을 계획하고, 이미 열려 있던 세션이 아니라 새 로그인으로 검증하세요.

어떤 인증서가 실제로 만료되는지 찾으세요

배포에는 서버 리프 인증서, 클라이언트 자격 증명, 하나 이상의 중간 인증서, 트러스트 앵커가 있으며 함께 만료되지 않습니다. 오류에 명시된 인증서와 그것이 제시된 체인을 읽고, 프로필 디렉터리의 첫 파일을 읽지 마세요. 깔끔하게 갱신되는 서버 리프도 그 위의 중간 인증서가 만료되었으면 실패할 수 있습니다. 무엇이든 바꾸기 전에 각 파일의 주체, 발급자, not-after, 배포 위치를 적어 두세요.

트러스트 앵커는 보통 가장 오래 사는 객체이며 원인일 가능성이 가장 낮습니다.

살아 있는 세션이 날짜를 넘길 수 있는 이유

인증은 연결 설정 시 일어나고, 일부 프로토콜은 나중에 신원을 다시 확인합니다. OpenVPN은 타이머로 데이터 채널을 재협상하므로, 만료된 인증서를 제시하는 재협상은 터널이 몇 시간째 올라와 있어도 실패합니다. 결코 재검증하지 않는 구현은 확립된 세션을 만료일 너머로 끌고 갈 수 있으며, 그래서 «아직 작동한다»는 증거가 아닙니다. 두 동작 모두 계획할 수 있는 대상이 아닙니다.

날짜는 새 로그인의 기한으로, 세션 수명은 빌린 시간으로 취급하세요.

인증서를 탓하기 전에 시계를 확인하세요

유효성은 로컬 시계에 대해 평가되므로, 시간이 틀린 장치는 완전히 최신인 인증서에 대해서도 유효성 실패를 보고합니다. 클라이언트, 서버, 경로상의 모든 장비를 확인하세요.

부팅 시 초기화되는 시계는 정전 후에만 나타나는 장애를 설명합니다.

발급한 기관을 통해 갱신하세요

신원, 의도된 용도, 호환되는 키 구성을 유지하세요. 갱신이 새 발급자나 고정된 인증서를 도입하면, 클라이언트에는 서버 파일 교체가 아니라 조정된 신뢰 업데이트가 필요합니다. 발급과 배포 중에 개인 키를 보호하세요. 갱신된 인증서는 침해된 옛 키를 폐기하지 않기 때문입니다. 비밀번호 재설정은 티켓이 뭐라 하든 갱신이 아닙니다.

새 체인은 중간 인증서가 없는 리프가 이미 캐시한 머신에서만 작동하는 반쪽 갱신이 되므로 완전히 게시하세요.

새 로그인으로 증명하고, 롤백을 유지하세요

배포 후 대표 클라이언트에서 새로 허용된 연결을 만들고 실제 애플리케이션을 시험하세요. 체인이 클라이언트가 기대하는 대로 전달되고 모든 폐기 정보에 접근할 수 있는지 확인하세요. 만료된 자료를 신뢰하는 데 의존하지 않는 롤백을 유지해, 검증을 약화하지 않고 이전 상태로 돌아갈 수 있게 하세요. 교체가 검증된 후에만 오래된 파일을 제거하세요.

기존 세션은 여전히 이전 상태를 반영할 수 있으므로 어느 쪽도 증명하지 못합니다.

당일에 내가 쓰는 순서

만료되는 객체와 그 체인을 확인하고, 그다음 시계를 확인하세요:

  • 어떤 인증서가 만료되고 어느 체인에 속하는지.
  • 모든 중간 인증서가 배포되고 게시되었는지.
  • 클라이언트와 서버 시계가 합리적 범위에서 일치하는지.
  • 대표 클라이언트에서 새 로그인이 성공하는지.
  • 폐기 정보에 접근할 수 있는지.
  • 검증을 약화하지 않는 롤백이 있는지.

그다음 갱신하고, 전체 체인을 배포하고, 새 로그인으로 시험하고, 그 후에만 정리하세요. 유효 기간과 평가 규칙은 RFC 5280에 정의되어 있으며, 모니터링이 실제로 만료되는 객체를 지켜보았다면 날짜는 놀라움이 아닙니다.

관련 글