Durante a instalação do certificado renovado, descobri que o problema foi causado pela especificação (para o domínio e para cada subdomínio) no ISPConfig de todo o conjunto de dados necessários para HTTPS: certificado, chave privada, cadeia CA, etc.
Colocado de maneira diferente, remover o conjunto de dados levou ao teste Qualys para classificar o domínio A e, ao mesmo tempo, remover os avisos sobre o RC4. Colocar os detalhes de volta leva às advertências retornando e a nota sendo tapada em B novamente, o que não deixa lugar para dúvidas quanto ao elo de causalidade.
É como se dar os detalhes de cada vhost de alguma forma criasse um novo ambiente no qual alguns padrões tivessem sobrescrito o conjunto de criptografia que eu especifiquei no ssl.conf. Estranho.
A solução é adicionar a especificação SSLCipherSuite na área de texto Apache Directives para cada vhost. Isso é o que eu tenho na configuração que me dá uma nota A:
SSLProtocol ALL -SSLv2 -SSLv3
SSLHonorCipherOrder on
# Compression is disabled by default on my distribution (CentOS 6)
# SSLCompression off
SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
EDIT (2017-05-16): Uma descoberta adicional sobre esse problema: a especificação de SSLCipherSuite
é obrigatória. Não consigo entender por que essa diretiva específica, embora especificada no nível do servidor, não se aplica automaticamente a configurações de host virtual . Estou executando o Apache 2.2.15 no CentOS 6.9.
EDIT (2018-06-18): Mais informações. Acabei de descobrir que a diretiva SSLCipherSuite pode ser especificada apenas uma vez e será aplicada a todos os hosts virtuais: no arquivo de configuração base mod_ssl (no CentOS 6, o arquivo encontra-se em /etc/httpd/conf.d/ssl.conf
), basta configurá-lo fora do virtualhost padrão. A documentação do Apache 2.2 afirma que o valor padrão desta diretiva é SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
. Eu acho que é daí que vem a cifra RC4: na ausência de qualquer especificação, que era o meu caso, já que nenhuma especificação estava no contexto "global", o valor padrão se aplica. Esse entendimento acaba com o que tem sido um mistério para mim. Ironicamente, estou prestes a mudar para o CentOS 7 quando encontrar essa explicação! HTH.