Skip to content

Commit

Permalink
OpenVPN Server einrichten: Konfigurationen auf aktuellen Stand gebracht
Browse files Browse the repository at this point in the history
  • Loading branch information
crycode-de committed Jul 3, 2024
1 parent 46efb79 commit d024df0
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 11 deletions.
4 changes: 2 additions & 2 deletions posts/openvpn-server-einrichten.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ author:
link: https://crycode.de
#banner: banner.webp
date: 2017-03-19 12:00:00
updated: 2024-07-02 20:26:00
updated: 2024-07-03 17:55:00
categories:
- [Linux]
- [Netzwerk]
Expand Down Expand Up @@ -108,7 +108,7 @@ sudo ./easyrsa build-server-full server nopass

Dabei muss zum Signieren des Server-Zertifikates das Passwort des CA-Zertifikates eingegeben werden.

Zudem ist es ratsam TLS-Auth zu verwenden, was jedem Paket bei der Schlüsselaushandlung zwischen Server und Client eine spezielle Signatur hinzufügt. Hierfür erstellen wir einen TA-Schlüssel.
Zudem ist es ratsam TLS-Crypt zu verwenden, was jedem Paket bei der Schlüsselaushandlung zwischen Server und Client eine spezielle Signatur hinzufügt. Hierfür erstellen wir einen TA-Schlüssel.

```sh TA-Schlüssel erzeugen
sudo openvpn --genkey --secret ./pki/ta.key
Expand Down
19 changes: 13 additions & 6 deletions posts/openvpn-server-einrichten/client.ovpn
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,17 @@ persist-key
persist-tun

# Verschlüsselungsalgorithmus AES mit 256 Bit verwenden
cipher AES-256-CBC
cipher AES-256-GCM

# Erlaubte Verschlüsselungsalgorithmen, die zwischen und Server und Client
# ausgehandelt werden können. Hilfreich bei unterschiedlichen Clients.
ncp-ciphers AES-256-GCM:AES-192-GCM:AES-128-GCM

# Erlaubte TLS Verschlüsselungsalgorithmen für den Kontrollkanal
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384:TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-GCM-SHA384

# Mindestens TLS Version 1.2 erfordern, da TLS 1.0 als unsicher anzusehen ist
tls-version-min 1.2

# Authentifizierungsalgorithmus SHA-512 verwenden
auth SHA512
Expand All @@ -33,15 +43,12 @@ auth SHA512
# Verhindert MITM (Man In The Middle) Angriffe
remote-cert-tls server

# TLS-Auth als Client verwenden
key-direction 1

# Zertifikate und Schlüssel
<tls-auth>
<tls-crypt>
-----BEGIN OpenVPN Static key V1-----
[...]
-----END OpenVPN Static key V1-----
</tls-auth>
</tls-crypt>
<ca>
-----BEGIN CERTIFICATE-----
[...]
Expand Down
16 changes: 13 additions & 3 deletions posts/openvpn-server-einrichten/server.conf
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,17 @@ persist-key
ifconfig-pool-persist /etc/openvpn/ipp.txt

# Verschlüsselungsalgorithmus AES mit 256 Bit verwenden
cipher AES-256-CBC
cipher AES-256-GCM

# Erlaubte Verschlüsselungsalgorithmen, die zwischen und Server und Client
# ausgehandelt werden können. Hilfreich bei unterschiedlichen Clients.
ncp-ciphers AES-256-GCM:AES-192-GCM:AES-128-GCM

# Erlaubte TLS Verschlüsselungsalgorithmen für den Kontrollkanal
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384:TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-GCM-SHA384

# Mindestens TLS Version 1.2 erfordern, da TLS 1.0 als unsicher anzusehen ist
tls-version-min 1.2

# Authentifizierungsalgorithmus SHA-512 verwenden
auth SHA512
Expand All @@ -50,8 +60,8 @@ key /etc/openvpn/easyrsa3/pki/private/server.key
cert /etc/openvpn/easyrsa3/pki/issued/server.crt
dh /etc/openvpn/easyrsa3/pki/dh.pem

# TLS-Auth verwenden
tls-auth /etc/openvpn/easyrsa3/pki/ta.key 0
# TLS-Crypt verwenden
tls-crypt /etc/openvpn/easyrsa3/pki/ta.key

# CRL-Datei für widerrufene Zertifikate
crl-verify /etc/openvpn/easyrsa3/pki/crl.pem
Expand Down

0 comments on commit d024df0

Please sign in to comment.