Kesalahan koneksi SSL dari Apache


8

Saya menjalankan situs sertifikat SSL (ditandatangani sendiri) di Apache / 2.2.14 di Ubuntu 10.04, tetapi berbagai browser memberikan kesalahan pada setengah upaya koneksi. Baru saja melihat kesalahan sementara ini dari Chrome:

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

Hit refresh dan masalahnya hilang untuk sementara waktu.

wget juga:

$ 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.

Jalankan segera lagi dan berfungsi:

$ 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]

Di situs saya-enabled / default-ssl:

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

Sertifikat:

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

Sertifikat ini pada gilirannya dihasilkan melalui:

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

Versi 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"

Saya tidak mengelola jaringan, perangkat keras, dll. - ini semua berjalan di Amazon EC2. Saya tidak menjalankan penyeimbang beban atau apa pun di depan server. Saya membuat koneksi TCP langsung ke host itu (AFAIK).

Ada ide? Terima kasih sebelumnya atas bantuannya.


Sudahkah Anda mencoba menghapus sertifikat yang sebenarnya. Kemudian menghasilkan yang sama sekali baru, dengan nama yang berbeda, TIDAK menggunakan opsi --force-overwrite?
NcA

Anda berasal dari negara mana? ada lebih dari satu IP atau server untuk nama domain / server web itu? Apa yang terjadi jika Anda menggunakan openssl s_client -connect host:port -showcertslima kali berturut-turut Anda mendapatkan pesan kesalahan serupa untuk wget? Apakah Anda mendapatkan kesalahan yang sama masing-masing dari lima berjalan?
Ram

Jawaban:


2

Masalah yang Anda hadapi adalah sesekali, tanda tangan pada pesan yang diterima oleh browser salah.

Ini dapat terjadi karena sejumlah besar alasan. Misalnya, Anda mungkin mengalami bug openssl, kegagalan perangkat keras (RAM atau CPU buruk), semacam kebetulan aneh dengan kunci Anda (secara astronomis tidak mungkin). Atau, Anda mungkin mengalami persis apa yang dirancang untuk dideteksi oleh MAC: seseorang mungkin mengganggu lalu lintas Anda dalam perjalanan.

Karena sertifikat Anda ditandatangani sendiri, lanjutkan dan ganti, restart apache, dan lanjutkan, seperti langkah pemecahan masalah. Jika ini tidak berhasil, periksa apakah Anda menjalankan versi openssl terbaru (atau cukup ubah versi openssl untuk bersenang-senang). Jika Anda masih mendapatkan kesalahan MAC, selidiki apakah Anda mengalami kegagalan perangkat keras atau kerusakan jaringan.

Bagian kesalahan ini secara khusus mengatakan:

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

Ini menunjukkan bahwa kemungkinan besar pesan telah dimodifikasi dari versi yang ditandatangani, dan mungkin terpotong.


1

Pertama-tama, sertifikat yang ditandatangani sendiri seringkali lebih menyakitkan daripada sertifikat SSL murah untuk pengguna akhir. Saya tidak merekomendasikan menggunakannya jika Anda memiliki antarmuka publik, atau bahkan sejumlah besar pengguna internal. Broswers semakin ketat pada sertifikat yang ditandatangani sendiri dengan menolaknya kepercayaan bawaan.

Kedua, ada beberapa toko kepercayaan yang berbeda pada mesin.

Linux umumnya menggunakan NSS (mozilla), tetapi browser alternatif mungkin memiliki toko kepercayaan mereka sendiri juga.

Mungkin saja sertifikat memiliki OID yang salah, dll. Kita perlu melihat sertifikat yang sebenarnya. PKI tidak benar-benar memiliki kerahasiaan untuk sertifikat - hanya untuk kunci pribadi.

Silakan gunakan http://pkif.sourceforge.net/pitt.html dan beri tahu kami apa kesalahan yang Anda miliki, atau tidak miliki.

Terima kasih.


-2

Saya bukan programmer jadi tolong ringankan dengan saya :)

Beberapa hari yang lalu saya memiliki masalah dengan akses ke akun gmail saya dengan Kesalahan 126 (net :: ERR_SSL_BAD_RECORD_MAC_ALERT) di Chrome. Mungkin masalah Anda mirip dengan saya ?! Jadi saya telah menemukan posting http://www.luvfree.com/forums/general_discussion/i_cannot_access_to_my_gmailcom_error_126_neterr_ssl_bad_record_mac_alert_in_chro.htm Ini adalah situs kencan luvfree.com tetapi saran mereka membantu saya.

Mungkin masalah Anda juga di router.

Perbaikan untuk masalah ini adalah memutakhirkan firmware di router.


Sementara ini secara teoritis dapat menjawab pertanyaan, akan lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini, dan menyediakan tautan untuk referensi.
Mark Henderson

Juga tautannya mungkin NSFW.
Burhan Khalid

-3

Banyak hal yang bisa salah. Saya tidak berpikir ada yang bisa menjawab ini tanpa mengetahui konfigurasi jaringan Anda dan bagaimana Apache dikonfigurasi, bagaimana load balancing sedang dilakukan, dan apa jenis round-robin yang digunakannya, serta aspek perangkat keras lain dari jaringan Anda.

Bagi saya, sepertinya, pada validator nama host SSL, ini mendapatkan respons tak terduga yang tidak cocok dengan nama host?


Saya tidak mengelola jaringan, perangkat keras, dll. - ini semua berjalan di Amazon EC2. Saya tidak menjalankan penyeimbang beban atau apa pun di depan server. Saya membuat koneksi TCP langsung ke host itu (AFAIK). Menambahkan info ini ke pertanyaan saya.
Yang

1
SSL MAC sama sekali tidak ada hubungannya dengan MAC jaringan.
Falcon Momot
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.