O protocolo OpenVPN é agnóstico do SO. Nenhuma informação do sistema operacional do cliente é passada para o servidor.
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.
O protocolo OpenVPN é agnóstico do SO. Nenhuma informação do sistema operacional do cliente é passada para o servidor.
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!
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