Existem métodos melhores / mais seguros para iniciar o cliente OpenVPN como um usuário normal?

1

Estou tentando me conectar a um servidor OpenVPN. Ele funciona perfeitamente quando eu uso root para dar os comandos para conectar:

openvpn /etc/openvpn/client.conf

mas com um usuário normal, recebo essas mensagens de erro no log:

Aug 15 18:01:43 a openvpn[4755]: OpenVPN 2.1.1 i686-redhat-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] built on Jan  5 2010
Aug 15 18:01:43 a openvpn[4755]: WARNING: you are using user/group/chroot/setcon without persist-tun -- this may cause restarts to fail
Aug 15 18:01:43 a openvpn[4755]: WARNING: you are using user/group/chroot/setcon without persist-key -- this may cause restarts to fail
Aug 15 18:01:43 a openvpn[4755]: WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Aug 15 18:01:43 a openvpn[4755]: NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Aug 15 18:01:43 a openvpn[4755]: Control Channel Authentication: using '/home/MYUSERNAME/.cert/shared.key' as a OpenVPN static key file
Aug 15 18:01:43 a openvpn[4755]: LZO compression initialized
Aug 15 18:01:43 a openvpn[4756]: NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay
Aug 15 18:01:43 a openvpn[4756]: UDPv4 link local: [undef]
Aug 15 18:01:43 a openvpn[4756]: UDPv4 link remote: 111.222.333.444:443
Aug 15 18:01:43 a openvpn[4756]: [vpnserver] Peer Connection Initiated with 192.168.1.1:443
Aug 15 18:01:46 a openvpn[4756]: Note: Cannot ioctl TUNSETIFF tun: Operation not permitted (errno=1)
Aug 15 18:01:46 a openvpn[4756]: Note: Attempting fallback to kernel 2.2 TUN/TAP interface
Aug 15 18:01:46 a openvpn[4756]: Cannot allocate TUN/TAP dev dynamically
Aug 15 18:01:46 a openvpn[4756]: Exiting

Portanto, parece que eu preciso de privilégios de root para executar o comando mencionado.

Soluções que eu pesquisei:
 - bit setuid: link - não é mais bom
 - "visudo" como root, então acrescente isto ao arquivo:

MYUSERNAME ALL = NOPASSWD: /usr/sbin/openvpn

Em seguida, o usuário "MYUSERNAME" pode iniciar o binário "sudo / usr / sbin / openvpn" com privilégios de root.

p.s.1:

$ which openvpn
/usr/sbin/openvpn

p.s.2: Usando o Fedora 14 / bash.

A PERGUNTA:
- Existem métodos melhores / mais seguros para iniciar o cliente OpenVPN como um usuário normal?

    
por LanceBaynes 15.08.2011 / 18:22

1 resposta

1

OpenVPN precisa de acesso root porque precisa atribuir endereços IP à sua interface recém-criada.

Se você estiver executando em um modo gráfico, você pode tentar o NetworkManager plugin para openvpn , que roda muito bem e deixa sua vpn a apenas um clique de distância. Alguns usuários acham que NetworkManager é um pouco intrusivo (mas isso é OFT).

Fora isso, sua melhor chance é, como você disse, sudo . Muito melhor do que brincar com setuid bit, IMHO.

    
por 16.08.2011 / 07:31