Problemas de Internet / proxy Internet Explorer (arquivo PAC)

3

temos alguns problemas de internet / proxy em nossa rede desde 2 semanas. Os usuários estão recebendo erros esporádicos "Esta página não pode ser exibida" no Internet Explorer 11 ao tentar acessar sites - mas não o tempo todo. Às vezes, ele funciona por 10 minutos, então ele não funciona por um minuto, e assim por diante. Cada usuário definiu um arquivo de configuração de proxy (PAC) nas configurações do IE. Agora tentamos analisar com o wireshark o que está acontecendo aqui, porque não podemos encontrar nenhum problema com o próprio servidor proxy, o arquivo PAC ou as configurações do usuário.

No log de wireshark, podemos ver que o IE está falando com o servidor proxy, enviando solicitações GET e sendo autenticado (Autenticação de Proxy via NTLMSSP), o proxy também está respondendo com um "HTTP / 1.1 302 Found (text / html) ". Na próxima etapa, podemos ver que o cliente está tentando ir diretamente para a Internet através do endereço IP de destino do site, e isso está sendo bloqueado pelo nosso firewall, porque os clientes só têm que ir através do proxy.

Mas por que o Internet Explorer está tentando ir diretamente? Talvez alguém tenha uma ideia?

Os usuários estão trabalhando em um TerminalServer WinSrv2008R2 (Citrix). Suspeitamos que o Windows Updates seja o motivo, porque instalamos muitas atualizações pendentes há duas semanas. Mas não encontramos nenhuma nota na web descrevendo nossos problemas.

O log do wireshark:

[...]

545159  11:18:02.456003 172.27.217.119  10.2.50.11  HTTP    599 GET http://www.our-website.de/ HTTP/1.1 

545160  11:18:02.456580 10.2.50.11  172.27.217.119  TCP 60  3128 → 55551 [ACK] Seq=1 Ack=546 Win=63424 Len=0

545161  11:18:02.457097 10.2.50.11  172.27.217.119  TCP 1434    [TCP segment of a reassembled PDU]

545162  11:18:02.457098 10.2.50.11  172.27.217.119  TCP 60  [TCP Previous segment not captured] 3128 → 55551 [FIN, ACK] Seq=2644 Ack=546 Win=63424 Len=0

545163  11:18:02.457117 172.27.217.119  10.2.50.11  TCP 54  55551 → 3128 [ACK] Seq=546 Ack=1381 Win=131072 Len=0

545164  11:18:02.457135 10.2.50.11  172.27.217.119  TCP 1317    [TCP Out-Of-Order] 3128 → 55551 [PSH, ACK] Seq=1381 Ack=546 Win=63424 Len=1263

545165  11:18:02.457145 172.27.217.119  10.2.50.11  TCP 54  55551 → 3128 [ACK] Seq=546 Ack=2645 Win=129792 Len=0

[...]

545199  11:18:02.466819 172.27.217.119  10.2.50.11  HTTP    683 GET http://www.our-website.de/ HTTP/1.1 , NTLMSSP_NEGOTIATE

545200  11:18:02.467245 10.2.50.11  172.27.217.119  TCP 60  3128 → 55552 [ACK] Seq=1 Ack=630 Win=63360 Len=0

545201  11:18:02.467546 10.2.50.11  172.27.217.119  HTTP    637 HTTP/1.1 407 Proxy Authentication Required , NTLMSSP_CHALLENGE

545202  11:18:02.467560 172.27.217.119  10.2.50.11  TCP 54  55552 → 3128 [ACK] Seq=630 Ack=584 Win=130304 Len=0

545206  11:18:02.474303 172.27.217.119  10.2.50.11  HTTP    1271    GET http://www.our-website.de/ HTTP/1.1 , NTLMSSP_AUTH, User: OUR_DOMAIN\user

545207  11:18:02.475012 10.2.50.11  172.27.217.119  TCP 60  3128 → 55552 [ACK] Seq=584 Ack=1847 Win=62144 Len=0

545213  11:18:02.519326 10.2.50.11  172.27.217.119  HTTP    835 HTTP/1.1 302 Found  (text/html)

545214  11:18:02.519359 172.27.217.119  10.2.50.11  TCP 54  55552 → 3128 [ACK] Seq=1847 Ack=1365 Win=129536 Len=0

545216  11:18:02.524742 172.27.217.119  #Website_IP#    TCP 66  55553 → 80 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1

545217  11:18:02.524880 172.27.217.119  #Website_IP#    TCP 66  55554 → 80 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1

545218  11:18:02.525377 #Website_IP#    172.27.217.119  TCP 60  80 → 55553 [RST, ACK] Seq=1 Ack=1 Win=8192 Len=0



545219  11:18:02.525487 #Website_IP#    172.27.217.119  TCP 60  80 → 55554 [RST, ACK] Seq=1 Ack=1 Win=8192 Len=0

Podemos ver no nosso log de firewall que a conexão está sendo bloqueada:

4   May 30 2017 11:18:02    106023  172.27.217.119  55553   #Website_IP#    80  Deny tcp [...]

// EDIT: Arquivo PAC:

function FindProxyForURL(url, host)
{
   if (isPlainHostName(host)) { return "DIRECT"; }
   if (host == "127.0.0.1") { return "DIRECT"; }

// 10.x.x.x
   if (shExpMatch(url,"https://10.*.*.*") || shExpMatch(url,"http://10.*.*.*") || shExpMatch(url,"ftp://10.*.*.*"))
   {
    return "DIRECT";
   }
// 172.27.x.x
   if (shExpMatch(url,"https://172.27.*.*") || shExpMatch(url,"http://172.27.*.*") || shExpMatch(url,"ftp://172.27.*.*"))
   {
    return "DIRECT";
   }
// 192.168.x.x
   if (shExpMatch(url,"https://192.168.*.*") || shExpMatch(url,"http://192.168.*.*") || shExpMatch(url,"ftp://192.168.*.*"))
   {
    return "DIRECT";
   }
// KV-SafeNet (INCAS Medical)
   if((host == "www.incas-medical-safenet.de")) { return "DIRECT"; }
   if((host == "188.144.47.250")) { return "DIRECT"; }
   if(isInNet(host, "188.144.0.0", "255.254.0.0")) { return "DIRECT"; }


    // If the requested website is hosted within the internal network, send direct.
    if (isPlainHostName(host) ||
        shExpMatch(host, "*.local") ||
        isInNet(dnsResolve(host), "10.0.0.0", "255.0.0.0") ||
        isInNet(dnsResolve(host), "172.16.0.0",  "255.240.0.0") ||
        isInNet(dnsResolve(host), "192.168.0.0",  "255.255.0.0") ||
        isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0"))
        return "DIRECT";

   return "PROXY 10.2.50.11:3128; PROXY 10.2.50.10:3128";
}

King Atenciosamente, Niko

    
por Niko21 30.05.2017 / 14:35

1 resposta

0

Seu firewall está bloqueando o tráfego que não deveria ou o tráfego está sendo roteado para o firewall que não deveria estar.

O seu arquivo de proxy está configurado para direcionar para "172.16.0.0", "255.240.0.0", que inclui o intervalo de endereços: 172.16.0.0 - 172.31.255.255. O exemplo que você forneceu é para 172.27.217.119, que deve ser permitido, mas é descartado pelo seu firewall.

    
por 30.05.2017 / 16:27