오늘 가이드에서는 Linux에서 자체 서명 된 SSL 인증서를 생성하는 방법과 Apache에서 구현하는 방법에 대해 설명합니다. 인터넷이 대중화됨에 따라 SSL이 점점 더 중요 해지고 있습니다. 무료 Let ‘s Encrypt 인증서가 누구나 사용할 수있는 상품이 되었기 때문에 검색 순위 이점은 말할 것도없고 브라우저와 검색 엔진이 귀하의 사이트를 신뢰한다는 사실은 말할 것도없고 누구도 SSL을 사용하지 않을 이유가 없습니다.
그러나 서버에서 개인적으로 사용하기 위해 자체 서명 된 SSL 인증서를 생성 할 수도 있습니다. 이를 수행하는 한 가지 큰 이유는 암호화입니다. 귀하의 개인 인증서는 브라우저에 아무런 의미가 없으며 방문자가 귀하의 사이트를 직접 방문하는 경우에도 여전히 경고 메시지를 받게되지만, 최소한 “중간자”공격으로부터 보호받을 수 있습니다. 자체 서명 된 인증서는 서버에서 테스트 할 때 좋은 첫 번째 단계이며 아직 도메인 이름이 없을 수도 있습니다.
단계별 절차부터 시작하겠습니다. Linux에서 자체 서명 된 SSL 인증서를 만드는 방법.
목차
1 단계 : RSA 키 쌍 만들기
자체 서명 된 SSL 인증서를 생성하는 첫 번째 단계는 Linux / CentOS에서 “openssl”패키지를 사용하여 RSA 키 쌍을 만드는 것입니다. 이렇게하려면 패키지가 설치되어 있는지 확인하십시오. 그렇지 않은 경우 다음 명령을 사용하여 설치하십시오.
sudo yum install openssl
이미 시스템에서 사용할 수있을 가능성이 있습니다. 이제 설치해야합니다. 패키지가 시스템에 설치된 것으로 확인되면 다음 명령을 사용하여 키 쌍을 생성하십시오.
openssl genrsa -des3 -passout pass:x -out keypair.key 2048
이 명령은 2048 비트 암호화를 사용하고 다음과 같은 파일을 출력합니다. keypair.key
(아래에 표시된대로) :
보시다시피 키가 생성되어 현재 디렉터리에 배치되었습니다.
2 단계 : 개인 키를 “httpd”폴더
/etc/httpd
폴더는 운영 체제가 모든 중요한 SSL 관련 항목을 보관하는 곳입니다. 먼저 모든 파일을 보관할 새 폴더를 만들어 보겠습니다. 개인 키와 관련 :
sudo mkdir /etc/httpd/httpscertificate
우리는 폴더를 httpscertificate
라고 부르고 그 이름으로 다른 모든 명령 줄 예제입니다. 원하는 폴더 이름을 지정할 수 있습니다.
방금 생성 한 키 쌍 파일에서 개인 키를 추출하려면 fo llowing :
openssl rsa -passin pass:x -in keypair.key -out /etc/httpd/httpscertificate/012.345.678.90.key
굵게 표시된 섹션을 사용자 서버의 IP 주소로 바꿉니다. 또는 도메인 이름으로 사이트에 액세스 할 수있는 경우에도 사용할 수 있습니다.
그러면 폴더에 .key
파일이 생성됩니다. 방금 만들었습니다. 이 프로세스가 완료되면 원본 키 쌍 파일을 삭제할 수 있습니다.
rm keypair.key
3 단계 : “인증서 서명 요청”(CSR) 파일 만들기
키를 사용하여 자체 서명하거나 “인증 기관”에 제출할 수있는 특수 .csr
파일을 만들 수 있습니다. 표준화 된 형식이며 이전 단계의 키를 사용하여 쉽게 생성 할 수 있습니다. 이를 생성하려면 다음 명령을 입력합니다.
openssl req -new -key /etc/httpd/httpscertificate/012.345.678.90.key -out /etc/httpd/httpscertificate/012.345.678.90.csr
다시 굵게 표시된 항목을 2 단계에서 정한 IP 주소 또는 도메인 이름으로 바꿉니다. 이 명령을 실행하면 도구에서 위치 및 조직 이름과 같은 일부 개인 정보를 요청합니다.
CA (인증 기관의 약자)는 이러한 세부 정보를 사용하여 귀하가 실제로 누구인지 확인할 수 있습니다. 가능한 한 많은 정보로 필드를 채우십시오.
이러한 세부 정보 입력을 마치면 도구가 작업을 완료하고 .csr
파일을이 목적으로 만든 디렉토리에 저장합니다.
4 단계 : 인증서 “.crt”파일 만들기
CSR을 사용하여 다음과 같은 최종 인증서 파일을 만들 수 있습니다. 이제 .csr
및 .key
파일을 사용하여 .crt
파일을 만듭니다.
그러면 다른 모든 파일이있는 위치에 .crt
파일이 생성됩니다. 이제 자체 서명 된 SSL 인증서를 생성하는 방법을 알게되었습니다. 다음은 보안 폴더의 최종 파일 :
이제 Apache에 이러한 파일이 어디에 있는지 알려야합니다.
5 단계 : 파일을 사용하도록 Apache 구성
지금해야 할 일은 생성 된 자체 서명 인증서가있는 Apache를 표시하는 것입니다. 먼저 다음 명령을 사용하여 mod_ssl
패키지를 설치해야합니다.
sudo yum install mod_ssl
완료되면 ssl.conf
파일은 /etc/httpd/conf.d/
폴더에 있습니다. 이 기본 파일을 수정해야합니다. 선호하는 텍스트 편집기 사용 :
sudo vi /etc/httpd/conf.d/ssl.conf
이제 다음으로 시작하는 줄을 찾을 때까지 아래로 스크롤합니다.
SSLCertificateFileSSL CertificateKeyFile
다음과 같이 인증서 파일과 키 파일에 대한 경로로 기본 경로를 각각 변경합니다.
변경 사항을 저장합니다. 이제 Apache를 다시 시작하십시오.
sudo apachectl restart
끝났습니다! Apache가 다시 시작되면 생성 된 자체 서명 SSL 인증서를 사용하여 SSL 연결을 허용하도록 구성됩니다.
다음 번에 HTTPS를 통해 IP 주소에 연결할 때 그렇지 않다는 경고가 표시됩니다. 신뢰할 수있는 인증서 :
괜찮습니다. 우리가 직접 서명했기 때문에 우리는 이것을 알고 있습니다! 계속 진행하면 실제 웹 사이트로 이동합니다.
여기에서 우리가 만든 인증서를 사용하고 있음을 알 수 있습니다. 귀하의 신원을 확인할 수 없기 때문에 귀하의 사이트를 방문하는 다른 사람에게는 그다지 유용하지 않습니다. 하지만 안전하고 암호화되어 있다는 것도 알고 있습니다. 중간 공격은 없습니다!
이제 자체 서명 된 SSL 인증서를 생성하여 Apache 웹 서버에 구현하는 방법을 알게되었습니다.
관리자 중 하나 인 경우 VPS 호스팅 클라이언트, 추가 비용없이이 모든 작업을 수행 할 수 있습니다. 시스템 관리자에게 연락하시면 최대한 빨리 귀하의 요청에 응답 할 것입니다.