Benutzer:MathiasMahnke/CA Cert Renewal 2013: Unterschied zwischen den Versionen

Aus Opennet
Wechseln zu: Navigation, Suche
(TODO Liste)
(TODO Liste)
Zeile 127: Zeile 127:
 
* (erledigt) Revoke per Webinterface
 
* (erledigt) Revoke per Webinterface
 
* (erledigt) Verbesserung Zeitaufwand/Ablauf Cronjobs
 
* (erledigt) Verbesserung Zeitaufwand/Ablauf Cronjobs
 +
* (erledigt) CSR Status mit Tag/Uhrzeit statt Timestamp
 
* Mailversand mit Anhängen verbessern
 
* Mailversand mit Anhängen verbessern
 
  mutt -F "$MUTTRC_FILE" -a "$attach_file" -c "$MAIL_CC" -s "$subject" -- "$usermail"
 
  mutt -F "$MUTTRC_FILE" -a "$attach_file" -c "$MAIL_CC" -s "$subject" -- "$usermail"
* CSR Status mit Tag/Uhrzeit statt Timestamp
 
 
* Sortierung CSR Liste per jq-reverse
 
* Sortierung CSR Liste per jq-reverse
 
* Heartofgold Server Zertifikat mit SubjectAltName
 
* Heartofgold Server Zertifikat mit SubjectAltName

Version vom 16. März 2014, 08:29 Uhr

Inhaltsverzeichnis

Ziel

Im April 2015 läuft das Opennet CA Root-Zertifikat aus, es folgen einige Zertifikate aus der Anfangszeit, die dann ebenfalls nach und nach ablaufen.

  • Erneuerung der Root CA
  • Durchsicht nicht mehr benötigter Sub CAs
  • Resign der benötigten Sub CA (CSR noch vorhanden?)
  • Aufbau einer CRL Infrastruktur
  • Parallelbetrieb alte und neue CA Struktur
  • Austausch der CA Certs sowie der Client Zertifikate Schritt für Schritt
  • Erzeugen einer Cert Webansicht
  • ggf. Tool zur vereinfachten Erstellung u. Erneuerung der User/UGW Zertifikate per Web
  • ggf. Anpassung OpenVPN Freigabe auf Basis von CRL oder nur zusätzlich mit CRL Check

Zeitplan

(Als Idee / Gedankenstütze)

  • bis Sommer 2013 - Übersicht über Zertifikate schaffen
  • bis Herbst 2013 - Entscheidung für neue CA Infrastruktur abstimmen und CA erzeugen
  • Winter 2013/2014 - Austausch CAs und User Zertifikate
  • Herbst 2014 - Deaktivierung alte CA Inftrastruktur testweise
  • Frühjahr 2015 - Deaktivierung alte CA Inftrastruktur final

Status

Neue Root CA

Umsetzung erfolgt, siehe Opennet CA.

OpenVPN

for file in *; do openssl x509 -subject -serial -issuer -noout -in $file; done
crl-verify /opt/sslcnf/crl.pem

Umsetzung erfolgt, siehe Server Installation/OpenVPN.

CRL / OCSP

Umsetzung CRL erfolgt, siehe Server Installation/Opennet CA.

CRL Fehler (gelöst durch CA-Dir):

Mon Jan  6 19:32:13 2014 ::ffff:192.168.11.27 Re-using SSL/TLS context
Mon Jan  6 19:32:13 2014 ::ffff:192.168.11.27 LZO compression initialized
Mon Jan  6 19:32:14 2014 ::ffff:192.168.11.27 CRL: CRL /etc/openvpn/crl/vpnuser.crl is from a different 
  issuer than the issuer of certificate /C=DE/ST=Mecklenburg-Vorpommern/O=Opennet_Initiative_e.V./OU=Opennet_CA/
 CN=opennet-root.ca.on/emailAddress=admin@opennet-initiative.de
Mon Jan  6 19:32:14 2014 ::ffff:192.168.11.27 CRL: CRL /etc/openvpn/crl/vpnuser.crl is from a different 
  issuer than the issuer of certificate /C=DE/ST=Mecklenburg-Vorpommern/O=Opennet_Initiative_e.V./OU=Opennet_CA/
  CN=opennet-vpn-user.ca.on/emailAddress=admin@opennet-initiative.de

CSR JSON

# jq '. | {name, subject_mail}' csr_upload.json
{
 "subject_mail": "name@something.org",
 "name": "vpnugw_1.123.ugw.on_7f1578e1.csr"
}
{
 "subject_mail": "apXX@on-i.de",
 "name": "vpnugw_1.245.ugw.on_c1d85d90.csr"
}
{
 "subject_mail": "another@mail.host.org",
 "name": "vpnuser_2.679.aps.on_59888696.csr"
}
  • Combine, Sort, Filter, Select JSONs:
{ echo -n "["; for f in *.json; do cat $f; echo -n ","; done; echo -n "]"; echo; } | sed 's/,]$/]/' | 
 jq 'sort_by(.upload_timestamp) | .[] | select(.status=="CSR") | select (.cn_filter=="vpnugw") | 
 {name,subject_mail,subject_cn,subject_o,cn_filter,upload_mail,upload_timestamp,upload_advisor,upload_ccmail,status}'

Cert Login

TODO Liste

  • (erledigt) DNS Eintrag erstellen
  • (erledigt) Webserver konfigurieren
  • (erledigt) Entscheidung über CA Parameter
  • (erledigt) Root-CA anlegen
  • (erledigt) Sub-CA anlegen
  • (erledigt) CAs einlagern, Keys/CSR sichern
  • (erledigt) Root CA index manuell erstellen
  • (erledigt) Certs bereitstellen
  • (erledigt) CRLs erstellen und automatisieren
  • (erledigt) Webseite/-interface bereitstellen
  • (erledigt) Subversion Repository angelegen
  • (erledigt) Sign Script auf Random Serial Numbers umstellen
  • (erledigt) Certs automatisch sammeln
  • (erledigt) Automatische Webbasierte Certübersicht erstellen
  • (erledigt) CSR CN Filter je CA
  • (erledigt) Automatischer Mailversand
  • (erledigt) CRL Download per Cron auf VPN GW Servern
  • (erledigt) CRL Check in OpenVPN Instanzen
  • (erledigt) Neue CAs zu OpenVPN CA-File hinzufügen
  • (erledigt) CSR Upload Webinterface
  • (erledigt) Sign Script Fehler bei OpenSSL Abbruch abfangen
  • (erledigt) CSR Upload JSON Generator
  • (erledigt) Client Sub-CA anlegen
  • (erledigt) CSR Status Webinterface
  • (erledigt) HTTPS Webinterface mit Client Cert Login
  • (erledigt) CSR Upload Benachrichtigung
  • (erledigt) Sign CC E-Mail via JSON
  • (erledigt) CSR Upload Sign Interface
  • (erledigt) CC-Mail Versand bei sign_batch implementieren
  • (erledigt) Revoke per Webinterface
  • (erledigt) Verbesserung Zeitaufwand/Ablauf Cronjobs
  • (erledigt) CSR Status mit Tag/Uhrzeit statt Timestamp
  • Mailversand mit Anhängen verbessern
mutt -F "$MUTTRC_FILE" -a "$attach_file" -c "$MAIL_CC" -s "$subject" -- "$usermail"
  • Sortierung CSR Liste per jq-reverse
  • Heartofgold Server Zertifikat mit SubjectAltName
  • Doku Webserver Konfiguration
  • CA Einbettung in APs
  • Status / JSON Webinterface
  • Filemonitor für Batch-Prozesse statt Cron-Job?
  • CSR Upload Prüfung alte AP Schreibweise (XXX.aps.on statt y.xxx.aps / y.xxx.aps.on)
  • CRL Monitoring in Nagios?
  • Opennet Mesh CA/CSR interne Erreichbarkeit
  • neue Schlüsselpaare je VPN Instanz erzeugen, signieren u. einbetten
  • nach Umstellung aller VPN Clients:
    • alte CAs aus OpenVPN Instanzen entfernen
    • Rsync Prozesse auf VPN Servern entfernen
    • alte Freigabeverzeichnisse auf CA Server entfernen
    • Umstellung CRL File Check auf CADIR Check
    • SSH Zugaenge prüfen / bereinigen
  • REST API zur Anbindung an die Opennet FW?
Meine Werkzeuge
Namensräume

Varianten
Aktionen
Start
Opennet
Kommunikation
Karten
Werkzeuge