사이트를 운영하다보면 SSL 인증서 정보를 확인할 필요가 있습니다. 이를 위해 웹, 브라우저 그리고 서버에서 SSL 인증서 만료일을 비롯한 SSL 인증서 정보 확인 방법을 살펴봅니다.
무료로 이용할 수 있는 Let’s Encrypt SSL 인증서는 유효기간이 90일로 상당히 짧기는 하지만 자동 갱신되도록 설정할 수 있기 때문에 쿤 문제는 없습니다. 하지만 여러 도메인을 동시해 운영하는 경우 실수든 무엇이든 문제가 생기는 경우가 있더군요. 그러다보면 SSL 인증서 만료일을 확인할 필요가 생기더군요.
SSL 인증서 만료일을 비롯한 SSL 인증서 정보 확인 방법은 여러가지가 있습니다. 간단하게 웹에서 상펴볼 수도 있고 서버에서 직접 확인해 볼 수도 있습니다.
브라우저에서 SSL 인증서 정보 확인하기
브라우저에서 SSL 인증서 정보 확인 방법은 간단합니다. 사이트 안전을 위해서 대부분 브라우저는 SSL 인증된 사이트는 열쇠 모양의 아이콘을 표시해주어 이 사이트가 인증된 사이트로 안전하다는 것을 표시해 주고 있습니다.
요즘에는 대부분 사이트가 SSL 인증되어 있기 때문에 차별점이 없어지기는 했지만 얼마 전까지는 그렇지 않았죠.
인증서 정보 확인할 사이트로 이동
먼저 SSL 인증서 만료일 정보 확인 필요한 사이트로 이동합니다.
여기서 크롬이든 파이억폭스든 아니면 우리나라에서 사용이 늘고있는 웹일 브라우즈든 어느 브라우즈 든 평소 사용하는 브라우저를 사용하면 됩니다.
저는 크롬을 사용해 제가 운영하고 있는 happist.com으로 이동해, happist.com을 기준으로 설명하겠습니다.
브라우저 주소창 앞의 열쇠 모양 아이콘을 클릭
원하는 사이트로 이동했으면, 브라우저(크롬이든, 파이어폭스 등 다 같습니다) 주소창 앞에 있는 열쇠 모양의 아이콘을 클릭합니다.
그러면 크롬의 경우는 인증서가 유효한지, 쿠키를 몇개 사용한지 그리고 사이트 설정 메뉴을 만날 수 있습니다.
인증서를 클릭해 인증서 정보를 확인
인증서: (유효)라고 쓰여진 부분을 클릭합니다.
그러면 인증서 정보가 나타나는데, 아래 부분에 유효기간 정보가 표시해 주는데요, 여기서 SSL 인증서 만료일자를 알 수 있습니다.
저의 경우는 5월 30일부터 8월 28일까지로 나오네요. 최근에 서버에서 자동으로 SSL 인증서가 갱신되었기 때문에 8우러말로 인증기간이 변경되어 있는 것을 알 수 있습니다.
상세 정보 확인은 자세히 탭을 눌러 확인 가능
조금 더 상세한 정보를 알고 싶다면 인정서 정보 내용 중 자세히 탭을 누르면 보다 자세한 내용을 알 수 있습니다. 여기는 거의 전문가들이 필요한 정보드링 나오기 때문에 SSL 인증서 유효기간 확인만하고 끝냅니다.
여기에서는 SSL 인증서 만료일이 시간단위로 알려주네요.
서버에서 SSL 인증서 만료일 확인 방법
서버에서 SSL 인증서 정보를 확인하는 방법입니다. 서버에서 SSL 인증서 정보를 본다고 해서 더욱 더 자세한 정보를 볼 수 있는 것은 아닙니다. 옵션을 다양하게 사용하면 더 자세한 내용을 확인할 수 있겠지만 굳이 그런 정보가 필요한 것은 아니므로…
아무튼 리눅스에서는 대부분 OpenSSL 명령을 이용해서 SSL 정보를 확인합니다.
가장 간단한 방법은 아래 명령어를 사용합니다. 아래 명령어 중에서 your-hostname은 서버 호스트 이름을 적어주면 됩니다. 만약 제 서버 호스트 네임이 happist라면 your-hostname 자리에 happist를 넣어주면 됩니다.
- s_client : s_client 명령은 SSL/TLS를 사용하여 원격 호스트에 연결하는 일반 SSL/TLS 클라이언트를 구현
- -servername $DOM : 클라이언트 헬로 메시지(ClientHello message)에서 TLS SNI(서버 이름 표시) 확장 값을 보여줍니다.
- -connect $DOM:$PORT : 연결할 호스트($DOM)와 포트($PORT)를 지정
- x509 : 인증서 표시 및 서명 유틸리티를 실행
- -noout : 암호화된 인증서 정보 출력을 차단
- -dates : TLS 또는 SSL 인증서의 시작일과 만료일을 출력
echo | openssl s_client -connect [your-hostname]:443 2>/dev/null | openssl x509 -noout -dates
Code language: PHP (php)
그러면 아래와 같은 결과를 출력해 줍니다.
# echo | openssl s_client -connect [happist]:443 2>/dev/null | openssl x509 -noout -dates
notBefore=May 29 18:31:32 2021 GMT
notAfter=Aug 27 18:31:32 2021 GMT
Code language: PHP (php)
여기서 notBefore는 시작일이며. notAfter는 유효기간이 끝나는 날입니다. 위 출력 결과를 해석하먄 5월 29일에사 시작해 8월 27일에 끝난다고 표시해 주고 있습니다.
브라우저와 서버 측정값이 다른데…
눈썰미 있는 분은 위 브라우저에서 측정한 결과와 서버에서 측정한 값이 다르다는 것을 알 수 있습니다. 브라우저가 서버값보다 하루가 늦네요. 이 이유가 무엇인지는 아직 파악하지는 못했구요. 이후에 확인되면 여기서 업데이트 하도록 하겠습니다.
아무튼 이렇게 브라우저 값과 서버 값이 다르다면 우선은 서버 측정값을 우선적으로 신뢰해야 하지 않을까 합니다. 서버에서 인증서 유효기간이 끝나면 브라우저에서도 바로 반영되기 때문에 서버를 기준으로 업데이트를 해야 합니다.
웹에서 SSL 인증서 정보 확인 방법, SSL 인정서 확인 사이트
브라우저나 서버가 아닌 SSL 인증서 정보를 확인해 주는 사이트들이 존재합니다.
우선 외국 사이트들 몇개를 소개합니다. 여기에서는 사이트 주소를 입력하면 SSL 인증서 관련한 정보를 출력해 줍니다. 여기에서 보여주는 정보는 SSL 인증서 만료일 정보도 포함되어 있죠.
SSL Certificate Checker – about SSLChecker.com
아래 사이트는 우리나라 개발자이신 HiSEON이 제공하는 SSL인증서 확인 사이트 인데요. 한글 메뉴가 있기 때문에 조금 접근하기가 좋을 것 같네요.
SSL 인증서 관련 참고
최신 Let’s Encrypt SSL 인증서 발급 방법 4가지 정리
Let’s Encrypt SSL 인증서 발급 및 자동 갱신 방법(업데이트)
최신 보안 트렌드를 반영한 Let’s Encrypt 인증서 세팅 방법
웹, 브라우저, 서버에서 SSL 인증서 정보 확인 방법, SSL 인증서 만료일 확인 등
서버 보안 관련
랜섬웨어 대응, 서버 및 워드프레스 필수 보안 설정 15가지
리눅스 서버 root 사용 중지로 리눅스 서버 보안 강화하기
우분투 서버 보안 자동 업데이트 및 업데이트 메일 통보 방법
워드프레스 보안 진단 WPScan 사용법 및 이메일로 결과 받아보기
DDoS 취약 기능 XMLRPC 사용 중지로 워드프레스 보안 강화하기