3 votes

OpenVPN: "Erreur d'authentification/décryptage du paquet : échec de l'authentification HMAC du paquet"

Je suis en train de configurer mon Raspberry Pi en tant que serveur OpenVPN sur le site B. Pour cette configuration, je exige que la configuration du client soit stockée dans un seul fichier, car elle sera déployée sur mon téléphone Android. Je ne veux pas m'embêter avec les chemins, donc : je vais envoyer le fichier via Bluetooth et c'est réglé !

La configuration est basée sur la PKI. La configuration s'inspire d'un VPN existant (commenté) dont le Raspy est le client (site B vers site A). L'autre VPN peut être activé à tout moment mais, encore une fois, il est actuellement commenté. Je teste d'abord ceci sur Windows avant de le déployer sur Android, surtout parce que je peux modifier et relancer la configuration à tout moment, taper rapidement avec le clavier et copier-coller des choses depuis le serveur parce que je peux toujours m'y connecter à distance via ssh. Sur mobile, cela me prendra beaucoup de temps pour tester.

Server.conf

port 1194
proto udp
dev tun

ca /etc/ssl/vpn/ca.crt
cert /etc/ssl/vpn/raspy.crt
key /etc/ssl/vpn/raspy.key
dh /etc/ssl/vpn/dh2048.pem
key-direction 1
tls-auth /etc/ssl/vpn/ta.key 0 # Ce fichier est secret
cipher AES-256-CBC   # AES

client-config-dir ccd
ifconfig-pool-persist ipp.txt
client-to-client
push "route 192.168.192.0 255.255.255.0 vpn_gateway"
keepalive 10 120
comp-lzo

user nobody
group nogroup
persist-key
persist-tun

status openvpn-status.log
log  /var/log
verb 6 #m'aide à résoudre les problèmes

Client.conf

dev tun
proto udp
remote raspy.example.me 1194

resolv-retry infinite

nobind

user nobody
group nogroup

persist-key
persist-tun

-----BEGIN CERTIFICATE-----
Correspond au certificat CA déployé sur le serveur
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
C'est le certificat client que j'ai signé avec un CA commun
Je suppose que cette partie de la configuration est bonne
-----END CERTIFICATE-----

-----BEGIN RSA PRIVATE KEY-----
Clé privée client
-----END RSA PRIVATE KEY-----

-----BEGIN DH PARAMETERS-----
Correspond au contenu de /etc/ssl/vpn/dh2048.pem
-----END DH PARAMETERS-----

cipher AES-256-CBC
remote-cert-tls server

-----BEGIN OpenVPN Static key V1-----
correspond à /etc/ssl/vpn/ta.key
-----END OpenVPN Static key V1-----

cipher AES-256-CBC

comp-lzo

log         /var/log/openvpn.log
verb 6

Je suis confiant que les certificats sont correctement configurés, mais entre-temps je vais les retester avec OpenSSL pour m'assurer que la chaîne est bonne.

En me connectant, je trouve les journaux suivants

Serveur

Mar Jul 28 11:02:25 2020 us=457781 Erreur d'authentification/décryptage du paquet : l'authentification du HMAC du paquet a échoué
Mar Jul 28 11:02:25 2020 us=458025 Erreur TLS : échec d'authentification du paquet entrant depuis [AF_INET]xxx:46976
Mar Jul 28 11:02:27 2020 us=732637 Erreur d'authentification/décryptage du paquet : l'authentification du HMAC du paquet a échoué
Mar Jul 28 11:02:27 2020 us=732832 Erreur TLS : échec d'authentification du paquet entrant depuis [AF_INET]xxx:46976

Client

Mar Jul 28 11:02:25 2020 UDP ÉCRITURE [42] vers [AF_INET]xxx:1194: P_CONTROL_HARD_RESET_CLIENT_V2 kid=0 pid=[ #2 ] [ ] pid=0 DATA len=0
Mar Jul 28 11:02:29 2020 UDP ÉCRITURE [42] vers [AF_INET]xxx:1194: P_CONTROL_HARD_RESET_CLIENT_V2 kid=0 pid=[ #3 ] [ ] pid=0 DATA len=0
Mar Jul 28 11:02:37 2020 UDP ÉCRITURE [42] vers [AF_INET]xxx:1194: P_CONTROL_HARD_RESET_CLIENT_V2 kid=0 pid=[ #4 ] [ ] pid=0 DATA len=0
Mar Jul 28 11:02:53 2020 UDP ÉCRITURE [42] vers [AF_INET]xxx:1194: P_CONTROL_HARD_RESET_CLIENT_V2 kid=0 pid=[ #5 ] [ ] pid=0 DATA len=0

Qu'est-ce qui peut être faux dans cette configuration ? Comment devrais-je corriger cela ?

Recherche


J'ai trouvé ce sujet qui prétend être résolu

bznelson wrote: 
Mon Apr 09, 2018 22:52 pm
tls-auth /etc/openvpn/easy-rsa/pki/ta.key 0 

bznelson wrote: 
Mon Apr 09, 2018 22:52 pm

Ah oui, le tls-auth/tls-crypt, c'est ça ! Merci beaucoup ! J'exécutais un serveur 2.3, mais j'avais d'abord installé la version 2.4 et je suppose qu'il y a eu une certaine confusion.

Je lance OpenVPN 2.4.0 sur les deux hôtes. Je ne sais pas comment ce fil lié peut m'aider

Et dans le même sujet, quelqu'un a mentionné l'erreur

Cela signifie généralement que vous avez installé la mauvaise ta.key quelque part.

Mais j'ai vérifié trois fois. Les clés sont les mêmes mais la seule différence est qu'une est dans un fichier, l'autre est en ligne


J'ai essayé de supprimer complètement le tls-auth du client et du serveur. L'erreur est corrigée et j'ai le prochain problème à régler. Donc, le forum lié ci-dessus avait raison, il y a un peu de désordre entre les deux clés identiques

0voto

NeonMan Points 133

La configuration du client et du serveur doit partager la même configuration de chiffrement. La ligne :

chiffrement AES-256-CBC

Doit être présente sur les deux.

0voto

John White Points 151

Dans mon cas, il s'agissait de l'algorithme de hachage d'authentification. Pfsense avait une option par défaut plus sécurisée que le serveur, il a donc fallu les aligner. SHA-1 est l'option par défaut non sécurisée, SHA256 semble être une meilleure option.

0voto

ongyanjin Points 1

Peut-être que votre génération de ta.key était incorrecte.

openvpn --genkey tls-auth ta.key (ceci est incorrect!)

veuillez consulter le site officiel https://openvpn.net/community-resources/how-to/#hardening-openvpn-security

capture d'écran : à quoi sert tls-auth

Dans mon cas openvpn 2.5.4

AVERTISSEMENT : l'utilisation de --genkey --secret nom_fichier est OBSOLÈTE. Utilisez --genkey secret nom_fichier à la place. Shell EasyRSA

openvpn --genkey secret ta.key

après avoir ajouté la configuration suivante, cela fonctionne.

capture d'écran : configuration tls-auth

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X