Projekt

Allgemein

Profil

Aktionen

Zertifikate / Cert für das eigene Intranet (Prodat Mobile Web-Server[ProdatMobileServiceModule])

Um im eigenen Intranet Zertifikate verwenden zu können (z.B. HTTPS Verbindungen im Browser, um zu vermeiden, dass Passwörter OHNE Verschlüsselung durch das eigene Intranet gesendet werden), kann man:
  • bei offiziellen CA Root Anbieter Zertifikat beantragen (unkompliziert aber teuer)
  • mittels LetsEncrypt 'selbsttätig Zertifikate erstellen' (kostenlos, aber mit hohem Aufwand bzw. technischem Know-How und technischen Voraussetzungen verbunden)
  • selbstsignierte (erstellte) Zertifikate verwenden (kostenlos, umkompliziert, keine technischen Voraussetzungen - man kann dabei jedoch sehr leicht die Sicherheit des eigenen Netzes kompromitiieren)

Mit einem korekt erstelltem, selbstsigniertem CA (Root) Zertifikat (korrekt abgesichert, mit Verschlüsselung, entsprechender Passworthygiene und Zugriffsrechten), lassen sich für alle möglichen Anwendungsfälle im eigenen Intranet Zertifikate erstellen und verwalten.
Mittels KeyStore Explorer, kann man dies sicher und einfach erledigen.

  • KeyStore Explorer installieren
  • Neuen KeyStrore erstellen Bild
  • PKCS #12 auswählen
  • Speichern
    • Legen Sie ein Passwort fest, sofern Sie wünschen, das nur berechtigte grundsätzlich Zugriff haben
    • Jeder einzelne Eintrag (Zertifikat) im KeyStore kann (und sollte !!!) ein eigenes Zugriffs-Passwort besitzen
    • Dieses Zugriffs-Passwort bezieht sich NUR auf den Private-Key eines Eintrages
    • Sollte also der KeyStore selber KEIN Passwort gesetzt haben, aber dafür jeder Eintrag im KeyStore ein Passwort gesetzt haben
      • Jeder kann den KeyStore öffnen und den Public Key oder das Zertifikat selber exportieren
      • Die sicherheitsrelevanten Private Keys benötigen jedoch das Zugriffs-Passwort eines Eintrages !!!
  • Recommendation:
    • allgemeines 'ReadOnly' Passwort für den KeyStore setzen
    • ROOT/CA Einträge mittels sicherem Passwort im KeyStore schützen (im Passwort-Safe der Firma hinterlegen)
    • Alle signierten/erstellten Zertifikate basierend auf den Root/CA's können dann ohne extra Passwort im KeyStore erstellt werden
  • Root-CA erstellen
  • neues (mit dem Root-CA) signiertes Zertifikat erstellen
  • Zertifikat-Dateien für den Freda-Service exportieren
    • chain.cer, beinhaltet in diesem Falle nur das Root-CA Zertifikat, da wir keine Zertifikats-Kette erstellt haben
    • cert.pem, Zertifikat für den Freda-Service
    • cert.key, Private Key des Zertifikates (cert.pem)

Step By Step

Root-CA Zertifikat erstellen

  • KeyStore (Datei) öffnen, hier heißt dieser "demo-keystore.ks"
  • Tools -> Generate Key Pair
  • RSA KeySize: 4096 auswählen/einstellen und OK drücken
    • "SHA-512 with RSA" auswählen (schneller auf 64-bit Rechnern statt 256)
    • Gewünschte Anzahl an Jahren eintragen UND Apply drücken ODER Datum (Valid End) direkt eintragen Aufklappen
    • Auf das Buch-Symbol klicken (Edit Name)
      • Die gewünschten Werte eintragen Aufklappen
      • Im Beispiel ist ein zusätzlicher Wert eingetragen worden
        • + Drücken
        • In der DropDown-Liste "Email (E)" auswählen und zugehörigen Wert eintragen
      • OK drücken Aufklappen
    • "Add Extensions" klicken
      • "Use Standard Template" -> "CA" -> OK drücken Aufklappen
        • WICHTIG, wenn man ein Template benutzt, werden alle bisherigen Extensions gelöscht !!!
      • OK drücken
    • OK Drücken und gegebenfalls den Alias für das neue Root/CA ändern,
    • OK drücken UNBEDINGT ein Passwort für das Root-CA setzen
      • Das Root-CA ist der Ursprung aller unserer Zertifikate
      • Darauf sollten NUR die notwendigsten Benutzer Zugriff haben
  • Da wir gerade das Root-CA erstellt haben und das Passwort definiert haben, befindet es sich im 'Unlocked' Modus Aufklappen

Service Zertifikat erstellen

  • Gewünschtes Root-CA auswählen -> Rechtsklick -> Sign -> Sign new Key Pair Aufklappen
  • RSA KeySize: 4096 auswählen/einstellen und OK drücken
  • "Valid End" definieren (Validity Period -> Apply ODER direkt End-Datum auswählen)
  • Buch-Symbol drücken (Edit Name)
  • "Add Extensions" drücken
    • "Use Standard Template" -> SSL-Server -> OK drücken Aufklappen
    • Doppelklick auf "Subject Alternative Name"
      • Doppelklick auf "DNS Name: XYZ"
      • DNS-Name Wert auf den korrekten Domain-Name setzen Aufklappen
      • OK drücken
      • Soll das Zertifikat für mehr als eine Domain gültig sein, muss jetzt hier für jede zusätzliche Domain auf das grüne + gedrückt werden
        • "DNS Name" wählen und Domain als Wert eintragen
      • OK drücken
    • OK drücken
  • OK drücken und gegebenfalls Alias anpassen und Passwort setzen Aufklappen

Benötigte Zertifikats-Dateien für Service exportieren

  • Benötigt werden:
    • Private Key:
      • Entsprechenden Eintrag im KeyStore auswählen -> Rechtsklick -> Export -> Private Key
      • OpenSSL auswählen
      • Für den FredaV2 Service, darf der Key nicht verschlüsselt exportiert werden
        • Encrypt Checkbox off
        • PEM Checkbox On
      • Export
    • Zertifikat:
      • Doppelklick auf den entsprechenden Eintrag im KeyStore
      • "PEM" drücken
      • Export drücken und speichern
    • Zertifikats-Kette (Chain)
      • Entsprechenden Eintrag im KeyStore auswählen -> Rechtsklick -> Export -> Certificate Chain
      • Entire Chain
      • X.509
      • Export

Root-CA exportieren und installieren

  • Entsprechendes Root-CA im KeyStore auswählen -> Rechtsklick -> Export -> Certificate Chain
  • Head Only
  • X.509
  • PEM Checkbox on
  • Export "root-ca.crt"
  • Browser innnerhalb von Terminal-Sessions bzw. Verbindungen zu einer AD-Domain (Login, Active-Directory) benutzen den Windows "Trusted Root Certification Authorities Certificate Store"
  • Damit im Browser alles korrekt läuft (keine Warnung), muss unser eigenes erstelltes Root-CA in diesem installiert werden
    • "root-ca.crt" in Windows installieren
  • Damit haben wir jedoch noch nicht das Problem für Mobile Geräte gelöst
    • Im Gegensatz zu Windows, muss hier für JEDES einzelne Gerät das Root-CA installiert werden !!!
    • Dazu muss zuerst "root-ca.crt" auf das Mobile-Gerät
    • Unter Einstellungen -> Sicherheit gibt es bei jedem Android Gerät einen Unterpunkt (evtl. mehrere Ebenen tiefer), um ein Zertifikat als Root-CA auf dem Gerät zu installieren
      • Galaxy Tab A:
        • Einstellungen -> Sicherheit -> Andere Sicherheitseinstellungen -> Von USB-Speicher installieren -> CA-Zertifikat -> "root-ca.crt" auswählen
  • Mit der Installation des Root-CA, werden alle damit signierten Zertifikate als vertrauenswürdig von dem Jeweiligen Gerät/Server erkannt

Das in diesem Tutorial erstellte Zertifikat im Einsatz im Chrome

Von [X] Daniel S vor 6 Monaten aktualisiert · 22 Revisionen