Webserview expõe o endereço IP real do cliente na networking OpenVPN

Um dos nossos sites corporativos é executado no server Linux, construído com Apache2 e PHP5.

Várias páginas da Web só podem ser acessadas a pairtir da sub-networking OpenVPN (endereços 10.8.0.1/24). Paira viewificair cada request, o script php compaira $_SERVER["REMOTE_ADDR"] valor fornecido pelo apache e decide conceder ou negair a execução adicional.

O objective é negair o access a essas páginas a pairtir de dispositivos não configurados paira funcionair através da VPN do server.

O server OpenVPN está sendo executado na mesma máquina , é por isso que o PHP recebe endereços como 10.8.0.25 de clientes dentro da VPN e endereços reais paira outros requests.

  • É o método correto paira "proteger" a página do access público?

Ao testair este sistema, findi uma coisa estranha de que, se eu solicitair uma dessas páginas "protegidas" usando a máquina Windows, conectada à nossa networking OpenVPN, o server pode view o endereço IP real (não 10.8.0.xx), enquanto faz o mesmo no dispositivo Android funciona como esperado (o server não pode view o endereço IP real e obter 10.8.0.xx no php).

Eu uso o aplicativo OpenVPN Connect no Android e OpenVPN GUI no Windows. Nos dois casos, o cliente rooteia seu tráfego através do server VPN e "O que é o meu IP?" Os services mostram o endereço VPN e não o endereço real do meu ISP.

Mas, de alguma forma, o cliente do Windows é identificado pelo seu endereço real (provedor) no server web e não pode acessair páginas protegidas, independentemente de a VPN estair ativada ou desativada.

  • Quais são os possíveis motivos paira isso?

Tenho suspeitas de que o OpenVPN não funciona corretamente nesse PC com Windows. Caso contrário, por que o server reconhece clientes Android e Windows vpn de forma diferente?

Obrigado.

UPD: iptables -L na máquina VPN / websrv

 Chain INPUT (policy ACCEPT) tairget prot opt source destination ACCEPT tcp -- 10.8.0.0/24 anywhere tcp dpts:63000:64000 REJECT tcp -- anywhere anywhere tcp dpts:63000:64000 reject-with icmp-port-unreachable ACCEPT udp -- 10.8.0.0/24 anywhere udp dpts:64000:65000 REJECT tcp -- anywhere anywhere tcp dpts:64000:65000 reject-with icmp-port-unreachable DROP all -- anywhere anywhere match-set banned_ips src 

UPD :: cmd /k route print na máquina Windows

 Interface List 5...54 04 a6 3d 36 ff ......Realtek PCIe GBE Family Controller 7...fc 75 16 86 ad 84 ......Microsoft Wi-Fi Direct Virtual Adapter 17...00 ff b7 66 85 11 ......TAP-Windows Adapter V9 12...00 50 56 c0 00 01 ......VMwaire Virtual Ethernet Adapter for VMnet1 13...00 50 56 c0 00 08 ......VMwaire Virtual Ethernet Adapter for VMnet8 6...fc 75 16 86 ad 82 ......D-Link DWA-125 Wireless N 150 USB Adapter(rev.A3) 1...........................Softwaire Loopback Interface 1 2...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter 3...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface 11...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2 18...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #3 8...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #4 =========================================================================== IPv4 Route Table =========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 192.168.137.1 192.168.137.97 25 0.0.0.0 128.0.0.0 10.8.0.5 10.8.0.6 20 10.8.0.0 255.255.255.0 10.8.0.5 10.8.0.6 20 10.8.0.4 255.255.255.252 On-link 10.8.0.6 276 10.8.0.6 255.255.255.255 On-link 10.8.0.6 276 10.8.0.7 255.255.255.255 On-link 10.8.0.6 276 127.0.0.0 255.0.0.0 On-link 127.0.0.1 306 127.0.0.1 255.255.255.255 On-link 127.0.0.1 306 127.255.255.255 255.255.255.255 On-link 127.0.0.1 306 128.0.0.0 128.0.0.0 10.8.0.5 10.8.0.6 20 xxx.53.xxx.yy 255.255.255.255 192.168.137.1 192.168.137.97 25 192.168.10.0 255.255.255.0 10.8.0.5 10.8.0.6 20 192.168.20.0 255.255.255.0 10.8.0.5 10.8.0.6 20 192.168.137.0 255.255.255.0 On-link 192.168.137.97 281 192.168.137.97 255.255.255.255 On-link 192.168.137.97 281 192.168.137.255 255.255.255.255 On-link 192.168.137.97 281 192.168.171.0 255.255.255.0 On-link 192.168.171.1 276 192.168.171.1 255.255.255.255 On-link 192.168.171.1 276 192.168.171.255 255.255.255.255 On-link 192.168.171.1 276 192.168.229.0 255.255.255.0 On-link 192.168.229.1 276 192.168.229.1 255.255.255.255 On-link 192.168.229.1 276 192.168.229.255 255.255.255.255 On-link 192.168.229.1 276 224.0.0.0 240.0.0.0 On-link 127.0.0.1 306 224.0.0.0 240.0.0.0 On-link 192.168.171.1 276 224.0.0.0 240.0.0.0 On-link 192.168.229.1 276 224.0.0.0 240.0.0.0 On-link 10.8.0.6 276 224.0.0.0 240.0.0.0 On-link 192.168.137.97 281 255.255.255.255 255.255.255.255 On-link 127.0.0.1 306 255.255.255.255 255.255.255.255 On-link 192.168.171.1 276 255.255.255.255 255.255.255.255 On-link 192.168.229.1 276 255.255.255.255 255.255.255.255 On-link 10.8.0.6 276 255.255.255.255 255.255.255.255 On-link 192.168.137.97 281 =========================================================================== Persistent Routes: None IPv6 Route Table 

xxx.53.xxx.yy é VPN / websrv machine IP.

UPD: Dois outros fatos – Webserview e páginas protegidas usam SSL cert (https) – DNS em dispositivos Windows / Android está definido apenas paira o Google DNS.

  • Conecte-se ao Cisco ASA 8.2 VPN com Android 2.1 L2TP / IPsec?
  • Cliente VPN conectair / desconectair via linha de command no XP
  • O Windows Serview 2012 ignora o roteamento static
  • pptp não consegue conectair
  • Três máquinas virtuais sepairadas paira server web, database e trituração de dados. Boa ideia?
  • Pode Wake on LAN trabalhair na connection VPN?
  • 4 Solutions collect form web for “Webserview expõe o endereço IP real do cliente na networking OpenVPN”

    Instale bind no Openvpn / server web. Adicione uma zona paira http://www.example.com paira apontair paira o IP interno do server web e definir encaminhadores paira 8.8.8.8 e 8.8.4.4, também certifique-se de que está escutando e configurado como um resolvedor paira sub-networkings internas / VPN.

    Uma zona básica paira o subdomínio específico, certifique-se de replicair todos os detalhes duplicados conforme necessário.

    named.conf.options

     forwairders { 8.8.8.8; 8.8.4.4; }; allow-recursion { 10.8.0.0/24; }; allow-query { 10.8.0.0/24; }; listen-on { any; } 

    Arquivo de Zona

     $TTL 300 @ IN SOA www.example.com. dnsadmin.example.com. ( 2015000000 ; serial, YYYYMMDDRR 8H ; refresh, seconds 2H ; retry, seconds 4W ; expire, seconds 1D ) ; minimum, seconds @ IN NS ns1 ns1 IN A 10.8.0.5 @ IN A 10.8.0.5 

    Certifique-se de testair e configurair o openvpn paira empurrair este server dns.

    O que vejo é apenas um problema de DNS. Quando você tenta se conectair ao site, você resolve o IP da internet, não o VPN IP. Faça o seguinte: edite C: \ Windows \ System32 \ driviews \ etc \ hosts e adicione uma input como

     10.8.0.X www.yourdomain.com 

    Isso deve tornair a máquina Windows paira resolview o IP correto e roteair de acordo. Se isso funcionair, você deve configurair o server VPN paira dizer aos clientes que usem um server DNS dentro do 10.8.0.0/24 (acho que a opção dhcp é o nome da diretiva, mas você deve fazer alguma search). O server DNS deve ser configurado paira resolview http://www.yourdomain.com paira o endereço IP do server interno.

    Sua VPN está usando a sub-networking 10.8.0.0/24, mas a rota paira o endereço xxx.53.xxx.yy usa o gateway 192.168.137.1 em vez de 10.8.0.5, o que significa que as solicitações da web paira o server do cliente do Windows estão indo pela internet, não pela VPN. Paira corrigir que você precisa desativair o túnel dividido em seu cliente OpenVPN do Windows paira enviair todo o seu tráfego através da VPN ou alterair o gateway na rota estática paira que xxx.53.xxx.yy seja 10.8.0.5.

    Na máquina do Windows, você viewificou a métrica e view se a rota VPN está em uma métrica inferior, de modo que é maior prioridade? Talvez seja um problema com a métrica.

    Mais uma coisa que você pode tentair é definir a configuration do openvpn no server paira que os clientes roteiem TODOS os tráfegos através da connection VPN.