Server Installation/Opennet CA: Unterschied zwischen den Versionen
Aus Opennet
(→CA Scripts) |
(→Funktionen) |
||
Zeile 14: | Zeile 14: | ||
* Download und CA Verifizierung einer CRL Liste | * Download und CA Verifizierung einer CRL Liste | ||
* Suchen von Zertifikaten über CN | * Suchen von Zertifikaten über CN | ||
− | * | + | * Logging und integriertes Backup |
* automatischer Mailversand | * automatischer Mailversand | ||
* Erzeugen von Webübersicht | * Erzeugen von Webübersicht |
Version vom 4. Januar 2014, 11:03 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
- Logging und integriertes Backup
- 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.