O que mais fazer para diagnosticar isso ? | Bloqueio de site mesmo c Full Access



  • Bom dia pessoal, Boa Tarde, Boa Noite, Boa Madrugada, não sei que horas está chegando aqui ! :)

    Vamos ver o que mais posso fazer para diagnosticar problemas como o que vou descrever, com sites como Sintegra SP e aplicações como Logmein Client.

    Cenário:
    PFSense 2.1.5
    Squid 3.1.20 pkg 2.1.1
    SquidGuard 1.4_4 pkg v.1.9.12
    Proxy Autenticado (não transparente) sincronizado pelo AD Microsoft Windows 2003
    Blacklist Shallalist
    –---------------------
    Outros pacotes:
    Cron 0.1.9
    MailReport 2.3_1
    OpenVPN 1.2.19
    Sarg 2.3.6_2 pkg v.0.6.3
    zabbix2-agent-2.2.5 pkg v0.8.3

    Procuro manter as regras do PFSense bem restritivas, fazendo cada liberação apenas com a certeza de que era a certa e necessária a fazer. Contudo, me deparei com dois problemas recentes que não sei mais o que fazer.

    Normalmente, a linha de diagnóstico que faço é:

    1. Me certificar que o usuário se autenticou no proxy. Vou em Services|Proxy Server|Realtime e coloco o IP da máquina a ser monitorada. Vejo que as conexões da máquina estão sendo autenticadas, por mais que faça tudo certo, mesmo com "netsh winhttp import proxy ie" existem tentativas de conexões (ex. update microsoft) que apresentam erro TCP_DENIED/407 (problema de autenticação). Mas até aí tudo bem, nem acredito que este seja o problema principal, porque mesmo com esses erros, o Windows por exemplo, faz update (apesar de bem lento).

    2. Verificar se há bloqueios na camada de rede. Vou em Status|SystemLogs|Firewall e coloco o IP da máquina a ser monitorada. Vejo se alguma porta ou bloqueio está ocorrendo por alguma conexão tentando passar direto.

    Bem, é isso que resolveu até hoje ! Porém, vamos lá.


    Temos um ALIAS com máquinas liberadas para navegação direta, estão alguns servidores e máquinas de testes.

    Problema 1:
    Recentemente o Logmein Client (aplicativo do Logmein para acesso externo sem precisar acessar o browser) teve de ser reinstalado em algumas máquinas e, mesmo com proxy configurado no próprio aplicativo, todos os domínios que a Logmein exigem na Whitelist, todos os IPs que eles possuem (CDIR) liberados, etc, o software não faz a conexão com os servidores. Se deixar como proxy autenticado configurado no logmein client, ele diz que não há conexão com a internet, se colocar a máquina como navegação direta sem proxy diz que não foi possível se conectar aos servidores da Logmein. Mais de 1 semana fazendo testes com suporte 3º nível da Logmein e nada.

    Fazendo o diagnóstico 1 acima, não temos tentativa de conexão sem autenticação, não temos registro de nenhum bloqueio por BlackList. No dianóstico 2, não há registro de bloqueio a nenhum IP, porta, proto, etc.

    Se colocarmos a mesma máquina num 3G do celular, tudo funciona. Após a máquina fazer o login no Logmein Client, ele continua funcionando na firewall sem problemas. Alguns computadores, dentro das mesmas regras, funcionam, pode-se dar logout e logar novamente e não apresenta problemas. Alguns, esses ultimos, se fizer logout ele não faz login novamente, somente com conexão sem o PFSense.

    Problema 2:
    Site www.sintegra.gov.br, quando clicamos em qualquer estado funciona normalmente, com exceção do estado de SP. Ao clicar, simplesmente não abre, fica lento até dar time out. Mesmos testes acima. Com proxy autenticado sem problemas, (gov.br) na whitelist do SquidGuard, (.gov.br) na whitelist do Squid. sem apresentar nenhum bloqueio sequer em Realtime (diagnóstico 1 acima) e quando configurada a máquina para Full Access, sem apresentar qualquer indício de bloquei no diagnostico 2 acima, não funciona.

    Neste caso, e no anterior, cheguei a simplesmente desativar (Stop) o Proxy (Squid e SquidGuard), habilitar as duas regras para liberação total, na LAN e WAN, deixando o PFSense praticamente como um roteador, e mesmo assim o problema continua, não conseguimos acesso aos casos acima.

    ============================

    Bom, me parece que o problema não está nas regras ou no proxy, mas em algum outro item do firewal, NAT, configurações advanced, DNS, não saberia dizer o que.

    O que me sugerem ???? O que mais posso fazer ? Algo que descrevi acima não faz sentido em termos de diagnóstico ?

    ============================

    Configurações adicionais complementares:

    Em System Advanced:

    => Firewall/NAT
    Tudo desmarcado
    NAT Reflection Mode for Port Forward (Enable (NAT+PROXY))

    => Networking
    Tudo desmarcado com exceção de:
    Disable hardware TCP segmentation offload
    Disable hardware large receive offload

    =>Miscellaneous
    Marcados:
    Use sticky connections
    Allow default gateway switching
    State Killing on Gateway Failure

    =>Sytem Tunables

    vfs.forcesync Enable mounting the FS read only with more checks. default (0)

    debug.pfftpproxy Disable the pf ftp proxy handler. default (0)

    vfs.read_max Increase UFS read-ahead speeds to match current state of hard drives and NCQ. More information here: http://ivoras.sharanet.org/blog/tree/2010-11-19.ufs-read-ahead.html default (32)

    net.inet.ip.portrange.first Set the ephemeral port range to be lower. default (1024)

    net.inet.tcp.blackhole Drop packets to closed TCP ports without returning a RST default (2)

    net.inet.udp.blackhole Do not send ICMP port unreachable messages for closed UDP ports default (1)

    net.inet.ip.random_id Randomize the ID field in IP packets (default is 0: sequential IP IDs) default (1)

    net.inet.tcp.drop_synfin Drop SYN-FIN packets (breaks RFC1379, but nobody uses it anyway) default (1)

    net.inet.ip.redirect Enable sending IPv4 redirects default (1)

    net.inet6.ip6.redirect Enable sending IPv6 redirects default (1)

    net.inet6.ip6.use_tempaddr Enable privacy settings for IPv6 (RFC 4941) default (0)

    net.inet6.ip6.prefer_tempaddr Prefer privacy addresses and use them over the normal addresses default (0)

    net.inet.tcp.syncookies Generate SYN cookies for outbound SYN-ACK packets default (1)

    net.inet.tcp.recvspace Maximum incoming/outgoing TCP datagram size (receive) default (65228)

    net.inet.tcp.sendspace Maximum incoming/outgoing TCP datagram size (send) default (65228)

    net.inet.ip.fastforwarding IP Fastforwarding default (0)

    net.inet.tcp.delayed_ack Do not delay ACK to try and piggyback it onto a data packet default (0)

    net.inet.udp.maxdgram Maximum outgoing UDP datagram size default (57344)

    net.link.bridge.pfil_onlyip Handling of non-IP packets which are not passed to pfil (see if_bridge(4)) default (0)

    net.link.bridge.pfil_member Set to 0 to disable filtering on the incoming and outgoing member interfaces. default (1)

    net.link.bridge.pfil_bridge Set to 1 to enable filtering on the bridge interface default (0)

    net.link.tap.user_open Allow unprivileged access to tap(4) device nodes default (1)

    kern.randompid Randomize PID's (see src/sys/kern/kern_fork.c: sysctl_kern_randompid()) default (347)

    net.inet.ip.intr_queue_maxlen Maximum size of the IP input queue default (1000)

    hw.syscons.kbd_reboot Disable CTRL+ALT+Delete reboot from keyboard. default (0)

    net.inet.tcp.inflight.enable Enable TCP Inflight mode default (1)

    net.inet.tcp.log_debug Enable TCP extended debugging default (0)

    net.inet.icmp.icmplim Set ICMP Limits default (0)

    net.inet.tcp.tso TCP Offload Engine default (1)

    net.inet.udp.checksum UDP Checksums default (1)

    kern.ipc.maxsockbuf Maximum socket buffer size default (4262144)



  • Existe no squidguard com a shallalist o bloqueio para remotecontrol teste habilitando-a… Acredito que se você criar uma Group ACL e deixar ela personalizada com tudo liberada seria uma boa forma de saber se o problema esta no serviço do squid, ou simplesmente colocar em bypass proxy for this source ip (e coloca o ip do cliente) ou melhor, pegue os endereços que o Logmein utiliza e coloque no campo abaixo (bypass for this destination address) se não me engano. Fazendo isso e não dando certo é pq o problema já não é com o proxy... ai comece a rever suas regras de firewall e portas liberadas...

    Espero ter lhe ajudado.



  • Olá OtsuAf, boa tarde.

    Primeiramente obrigado por ler um post tão grande e tentar ajudar.

    Já fiz o teste com todas ACLs (Shallalist) liberadas (allow) e todos os subdominios e domínios do Logmein, além do GOV.BR liberados em Whitelist. Não vai. Também, se fosse um bloqueio do Squid ou SquidGuard acredito que veria nos logs do Proxy Server | Realtime. Lá não mostra nada sendo bloqueado pelo SquidGuard e também não mostra nada sendo bloqueado diretamente pelo Squid (ex. TCP_DENIED/407 - autenticação, etc).

    Também, como falei, no segundo diagnóstico desabilito o proxy completamente, Squid e Squidguard, e deixo a regra de firewall para IPv4* Any to Any (libera tudo) e também não consigo acesso, nem no site do Sintegra SP nem nesse primeiro acesso ao Logmein client.

    Citei os dois casos porque acredito que estejam relacionados. O fato de não serem acessados simplesmente pelo fato de estarem passando pelo PFSense.

    Abs.

    Wellington



  • Já tentou habilitar também o ipv6 das interfaces? Acho que ja li algo falando desse tipo de situação aqui no fórum também… Eu tenho um alias pro firewall dando liberação para alguns sites específicos quando tenho problema de acesso... Graças a Deus nunca tive um pepinão desses... Se eu pensar em algo melhor pra lhe ajudar entro em contato.
    Estamos juntos! Boa sorte!
    Marcelloc daqui a pouco resolve seu problema, o cara é fera!



  • Olá meu caro !

    Habilitei o IPv6 no Advanced. Testei e nada. Ainda acho muito estranho o fato de desabilitando Proxy, habilitando regra de Full Access na WAN e na LAN, não rola esse site da Sintegra SP, apenas o SP. Todos os outros abrem. Nada nos logs de bloqueio, nem de proxy, nem de firewall.

    Vamos aguardar por uma luz vinda do Marcelloc !!..rs..

    Abraços e obrigado.



  • Amigo lendo seu post me lembrou uma situação que ocorreu comigo recentemente. Na empresa que prestou serviço implementei o PF na rede e estava usando a velox como conexão. Ai solicitaram o um link dedicado da OI para substituir a velox logo quando mudei "alguns sites" nao carregavam algumas funções, tipo a finalização de formulário de cadastro. Ai fui perceber que era o link dedicado da OI que estava "barrando" mudei para a velox e voltou a funcionar. Com relação a esse problema no link vou abrir um chamado com o analista da OI para ver qual o problema.
    Teste essa conexão fora do PF ou teste outra conexão no PF.
    O cenário é parecido com o seu só não tem AD.

    Espero que ajude.



  • Quais as configurações de DNS esta usando? se o proxy e nem o firewall estão bloqueando tudo indica que o dns não esta resolvendo os endereços.

    Tenta acessar o site, fazer login no logmein e enquando esta tentando no prompt de comando digite "netstat -n" sem as aspas e verificas se tem algum status "sync sent", ou seja tentando sincronismo.

    Escrevendo a resposta lembrei que como vc usa AD e neste caso ele que está resolvendo os endereços é o seu servidor 2003. em DNS do servidor 203, execute limpar arquivos de dados obsoletos, atualizar arquivos de dados do servidor e limpar cache.



  • Bom dia pessoal !

    @Denicio

    Obrigado pela ajuda Denicio. Contudo, já havia testado uma máquina que dá problema dentro do PFSense conectada diretamente no link da NET funciona sem problemas. Portanto não é bloqueio da NET.

    @ Reinaldo Feitosa

    Olá Reinaldo, obrigado pela ajuda. Contudo, a resolução DNS está ok. Fizemos o teste de resolução nome x ip em outra máquina, em outro local, e está respondendo para o IP correto. Coloquei a liberação .gov.br na ACL Whitelist do Squid para nem precisar de autenticação que é feita pelo squidguard. Não há bloqueios:

    08.09.2015 12:25:17 192.168.1.181 TCP_MISS/200 http://www.google-analytics.com/__utm.gif? pftest 173.194.118.98
    08.09.2015 12:25:17 192.168.1.181 TCP_MISS/000 http://pfeserv1.fazenda.sp.gov.br/sintegrapfe/consultaSintegraServlet - 201.55.62.216
    08.09.2015 12:25:16 192.168.1.181 TCP_MISS/200 http://www.google-analytics.com/__utm.gif? pftest 173.194.118.98
    08.09.2015 12:25:16 192.168.1.181 TCP_MISS/000 http://pfeserv1.fazenda.sp.gov.br/sintegrapfe/consultaSintegraServlet - 201.55.62.216

    Veja que a conexão com o Google, saiu normalmente de maneira autenticada, a do SINTEGRA sai sem problemas, sem autenticação. Nos logs no squidguard não tem nenhum apontamento para este IP e nos logs de firewall também não.

    Realmente não sei o que pode ser!!! Queria fugir de apenas reinstalar o PFSense sem ter um diagnóstico..

    Obrigado por enquanto.



  • Alguém tem mais alguma Luz?

    Marcelloc ??? Pode indicar um caminho ???

    Só acontece com o bendito do sintegra SP.

    Abs.

    WW



  • Alguns sites dão problema mesmo quando acessados via proxy. O melhor e mais rápido a fazer nesse caso e passar esse site por fora do proxy.



  • Oi Marcelloc !

    O estranho é que esse site funcionava antes. Também tenho ele funcionando em outros clientes que possuem o PFSense. Também tem a questão que mesmo desabilitando o proxy completamente, deixando a firewall com tudo aberto, ainda assim não está funcionando.

    Mais alguma ideia ?

    Obrigado !

    Abs.

    Wellington



  • Proxy Squid
    Configurar em Proxy server:

    Proxy Server>cache Mgnt>do not cache

    Inseri esses dominios

    
    caixa.gov.br
    cmt.caixa.gov.br
    obsupgdp.caixa.gov.br
    receita.fazenda.gov.br
    ecac.receita.fazenda.gov.br
    dataprev.gov.br
    previdencia.gov.br
    serpro.gov.br
    negociacao.caixa.gov.br
    cafe.dataprev.gov.br
    granulito.mte.gov.br
    portal.mte.gov.br
    nfse.campinas.sp.gov.br
    ccd.serpro.gov.br
    ccd2.serpro.gov.br
    repositorio.icpbrasil.gov.br
    
    

    Em Proxy server>Acess Control>Whitelist

    
    caixa.gov.br
    cmt.caixa.gov.br
    obsupgdp.caixa.gov.br
    receita.fazenda.gov.br
    ecac.receita.fazenda.gov.br
    dataprev.gov.br
    previdencia.gov.br
    serpro.gov.br
    negociacao.caixa.gov.br
    cafe.dataprev.gov.br
    granulito.mte.gov.br
    portal.mte.gov.br
    nfse.campinas.sp.gov.br
    ccd.serpro.gov.br
    ccd2.serpro.gov.br
    repositorio.icpbrasil.gov.br
    
    

    Agora crie um Aliases

    Name: sites_gov (nome do aliases desua preferencia)
    Type: Network(s)

    
    200.201.173.82/32
    161.148.231.100/32
    161.148.231.190/32
    200.152.32.178/32
    200.152.40.50/32
    161.148.173.66/32
    200.201.166.240/32
    200.201.174.207/32
    200.201.166.0/24
    200.201.174.204/32
    200.201.174.0/24
    200.152.32.148/32
    200.152.33.1/32   
    177.43.84.9/32
    200.198.22.138/32
    200.201.173.0/24
    
    

    Crie uma aliases para portas

    Name: portas_gov
    Tipo: Port(s)

    
    8017
    2500
    2631
    3456
    5017
    5022
    80
    443
    
    

    Agora em Firewall>Rules

    Crie a seguinte regra antes da regra de bloqueio da porta 80 e 433 para liberar as portas para os endereços do sites.

    Proto: TCP/UDP
    Source: Lan Net
    Port: any
    Destination: sites_gov
    port: portas_gov