Configure o OpenVPN para bloquear clientes por SO?

1

Existe uma maneira de configurar um servidor OpenVPN para restringir os clientes que se conectam a ele pelo sistema operacional?

Atualmente, usamos um servidor OpenVPN para conectar nossos laptops a nossos servidores no AWS (em execução em um VPC). Um cliente nosso solicitou que proibimos o acesso VPN de dispositivos móveis. Por isso, queremos bloquear clientes Android, iOS e Windows Phone.

    
por Adam Kaplan 24.02.2017 / 23:41

3 respostas

1

O protocolo OpenVPN é agnóstico do SO. Nenhuma informação do sistema operacional do cliente é passada para o servidor.

    
por 25.02.2017 / 09:39
1

Portanto, se você tiver acesso ao servidor OpenVPN, poderá bloquear as solicitações usando Passive OS Fingerprinting. e osf para colocar na lista de permissões o seu sistema operacional de desktop.

Eu vou escrever isso para o Centos, já que é quando eu usei. Você está instalando um aplicativo nfnl_osf e, em seguida, o banco de dados de assinatura de impressão digital do OpenBSD para ajudar a combinar as máquinas.

yum -y install libpcap libpcap-devel iptables-utils
wget http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/etc/pf.os?rev=1.27 -O /usr/libexec/iptables/pf.os
nfnl_osf -f /usr/libexec/iptables/pf.os

Depois de configurarmos ambos, importamos o banco de dados para o iptables e então executamos os comandos abaixo do iptables para executar a verificação.

iptables -I INPUT -j ACCEPT -p udp --dport 1194 -m osf --genre Windows --log 2 --ttl 2    
iptables -I INPUT -j ACCEPT -p udp --dport 1194 -m osf --genre Mac --log 2 --ttl 2     
iptables -A INPUT -p udp --dport 1194 -j DROP

Espero que ajude!

    
por 25.02.2017 / 14:43
1

O OpenVPN faz enviar informações do cliente para o servidor via --push-peer-info . o sistema operacional do cliente está entre os elementos que são empurrados e teoricamente poderiam ser usados para filtrar a conexão com base no cliente esperado / bloqueado SO.

Exemplo de log do servidor:

Tue Dec 19 13:21:42 2017 us=348489 v3.rsa.anet.cli.lx64/x.4.232.194:51806 peer info: IV_PLAT=linux
Tue Dec 19 13:21:42 2017 us=348521 v3.rsa.anet.cli.lx64/x.4.232.194:51806 peer info: IV_PROTO=2
Tue Dec 19 13:21:42 2017 us=348551 v3.rsa.anet.cli.lx64/x.4.232.194:51806 peer info: IV_NCP=2
Tue Dec 19 13:21:42 2017 us=348580 v3.rsa.anet.cli.lx64/x.4.232.194:51806 peer info: IV_LZ4=1
Tue Dec 19 13:21:42 2017 us=348608 v3.rsa.anet.cli.lx64/x.4.232.194:51806 peer info: IV_LZ4v2=1
Tue Dec 19 13:21:42 2017 us=348636 v3.rsa.anet.cli.lx64/x.4.232.194:51806 peer info: IV_LZO=1
    
por 19.12.2017 / 21:32