인증서란?
인증서는 전자서명이 특정인에게 유일하게 속함을 증명해주는 역할을 하는 전자 문서입니다. 인증서가 필요한 이유는 인터넷에서 보안이 필요한 연결을 할 때나, 어떤 전자 문서가 제 3자에 의해 변조되지 않았음을 보여할 때 등이 있습니다.
또한, 인증서도 신뢰할 수 있어야 하므로 인증서 발급 기관이 따로 존재하고, 해당 기관에서 발급한 인증서는 거의 모든 사이트에서 사용할 수 있습니다.
하지만, 개인적으로 사용할 인증서의 경우 누구나 만들 수 있지요. 따라서 이번에는 TrueNAS에서 인증서를 발급할 루트 CA를 만들고, 해당 CA를 이용하여 사설 인증서를 만들어 보도록 하겠습니다.
TrueNAS 루트 CA 만들기
CA는 Certificate Authority라고 하여 인증 기관입니다. 따라서 CA를 만들어야 해당 CA를 이용하여 인증서를 만들 수 있습니다.
WebUI에 로그인 해 주세요. 그리고 System – CAs로 이동해 주세요.
ADD를 눌러 새로운 CA를 추가합니다.
Identifier and Type 설정을 진행합니다.
- Name에는 CA의 이름을 설정해 주세요. 저의 경우 Bongtae_Root_CA를 입력했습니다.
- Type에서 CA의 종류를 설정합니다. 개인적으로 사용할 것이므로 Internal CA를 선택해 주세요.
- Profiles은 빈칸으로 둬 주세요.
Certificate Options 설정을 진행합니다.
- Key Type에서 RSA를 선택해 주세요.
- Key Length에서 2048 이상의 길이를 선택해 주세요. 저는 호환성을 고려하여 2048을 선택했습니다.
- Digest Algorithm에서 암호화 알고리즘을 선택하시면 됩니다. 저는 암호화 강도와 호환성을 고려하여 SHA256을 선택했습니다.
- Lifetime에서 인증서의 수명을 설정합니다. 일(day) 단위로 입력해 주시면 되며, 3650(10년)을 입력해 주세요.
Certificate Subject 설정을 진행합니다.
- Country, State, Locality, Organization, Email은 원하는 대로 설정해 주시면 됩니다. 꼭 정확한 정보를 적을 필요 없이, 아무 정보나 적어도 상관 없습니다. 빈칸만 아니게 해 주세요.
- Common Name과 Subject Alternate Names에 다른 인증서와 구별을 위해 Self Signed CA 등을 적어주세요. 저는 Bongtae’s Self Signed CA라고 적었습니다.
SUBMIT을 눌러 CA를 생성해 주세요.
이제 CA를 만들었으니 해당 CA를 이용하여 사설 인증서를 만들어 보도록 하겠습니다.
사설 인증서 만들기
System – Certificates로 이동해 주세요. ADD를 눌러 새로운 인증서를 만듭니다.
Identifier and Type 설정을 진행합니다.
- Name에 인증서의 이름을 적어 주세요.
- Type에는 내부에서 사용할 인증서 이므로 Internal Certificate를 선택해 주세요.
- Profiles는 빈칸으로 두시면 됩니다.
Certificate Options 설정을 진행합니다.
- Signing Certificate Authority에서 인증서를 만들 CA를 선택합니다. 방금 전에 만든 CA를 선택해 주시면 됩니다.
- Key Type, Key Length, Digest Algorithm, Lifetime은 기본값으로 둬 주세요. 아마 각각 RSA, 2048, SHA256, 3650으로 설정되어 있을 겁니다.
Certificate Subject 설정을 진행합니다.
- Country, State, Locality, Organization, Email은 원하는 대로 설정해 주시면 됩니다. 꼭 정확한 정보를 적을 필요 없이, 아무 정보나 적어도 상관 없습니다. 빈칸만 아니게 해 주세요.
- Common Name과 Subject Alternate Names에 사용할 도메인을 적어주시면 됩니다. 만약 webui.example.com이라는 도메인의 인증서를 발급하기를 해당 도메인을 적어주시면 되겠습니다.
SUBMIT을 눌러 인증서를 발급합니다.
마치면서
사설 인증서는 웹 서버를 구축할 때나 TrueNAS WebUI에 HTTPS 연결을 설정할 때 유용하게 사용됩니다.
앞으로 인증서를 발급하는 자세한 과정은 생략할 것이니 해당 글을 참고하여 사설 인증서를 발급해 주세요.