linOTP para autenticação openVPN ubuntu 12.04

1

Estou trabalhando em um projeto no qual tenho que instalar uma autenticação de senha única. Eu instalei com sucesso o openVPN ao qual posso conectar sem qualquer autenticação. Eu instalei o software OTP linOTP que conectei ao meu servidor LDAP.

A conexão com o servidor LDAP está funcionando e atribuímos um token a um usuário. Ao testar o token usando a interface de depuração: // myip: 5001 / validate / check imprime a resposta:

{
   "version": "LinOTP 2.8.0.3", 
   "jsonrpc": "2.0", 
   "result": {
      "status": true, 
      "value": true
   }, 
   "id": 0
}

Significa que a autenticação para o linOTP está funcionando, no entanto, quando eu habilito a autenticação de senha no servidor openVPN, ele não autentica.

AUTH-PAM: BACKGROUND: user 'jdoe' failed to authenticate: Authentication failure

Eu fiz todas as configurações de acordo com este guia: link

É assim que meu client.ovpn parece:

client
dev tun
proto udp
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert jdoe.crt
key jdoe.key
ns-cert-type server
comp-lzo
verb 3
auth-user-pass

server.conf:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.0.0 255.255.255.0"
push "dhcp-option DNS 192.168.0.3"
push "dhcp-option DNS myip"
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
plugin /usr/lib/openvpn/openvpn-auth-pam.so openvpn
arquivos

e linotp, linotp comum:

auth    [success=1 default=ignore]      pam_python.so /lib/security/pam_linotp.py \
    nosslhostnameverify nosslcertverify debug url=https://localhost/validate/check 
auth    requisite           pam_deny.so
auth    required            pam_permit.so

Eu usarei certificados HTTPS autoassinados, então incluímos "nosslhostnameverify" e "nosslcertverify" de acordo com a seção "pam_py_linotp" deste guia: link

e finalmente o arquivo /etc/pam.d/openvpn:

@include common-linotp 
session    sufficient pam_permit.so
account    sufficient  pam_permit.so

Eu sou novo na configuração do servidor e gostaria de receber ajuda.

O servidor roda o Ubuntu 12.04.

    
por Jakob Olsson 08.03.2016 / 13:44

1 resposta

0

Para mim, este problema foi resolvido adicionando hide_otp_input . Isso está mal documentado, mas resolveu o mesmo problema para mim.

Estou usando o módulo pam_linotp.so , não a implementação do python, que pode fazer a diferença.

    
por 08.06.2017 / 15:34