Firefox, sistem CA sertifikalarına nasıl güvenir?


29

Ağ yöneticimiz yakın zamanda güvenlik duvarımız / yönlendiricimizdeki HTTPS incelemesini etkinleştirdi. IE kullanıcıları için bu iyidir çünkü alanların tümü etki alanına katılmış makineler için Active Directory ile dağıtılmıştır. Bununla birlikte, hemen hemen her HTTPS sitesinde sertifika hataları atan bir dizi Firefox kullanıcısı var.

Firefox kendi CA mağazasını kullanıyor ve bununla da gurur duyuyorlar . Firefox'un varsayılan olarak sistem sertifika deposuna güvenmesini sağlamanın bir yolu var mı? Linux'ta bunun nasıl yapılacağı ile ilgili birçok yazı görüyorum, ancak Windows için bir şey yok.

Ben gelen şüpheli bu yazı bu mümkün değil, ama o sonrası neredeyse 4 yaşında.

Yanıtlar:


46

Firefox 49’dan bu yana , Windows CA sertifikaları için bir destek ve Firefox 52’den bu yana Active Directory tarafından sağlanan kurumsal kök sertifikalar var.

Firefox 68'ten bu yana, bu özellik ESR (kurumsal) sürümünde varsayılan olarak etkindir, ancak (standart) hızlı sürümde etkinleştirilmez.

about:configBu boolean değeri oluşturarak bu özelliği Windows ve macOS için etkinleştirebilirsiniz :

security.enterprise_roots.enabled

ve onu ayarlayın true.

GNU / Linux için bu genellikle p11-kit-trust tarafından yönetilir ve bayrak gerekmez.

Geniş yapılandırma sistemini dağıtma

Firefox 64’ten bu yana, https://support.mozilla.org/en-US/kb/setting-certificate-authorities-firefox adresinde belgelenen politikaları kullanarak yeni ve önerilen bir yol var.

Eski sürümler için, Firefox yükleme klasörü Windows kayıt defterinden alınabilir, ardından defaults\pref\alt dizine gidip aşağıdakilerle yeni bir dosya oluşturabilirsiniz:

/* Allows Firefox reading Windows certificates */    
pref("security.enterprise_roots.enabled", true);

Uzantıyla kaydedin .js, örn trustwincerts.js. Firefox'u yeniden başlatın. Giriş about:configtüm kullanıcılar için görünecektir .

Windows Sertifikalarını sistem genelinde dağıtma

49'dan 51'e kadar Firefox'ta sadece "Kök" deposunu destekliyor. Firefox 52’den bu yana, AD üzerinden etki alanından eklenenler de dahil olmak üzere diğer mağazaları destekliyor.

Bu biraz kapsam dışında ancak Firefox tarafından 49 - 51 arasındaki sürümlerde veya yalnızca yerel testlerde desteklenen tek sertifika deposunun hangisi olduğunu açıklıyor. Bu, tüm yerel makine kullanıcıları için dağıtıldığından, CMD / PowerShell pencerenizde veya kendi otomatik dağıtım komut dosyanızda Yönetici ayrıcalıkları gerektirir:

certutil -addstore Root path\to\cafile.pem

Bu, eğer fare yolunu tercih ederseniz, bir çok pencereye tıklayarak Yönetim Konsolu'ndan da yapılabilir ( Nasıl yapılır: Sertifikaları MMC Ek Bileşeniyle Görüntüleme ).


Bunun çalışması için sertifikanın hangi sertifika deposunda olması gerektiğini biliyor musunuz?
ETL

@ETL Yalnızca yerel makine sistemi güven deposuyla test ettim, bu tüm makine hesaplarında çalıştığı kadar iyidir. Başka bir cevapta belirtilen Mozilla wiki sayfasına göre, Firefox 52'de tam destek desteğini (AD sertifikaları dahil) tamamlamayı bekliyorlar. Ayrıca dağıtmak için Windows certutil (Mozilla'nın NSS certutil ile karıştırmayın) kullanabilirsiniz.

Arg. Sertifikam var (Yerel makinenin Güvenilen Kök Sertifika Yetkililerine Grup İlkeleri kullanarak bunları ekliyorum). Firefox seçeneğini açtım ancak sertifika hala FF 50.1'de kullanılmıyor. Paranı aldın mı?
ETL

2
Kontrol listesi: 1: Firefox, Gelişmiş -> Sertifikalardaki Windows sertifikalarını listelemez, ancak yine de güvenilir şekilde çalışmalıdır. 2: Sunucu sertifikası çalışmayacağından doğrudan bir CA kullanılarak sunucu sertifikası bu CA ile oluşturulmalıdır. 3: Konu alternatif adları için CA politikalarını miras alan sunucu sertifikası doğru şekilde oluşturulmalıdır. 4: web mağazasının yanlış olması durumunda Microsoft certutil'i kullanmayı deneyin, şunu yapıyorum: Administrator cmd penceresinde: certutil -addstore Root path\to\cafile.pem(veya

1
Bu aynı zamanda Mozilla Wiki'de de belirtilmiştir .
Franklin Yu

2

Bu sertifikaları Firefox'a ve aynı zamanda Windows mağazasına dağıttınız mı?

https://wiki.mozilla.org/CA:AddRootToFirefox birkaç seçenek sunar:

  1. Sertifika veritabanını doğrudan kullanarak değiştirin certutil.
  2. Sertifikaları eklemek için ikili dosyaya bir javascript dosyası yerleştirerek Firefox'un otomatik yapılandırma özelliğini kullanın:

    var certdb = Cc["@mozilla.org/security/x509certdb;1"].getService(Ci.nsIX509CertDB);
    var certdb2 = certdb;
    try {
        certdb2 = Cc["@mozilla.org/security/x509certdb;1"].getService(Ci.nsIX509CertDB2);
    } catch (e) {}
    cert = "MIIHPT...zTMVD"; // This should be the certificate content with no line breaks at all.
    certdb2.addCertFromBase64(cert, "C,C,C", "");
    
  3. Sertifika veritabanı dosyalarını doğrudan dağıtın.
  4. Dağıtımınızdaki sertifikalar dahil, yükleme için Firefox'u paketleyin.
  5. Sertifikaları ekleyen bir uzantı oluşturmak için CCK2'yi kullanın .

1

Sistem deposunun kullanımını zorlamanın iyi bir yolu yoktur, ancak güzel bir geçici çözüm vardır (özelleştirilmiş bir firefox uyumlu mağazanın kullanımını zorlayın).

Aşağıdaki betiğin girişi login / logoff'ta iyi çalışıyor.

Stop-Process -processname firefox

$DBPath="\\yourserver\yourshare\cert8.db"
$FirefoxProfiles=Get-ChildItem $Env:appdata\Mozilla\Firefox\Profiles     
$DB=Get-Item $DBPath    
ForEach ( $Profile in $FirefoxProfiles )
{
    $FullPath=join-path $Env:appdata\Mozilla\Firefox\Profiles $Profile
    Copy-Item $DB $FullPath
    $FullPath
}

Bunun gibi bir fikre genişleyebilir ve şu anki güvenilir mağazalardan Windows mağazasından alabilir ve wfaulk'un cevabında referans verilen Mozilla certutil'ini kullanarak anında cert8.db dosyasını oluşturabilirsiniz.
Ryan Bolger

1

Orada serbest proje grup ilkeleri kullanarak Firefox kök sertifikaları yönetme yeteneği sağlar. Kök sertifikalarını Firefox veritabanından yükleyebilir veya kaldırabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.