it-swarm-id.com

Sertifikat apa yang diperlukan untuk subdomain multi-level?

Saya sedang mengerjakan situs web dengan beberapa level subdomain. Saya perlu mengamankan semuanya dengan SSL, dan saya mencoba menentukan strategi sertifikat yang benar.

Inilah yang saya perlu amankan:

  • foo.com
  • www.foo.com
  • Kombinasi dari city.state.foo.com. (Ini adalah negara bagian AS.)

Pemahaman saya adalah bahwa sertifikat wildcard hanya dapat mencakup satu "level" subdomain. Menurut RFC 2818 :

Nama dapat berisi karakter wildcard * yang dianggap cocok dengan komponen nama domain tunggal atau fragmen komponen. E.g., * .a.com cocok dengan foo.a.com tetapi tidak bar.foo.a.com. f * .com cocok dengan foo.com tetapi tidak dengan bar.com.

Apa yang saya pikirkan Saya butuhkan adalah sertifikat berikut:

  • *.foo.com, yang akan cocok, misalnya, foo.com, www.foo.com. (Meskipun saya tidak jelas apakah *.a.com cocok a.com dengan sendirinya.)
  • *.ny.foo.com untuk mencocokkan new-york.ny.foo.com, buffalo.ny.foo.com, dll. Saya pada akhirnya akan membutuhkan 50 sertifikat semacam itu untuk mencocokkan semua negara bagian, setelah situs kami mengembang untuk melayani semuanya.

Pertanyaan saya adalah:

  • Apakah skema ini benar? Dalam skenario di atas, jika pengguna mengunjungi ca.foo.com, apakah mereka akan mendapatkan sertifikat untuk *.foo.com atau untuk *.ca.foo.com?
  • Bagaimana saya memastikan bahwa pengguna melihat semua subdomain ini sebagai milik kami yang sah? Misalnya, jika pengguna mengunjungi foo.com, kemudian mountain-view.ca.foo.com, dan itu adalah sertifikat yang berbeda, akankah mereka mendapat peringatan? Apakah ada cara untuk meyakinkan browser mereka bahwa sertifikat ini memiliki pemilik yang sama?
114
Nathan Long

Secara teoretis:

  • sebuah * sama persis dengan satu level (karenanya *.foo.com tidak tidak cocok foo.com)
  • tetapi Anda dapat memiliki beberapa * dalam sebuah nama

Karenanya, jika semua implementasi SSL dengan setia mengikuti RFC 2818 , Anda hanya perlu tiga sertifikat, dengan nama:

  • foo.com
  • *.foo.com
  • *.*.foo.com

dan, jika implementasinya benar-benar bagus dalam bertahan dengan RFC 2818 dan seluk-beluk X.509, Anda bahkan bisa menggunakan sertifikat tunggal yang mencantumkan tiga string di atas dalam ekstensi Nama Alt Subjek.

Sekarang, teori dan praktik sangat cocok ... dalam teori. Anda mungkin memiliki kejutan dengan apa yang sebenarnya dilakukan browser. Saya sarankan Anda mencobanya; beberapa contoh sertifikat dapat dibuat dengan OpenSSL alat baris perintah (lihat misalnya halaman ini untuk beberapa pedoman).

76
Tom Leek

RFC 6125 cukup baru dan tidak diterapkan oleh semua orang, tetapi mencoba untuk mengklarifikasi beberapa masalah ini. Ia mengumpulkan spesifikasi identitas dalam RFC 2818 dan RFC dari protokol lain. Saya sarankan mengikuti RFC 6125 jika Anda bisa. Bagian yang relevan untuk sertifikat wildcard adalah 6.4. dan 7.2 (yang mencegah penggunaan sertifikat wildcard, sebenarnya).

Tidak jelas dari pertanyaan Anda apakah Anda ingin menjalankan server web tunggal (atau setidaknya dapat menjalankan semuanya di belakang satu alamat IP), atau jika Anda dapat memiliki sertifikat per situs (dan dengan demikian alamat IP per situs, karena SNI tidak didukung dengan baik secara umum).

Anda dapat memiliki satu sertifikat dengan beberapa Nama Alternatif Subjek (SAN). Masalahnya berasal dari kasing dengan dua label wildcard, yang mungkin tidak ditentukan secara jelas (*.*.foo.com).

Jika wildcard ganda berfungsi, sertifikat dengan 3 entri DNS SAN ini seharusnya berfungsi:

  • foo.com
  • *.foo.com
  • *.*.foo.com

Namun, karena itu mungkin tidak bekerja (tergantung pada implementasi klien, yang mungkin tidak di bawah kendali Anda), dan karena Anda dapat membuat daftar 50 negara, Anda bisa memiliki 52 SAN entri DNS:

  • foo.com
  • *.foo.com
  • *.ny.foo.com
  • ... (satu untuk setiap negara bagian)

Bagaimana saya memastikan bahwa pengguna melihat semua subdomain ini sebagai milik kami yang sah? Misalnya, jika pengguna mengunjungi foo.com, maka mountain-view.ca.foo.com, dan itu adalah sertifikat yang berbeda, akankah mereka mendapat peringatan? Apakah ada cara untuk meyakinkan browser mereka bahwa sertifikat ini memiliki pemilik yang sama?

Ini adalah pertanyaan yang sulit, karena ini tergantung pada seberapa akrab pengguna dengan proses verifikasi sertifikat. Anda bisa mendapatkan sertifikat Validasi Diperpanjang (walaupun saya pikir sertifikat EV wildcard mungkin tidak diizinkan), yang akan memberikan bilah hijau. Ini akan memberikan label "kepemilikan" di sebagian besar browser. Setelah itu, antarmuka peramban itu sendiri dapat membingungkan (mis. Firefox "yang dijalankan oleh (tidak dikenal)" di bilah biru, yang tidak terlalu membantu). Pada akhirnya, pengguna dapat pergi dan memeriksa dalam sertifikat Anda untuk melihat ke mana SANs sertifikat dikeluarkan. Namun, saya ragu banyak yang akan melakukan ini dan mengerti apa artinya.

34
Bruno

http://www.digicert.com/welcome/wildcard-plus.htm mengatakan

Terlebih lagi, sertifikat DigiCert WildCard ssl unik karena memungkinkan Anda untuk mengamankan subdomain APAPUN dari domain Anda, termasuk beberapa level subdomain dengan satu sertifikat. Misalnya, WildCard Anda untuk * .digicert.com com dapat menyertakan server1.sub.mail.digicert.com sebagai nama pengganti subjek.

4
TechNikh

Anda dapat menggunakan sertifikat wildcard atau Anda juga dapat menggunakan sertifikat dengan nama domain alternatif. Secara pribadi, saya menggunakan sertifikat dari StartSSL yang memungkinkan saya untuk memiliki semua domain saya terdaftar pada satu sertifikat. Saya memiliki sekitar 10 domain wildcard dan 15 ADN lainnya pada sertifikat yang sama sehingga saya dapat menggunakan SSL di seluruh situs yang saya host di server saya.

1
AJ Henderson