Gather knowledge about easyrsa
This commit is contained in:
parent
3abcf37882
commit
ede5d0e37c
|
@ -1,19 +1,63 @@
|
|||
Aufbau einer CA für den VPN-Dienst
|
||||
|
||||
* Beschaffung der gewünschten Version von EasyRSA + Verifikation
|
||||
* Integration der eigenen Anleitungen und Konfiguration
|
||||
* Verpacken für Clients/Server und CA selbst
|
||||
|
||||
|
||||
* Installation von easy-rsa
|
||||
TODO: Version 2 oder Version 3?
|
||||
|
||||
ggf. openssl in den Pfad legen, falls Windows
|
||||
Voraussetzung: openssl muss bereits installiert sein und im Pfad eingetragen sein.
|
||||
Unter Windows kann das von OpenVPN mitgebrachte openssl verwendet werden - dazu kann der Ordner "bin" einfach in den Pfad eingetragen werden.
|
||||
Ein Neustart des Computers ist notwendig, um die Änderung zu übernehmen.
|
||||
Mehr dazu unter https://github.com/OpenVPN/easy-rsa/blob/v3.0.4/distro/windows/README-Windows.txt
|
||||
|
||||
* Verifikation der Authentizität
|
||||
# Beschaffung/Installation von EasyRSA-3.0.4
|
||||
|
||||
* Erzeugen der CA
|
||||
Aktuelle Releases sind unter https://github.com/OpenVPN/easy-rsa/releases zu finden.
|
||||
GPG-Schlüssel zur Authentisierung der Releases sind im easy-rsa Repository unterhalb von ./release-keys/README.md aufgeführt.
|
||||
https://github.com/OpenVPN/easy-rsa/tree/master/release-keys
|
||||
|
||||
# Release v3.0.4 beschaffen und den dazu passenden GPG-Key
|
||||
gpg --recv-keys 6F4056821152F03B6B24F2FCF8489F839D7367F3
|
||||
wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.4/EasyRSA-3.0.4.tgz
|
||||
wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.4/EasyRSA-3.0.4.tgz.sig
|
||||
gpg --verify EasyRSA-3.0.4.tgz.sig EasyRSA-3.0.4.tgz
|
||||
tar xzf EasyRSA-3.0.4.tgz
|
||||
cd EasyRSA-3.0.4
|
||||
|
||||
|
||||
* Erzeugen eines CSR
|
||||
# Initialisierung der CA
|
||||
cp vars.example vars
|
||||
vim vars
|
||||
# Konfiguration der CA anpassen:
|
||||
# * Standardgültigkeit für ausgestellte Zertifikate
|
||||
# * Name der CA, etc
|
||||
|
||||
* Signieren eines CSR
|
||||
# Verzeichnisstruktur erzeugen (löscht bereits existierende Struktur!)
|
||||
./easyrsa init-pki
|
||||
|
||||
# CA-Zertifikat erzeugen, Passwort für privaten Schlüssel wird verlangt
|
||||
./easyrsa build-ca
|
||||
|
||||
* Erzeugen des Serverzertifikats
|
||||
# Regelbetrieb der CA
|
||||
# Benutzer erzeugt Request
|
||||
openssl req -utf8 -new -newkey rsa:4096 -keyout /tmp/cert.key -out /tmp/cert.req -subj "/CN=foobar" [-nodes]
|
||||
|
||||
# Request importieren (erfordert einen eindeutigen Namen - hier "timmeja")
|
||||
./easyrsa import-req /tmp/EasyRSA-3.0.4/pki/reqs/jpt-client.req timmeja
|
||||
|
||||
# Request signieren mit Client-Rolle (erfordert Passwort für privaten Schlüssel der CA)
|
||||
./easyrsa sign-req client timmeja
|
||||
|
||||
# Zertifikat inspizieren und an Antragsteller übergeben
|
||||
openssl x509 -in pki/issued/timmeja.crt -noout -text
|
||||
|
||||
# CRL erzeugen und an OpenVPN-Server übergeben
|
||||
./easyrsa gen-crl
|
||||
|
||||
Achtung: Wenn die CRL ausgelaufen ist, muss sie neu generiert werden. Das kann den VPN-Server im Betrieb blockieren.
|
||||
Daher ist eine hohe Gültigkeitsdauer mit on-demand-replacement eine Option.
|
||||
Ansonsten empfiehlt es sich, diesen Kram zu automatisieren. Regelmäßig eine neue CRL durch CA bereitstellen, von dieser beziehen und den VPN-Server ggf. neustarten.
|
||||
In der Serverkonfiguration: verify-crl /path/to/crl.pem
|
||||
|
||||
* Erzeugen des Clientzertifikats
|
Loading…
Reference in New Issue