9 votes

apache2 - SSLSessionCache s'exécute mais ne fonctionne pas

J'utilise une installation standard d'Apache (2.2) sous Debian Squeeze et j'utilise les certificats SSLClient pour autoriser les utilisateurs. Cela fonctionne bien jusqu'à présent.

Mais nous avons remarqué un ralentissement de certaines requêtes parallèles et nous avons essayé de vérifier si mes SSLSessionCache fonctionne.

J'ai donc vérifié mon localhost/server-status et il se lit comme ceci :

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

Il semble fonctionner mais quelle que soit la demande SSL que je fais, tous les compteurs restent à 0, donc aucune session n'est mise en cache.

J'ai essayé de mettre KeepAlive Off pour que chaque demande établisse une nouvelle connexion SSL, mais je ne vois toujours pas de chiffres s'afficher dans ma page d'accueil. SSLSessionCache Statut.

Voici ma configuration de SSLSessionCache à partir de la version standard de Debian. mods-enabled/ssl.conf :

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

dans mon ${APACHE_RUN_DIR} Je ne vois aucun fichier, ni ssl_mutex, ni ssl_cache. Lorsque je passe mon SSLSessionCache a

SSLSessionCache         dbm:${APACHE_RUN_DIR}/ssl_scache

Je peux voir un fichier dans ce répertoire, mais tous les numéros d'état sont toujours à zéro.

J'ai essayé de régler LogLevel sur débogage. Les seuls messages que je reçois au sujet du cache ssl sont les suivants :

$ 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

(suppression de la date et du niveau d'enregistrement pour des raisons de lisibilité, remplacement de l'IP pour des raisons de confidentialité)

Voici donc mes questions :

  1. Est-il correct de ne pas avoir de fichiers pour mutex et sessionCache dans le répertoire donné ?
  2. Si oui, comment prouver que mon SessionCache fonctionne ?

2voto

KM. Points 1736

Je ne suis pas familier avec Debian Squeeze, mais voici quelques trucs à essayer :

Essayez de vous connecter en utilisant openssl avec l'option reconnect qui utilisent le même session 5 fois :

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

et voyez ce que vous obtenez. Cherchez Session-ID & "Réutilisé".

D'autres choses à écarter :

  • Un coup dans le noir, mais pouvez-vous remplacer ${APACHE_RUN_DIR} avec le chemin réel et voir si cela aide ... ?
  • Éliminez les droits d'écriture (peu probable, mais quand même) sur le fichier ssl_* que vous avez noté ci-dessus par l'utilisateur qui exécute apache.

1voto

meebey Points 46

Monter tmpfs sur /dev/shm et remplacer ${APACHE_RUN_DIR} par /dev/shm/apache in a réglé le problème pour moi :

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

0voto

benzen Points 393

Je suis confronté à un problème similaire.

Pour moi, en exécutant la commande donnée. J'ai une erreur "message inattendu" quand il essaie de se reconnecter.

Mais lorsqu'elle est exécutée sur le serveur, cette commande fonctionne correctement, les sessions sont réutilisées.

Pour le moment, je n'ai pas de solution pour cela.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X