Erstellung einer eigenen hierachischen CA

Aus ConfigWiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Los gehts)
(Los gehts)
Zeile 23: Zeile 23:
 
  cd /etc/ssl
 
  cd /etc/ssl
 
  mkdir my_ca
 
  mkdir my_ca
  mkdir my_ca/services
+
  cd my_ca
  mkdir my_ca/cusomers
+
mkdir services
  mkdir my_ca/services/openvpn
+
  mkdir cusomers
  mkdir my_ca/cusomers/custom_1
+
  mkdir services/openvpn
  mkdir my_ca/services/openvpn/openvpnserver_1
+
  mkdir cusomers/custom_1
  mkdir my_ca/cusomers/custom_1/user_1
+
  mkdir services/openvpn/openvpnserver_1
 +
  mkdir cusomers/custom_1/user_1
 +
 
 
=== OpenSSL Konfiguration anpassen ===
 
=== OpenSSL Konfiguration anpassen ===
 
Das anpassen der "openssl.cnf" spart spater '''viel''' Schreibarbeit.
 
Das anpassen der "openssl.cnf" spart spater '''viel''' Schreibarbeit.
Zeile 35: Zeile 37:
 
* in section "CA_default" den Pfad "dir" anpassen ''/etc/ssl/my_ca''
 
* in section "CA_default" den Pfad "dir" anpassen ''/etc/ssl/my_ca''
 
* Standartwerte für "match" Einträge (Country, Provinve, OrganisationUnit) anpassen z.B.: ''DE'', ''Sachsen'', ...
 
* Standartwerte für "match" Einträge (Country, Provinve, OrganisationUnit) anpassen z.B.: ''DE'', ''Sachsen'', ...
 +
 
=== notwendige Ergänzungen in der Ordnerstruktur ===
 
=== notwendige Ergänzungen in der Ordnerstruktur ===
 +
(nur zur Sicherheit)
 +
cd /etc/ssl/my_ca
 
* Sammelordner für die Zertifikate (.pem files)  
 
* Sammelordner für die Zertifikate (.pem files)  
 
  mkdir newcerts
 
  mkdir newcerts
Zeile 43: Zeile 48:
 
  touch serial
 
  touch serial
 
  echo 01 > serial
 
  echo 01 > serial
 +
=== Root-CA erstellen ===
 +
(nur zur Sicherheit)
 +
cd /etc/ssl/my_ca
 +
diese CA gilt 10 Jahre
 +
openssl req -new -x509 -newkey rsa:1024 -days 3650 -keyout bamseroot.key -out bamseroot.crt -days 3650

Version vom 4. Januar 2011, 10:34 Uhr

Inhaltsverzeichnis

Vorüberlegung

Mit hierachischen CA's kann man Berechtigungsstufen verwalten, ohne für jede Stufe ein extra Root-CA erzeugen zu müssen.
Im Grunde geht es darum die Struktur von Benutzerrechten und und abzusichernden Diensten abstrakt nachzubilden.


Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden




In Unserem Fall sollen

  • ein Root-CA
  • eine von der Root-CA signirte OpenVPN-CA
  • ein von der OpenVPN-CA signiertes Server_A-CERT
  • eine Kunde_1 Anfrage mit Key
  • eine Kunde_1-OpenVPN-CA
  • ein Kunde_1-OpenVPN-User_1-CERT

erstellt werden.


Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden

System

  • debian || ubuntu z.B. (Debian 2.6.26-26lenny1)
  • openssl ist installiert

angegebene System-Pfade beziehen sich auf Debian / Debian-Derivate

Los gehts

Ordnerstruktur anlegen

cd /etc/ssl
mkdir my_ca
cd my_ca
mkdir services
mkdir cusomers
mkdir services/openvpn
mkdir cusomers/custom_1
mkdir services/openvpn/openvpnserver_1
mkdir cusomers/custom_1/user_1

OpenSSL Konfiguration anpassen

Das anpassen der "openssl.cnf" spart spater viel Schreibarbeit.
(Editor nach belieben)

mc -e /usr/lib/ssl/openssl.cnf
  • in section "CA_default" den Pfad "dir" anpassen /etc/ssl/my_ca
  • Standartwerte für "match" Einträge (Country, Provinve, OrganisationUnit) anpassen z.B.: DE, Sachsen, ...

notwendige Ergänzungen in der Ordnerstruktur

(nur zur Sicherheit)

cd /etc/ssl/my_ca
  • Sammelordner für die Zertifikate (.pem files)
mkdir newcerts
  • Index vorhandener Zertifikate
touch index.txt
  • Zähler für den nächsten Zertifikatsnamen
touch serial
echo 01 > serial

Root-CA erstellen

(nur zur Sicherheit)

cd /etc/ssl/my_ca

diese CA gilt 10 Jahre

openssl req -new -x509 -newkey rsa:1024 -days 3650 -keyout bamseroot.key -out bamseroot.crt -days 3650
Meine Werkzeuge