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