웹사이트 검색

RHEL/CentOS 7.0에서 Apache용 자체 서명된 SSL 인증서 및 키를 만드는 방법


SSL(Secure Sockets Layer)은 인증 기관에서 서명한 디지털 인증서를 사용하여 대칭/비대칭 키를 사용하여 서버와 클라이언트 간의 보안 데이터 흐름을 허용하는 암호화 프로토콜입니다. (캘리포니아).

요구사항

  1. RHEL/CentOS 7.0에 기본 LAMP 설치

이 튜토리얼에서는 Red Hat Enterprise Linux/CentOS 7.0<에 설치된 Apache 웹 서버에서 Secure Sockets Layer(SSL) 통신 암호화 프로토콜을 설정하는 방법에 대한 접근 방식을 제공합니다. 전체 프로세스를 크게 단순화하는 bash 스크립트를 사용하여 자체 서명된 인증서와 키를 생성합니다.

1단계: Apache SSL 설치 및 구성

1. Apache HTTP 서버에서 SSL을 활성화하려면 다음 명령을 사용하여 SSL/TLS 지원에 필요한 SSL 모듈과 OpenSSL 도구 키트를 설치합니다.

yum install mod_ssl openssl

2. SSL 모듈이 설치된 후 HTTPD 데몬을 다시 시작하고 새 방화벽 규칙을 추가하여 SSL 포트(443)가 열려 있는지 확인하세요. 청취 상태에 있는 컴퓨터의 외부 연결.

systemctl restart httpd
firewall-cmd --add-service=https   ## On-fly rule

firewall-cmd --permanent  --add-service=https   ## Permanent rule – needs firewalld restart

3. SSL 연결을 테스트하려면 원격 브라우저를 열고 https://server_IP에서 HTTP 프로토콜을 사용하여 서버 IP 주소로 이동하세요.

2단계: SSL 인증서 및 키 생성

4. 이전의 서버와 클라이언트 간의 SSL 통신은 설치 시 자동으로 생성된 기본 인증서와 키를 사용하여 수행되었습니다. 새로운 개인 키와 자체 서명된 인증서 쌍을 생성하려면 실행 가능한 시스템 경로(` PATH)에 다음 bash 스크립트를 생성하세요.

이 튜토리얼에서는 /usr/local/bin/ 경로가 선택되었습니다. 스크립트에 실행 가능한 비트가 설정되어 있는지 확인한 다음 이를 명령으로 사용하여 /etc/에 새 SSL 쌍을 생성하세요. httpd/ssl/를 인증서 및 키 기본 위치로 지정합니다.

nano /usr/local/bin/apache_ssl

다음 파일 내용을 사용하십시오.

#!/bin/bash
mkdir /etc/httpd/ssl
cd /etc/httpd/ssl

echo -e "Enter your virtual host FQDN: \nThis will generate the default name for Apache SSL Certificate and Key!"
read cert

openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out $cert.key
chmod 600 $cert.key
openssl req -new -key $cert.key -out $cert.csr
openssl x509 -req -days 365 -in $cert.csr -signkey $cert.key -out $cert.crt

echo -e " The Certificate and Key for $cert has been generated!\nPlease link it to Apache SSL available website!"
ls -all /etc/httpd/ssl
exit 0

5. 이제 이 스크립트를 실행 가능하게 만들고 실행하여 Apache SSL 가상 호스트에 대한 새로운 인증서와 키 쌍을 생성하십시오.

정보를 입력하고 일반 이름 값을 확인하여 서버 FQDN과 일치하는지, 가상 호스팅의 경우 보안 웹사이트에 연결할 때 액세스하게 될 웹 주소와 일치하는지 확인하세요.

chmod +x /usr/local/bin/apache_ssl
apache_ssl

6. 인증서와 키가 생성된 후 스크립트는 /etc/httpd/ssl/ 위치에 저장된 모든 Apache SSL 쌍의 긴 목록을 표시합니다.

7. SSL 인증서 및 키 생성에 대한 다른 접근 방식은 시스템에 crypto-utils 패키지를 설치하고 genkey 명령을 사용하여 쌍을 생성하는 것입니다. 특히 Putty 터미널 화면에서 사용할 때 몇 가지 문제가 발생합니다.

따라서 이 방법은 화면 모니터에 직접 연결한 경우에만 사용하는 것이 좋습니다.

yum install crypto-utils
genkey your_FQDN

8. SSL 웹사이트에 새 인증서와 키를 추가하려면 웹사이트 구성 파일을 열고 SSLCertificateFileSSLCertificateKeyFile 문을 새 쌍으로 바꾸세요. 그에 따른 위치와 이름.

9. 인증서가 신뢰할 수 있는 CA(인증 기관)에서 발급되지 않았거나 인증서의 호스트 이름이 연결을 설정한 호스트 이름과 일치하지 않는 경우 브라우저에 오류가 나타나며 수동으로 수락해야 합니다. 자격증.

그게 다야! 이제 RHEL/CentOS 7.0에서 apache_ssl을 명령줄로 사용하여 필요한 만큼 자체 서명된 인증서와 키 쌍을 생성할 수 있으며 모두 /etc/httpd/에 보관됩니다. 700 권한으로 보호되는 키 파일이 있는 ssl/ 경로입니다.