Certificat OpenVPN OU authentification plugin-auth-pam

En configurant le server OpenVPN, je peux autoriser l'authentification par certificate ou l'authentification par nom d'user / mot de passe à l'aide openvpn-plugin-auth-pam , mais pas les deux en même time.

J'autorise l'authentification par nom d'user / mot de passe comme suit:

 plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so login client-cert-not-required username-as-common-name 

Mais dès que j'ajoute les lignes suivantes, mes clients configurés pour l'authentification de certificate cessent de travailler avec les messages suivants dans le journal:

 TLS Error: Auth Username/Password was not provided by peer TLS Error: TLS handshake failed 

Existe-t-il un moyen de ne pas exiger un nom d'user / mot de passe de clients qui utilisent l'authentification par certificate?

One Solution collect form web for “Certificat OpenVPN OU authentification plugin-auth-pam”

OpenVPN ne prend pas en charge plusieurs methods d'authentification simultanée. La meilleure solution pour cela, comme mentionné dans les commentaires, consiste à exécuter deux instances de OpenVPN. Il est plus compliqué de l'exécuter sur la même boîte, mais est définitivement capable.

Cependant, il semble y avoir des solutions de rechange qui conviennent à votre situation.

si vous savez quels certificates nécessitent un mot de passe et qui ne le sont pas, la réponse est oui. utilisez un script 'auth-user-pass-verify' du côté du server pour vérifier d'abord le DN du certificate (si vous définissez également –username-comme-nom commun, vous connaîtrez le nom commun du certificate dans le script de vérification automatiquement ). Si c'est un certificate pour lequel vous savez qu'un mot de passe a été saisi, utilisez pam pour vérifier le nom d'user / mot de passe. si vous savez que le certificate n'a pas inclus de mot de passe, requestz au script de returnner «0» pour permettre l'access.

Notez qu'il n'y a aucun moyen de déterminer automatiquement si l'user a saisi un mot de passe de certificate ou non – ce qui se trouve en dehors de la main-d'œuvre openssl et donc pas connu du server OpenVPN.

Source: https://openvpn.net/archive/openvpn-users/2007-12/msg00179.html

Vous pouvez également fédérer vos keys de key générées par OpenVPN dans un server LDAP local et utiliser le script précité pour l'authentification contre LDAP avec le certificate fourni ou utiliser les informations d'identification fournies étant donné qu'aucun certificate n'a été présenté.

  • Connectez-vous à VPN dans Windows 10
  • Comment éviter l'erreur "Port 22: connection refusée" sur le port SSH (22)?
  • Erreur refusée par l'autorisation OpenVPN
  • Openvpn atsortingbue l'ip random aux clients
  • Est-ce que vous devez avoir des licences CAL pour tous les users d'openVPN sur un server Windows?
  • connectez-vous au server VPN tiers, mais ne l'utilisez pas comme itinéraire par défaut?
  • Accès au service dans le conteneur Docker connecté à VPN
  • Accédez à des ressources réseau locales à distance en utilisant OpenVPN
  • Un VPN PPTP est-il trop peu sûr pour envisager d'utiliser?
  • Le tunnel OpenVPN a soudainement cessé de fonctionner
  • Secure OpenVPN utilisant IPTABLES
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.