apache2 - SSLSessionCache berjalan tetapi tidak berfungsi

8

Saya menjalankan instalasi standar Apache debian squeeze (2.2) dan memanfaatkan SSLClientCertificates untuk mengotorisasi pengguna. Sejauh ini ini berfungsi dengan baik.

Tetapi kami melihat ada beberapa permintaan paralel yang melambat dan mencoba memeriksa apakah permintaan saya SSLSessionCacheberfungsi.

Jadi saya memeriksa status localhost / server saya dan berbunyi seperti ini:

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

Tampaknya berjalan tetapi apa pun permintaan SSL yang saya buat, semua penghitung tetap pada 0, jadi tidak ada sesi yang di-cache.

Saya mencoba mengatur KeepAlive Off, untuk membiarkan setiap permintaan membuat koneksi SSL baru, tetapi saya tetap tidak melihat angka yang masuk dalam SSLSessionCacheStatus saya .

Ini adalah Konfigurasi SSLSessionCache saya dari debian standar mods-enabled/ssl.conf:

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

di saya ${APACHE_RUN_DIR}saya tidak melihat file sama sekali, tidak ada ssl_mutex dan tidak ada file ssl_cache. Ketika saya beralih SSLSessionCacheke

SSLSessionCache         dbm:${APACHE_RUN_DIR}/ssl_scache

Saya dapat melihat file di direktori ini, tetapi semua nomor status masih nol.

Saya mencoba mengatur LogLevel untuk debug. Satu-satunya pesan yang saya dapatkan tentang ssl cache adalah:

$ 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

(tanggal dihapus sebuah loglevel untuk dibaca, diganti IP untuk privasi)

Jadi inilah pertanyaanku:

  1. Apakah benar tidak memiliki file untuk mutex dan sessionCache di direktori yang diberikan?
  2. Jika ya, bagaimana membuktikan SessionCache saya berfungsi?
Janning
sumber

Jawaban:

2

Saya tidak terbiasa dengan Debian Squeeze, tetapi ada beberapa hal yang dapat dicoba:

Mencoba menghubungkan menggunakan openssl dengan reconnectbendera yang digunakan sama sesi 5 kali :

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

dan lihat apa yang kamu dapatkan. Cari Session-ID& "Digunakan kembali."

Hal-hal lain untuk dikesampingkan:

  • Bidikan dalam gelap, tetapi bisakah Anda mengganti ${APACHE_RUN_DIR}dengan jalur yang sebenarnya dan melihat apakah itu membantu ...?
  • Singkirkan izin menulis (tidak mungkin, tapi tetap saja) ke ssl_*file yang Anda catat di atas oleh pengguna yang menjalankan apache.
KM.
sumber
Seperti dicatat apache menulis file ke direktori ketika saya menggunakan dbm: sebagai sessionCache saya. Jadi $ {APACHE_RUN_DIR} dan menulis izin seharusnya tidak menjadi masalah. Saya tidak dapat mengujinya dengan openssl karena saya menggunakan token pcks # 11 untuk cert klien saya, tidak bisa menjalankannya pada command line dengan openssl
Janning
Saya memiliki masalah yang sama pada mesin windows. Saya mencoba untuk terhubung melalui openssl seperti yang disarankan dan saya benar-benar melihat bahwa Session-ID yang sama digunakan untuk semua koneksi ulang. Itu juga mengatakan: "Digunakan kembali, TLSv1 / SSLv3" di awal. Namun, ini bahkan terjadi ketika saya menghapus garis SSLSessionCache dari konfigurasi apache saya. Ada ide apa artinya ini?
lex82
Sudah setahun, ada yang menemukan solusi untuk ini?
codenamezero
0

Saya menghadapi masalah yang sama.

Bagi saya saat menjalankan perintah yang diberikan. Saya mendapat kesalahan "pesan tak terduga" ketika mencoba menghubungkan kembali.

Tetapi ketika berjalan di server, perintah ini bekerja dengan benar, sesi digunakan kembali.

Pada saat itu, saya tidak punya solusi untuk ini

benzen
sumber
0

Mount tmpfs di / dev / shm dan mengganti $ {APACHE_RUN_DIR} dengan / dev / shm / apache di fix untuk saya:

grep shm /etc/apache2/mods-enabled/ssl.conf
#SSLSessionCache        shmcb:${APACHE_RUN_DIR}/ssl_scache(512000)
SSLSessionCache        shmcb:/dev/shm/apache_ssl_scache(512000)
meebey
sumber
itu juga tidak berhasil untukku.
codenamezero