apache2 - SSLSessionCache em execução, mas não está funcionando

7

Eu executo uma instalação padrão do Apache do debian squeeze (2.2) e faço uso de SSLClientCertificates para autorizar usuários. Isso funciona bem até agora.

Mas notamos uma redução de algumas solicitações paralelas e tentamos verificar se meu SSLSessionCache está funcionando.

Então, verifiquei meu localhost / server-status e ele é assim:

SSL/TLS Session Cache Status:
cache type: SHMCB, shared memory: 512000 bytes, current sessions: 0
subcaches: 32, indexes per subcache: 133
index usage: 0%, cache usage: 0%
total sessions stored since starting: 0
total sessions expired since starting: 0
total (pre-expiry) sessions scrolled out of the cache: 0
total retrieves since starting: 0 hit, 0 miss
total removes since starting: 0 hit, 0 miss

Parece estar em execução, mas qualquer solicitação SSL que eu faça, todos os contadores ficam em 0, então nenhuma sessão é armazenada em cache.

Eu tentei definir KeepAlive Off para permitir que todas as solicitações estabelecessem uma nova conexão SSL, mas ainda não vejo números contando no meu SSLSessionCache Status.

Esta é minha configuração SSLSessionCache do padrão debian mods-enabled/ssl.conf :

SSLSessionCache        shmcb:${APACHE_RUN_DIR}/ssl_scache(512000)
SSLSessionCacheTimeout  300
SSLMutex               file:${APACHE_RUN_DIR}/ssl_mutex

no meu ${APACHE_RUN_DIR} não vejo nenhum arquivo, nenhum arquivo ssl_mutex e nenhum arquivo ssl_cache. Quando eu alternar meu SSLSessionCache para

SSLSessionCache         dbm:${APACHE_RUN_DIR}/ssl_scache

Eu posso ver um arquivo nesse diretório, mas todos os números de status ainda são zero.

Eu tentei definir o LogLevel para depurar. As únicas mensagens que recebo sobre o cache ssl são:

$ grep cache /var/log/apache2/error.log

ssl_scache_shmcb.c(253): shmcb_init allocated 512000 bytes of shared memory
ssl_scache_shmcb.c(272): for 511920 bytes (512000 including header), recommending 32 subcaches, 133 indexes each
ssl_scache_shmcb.c(306): shmcb_init_memory choices follow
ssl_scache_shmcb.c(308): subcache_num = 32
ssl_scache_shmcb.c(310): subcache_size = 15992
ssl_scache_shmcb.c(312): subcache_data_offset = 3208
ssl_scache_shmcb.c(314): subcache_data_size = 12784
ssl_scache_shmcb.c(316): index_num = 133
Shared memory session cache initialised
ssl_scache_shmcb.c(452): [client xyz] inside shmcb_status
ssl_scache_shmcb.c(512): [client xyz] leaving shmcb_status

(data removida de um nível de registro para legibilidade, substituição de privacidade por IP)

Então, aqui estão minhas perguntas:

  1. É correto não ter arquivos para mutex e sessionCache no diretório especificado?
  2. Se sim, como provar que meu SessionCache está funcionando?
por Janning 19.06.2012 / 13:40

3 respostas

2

Eu não estou familiarizado com o Debian Squeeze, mas aqui estão algumas coisas para tentar:

Tente se conectar usando o openssl com o sinal reconnect , que usa a mesma sessão 5 vezes :

openssl s_client -connect your.server.com:443 -state  -reconnect

e veja o que você recebe. Procure por Session-ID & "Reutilizado".

Outras coisas a excluir:

  • Um tiro no escuro, mas você pode substituir ${APACHE_RUN_DIR} pelo caminho real e ver se isso ajuda ...?
  • Exclua as permissões de gravação (improváveis, mas ainda assim) dos arquivos ssl_* anotados acima pelo usuário que está executando o apache.
por 19.06.2012 / 15:55
0

Estou enfrentando um problema semelhante.

Para mim, ao executar o comando fornecido. Eu recebi um erro de "mensagem inesperada" quando ele tenta se reconectar.

Mas quando executado no servidor, este comando funciona corretamente, a sessão é reutilizada.

Na época, não tenho solução para isso

    
por 18.12.2012 / 15:36
0

Montando tmpfs em / dev / shm e substituindo $ {APACHE_RUN_DIR} por / dev / shm / apache em corrigido para mim:

grep shm /etc/apache2/mods-enabled/ssl.conf
#SSLSessionCache        shmcb:${APACHE_RUN_DIR}/ssl_scache(512000)
SSLSessionCache        shmcb:/dev/shm/apache_ssl_scache(512000)
    
por 10.02.2013 / 16:38