Saya menerapkan aplikasi multi-tenant di mana aplikasi saya menjadi host dan menyajikan dokumentasi teknis untuk produk tenant.
Sekarang, pendekatan yang saya sedang mempertimbangkan itu - saya host dokumentasi di docs.<tenant>.mycompany.com
dan meminta penyewa saya untuk setup data CNAME DNS ke titik docs.tenantcompany.com
ke docs.<tenant>.mycompany.com
.
Saya ingin situs ini diaktifkan SSL dengan sertifikat penyewa saya. Saya ingin memahami jika perusahaan penyewa saya memiliki sertifikat SSL wildcard, apakah akan berfungsi dengan pengaturan ini atau akankah sertifikat SSL baru harus dibeli docs.tenantcompany.com
?
*.mycompany.com
*.example.com
tidak akan cocokdocs.tenantname.example.com
! Wildcard hanya baik untuk satu 'sub-domain'; itu akan cocokdocs-tenantname.example.com
, misalnya. S3 Amazon adalah contoh yang bagus untuk hal ini:*.s3.amazonaws.com
sertifikat gagal saat mengakses ember dengan titik, sepertiwww.example.com
(yang berakhir dengan nama host sepertiwww.example.com.s3.amazonaws.com
); nama bucket seperti itu diperlukan untuk hosting web S3.Jawaban:
Nama sertifikat harus cocok dengan apa yang dimasukkan pengguna di browser, bukan catatan DNS 'final'. Jika pengguna masuk
docs.tenantcompany.com
maka sertifikat SSL Anda harus membahasnya.Jika
docs.tenantcompany.com
CNAME adalah untukfoo.example.com
, sertifikat tidak perlu mencakupfoo.example.com
, adildocs.tenantcompany.com
.sumber
Jawaban Jason benar. Tetapi hanya untuk memperjelas istilah sedikit di sini, "DNS redirect" sedikit keliru. DNS memiliki catatan CNAME (alias alias) yang merupakan nama yang menunjuk ke nama lain. Tapi itu bukan redirect. Terjemahan dari nama ke nama ke IP semua terjadi di latar belakang dan browser Anda hanya peduli tentang nama awal.
Satu-satunya hal yang mengarahkan ulang adalah server web di mana server secara eksplisit memberitahu browser Anda untuk pergi ke tempat lain. Jika web server Anda sedang benar-benar melakukan redirect ke nama lain, Anda akan benar-benar perlu sertifikat untuk kedua nama browser Anda akhirnya akan menghubungkan mereka berdua secara terpisah.
sumber
Server A
domain withexample.com
. Saya membuat situs web untuknya dan mengelola situs dalamServer B
. Klien saya mengkonfigurasi DNS-nyaA Record
yang menunjukdog.example.com
ke alamat IP server sayaServer B
. Sekarang klien saya mendapatkan SSL untukdog.example.com
. Pertanyaan saya adalah, apakah klien saya harus memberikan sertifikasi SSL kepada saya untuk dimasukkan ke dalamServer B
? Atau dia hanya harus memasukkannyaServer A
? Atau apa lagi yang harus kita lakukan? Kami berdua bingung tentang ini, terima kasih!dog.example.com
poin langsung ke IP server Anda, maka ya. Server Anda harus berisi sertifikat dan kunci pribadi untuk nama itu. Server A dalam contoh Anda tidak relevan.dog.example.com
dan mengirim sertifikat dan kunci pribadi kepada saya. Saya meletakkannya di dalamServer B
dan mengkonfigurasi Nginx untuk menggunakannya. Dan semuanya bekerja dengan baik sekarang. Terimakasih!Jawaban singkat: Tidak. Jika perusahaan penyewa Anda memiliki wildcard dalam nama
*.tenantcompany.com
, itu cukup untuk diinstal pada server Anda untuk menutupi akses melalui nama itu. Apakah Anda ingin melakukan ini atau tidak adalah cerita lain.Sertifikat dalam nama
docs.<tenant>.mycompany.com
(mis. Sertifikat langsung, atau wildcard*.<tenant>.mycompany.com
) tidak berguna jika akses selalu dilakukan melaluidocs.tenantcompany.com
nama.Jawaban yang lebih panjang
Misalkan Anda menjelajah ke
https://docs.tenantcompany.com
dalam browser yang masuk akal. Browser menjalankan TLS melalui protokol HTTP. Ini peduli secara khusus tentang dua hal; bahwa:subsistem DNS dari browser dan sistem operasi mengembalikan alamat IP dari host yang cocok, yang menjalankan server web pada port yang sesuai di tempat lain di jaringan lokal atau internet. Untuk lalu lintas HTTPS (diamankan), port defaultnya
443
kecuali dinyatakan sebaliknya dalam URL.Ketika jabat tangan TLS terjadi antara browser dan server jarak jauh, server menyajikan sertifikat tepercaya yang memungkinkannya menyediakan layanan TLS di alamat yang diminta (
docs.tenantcompany.com
).DNS
Browser melihat DNS sebagai kotak hitam. Itu membuat panggilan ke perpustakaan DNS yang sesuai untuk meminta pemetaan dari nama domain yang memenuhi syarat ramah (FQDN) menjadi alamat IP yang sesuai (v4 atau v6). Tidak peduli bagaimana mendapatkan alamat IP itu. Jika ada 20
CNAME
alias dalam DNS antara catatan asli danA
atauAAAA
catatan, penyelesai DNS akan mengikuti mereka sampai alamat IP diperoleh.TLS
Ketika browser melakukan jabat tangan TLS , perlu untuk memverifikasi bahwa server sedang berkomunikasi dengan berwenang untuk memberikan layanan situs Web aman di FQDN yang diminta:
docs.tenantcompany.com
.Ingat: browser tidak peduli
docs.<tenant>.mycompany.com
- resolver DNS telah mengabstraksikan semua pengetahuan tentang tipuan melaluiCNAME
catatan.Metode kami mengotorisasi server untuk melayani sesi aman
docs.tenantcompany.com
adalah dengan menggunakan sertifikat SSL yang ditandatangani oleh otoritas yang telah dipercaya sebelumnya di toko sertifikat root browser. Ini tidak selalu merupakan bentuk otentikasi terkuat dari server ke klien - banyak yang bisa salah dalam model CA terpusat - tetapi ini adalah yang terbaik yang kami miliki saat ini.Ada dua peringatan lebih lanjut di sini:
Berbagi kunci
Banyak vendor sertifikat SSL komersial hanya akan menandatangani permintaan penandatanganan tunggal, yang secara efektif mengikat sertifikat wildcard ke kunci privat tunggal. Perusahaan penyewa mungkin merasa tidak nyaman membagikan hal ini di luar organisasi mereka, karena siapa pun yang memiliki kunci pribadi jelas dapat membahayakan komunikasi dengan perusahaan lain yang dijamin sistem keamanannya.
Beberapa vendor akan menandatangani beberapa permintaan penandatanganan sertifikat di bawah sertifikat yang sama, yang memungkinkan sertifikat wildcard tunggal diinstal pada beberapa server dan sistem tanpa berbagi kunci pribadi di antara mereka.
Menyamar
Jika perusahaan penyewa memberi Anda salinan sertifikat wildcard mereka (baik dengan membagikan kunci pribadi, atau menandatangani CSR Anda sendiri), Anda dapat menyamar sebagai
<anydomain>.tenantcompany.com
, memecah perlindungan penting yang memastikan integritas server yang diidentifikasi dalamtenantcompany.com
namespace DNS. Ini bisa menjadi posisi yang buruk bagi Anda dan perusahaan penyewa untuk ditempatkan, dari perspektif hukum / kewajiban.sumber