본문 바로가기

Mongodb

SSL/TLS Connection With Mongodb

일단 인증서 인증과정 및 SSL/TLS 과정을 살펴보도록 하자.

 

처음 개인키를 만들면 1:1 대응이 되는 공개키를 추출할 수 있다.

 

개인키로 CSR을 만들면 CSR과 개인키를 통해 인증서를 만드는데, 여기서 CSR이라는 것은 Certificate Signing Request의 약자로서 인증서 서명 요청이란 뜻이다. 즉, 인증서 발급을 위한 필요한 정보를 담고 있는 인증서 신청 형식 데이터이다. 여기 CSR에는 공개키와 인증서 도메인 정보 등이 있다.

 

그리고 self-signed라는 개념이 존재하는데 이거 찾느라 좀 애먹었다.

self-signed는 특정 서버가 자신의 인증서를 만들 때 self-signed라고 불리는게 아니라 CSR을 만들 때 사용되는 개인키와 인증서를 만들 때 사용되는 개인키가 동일해야지만 self-signed라고 불린다는 것이다. 즉, 어떤 서버가 특정 도메인으로 인증서를 만들 때 CA의 개인키를 이용한다면 그건 self-signed가 아닌것이다.

 

개인키는 openssl 라이브러리를 통해서 만들어 낼 수 있다. 또한 인증서 인증이나 csr, 인증서 등등을 만들 수 있는 툴이다.

 

openssl genrsa -des3 -out server.key 2048 			# 개인키 생성
openssl req -new -key server.key -out server.csr 	# csr 생성
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt # 인증서 생성

 

인증서 만드는 내용은 여러 다른 블로그들이 있으니 참고해보시면 됩니다.

 

https://m.blog.naver.com/espeniel/221845133507

 

OpenSSL 로 개인키 발급 및 SSL 인증서 생성 #1

개요 웹 서비스에 https 를 적용할 경우 SSL 인증서를 VeriSign, Thawte, GeoTrust 등에서 인증서...

blog.naver.com

 

그리고 crt, cer, der, pem 이런 형식의 파일들이 많이 나올텐데 이 때는 당황하지 말고 pem으로 사용하고 싶다면 

 

openssl x509 -in cert.crt -out cert.pem

 

이런식으로 pem으로 바꿔주면 잘 작동한다.

 

하지만 우리는 지금 let's encrypt를 통해 얻은 4가지 인증서들로 mongodb tls 인증을 완료하고 싶은 것이다.

 

 

 

그리고 ssl/tls handshake와 root ca인증방식을 알고싶으시면 아래 블로그를 참고하시면 되겠습니다.

- SSL/TLS Handshake

 

https://reakwon.tistory.com/106

 

[네트워크/보안] TLS(SSL) 개념과 기본 동작 원리

SSL(Secure Socket Layer) SSL은 1994년 netscape사의 웹 브라우저 보안 프로토콜로 처음 고안되어 1996년까지 버전 3.0까지 발표되었는데, 3.0을 표준화한 것이 TLS라고 합니다. 통상적으로 SSL과 TLS는 같은 의..

reakwon.tistory.com

- Root CA 인증방식

 

https://m.blog.naver.com/alice_k106/221468341565

 

154. [Security] SSL과 인증서 구조 이해하기 : CA (Certificate Authority) 를 중심으로

이번 포스트에서는 인증서의 구조와 동작 원리에 대해 알아보고, 이것이 실제 SSL 기반의 보안 연결에서...

blog.naver.com

 

'Mongodb' 카테고리의 다른 글

mongodb configuration  (0) 2021.11.12
Mongodb Sharded Cluster  (2) 2021.11.12