20.7. Apache HTTP Server에 TLS 암호화 추가

my_company.idm.example.com Apache HTTP Server에서 idm.example.com 도메인에 TLS 암호화를 활성화할 수 있습니다.

사전 요구 사항

  • my_company.idm.example.com Apache HTTP Server가 설치되고 실행됩니다.
  • webserver-ca 하위 CA에서 TLS 인증서를 가져 와서 certmonger를 사용하여 서비스에 대한 IdM 인증서 가져오기 에 설명된 대로 /etc/pki/tls/certs/httpd.pem 파일에 저장했습니다. 다른 경로를 사용하는 경우 절차의 해당 단계를 조정합니다.
  • 해당 개인 키는 /etc/pki/tls/private/httpd.key 파일에 저장됩니다. 다른 경로를 사용하는 경우 절차의 해당 단계를 조정합니다.
  • webserver-ca CA 인증서는 /etc/pki/tls/private/sub-ca.crt 파일에 저장됩니다. 다른 경로를 사용하는 경우 절차의 해당 단계를 조정합니다.
  • 클라이언트와 my_company.idm.example.com 웹 서버는 서버의 호스트 이름을 웹 서버의 IP 주소로 확인합니다.

절차

  1. mod_ssl 패키지를 설치합니다.

    # yum install mod_ssl
  2. /etc/httpd/conf.d/ssl.conf 파일을 편집하고 다음 설정을 <VirtualHost _default_:443> 지시문에 추가합니다.

    1. 서버 이름을 설정합니다.

      ServerName my_company.idm.example.com
    중요

    서버 이름은 인증서의 Common Name 필드에 설정된 항목과 일치해야 합니다.

    1. 선택 사항: 인증서에 SAN(Subject Alt Names) 필드에 추가 호스트 이름이 포함된 경우 이러한 호스트 이름에도 TLS 암호화를 제공하도록 mod_ssl을 구성할 수 있습니다. 이를 구성하려면 해당 이름으로 ServerAliases 매개변수를 추가합니다.

      ServerAlias www.my_company.idm.example.com server.my_company.idm.example.com
    2. 개인 키, 서버 인증서 및 CA 인증서에 대한 경로를 설정합니다.

      SSLCertificateKeyFile "/etc/pki/tls/private/httpd.key"
      SSLCertificateFile "/etc/pki/tls/certs/httpd.pem"
      SSLCACertificateFile "/etc/pki/tls/certs/ca.crt"
  3. 보안상의 이유로 root 사용자만 개인 키 파일에 액세스할 수 있도록 구성합니다.

    # chown root:root /etc/pki/tls/private/httpd.key
    # chmod 600 //etc/pki/tls/private/httpd.key
    주의

    권한이 없는 사용자가 개인 키에 액세스한 경우 인증서를 취소하고 새 개인 키를 만들고 새 인증서를 요청합니다. 그렇지 않으면 TLS 연결이 더 이상 안전하지 않습니다.

  4. firewalld 를 사용하는 경우 로컬 방화벽에서 포트 443 을 엽니다.

    # firewall-cmd --permanent --add-port=443/tcp
    # firewall-cmd --reload
  5. httpd 서비스를 다시 시작합니다.

    # systemctl restart httpd
    참고

    개인 키 파일을 암호로 보호한 경우 httpd 서비스가 시작될 때마다 이 암호를 입력해야 합니다.

    • 브라우저를 사용하고 https://my_company.idm.example.com 에 연결합니다.