apache2 - SSLSessionCache đang chạy nhưng không hoạt động


8

Tôi chạy một bản sửa lỗi cài đặt Apache tiêu chuẩn (2.2) và sử dụng SSLClientCertert để ủy quyền cho người dùng. Điều này hoạt động tốt cho đến nay.

Nhưng chúng tôi nhận thấy sự chậm lại của một số yêu cầu song song và cố gắng kiểm tra xem tôi SSLSessionCachecó đang làm việc không.

Vì vậy, tôi đã kiểm tra trạng thái localhost / máy chủ của mình và nó đọc như sau:

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

Có vẻ như đang chạy nhưng bất cứ yêu cầu SSL nào tôi thực hiện, tất cả các bộ đếm đều ở mức 0, vì vậy không có phiên nào được lưu trữ.

Tôi đã cố gắng thiết lập KeepAlive Off, để cho phép mọi yêu cầu thiết lập kết nối SSL mới, nhưng tôi vẫn không thấy số nào được tính trong SSLSessionCacheTrạng thái của mình .

Đây là Cấu hình SSLSessionCache của tôi từ debian tiêu chuẩn mods-enabled/ssl.conf:

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

trong tôi ${APACHE_RUN_DIR}tôi không thấy tập tin nào cả, không có tập tin ssl_mutex và không có tập tin ssl_cache. Khi tôi chuyển SSLSessionCachesang

SSLSessionCache         dbm:${APACHE_RUN_DIR}/ssl_scache

Tôi có thể thấy một tập tin trong thư mục này, nhưng tất cả các số trạng thái vẫn bằng không.

Tôi đã cố gắng thiết lập LogLevel để gỡ lỗi. Các thông điệp duy nhất tôi nhận được về bộ đệm ssl là:

$ 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

(đã xóa ngày một loglevel để dễ đọc, thay thế IP để bảo mật)

Vì vậy, đây là những câu hỏi của tôi:

  1. Có đúng không có tệp cho mutex và sessionCache trong thư mục đã cho không?
  2. Nếu có, làm thế nào để chứng minh SessionCache của tôi đang hoạt động?

Câu trả lời:


2

Tôi không quen với Debian Squeeze, nhưng đây là một số điều cần thử:

Hãy thử kết nối bằng openssl với reconnectcờ sử dụng cùng một phiên 5 lần :

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

và xem những gì bạn nhận được. Tìm kiếm Session-ID& "Tái sử dụng."

Những thứ khác để loại trừ:

  • Một phát bắn trong bóng tối, nhưng bạn có thể thay thế ${APACHE_RUN_DIR}bằng đường dẫn thực tế và xem liệu điều đó có giúp ...?
  • Loại trừ quyền ghi (không thể, nhưng vẫn) đối với các ssl_*tệp bạn lưu ý ở trên bởi người dùng đang chạy apache.

Như đã lưu ý apache ghi một tệp vào thư mục khi tôi sử dụng dbm: như sessionCache của tôi. Vì vậy, $ {APACHE_RUN_DIR} và viết quyền không phải là vấn đề. Tôi không thể kiểm tra nó với openssl vì tôi sử dụng mã thông báo pcks # 11 cho chứng chỉ ứng dụng khách của mình, không thể làm cho nó hoạt động trên dòng lệnh với openssl
Janning

Tôi có cùng một vấn đề trên một máy tính windows. Tôi đã cố gắng kết nối thông qua openssl như được đề xuất và tôi thực sự thấy rằng cùng một ID phiên được sử dụng cho tất cả các kết nối lại. Nó cũng cho biết: "Tái sử dụng, TLSv1 / SSLv3" lúc đầu. Tuy nhiên, điều này thậm chí xảy ra khi tôi xóa dòng SSLSessionCache khỏi cấu hình apache của mình. Bất kỳ ý tưởng này có nghĩa là gì?
lex82

Được một năm, có ai tìm được giải pháp cho việc này không?
codenamezero

0

Tôi đang đối mặt với một vấn đề tương tự.

Đối với tôi khi chạy lệnh đã cho. Tôi đã gặp lỗi "tin nhắn bất ngờ" khi nó cố gắng kết nối lại.

Nhưng khi chạy trên máy chủ, lệnh này hoạt động chính xác, phiên được sử dụng lại.

Tại thời điểm đó, tôi không có giải pháp cho việc này


0

Gắn tmpfs trên / dev / shm và thay thế $ {APACHE_RUN_DIR} bằng / dev / shm / apache đã sửa nó cho tôi:

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

điều đó cũng không làm việc cho tôi.
codenamezero
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.