차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
tls_ssl [2021/06/11 07:34] koovtls_ssl [2023/02/07 01:49] (현재) koov
줄 1: 줄 1:
 ====== TLS/SSL ====== ====== TLS/SSL ======
 +  * [[Let's Encrypt / certbot]]
 +  * [[curl 명령어로 인증서 정보 확인]]
 +
   * https://www.ssllabs.com/ - 웹 보안점검   * https://www.ssllabs.com/ - 웹 보안점검
   * https://sslmate.com/caa/ - CAA 생성기   * https://sslmate.com/caa/ - CAA 생성기
줄 5: 줄 8:
   * [[https://rsec.kr/?p=190|DNS CAA 레코드는 무엇일까?]]   * [[https://rsec.kr/?p=190|DNS CAA 레코드는 무엇일까?]]
   * [[https://rsec.kr/?p=242|디피 헬만 키 (Diffie-Hellman Key)]]   * [[https://rsec.kr/?p=242|디피 헬만 키 (Diffie-Hellman Key)]]
-  * [[https://wiki.mozilla.org/Security/Server_Side_TLS|Cipher Suite]]+  * [[https://wiki.mozilla.org/Security/Server_Side_TLS|Mozilla TLS Cipher Suite]] 
 +  * [[https://gruuuuu.github.io/security/what-is-x509/|X.509란?]]
  
-===== 인증서 형식 =====+===== 암호화 종류 ===== 
 +==== 대칭키 ==== 
 +  * ''DES'' 
 +  * ''AES'' 
 +  * ''SEED'' 
 +  * ''ARIA'' 
 + 
 +==== 공개키 ==== 
 +  * ''RSA'' 
 +  * ''DSA'' 
 +  * ''Diffie-Hellman'' 
 + 
 +==== 해시 ==== 
 +  * ''MD5'' 
 +  * ''SHA1'' 
 +  * ''SHA2'' (SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256) 
 +  * ''SHA3'' 
 + 
 +===== 공개키 인증서 형식 =====
 {{::ssl:ssl-certificate-format.png|}} {{::ssl:ssl-certificate-format.png|}}
  
줄 22: 줄 44:
 </WRAP> </WRAP>
  
 +===== 인증서 생성 =====
  
 +==== CA 인증서 생성 ====
 +<WRAP prewrap>
 +<code bash>
 +# key 생성
 +openssl genrsa -out ca.key 4096
 +# 인증서 생성
 +openssl req -x509 -new -nodes -sha512 -days 3650 \
 + -key ca.key \
 + -out ca.crt
 +</code>
 +</WRAP>
  
 +==== 서버 인증서 생성 ====
 +<WRAP prewrap>
 +<code bash>
 +# key 생성
 +openssl genrsa -out ia.key 4096
  
-===== Let's Encrypt / certbot ===== +# CSR(인증요청서) 생성 
-  * https://certbot.eff.org/docs/using.html Certbot Manual+openssl req -sha512 -new \ 
 +    -key ia.key \ 
 +    -out ia.csr 
 +</code> 
 +</WRAP>
  
-  * [[Let's Encrypt(CertBot) SSL with HAProxy]] +==== CSR(증요청서) 서명 ====
-  * [[HAProxy SSL 설정]] +
-  * [[Let's Encrypt(CertBot) Wildcard Certificates]] +
-==== certbot 사용시 선택할 플러그인 ==== +
-''certbot''으로 인증서 발급시 사용할 플러그인을 선택하는데 플러그인은 여러종류가 있지만 크게 ''http''방식과 ''dns''방식이 있다.+
  
-  * ''http'' 인증서를 적용할 머신에서 직접 발급받을때 사용하는 플러그인. 대부분의 경우에 사용가능하지만 와일드카드 ''*.domain.com'' 인증서 발급은 되지 않는다+<WRAP prewrap> 
-  * ''dns'' 인증서를 사용할 머신이 아닌 다른곳에서 발급받을때 사용할 수 있다. 또한 와일드 카드 인증서 발급시 사용할 수 있다.+<code bash> 
 +인증요청서 서명 
 +cat > v3.ext <<-EOF 
 +authorityKeyIdentifier=keyid,issuer 
 +basicConstraints=CA:FALSE 
 +keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment 
 +extendedKeyUsage = serverAuth 
 +subjectAltName = @alt_names
  
-''http'' 방식은 발급받는 머신에서 let's encrypt쪽으로 직접 응답을 하는 방식으로 확인을 하는 구조이다예를들어 ''my.domain.dom''에 대한 인증서라면 해당 도메인으로 접근하는 서버에 대해서 소유권한이 있는지를 확인하는게 목적이기 때문이다. ''%%--%%standalone'' 옵션을 대표적으로 많이 사용한다+[alt_names] 
-''dns'' 방식은 발급받는 머신이 아닌 **도메인에 대한 전체 와일드카드 인증서를 발급**하기 때문에 __해당 도메인에 대한 소유권을 확인__하기 위해서 도메인에 ''TXT'' 레코드를 등록하여 확인하는 방식이다. ''%%--%%manual'' 옵션과 함께 ''%%--%%preferred-challenges dns'' 옵션을 추가로 같이 사용한다. ''%%--%%manual'' 옵션은 ''http'' 방식과 ''dns'' 방식 모두 사용할 수 있다.+DNS.1=yourdomain.com 
 +DNS.2=yourdomain 
 +DNS.3=hostname 
 +EOF
  
 +openssl x509 -req -sha512 -days 3650 \
 +    -extfile v3.ext \
 +    -CA ca.crt -CAkey ca.key -CAcreateserial \
 +    -in ia.csr \
 +    -out ia.crt
 +</code>
 +</WRAP>
  
 ===== 디피-헬만 파라미터(dhparam) 키 는 무엇인가? ===== ===== 디피-헬만 파라미터(dhparam) 키 는 무엇인가? =====
  • tls_ssl.1623396868.txt.gz
  • 마지막으로 수정됨: 2021/06/11 07:34
  • 저자 koov