Importieren der CA in Firefox: Unterschied zwischen den Versionen
| Zeile 7: | Zeile 7: | ||
=Datei= | =Datei= | ||
[[Datei:Firefox-ca.sh]] | [[Datei:Firefox-ca.sh]] | ||
| + | ==Systemweit== | ||
| + | == Firefox Enterprise Policies unter Debian == | ||
| + | |||
| + | {| class="wikitable" style="float:right; margin-left:1em;" | ||
| + | |+ Quick Info | ||
| + | |- | ||
| + | ! Config File | ||
| + | | /etc/firefox/policies/policies.json | ||
| + | |- | ||
| + | ! Policy Key | ||
| + | | ImportEnterpriseRoots | ||
| + | |- | ||
| + | ! Status | ||
| + | | about:policies | ||
| + | |} | ||
| + | |||
| + | Dieser Artikel beschreibt die korrekte Implementierung von '''Enterprise Policies''' unter Debian GNU/Linux. Ziel ist es, systemweite Root-Zertifikate automatisch in Mozilla Firefox und Thunderbird zu importieren. | ||
| + | |||
| + | === Problemstellung === | ||
| + | Standardmäßig ignoriert Firefox den System-Trust-Store von Debian (`/usr/local/share/ca-certificates/`). Manuelle Importe pro Benutzerprofil sind in professionellen Umgebungen nicht skalierbar. Oft meldet der Browser unter ''about:policies'' den Status "Inactive" oder "No policies enabled", obwohl Konfigurationsdateien vorhanden sind. | ||
| + | |||
| + | === Konfiguration (policies.json) === | ||
| + | |||
| + | ==== Pfadstrategie ==== | ||
| + | Unter Debian (insbesondere bei Verwendung von '''firefox-esr''') hat der Pfad in `/etc/` Vorrang vor den Verzeichnissen unter `/usr/`. | ||
| + | |||
| + | * '''Primärer Pfad:''' `/etc/firefox/policies/policies.json` | ||
| + | * '''Alternativer Pfad:''' `/usr/lib/firefox-esr/distribution/policies.json` | ||
| + | |||
| + | ==== Quelltext ==== | ||
| + | Die JSON-Struktur muss zwingend mit dem "policies"-Objekt beginnen. | ||
| + | |||
| + | <syntaxhighlight lang="json"> | ||
| + | { | ||
| + | "policies": { | ||
| + | "Certificates": { | ||
| + | "ImportEnterpriseRoots": true | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | === Implementierung === | ||
| + | |||
| + | # '''Verzeichnis erstellen:''' | ||
| + | #: <code>sudo mkdir -p /etc/firefox/policies</code> | ||
| + | # '''Konfiguration schreiben:''' | ||
| + | #: <code>echo '{"policies": {"Certificates": {"ImportEnterpriseRoots": true}}}' | sudo tee /etc/firefox/policies/policies.json</code> | ||
| + | # '''Berechtigungen anpassen:''' | ||
| + | #: <code>sudo chmod 644 /etc/firefox/policies/policies.json</code> | ||
| + | # '''Prozesse neu starten:''' | ||
| + | #: <code>pkill -9 firefox</code> | ||
| + | |||
| + | === Validierung === | ||
| + | |||
| + | * Öffnen der URL '''about:policies''' im Browser. | ||
| + | * Der Status muss '''Active''' (Grün) sein. | ||
| + | * Unter dem Reiter '''Aktiv''' muss die Tabelle den Eintrag <code>ImportEnterpriseRoots : true</code> listen. | ||
| + | |||
| + | === Fehlerbehebung (Debugging) === | ||
| + | |||
| + | ; Status "Active but no policies enabled" : Firefox findet die Datei, kann das JSON aber nicht parsen. | ||
| + | * Prüfe auf fehlende Klammern oder Anführungszeichen. | ||
| + | * Nutze die Browser-Konsole (<code>Strg</code> + <code>Umschalt</code> + <code>J</code>) für detaillierte Fehlermeldungen der ''EnterprisePolicies''-Engine. | ||
| + | |||
| + | ; Status "Inactive" : Der Pfad ist falsch oder die Dateirechte verhindern den Lesezugriff durch den Firefox-Prozess. | ||
| + | |||
| + | ; Seite weiterhin "Not Secure" : Wenn die Policy aktiv ist, aber die Seite rot bleibt, liegt ein Fehler im Zertifikat vor: | ||
| + | * '''SAN (Subject Alternative Name):''' Moderne Browser ignorieren den Common Name (CN). Das Feld <code>subjectAltName</code> ist zwingend erforderlich. | ||
| + | * '''CA-Flag:''' Das Root-Zertifikat muss die Extension <code>Basic Constraints: CA:TRUE</code> besitzen. | ||
| + | * '''Laufzeit:''' Zertifikate mit einer Gültigkeit von über 398 Tagen werden von Mozilla oft abgelehnt. | ||
| + | |||
| + | === Übertragung auf Thunderbird === | ||
| + | Für Thunderbird kann die identische Datei verwendet werden: | ||
| + | <code>sudo mkdir -p /usr/lib/thunderbird/distribution</code> | ||
| + | <code>sudo cp /etc/firefox/policies/policies.json /usr/lib/thunderbird/distribution/policies.json</code> | ||
| + | |||
| + | [[Kategorie:Administration]] | ||
| + | [[Kategorie:Sicherheit]] | ||
| + | [[Kategorie:Debian]] | ||
Aktuelle Version vom 13. März 2026, 19:24 Uhr
Install
- apt install libnss3-tools
- curl https://xinux.net/images/c/c2/Firefox-ca.sh -o firefox-ca.sh
- chmod +x firefox-ca.sh
- ./firefox-ca.sh ca.crt
Datei
Systemweit
Firefox Enterprise Policies unter Debian
| Config File | /etc/firefox/policies/policies.json |
|---|---|
| Policy Key | ImportEnterpriseRoots |
| Status | about:policies |
Dieser Artikel beschreibt die korrekte Implementierung von Enterprise Policies unter Debian GNU/Linux. Ziel ist es, systemweite Root-Zertifikate automatisch in Mozilla Firefox und Thunderbird zu importieren.
Problemstellung
Standardmäßig ignoriert Firefox den System-Trust-Store von Debian (`/usr/local/share/ca-certificates/`). Manuelle Importe pro Benutzerprofil sind in professionellen Umgebungen nicht skalierbar. Oft meldet der Browser unter about:policies den Status "Inactive" oder "No policies enabled", obwohl Konfigurationsdateien vorhanden sind.
Konfiguration (policies.json)
Pfadstrategie
Unter Debian (insbesondere bei Verwendung von firefox-esr) hat der Pfad in `/etc/` Vorrang vor den Verzeichnissen unter `/usr/`.
- Primärer Pfad: `/etc/firefox/policies/policies.json`
- Alternativer Pfad: `/usr/lib/firefox-esr/distribution/policies.json`
Quelltext
Die JSON-Struktur muss zwingend mit dem "policies"-Objekt beginnen.
{
"policies": {
"Certificates": {
"ImportEnterpriseRoots": true
}
}
}
Implementierung
- Verzeichnis erstellen:
sudo mkdir -p /etc/firefox/policies
- Konfiguration schreiben:
echo '{"policies": {"Certificates": {"ImportEnterpriseRoots": true}}}' | sudo tee /etc/firefox/policies/policies.json
- Berechtigungen anpassen:
sudo chmod 644 /etc/firefox/policies/policies.json
- Prozesse neu starten:
pkill -9 firefox
Validierung
- Öffnen der URL about:policies im Browser.
- Der Status muss Active (Grün) sein.
- Unter dem Reiter Aktiv muss die Tabelle den Eintrag
ImportEnterpriseRoots : truelisten.
Fehlerbehebung (Debugging)
- Status "Active but no policies enabled"
- Firefox findet die Datei, kann das JSON aber nicht parsen.
- Prüfe auf fehlende Klammern oder Anführungszeichen.
- Nutze die Browser-Konsole (
Strg+Umschalt+J) für detaillierte Fehlermeldungen der EnterprisePolicies-Engine.
- Status "Inactive"
- Der Pfad ist falsch oder die Dateirechte verhindern den Lesezugriff durch den Firefox-Prozess.
- Seite weiterhin "Not Secure"
- Wenn die Policy aktiv ist, aber die Seite rot bleibt, liegt ein Fehler im Zertifikat vor:
- SAN (Subject Alternative Name): Moderne Browser ignorieren den Common Name (CN). Das Feld
subjectAltNameist zwingend erforderlich. - CA-Flag: Das Root-Zertifikat muss die Extension
Basic Constraints: CA:TRUEbesitzen. - Laufzeit: Zertifikate mit einer Gültigkeit von über 398 Tagen werden von Mozilla oft abgelehnt.
Übertragung auf Thunderbird
Für Thunderbird kann die identische Datei verwendet werden:
sudo mkdir -p /usr/lib/thunderbird/distribution
sudo cp /etc/firefox/policies/policies.json /usr/lib/thunderbird/distribution/policies.json