Server Installation/Opennet CA: Unterschied zwischen den Versionen

Aus Opennet
Wechseln zu: Navigation, Suche
(CA Scripts)
(CA Scripts)
Zeile 73: Zeile 73:
 
* Zertifikate zurückziehen: ''revoke.sh'' (verwendet opennetca.sh revoke Methode)
 
* Zertifikate zurückziehen: ''revoke.sh'' (verwendet opennetca.sh revoke Methode)
 
* CRL Liste erstellen: ''crl.sh'' (verwendet opennetca.sh crl Methode)
 
* CRL Liste erstellen: ''crl.sh'' (verwendet opennetca.sh crl Methode)
* CRL Download: ''opennetca_crldownload.sh'' (eigenständiges Script)
 
 
* Cert Suche: ''list.sh'' (verwendet opennetca.sh list Methode)
 
* Cert Suche: ''list.sh'' (verwendet opennetca.sh list Methode)
 
* Cert Liste in HTML: ''opennetca_htmlview.sh'' (eigenständiges Script)
 
* Cert Liste in HTML: ''opennetca_htmlview.sh'' (eigenständiges Script)
 +
* CRL Download: ''opennetca_crldownload.sh'' (eigenständiges Script, nur benötigt auf VPN Server)
  
 
Diese Files für jede CA bereitstellen. Keine Anpassung notwendig.
 
Diese Files für jede CA bereitstellen. Keine Anpassung notwendig.

Version vom 4. Januar 2014, 10:14 Uhr

Software für Betrieb der Opennet CA.

Inhaltsverzeichnis

Voraussetzungen

  • openssl - zum Betrieb der CA Funktionen
  • mailx, sharutils - zum Versand von E-Mails
  • apache2 - für Webseiten

Funktionen

  • Signieren von Zertifikatsanfragen
  • Zurückziehen von Zertifikaten
  • Erstellen der CRL Liste
  • Download und CA Verifizierung einer CRL Liste
  • Suchen von Zertifikaten über CN
  • automatisches Logging
  • automatischer Mailversand
  • Erzeugen von Webübersicht

User u. Verzeichnisse

  • User "opennetca" mit Home /home/opennetca
  • Webseiten unter /var/www/htdocs/ca.opennet-initiative.de/
  • CA Verzeichnis einrichten:
mkdir cert
mkdir crl
mkdir csr
mkdir .backup
touch index.txt
touch serial.txt
cp <src>/README .
cp <src>/opennetca.sh .
cp <src>/opennetca.conf .
cp <src>/sign.sh .
cp <src>/revoke.sh .
cp <src>/crl.sh .
cp <src>/opennet-*.crt .
cp <src>/opennet-*.key .
cp <src>/opennet-*.conf .
chown -R opennetca:opennetca *
chmod 600 opennet-*.key

Config Files

  • OpenSSL Konfiguration: opennet-<ca-name>.ca.on_<year>.conf, notwendige Anpassungen:
[ opennetca ]
dir = /home/opennetca/ca/<capath>
certificate = $dir/opennet-<caname>.crt
private_key = $dir/opennet-<caname>.key
[ opennetca_certsign ]
nsComment = Opennet <caname-text> CA
nsCaRevocationUrl = http://ca.opennet-initiative.de/<caname>.crl
nsRevocationUrl = http://ca.opennet-initiative.de/<caname>.crl
[ opennetca_crl ]
fullname=URI:http://ca.opennet-initiative.de/<caname>.crl

  • CA Script Konfiguration: opennetca.cfg, notwendige Anpassungen:
# variables global
CA_CONFIG=opennet-<caname>.conf
CA_MAILSUBJECT="Opennet CA (<caname>)"
# variables sign
CA_CSRCN="<cn-extension1> <cn-extension2> .."
# variables crl
CA_CRL=<caname>.crl

CA Scripts

Download per Web: http://svn.opennet-initiative.de/listing.php?repname=on_opennetca
Checkout per SVN: svn checkout svn://svn.opennet-initiative.de/on_opennetca

  • Opennet CA: opennetca.sh (Basisfunktionen, benötigt Konfiguration opennetca.conf)
  • Zertifikate signieren: sign.sh (verwendet opennetca.sh sign Methode)
  • Zertifikate zurückziehen: revoke.sh (verwendet opennetca.sh revoke Methode)
  • CRL Liste erstellen: crl.sh (verwendet opennetca.sh crl Methode)
  • Cert Suche: list.sh (verwendet opennetca.sh list Methode)
  • Cert Liste in HTML: opennetca_htmlview.sh (eigenständiges Script)
  • CRL Download: opennetca_crldownload.sh (eigenständiges Script, nur benötigt auf VPN Server)

Diese Files für jede CA bereitstellen. Keine Anpassung notwendig.

Cronjobs

Regelmäßige CRL Listen Erstellung und Bereitstellung:

# Opennet CA CRL Generator
15 1,13 * * *   opennetca /home/opennetca/ca/root/crl.sh >/dev/null
15 1,13 * * *   opennetca /home/opennetca/ca/vpnuser/crl.sh >/dev/null
15 1,13 * * *   opennetca /home/opennetca/ca/vpnugw/crl.sh >/dev/null
25 1,13 * * *   root    cp /home/opennetca/ca/root/crl/*.crl /var/www/htdocs/ca.opennet-initiative.de/
25 1,13 * * *   root    cp /home/opennetca/ca/vpnuser/crl/*.crl /var/www/htdocs/ca.opennet-initiative.de/
25 1,13 * * *   root    cp /home/opennetca/ca/vpnugw/crl/*.crl /var/www/htdocs/ca.opennet-initiative.de/

Inhaltliche CRL Kontrolle per (u.a. Revoked Certificates):

openssl crl -text -in crl/<crlfile>.crl -CAfile <cafile>.crt

Öffentliche anonymisierte Zertifikatsliste bereitstellen:

# Opennet CA Cert List Generator
30 1,13 * * *   root    /home/opennetca/ca/root/opennetca_htmlview.sh --public >/var/www/htdocs/ca.opennet-initiative.de/root.html
30 *    * * *   root    /home/opennetca/ca/vpnuser/opennetca_htmlview.sh --public > /var/www/htdocs/ca.opennet-initiative.de/vpnuser.html
30 *    * * *   root    /home/opennetca/ca/vpnugw/opennetca_htmlview.sh --public > /var/www/htdocs/ca.opennet-initiative.de/vpnugw.html

Auf den Opennet VPN-Servern muss ebenfalls ein Cronjob angelegt werden, mm die CRLs regelmäßig zu aktualisieren. Details siehe Server Installation/OpenVPN.

Meine Werkzeuge
Namensräume

Varianten
Aktionen
Start
Opennet
Kommunikation
Karten
Werkzeuge