
얼마 전 사이트 접속 장애를 확인했는데, 웹서버도 정상이고 자원 사용률도 낮았습니다. 원인은 만료된 서버인증서였습니다. 인증서를 새로 발급받는 일보다 중요한 건 어느 장비에 설치돼 있는지 파악하고, 갱신된 인증서가 실제 접속 경로에 반영되는지 확인하는 일입니다.
발급 전에 접속 경로부터 그린다
브라우저가 처음 만나는 장비를 찾는 게 출발점입니다. 웹서버가 직접 TLS 연결을 받는지, 앞단의 로드밸런서나 CDN이 받는지에 따라 인증서를 설치할 위치가 달라집니다. 앞단에서 연결을 끝내고 내부 서버로 다시 암호화해 전달한다면 인증서가 두 곳에 필요할 수도 있습니다.
이때 실제로 쓰는 호스트 이름을 적어 둡니다. 대표 사이트와 관리자 페이지가 서로 다른 이름이라면 인증서에 둘 다 포함돼야 합니다. 서버가 여러 사이트를 함께 운영한다면 각 사이트에 맞는 인증서가 선택되는지도 확인해야 합니다. 인증서 하나를 샀거나 발급받았다는 사실만으로 모든 접속 이름이 보호되는 것은 아닙니다.
개인 블로그나 소규모 사이트는 자동 갱신이 가능한 무료 인증서로 충분한 경우가 많습니다. 비용을 먼저 비교하기보다 접속 이름의 수, 자동 발급 방식, 설치 위치를 확인하는 편이 낫습니다. 유료 인증서도 설치와 갱신을 잘못하면 같은 장애가 납니다.
개인키와 인증서 파일을 구분한다
발급 과정에서 가장 조심할 파일은 개인키입니다. 인증서는 접속하는 쪽에 제시하는 공개 정보지만 개인키는 서버가 그 인증서의 소유자임을 증명할 때 씁니다. 개인키를 메신저나 공용 저장소로 옮기지 말고, 읽을 수 있는 계정도 필요한 범위로 제한합니다. 백업할 때는 암호화된 보관 장소와 복구 담당자를 정해 두는 게 좋습니다.
직접 인증서 서명 요청을 만드는 환경이라면 요청을 만들 때 사용한 개인키와 발급된 인증서가 한 쌍인지 확인합니다. 다른 키를 연결하면 설정 파일의 경로가 맞아도 TLS 연결이 성립하지 않습니다. 발급 기관이 제공한 중간 인증서도 함께 배포해야 일부 기기에서 신뢰 오류가 나는 일을 줄일 수 있습니다.
인증서 파일을 교체한 뒤에는 웹서버 설정 검사와 재시작 또는 설정 재적용을 진행합니다. 그다음 서버 안의 파일 날짜가 아니라 외부 접속에서 실제로 보이는 인증서의 이름과 만료일을 확인합니다. 앞단 장비가 예전 인증서를 계속 제공하는 경우를 여기서 잡을 수 있습니다.
자동 갱신은 성공 로그보다 반영 결과를 본다
자동 갱신을 설정했다고 끝난 것은 아닙니다. 발급 프로그램은 새 파일을 만들었는데 웹서버가 예전 파일을 계속 읽는 경우가 있습니다. 갱신 작업 뒤 설정 재적용이 필요한지 확인하고, 실제 접속에서 새 만료일이 보이는지까지 검사해야 합니다.
인증서 발급 시에는 신청한 접속 이름을 운영자가 관리한다는 검증을 거칩니다. 웹서버에 임시 파일을 두는 방식은 앞단 장비의 경로 설정이나 접근 제한에 영향을 받을 수 있습니다. DNS 레코드를 쓰는 방식은 웹서버 경로와 무관하지만 DNS 관리 권한을 자동화 도구에 맡기게 됩니다. 어느 쪽이든 권한 범위를 좁히고 갱신 실패 알림을 받도록 설정합니다.
운영 중인 사이트라면 만료 직전 알림 하나에만 기대지 않습니다. 갱신 작업의 실패, 외부에서 보이는 인증서의 남은 기간, 담당자에게 알림이 도착했는지를 따로 확인합니다. 특히 여러 서버에 인증서를 복사하는 구조는 한 대만 교체되고 나머지는 만료된 채 남기 쉽습니다. 배포 대상 목록을 만들고 각 장비의 반영 결과를 확인하는 절차가 필요합니다.
접속 오류가 나면 확인 순서를 고정한다
장애가 나면 먼저 이용자가 접속한 이름과 인증서에 적힌 이름이 일치하는지 봅니다. 다음으로 만료일, 인증서 체인, 서버 시간, 웹서버 설정을 확인합니다. 이름이 맞지 않는 오류와 인증서를 신뢰할 수 없다는 오류는 원인이 다릅니다. 오류 문구를 구분하면 쓸데없는 재발급을 줄일 수 있습니다.
일부 이용자에게만 문제가 보이면 접속 경로를 나눠 봅니다. 로드밸런서 뒤의 서버마다 설치 상태가 다른지, 앞단 장비와 원본 서버가 서로 다른 인증서를 쓰는지 확인합니다. 새 인증서를 배포한 직후에도 예전 인증서가 보인다면 발급 자체보다 설정 재적용이나 배포 누락을 의심하는 편이 빠릅니다.
백업에도 인증서 파일만 넣지 말고 개인키의 안전한 복구 방법과 재발급 절차를 함께 남겨 둡니다. 장애 때 개인키를 찾지 못해 새로 발급해야 하는 상황까지 생각해야 합니다. 서버인증서는 비싼 요금제보다 접속 경로를 아는 사람, 갱신 결과를 확인하는 절차, 복구 가능한 기록이 있을 때 안정적으로 운영됩니다.
