Lỗi kết nối SSL từ Apache


8

Tôi đang chạy một trang web chứng chỉ SSL (tự ký) trên Apache / 2.2.14 trên Ubuntu 10.04, nhưng các trình duyệt khác nhau đang mắc lỗi trong một nửa số lần thử kết nối. Vừa mới thấy lỗi tạm thời này từ Chrome:

"Error 126 (net::ERR_SSL_BAD_RECORD_MAC_ALERT): Unknown error."

Nhấn refresh và vấn đề biến mất trong một thời gian.

cũng quên

$ wget --no-check-certificate https://dev.foo.com/deps/
--2010-09-08 19:30:26--  https://dev.foo.com/deps/
Resolving dev.foo.com... 184.72.53.220
Connecting to dev.foo.com|184.72.53.220|:443... connected.
OpenSSL: error:0407006A:rsa
routines:RSA_padding_check_PKCS1_type_1:block type is not 01
OpenSSL: error:04067072:rsa routines:RSA_EAY_PUBLIC_DECRYPT:padding check failed
OpenSSL: error:1408D07B:SSL routines:SSL3_GET_KEY_EXCHANGE:bad signature
Unable to establish SSL connection.

Chạy nó ngay lập tức và nó hoạt động:

$ wget --no-check-certificate https://dev.foo.com/deps/
--2010-09-08 19:30:29--  https://dev.foo.com/deps/
    Resolving dev.foo.com... 184.72.53.220
Connecting to dev.foo.com|184.72.53.220|:443... connected.
WARNING: cannot verify dev.foo.com's certificate, issued by
`/CN=dev.foo.com':
 Self-signed certificate encountered.
HTTP request sent, awaiting response... 200 OK
Length: 3157 (3.1K) [text/html]
Saving to: `index.html'

100%[======================================>] 3,157       --.-K/s   in 0s

2010-09-08 19:30:29 (48.6 MB/s) - `index.html' saved [3157/3157]

Trong trang web của tôi được kích hoạt / default-ssl:

SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

Chứng chỉ:

-----BEGIN CERTIFICATE-----
MIIBszCCARwCCQCa0TzNwqLgsTANBgkqhkiG9w0BAQUFADAeMRwwGgYDVQQDExNk
ZXYucGFydHlvbmRhdGEuY29tMB4XDTEwMDgyNzA2MzA1N1oXDTIwMDgyNDA2MzA1
N1owHjEcMBoGA1UEAxMTZGV2LnBhcnR5b25kYXRhLmNvbTCBnzANBgkqhkiG9w0B
AQEFAAOBjQAwgYkCgYEAzXDEULpCUqIc9hV/ESFapkckR2uoYINA81DvG2aQZ9Ot
Q30OwX2ae2CC4bSzJEIVlahU8vjVrWpmpa28NEhQbqh4ywwbl1XDrEVYI6Gkfimf
snJhOKyaVrEhlwutYtBjmsz3ZIqwymMPm/6smVcSS5dJIynlSmtltxX6ivPcO8UC
AwEAATANBgkqhkiG9w0BAQUFAAOBgQBGxHVkpSSOnZjzuySRepjhAlV/yhe9Fx23
fh12WrjQMEi98B7JEuNSLXDWckUN7O6XRc3RzKmazcGHJqzhn0Ov6gAmAE2XjZ/x
VW21xmaLwk+KgYKFJbJJaP3jMSpU7I3aa11wqAkR2Zd4Nkm9N0YXYIzcBdfztTVI
Et8mEHBFdg==
-----END CERTIFICATE-----

Chứng chỉ lần lượt được tạo thông qua:

$ make-ssl-cert generate-default-snakeoil --force-overwrite

Phiên bản Apache.

$ apache2 -V
Server version: Apache/2.2.14 (Ubuntu)
Server built:   Apr 13 2010 20:22:19
Server's Module Magic Number: 20051115:23
Server loaded:  APR 1.3.8, APR-Util 1.3.9
Compiled using: APR 1.3.8, APR-Util 1.3.9
Architecture:   64-bit
Server MPM:     Worker
 threaded:     yes (fixed thread count)
   forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/worker"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT=""
 -D SUEXEC_BIN="/usr/lib/apache2/suexec"
 -D DEFAULT_PIDLOG="/var/run/apache2.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
 -D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"

Tôi không quản trị mạng, phần cứng, v.v. - tất cả đều chạy trên Amazon EC2. Tôi không chạy bộ cân bằng tải hoặc bất cứ thứ gì khác trước máy chủ. Tôi đang thực hiện các kết nối TCP trực tiếp đến máy chủ đó (AFAIK).

Có ý kiến ​​gì không? Cảm ơn trước sự giúp đỡ nào.


Bạn đã thử loại bỏ chứng chỉ thực tế. Sau đó, tạo một cái hoàn toàn mới, với một tên khác, KHÔNG sử dụng tùy chọn - Force-overwrite?
NcA

Bạn đang từ nước nào? Có nhiều hơn một IP hoặc máy chủ cho tên miền / máy chủ web đó không? Điều gì xảy ra nếu bạn sử dụng openssl s_client -connect host:port -showcertsnăm lần liên tiếp để nhận thông báo lỗi tương tự? Bạn có nhận được cùng một lỗi trong mỗi năm lần chạy không?
Ram

Câu trả lời:


2

Vấn đề bạn đang gặp phải là không liên tục, chữ ký trên tin nhắn mà trình duyệt nhận được là sai.

Điều này có thể xảy ra vì một số lượng lớn lý do. Ví dụ, bạn có thể gặp phải lỗi openssl, lỗi phần cứng (RAM hoặc CPU xấu), một số loại trùng hợp kỳ lạ với khóa của bạn (không thể về mặt thiên văn). Hoặc, bạn có thể đang trải nghiệm chính xác những gì MAC được thiết kế để phát hiện: ai đó có thể đang can thiệp vào lưu lượng truy cập của bạn.

Vì chứng chỉ của bạn là tự ký, hãy tiếp tục và thay thế nó, khởi động lại apache và tiếp tục, giống như một bước khắc phục sự cố. Nếu điều này không hoạt động, hãy kiểm tra xem bạn có đang chạy phiên bản openssl mới nhất không (hoặc chỉ thay đổi phiên bản openssl để giải trí). Nếu bạn vẫn gặp lỗi MAC, hãy điều tra xem bạn có bị lỗi phần cứng hoặc giả mạo mạng không.

Phần lỗi này đặc biệt nói:

OpenSSL: error:04067072:rsa routines:RSA_EAY_PUBLIC_DECRYPT:padding check failed

Điều này cho thấy rất có thể tin nhắn đã được sửa đổi từ phiên bản đã được ký và có thể bị cắt ngắn.


1

Trước hết, chứng chỉ tự ký thường đau hơn chứng chỉ SSL giá rẻ cho người dùng cuối. Tôi không khuyên bạn nên sử dụng chúng nếu bạn có bất kỳ loại giao tiếp công khai nào, hoặc thậm chí một số lượng lớn người dùng nội bộ. Broswers đang ngày càng trở nên nghiêm ngặt đối với các chứng chỉ tự ký bằng cách từ chối họ tin tưởng mặc định.

Thứ hai, có một số cửa hàng tin cậy khác nhau trên một máy.

Linux thường sử dụng NSS (mozilla), nhưng các trình duyệt thay thế cũng có thể có các cửa hàng tin cậy của riêng họ.

Có thể chứng chỉ có bộ OID không chính xác, v.v. Chúng ta cần xem chứng chỉ thực tế. PKI không thực sự có tính bảo mật cho chứng chỉ - chỉ dành cho khóa riêng.

Vui lòng sử dụng http://pkif.sourceforge.net/pitt.html và cho chúng tôi biết bạn có lỗi gì hoặc không có.

Cảm ơn.


-2

Tôi không phải là lập trình viên nên xin hãy khoan dung với tôi :)

Vài ngày trước, tôi gặp vấn đề với việc truy cập vào tài khoản gmail của mình với Lỗi 126 (net :: ERR_SSL_BAD_RECORD_MAC_ALERT) trong Chrome. Có lẽ vấn đề của bạn tương tự như của tôi?! Vì vậy, tôi đã tìm thấy bài đăng http://www.luvfree.com/forums/general_discussion/i_cannot_access_to_my_gmailcom_error_126_neterr_ssl_bad_record_mac_alert_in_chro.htm Đây là trang web hẹn hò với họ.

Có lẽ vấn đề của bạn cũng trong bộ định tuyến.

Khắc phục sự cố này là nâng cấp chương trình cơ sở trong bộ định tuyến.


Trong khi về mặt lý thuyết có thể trả lời câu hỏi, tốt hơn là nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo.
Mark Henderson

Ngoài ra liên kết có thể là NSFW.
Burhan Khalid

-3

Rất nhiều thứ có thể đi sai. Tôi không nghĩ có ai có thể trả lời điều này mà không cần biết cấu hình mạng của bạn và cách cấu hình Apache, cách cân bằng tải được thực hiện và loại vòng tròn sử dụng cũng như các khía cạnh phần cứng khác của mạng của bạn.

Đối với tôi, có vẻ như, trên trình xác nhận tên máy chủ SSL, nó nhận được phản hồi không mong muốn không khớp với tên máy chủ?


Tôi không quản trị mạng, phần cứng, v.v. - tất cả đều chạy trên Amazon EC2. Tôi không chạy bộ cân bằng tải hoặc bất cứ thứ gì khác trước máy chủ. Tôi đang thực hiện các kết nối TCP trực tiếp đến máy chủ đó (AFAIK). Thêm thông tin này vào câu hỏi của tôi.
Yang

1
SSL MAC hoàn toàn không liên quan gì đến MAC mạng.
Falcon Momot
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.