https://www.esukmean.com/tools/ssl-certification-expire-date
내가 도와주는 곳이 있다. 이곳의 유료 서비스중 하나는 안정성을 위해서 별도의 서버에 독립된 서버 프로그램을 돌리는 것이다. 흔히 보는 Enterprise 플랜(다른 환경과 절대적으로 분리·독립된 서비스)를 생각할 수 있다. 서비스가 계속되며 관리해야 할 서버가 많아졌다. 그러면서 SSL의 인증서 확인이 번거로워졌다. 내부 통신에서는 모두 SSL을 사용하기 때문에 각 서비스(DB, nginx, 그외 서버 데몬등)의 인증서 상태를 확인해야 되기 때문이다. (단순히 계산해 보면 서버 80대 * SSL을 사용하는 프로그램 5개 = 400개가 된다)
물론, 이미 자동으로 SSL의 인증서나 상태를 검사하는 도구가 있다. 이 도구를 통해 자동으로 SSL 상태 및 만료일에 따라 알림을 받고 있다. 그렇지만 해당 도구는 수동으로 만료일을 점검하기에 적합한 구조는 아니었다. 그렇다고 검색했을때 나오는 SSL 인증서 만료일 도구나 openssl 명령어 같은 경우에는 하나씩 서버 주소를 집어넣어야 하는 구조였다.
그 부분에 불편함을 느끼고, 맨 위와 같은 도구를 만들었다. 해당 도구에 주소와 검사할 포트를 입력하면 순서대로 인증서의 상태를 확인한다. 주소 5곳과 포트 5곳을 입력하면 알아서 25개의 검사할 주소로 바꾼다. 일종의 카타시안 곱이라고 생각하면 된다.
현재 서버가 싱가폴에 있어서 한국 서버의 검사에는 약 250ms 정도가 소모된다. 그리고 한번에 하나의 서버만 확인하기 때문에 1초당 4개 정도의 서버만 검사할 수 있다. (물론 싱가폴과 가까울 경우, 더 빨리 검사할 수 있다) 한 서버의 검사에는 3초의 타임아웃이 적용된다. 다시 말해서, <서버 접속후 SSL 정보 수신까지> 3초 이상이 소요되면 검사 실패(Timeout 발생)로 판단한다. (왠만해서 서버에 접근하는데 3초까지 걸리진 않을테니 큰 문제는 없을것으로 생각한다)
답글 남기기