Apakah rantai sertifikat SSL ini rusak dan bagaimana cara memperbaikinya?

13

Untuk sertifikat SSL di domain example.com, beberapa tes memberi tahu saya bahwa rantai tidak lengkap dan karena Firefox menyimpan toko sertifikatnya sendiri, mungkin gagal di Mozilla ( 1 , 2 , 3 ). Yang lain memberi tahu saya bahwa itu baik-baik saja , seperti halnya Firefox 36, yang memberi tahu saya bahwa rantai sertifikat baik-baik saja.

UPDATE: Saya menguji pada Opera, Safari, Chrome dan IE pada Windows XP dan MacOS X Snow Leopard, semuanya bekerja dengan baik. Itu hanya gagal pada Firefox <36 pada kedua OS. Saya tidak punya akses untuk menguji di Linux, tetapi untuk situs web ini kurang dari 1% pengunjung, dan sebagian besar mungkin bot. Jadi, ini menjawab pertanyaan awal "apakah pengaturan ini memunculkan peringatan di Mozilla Firefox atau tidak" dan "Apakah rantai sertifikat SSL ini rusak atau tidak?".

Oleh karena itu, pertanyaannya adalah bagaimana cara mengetahui sertifikat mana yang harus saya tempatkan di file ssl.ca sehingga dapat dilayani oleh Apache agar Firefox <36 tidak tersedak?

PS: Sebagai catatan, Firefox 36 yang saya gunakan untuk menguji sertifikat adalah instalasi baru. Tidak ada kemungkinan itu tidak mengeluh karena telah mengunduh sertifikat perantara selama kunjungan sebelumnya ke situs yang menggunakan rantai yang sama .

Gaia
sumber
1
Belum tentu - dalam hal apa pun, jika Anda dapat menjawab pertanyaan Anda sendiri, Anda didorong untuk melakukannya :)
BE77Y
Ya, saya jawab yang ini, tetapi akan lebih berguna untuk bertanya kembali bagaimana cara memperbaikinya, bukannya rusak. Apakah boleh melakukan itu?
Gaia
1
Benar. Itu membuat jawaban di sini relevan juga (dari saat mereka diposting, mereka benar, kan?)
Luke Kanada
@ Gaia: ah, ok - Saya mengerti maksud Anda sekarang. Saya tidak 100% atas apa yang dianggap praktik terbaik untuk itu, tetapi insting saya adalah memperbarui pertanyaan Anda untuk memasukkan "dan bagaimana ini harus diselesaikan?" Dalam kasus Anda, sesuai tanggapan Steffen Ullrich, sertifikat "COMODO RSA Certification Authority" hilang dari rantai - Anda dapat menghindari kesalahan klien potensial tetapi memasukkannya ke dalam rantai Anda. Ini hanya benar-benar dianggap praktik buruk karena menambah potensi jabat tangan yang tidak perlu - jika tidak, ia tidak memiliki efek merugikan.
BE77Y
Lebih jauh ke atas, juga perlu dicatat bahwa sebagian besar jika tidak semua klien modern harus benar-benar baik-baik saja dengan pengaturan seperti saat ini (sesuai dengan uji SSLlabs)
BE77Y

Jawaban:

8

Jika rantai cukup tergantung pada toko CA klien. Sepertinya Firefox dan Google Chrome telah menyertakan sertifikat untuk "COMODO RSA Certification Authority" akhir 2014. Untuk Internet Explorer mungkin tergantung pada OS yang mendasarinya. CA mungkin belum dimasukkan dalam toko kepercayaan yang digunakan oleh non-browser, yaitu crawler, aplikasi seluler, dll.

Bagaimanapun rantai tidak sepenuhnya benar, seperti dapat dilihat dari laporan SSLLabs :

  • Satu jalur kepercayaan mengharuskan CA baru dipercaya oleh browser. Dalam hal ini Anda masih mengirim CA baru yang salah, karena CA tepercaya harus built-in dan tidak terkandung dalam rantai.
  • Jalur kepercayaan lainnya tidak lengkap, artinya perlu unduhan tambahan. Beberapa browser seperti Google Chrome melakukan unduhan ini, sementara yang lain browser dan non-browser mengharapkan semua sertifikat yang diperlukan terkandung di dalam rantai yang dikirimkan. Dengan demikian sebagian besar browser dan aplikasi yang tidak memiliki CA built-in baru akan gagal dengan situs ini.
Steffen Ullrich
sumber
Saya mendapat kesan bahwa Chrome dan IE sama-sama menggunakan toko sertifikat Windows. Apakah Anda yakin Chrome memiliki toko tambahan sendiri?
Gaia
SSLlabs menyatakan "Masalah rantai = Tidak Ada", tapi saya memang melihat analisis rantai terperinci di bawah ini.
Gaia
1
FWIW, Chrome di bawah OS X memang menggunakan toko sertifikat OS, @SteffenUllrich.
BE77Y
1
@ Gaia: jangan lupa klien seluler, mereka memiliki toko sertifikat sendiri yang mungkin juga berbeda antara berbagai versi Android.
Steffen Ullrich
1
@ Gaia: ambil jalur kepercayaan kedua yang ditunjukkan oleh SSLLabs dan tambahkan saja sertifikat rantai yang hilang. Rantai ini kemudian dapat divalidasi oleh browser yang memiliki CA yang lebih baru dan yang belum memiliki CA ini.
Steffen Ullrich
8

Saya menghubungi Comodo dan mengunduh file bundle.crt dari mereka. Saya menamainya menjadi ssl.ca, sesuai pengaturan server ini, dan sekarang cert melewati semua tes. The Chain issues = Contains anchorpemberitahuan tidak masalah (lihat di bawah).

SSL Labs, secara luas dianggap sebagai tes paling lengkap, sekarang menunjukkan Chain issues = Contains anchor, sedangkan sebelumnya digunakan untuk menunjukkan Chain issues = None(sedangkan yang lain menunjukkan masalah dengan rantai). Ini benar-benar bukan masalah ( 1 , 2 ), selain dari tambahan 1kB yang dikirimkan server ke klien.

Kesimpulan saya

  1. Abaikan uji Lab SSL yang bertuliskan Chain issues = Contains anchorATAU hapus sertifikat root dari file bundel (lihat komentar di bawah ini).

  2. Selalu jalankan pengujian sekunder pada setidaknya satu dari tiga lokasi pengujian lainnya ( 1 , 2 , 3 ) untuk memastikan rantai Anda benar-benar baik ketika SSL Labs mengatakan Chain issues = None.

Gaia
sumber
2
Benar-benar tidak ada gunanya menyertakan sertifikat "jangkar" / "root" yang sebenarnya. Namun, Anda sangat menginginkan sertifikat perantara. Saya kira Anda awalnya tidak memiliki sertifikat perantara, yang menyebabkan masalah.
Håkan Lindqvist
@ HåkanLindqvist Jadi saya harus mendekripsi sertifikat, mencari tahu mana yang merupakan sertifikat root dan menghapusnya dari rantai?
Gaia
1
Saya akan menyarankan melakukannya meskipun itu bukan masalah serius seperti hilang sertifikat menengah (hanya sedikit boros). Namun, Uji SSL Qualy menunjukkan bahwa itu 02faf3e291435468607857694df5e45b68851868yang tidak perlu.
Håkan Lindqvist
@ HåkanLindqvist menggunakan openssl x509 -fingerprint -in ssl.cai nailed bahwa bagian dari file yang memiliki sidik jari 02faf3e291435468607857694df5e45b68851868adalah PEM pertama. Saya menghapusnya, dan sekarang saya mendapatkan i.imgur.com/1iG2UCz.png dan i.imgur.com/m8gYbdG.png (OCSP ERROR: Permintaan gagal dengan status OCSP: 6 [ ocsp.comodoca.com] )
Gaia
3
Kesimpulan Anda tentang peringatan "berisi jangkar" valid - Jawaban tentang Keamanan.SE ini layak dibaca; dalam ringkasan tidak ada masalah mengirimnya: security.stackexchange.com/a/24566/7043
Chris J