apache2 - SSLSessionCache in esecuzione ma non funzionante


8

Eseguo un'installazione Apache standard debian squeeze (2.2) e utilizzo SSLClientCertificates per autorizzare gli utenti. Questo funziona bene finora.

Ma abbiamo notato un rallentamento di alcune richieste parallele e abbiamo provato a verificare se il mio SSLSessionCachefunziona.

Quindi ho controllato il mio stato localhost / server e si legge così:

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

Sembra essere in esecuzione ma qualunque sia la richiesta SSL che faccio, tutti i contatori rimangono a 0, quindi nessuna sessione viene memorizzata nella cache.

Ho provato a impostare KeepAlive Off, per consentire a ogni richiesta di stabilire una nuova connessione SSL, ma non vedo ancora i numeri contare nel mio SSLSessionCachestato.

Questa è la mia configurazione SSLSessionCache da debian standard mods-enabled/ssl.conf:

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

nel mio ${APACHE_RUN_DIR}non vedo alcun file, nessun file ssl_mutex e nessun file ssl_cache. Quando passo il mio SSLSessionCachea

SSLSessionCache         dbm:${APACHE_RUN_DIR}/ssl_scache

Posso vedere un file in questa directory, ma tutti i numeri di stato sono ancora zero.

Ho provato a impostare LogLevel per il debug. Gli unici messaggi che ricevo sulla cache SSL sono:

$ 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

(rimosso una data livello di leggibilità, sostituito IP per la privacy)

Quindi, ecco le mie domande:

  1. È corretto non avere file per mutex e sessionCache nella directory indicata?
  2. Se sì, come provare il funzionamento di SessionCache?

Risposte:


2

Non ho familiarità con Debian Squeeze, ma qui ci sono alcune cose da provare:

Prova a connetterti utilizzando openssl con il reconnectflag che utilizza la stessa sessione 5 volte :

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

e vedi cosa ottieni. Cerca Session-IDe "Riutilizzato".

Altre cose da escludere:

  • Uno scatto al buio, ma puoi sostituirlo ${APACHE_RUN_DIR}con il percorso effettivo e vedere se questo aiuta ...?
  • Escludi i permessi di scrittura (improbabili, ma comunque) per i ssl_*file che noti sopra dall'utente che esegue apache.

Come notato apache scrive un file nella directory quando uso dbm: come sessionCache. Quindi $ {APACHE_RUN_DIR} e le autorizzazioni di scrittura non dovrebbero essere il problema. Non riesco a provarlo con openssl perché uso un token pcks # 11 per il mio certificato client, non riesco a farlo funzionare sulla riga di comando con openssl
Janning,

Ho lo stesso problema su una macchina Windows. Ho provato a connettermi tramite openssl come suggerito e in realtà vedo che lo stesso ID sessione viene utilizzato per tutte le riconnessioni. Dice anche: "Riutilizzato, TLSv1 / SSLv3" all'inizio. Tuttavia, ciò accade anche quando rimuovo la linea SSLSessionCache dalla mia configurazione di Apache. Qualche idea su cosa significhi?
lex82,

Sei stato un anno, qualcuno ha trovato una soluzione a questo?
codenamezero

0

Sto affrontando un problema simile.

Per me quando eseguo il comando dato. Si è verificato un errore "messaggio imprevisto" quando si tenta di riconnettersi.

Ma quando viene eseguito sul server questo comando funziona correttamente, la sessione viene riutilizzata.

Al momento, non ho soluzione per questo


0

Montando tmpfs su / dev / shm e sostituendo $ {APACHE_RUN_DIR} con / dev / shm / apache è stato corretto per me:

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

non ha funzionato neanche per me.
codenamezero
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.