Configurando o SSL no Apache HTTPd instalado no VMware VM: certificado inválido

3

Estou construindo um servidor Proxy Reverso com Apache HTTPd 2.4.6 , sob CentOS 7 (recém-instalado) em execução em uma VMWare VM .

Também segui as recomendações do link (encontrado na postagem link ). E poste o link .

  • Configuração atual do Apache HTTPd (/etc/httpd/conf.d/my.domain.com.conf):

    LoadModule ssl_module modules/mod_ssl.so
    
    Listen 443
    
    NameVirtualHost *:443
    SSLStrictSNIVHostCheck off
    
    <VirtualHost *:443>
    
    ServerName my.domain.com
    
    SSLEngine on
    SSLProtocol all -SSLv2
    SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RCA+RSA:+HIGH:+MEDIUM:+LOW
    SSLCertificateFile /etc/pki/tls/certs/my.domain.com.cer
    SSLCertificateKeyFile /etc/pki/tls/private/my.domain.com.key
    SSLCertificateChainFile /etc/pki/ca-trust/source/anchors/chained.pem
    
    ProxyPreserveHost On
    
    <LocationMatch "/myapp">
        ProxyPass http://X.X.X.X:8080/app
        ProxyPassReverse http://X.X.X.X:8080/app
    </LocationMatch>
    </VirtualHost>
    

O arquivo da cadeia de certificados chained.pem contém minha autoridade de certificação.

Esta CA é a emissora do certificado my.domain.com.cer e a chave privada armazenada em my.domain.com.key está correta.

Esta autoridade de certificação foi adicionada a /etc/pki/tls/certs/ca-bundle.crt

A sintaxe está correta ( httpd -t ).

> Problema: quando eu clico em my.domain.com, o certificado VMWare é enviado em vez do meu ...

  • De um cliente, quando faço uma solicitação ao meu domínio com o curl:

    curl -v https://my.domain.com -k
    
    (...) 
    * Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
    * successfully set certificate verify locations:
    *   CAfile: C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
      CApath: none
    * TLSv1.2 (OUT), TLS header, Certificate Status (22):
    (...)
    * Server certificate:
    *  subject: C=US; L=Palo Alto; OU=VMware; CN=VMware;     [email protected]
    *  start date: May 24 09:24:16 2017 GMT
    *  expire date: May 24 09:24:16 2018 GMT
    *  issuer: C=US; L=Palo Alto; OU=VMware; CN=VMware; [email protected]
    *  SSL certificate verify result: self signed certificate (18), continuing anyway.
    
  • De um cliente, quando faço uma solicitação ao meu domínio com o Chrome:

No servidor HTTPd, nada sobre erros de SSL nos registros de depuração do httpd ...:

[Wed Mar 14 05:31:00.572506 2018] [ssl:info] [pid 2715] AH02200: Loading certificate & private key of SSL-aware server 'my.domain.com:443'
[Wed Mar 14 05:31:00.573282 2018] [ssl:debug] [pid 2715] ssl_engine_pphrase.c(506): AH02249: unencrypted RSA private key - pass phrase not required
[Wed Mar 14 05:31:00.573333 2018] [ssl:info] [pid 2715] AH01914: Configuring server my.domain.com:443 for SSL protocol
[Wed Mar 14 05:31:00.574085 2018] [ssl:debug] [pid 2715] ssl_engine_init.c(872): AH01904: Configuring server certificate chain (2 CA certificates)
[Wed Mar 14 05:31:00.574105 2018] [ssl:debug] [pid 2715] ssl_engine_init.c(406): AH01893: Configuring TLS extension handling
[Wed Mar 14 05:31:00.574116 2018] [ssl:debug] [pid 2715] ssl_engine_init.c(919): AH02232: Configuring RSA server certificate
[Wed Mar 14 05:31:00.574356 2018] [ssl:debug] [pid 2715] ssl_util_ssl.c(489): AH02412: [my.domain.com:443] Cert matches for name 'my.domain.com' [subject: [email protected],CN=my.domain.com ....... / notbefore: Mar 12 14:58:57 2018 GMT / notafter: Mar  9 14:58:57 2028 GMT]
[Wed Mar 14 05:31:00.574369 2018] [ssl:debug] [pid 2715] ssl_engine_init.c(974): AH02236: Configuring RSA server private key
[Wed Mar 14 05:31:00.640615 2018] [ssl:info] [pid 2715] AH02200: Loading certificate & private key of SSL-aware server 'my.domain.com:443'
[Wed Mar 14 05:31:00.641115 2018] [ssl:debug] [pid 2715] ssl_engine_pphrase.c(506): AH02249: unencrypted RSA private key - pass phrase not required
[Wed Mar 14 05:31:00.641180 2018] [ssl:info] [pid 2715] AH01914: Configuring server my.domain.com:443 for SSL protocol
[Wed Mar 14 05:31:00.641646 2018] [ssl:debug] [pid 2715] ssl_engine_init.c(872): AH01904: Configuring server certificate chain (2 CA certificates)
[Wed Mar 14 05:31:00.641656 2018] [ssl:debug] [pid 2715] ssl_engine_init.c(406): AH01893: Configuring TLS extension handling
[Wed Mar 14 05:31:00.641666 2018] [ssl:debug] [pid 2715] ssl_engine_init.c(919): AH02232: Configuring RSA server certificate
[Wed Mar 14 05:31:00.642392 2018] [ssl:debug] [pid 2715] ssl_util_ssl.c(489): AH02412: [my.domain.com:443] Cert matches for name 'my.domain.com' [[subject: [email protected],CN=my.domain.com ....... / notbefore: Mar 12 14:58:57 2018 GMT / notafter: Mar  9 14:58:57 2028 GMT]
[Wed Mar 14 05:31:00.642492 2018] [ssl:debug] [pid 2715] ssl_engine_init.c(974): AH02236: Configuring RSA server private key
[Wed Mar 14 05:31:00.656912 2018] [proxy:debug] [pid 2717] proxy_util.c(1843): AH00925: initializing worker http://X.X.X.X:8080/app shared
[Wed Mar 14 05:31:00.656964 2018] [proxy:debug] [pid 2717] proxy_util.c(1885): AH00927: initializing worker http://X.X.X.X:8080/app local
[Wed Mar 14 05:31:00.656984 2018] [proxy:debug] [pid 2717] proxy_util.c(1936): AH00931: initialized single connection worker in child 2717 for (X.X.X.X)

Nenhum registro / etc / httpd / logs / ssl_error.

Eu não entendo porque meus clientes recebem o certificado WMWare em vez do meu ... Alguma idéia? : (

Notas: não há serviço iptables instalado & o arquivo padrão /etc/httpd/conf.d/ssl.conf não está carregado (renomeado para ssl.conf.bak)

    
por cactuschibre 14.03.2018 / 12:49

1 resposta

1

OK. Encontrado. Após longos dias de dores de cabeça.

  • Se você não estiver usando uma conexão em ponte, o domínio my.domain.com precisará estar vinculado ao IP da VM, não ao IP do host. Verifique no seu controlador de domínio.
  • Edite o arquivo config.xml (caminho padrão do Windows: C:\ProgramData\VMware\hostd\config.xml ) para excluir o bloco: %código%

Os certificados gerenciados pela VM serão mostrados primeiro. Você também pode alterar o <!-- Remove the following node to disable SSL --> <ssl> <!-- The server private key file --> <privateKey>C:\ProgramData\VMware\ssl/rui.key</privateKey> <!-- The server side certificate file --> <certificate>C:\ProgramData\VMware\ssl/rui.crt</certificate>--> <!-- The SSL version to use --> <!-- <sslVersion>all</sslVersion> --> </ssl> e o rui.crt , mas eles serão aplicados a todas as VMs. Não é que eu queira.

  • O VMWare precisa ser interrompido e o WMWare Workstation Service precisa ser reiniciado (linhas de comando: rui.key then net stop VMwareHostd )
  • Execute novamente a VM. Feito!
por 14.03.2018 / 13:45