[FUG-BR] Problema - Conectividade social - Mesmo com as técnicas atuais.
Joao Rocha Braga Filho
goffredo em gmail.com
Sexta Setembro 8 16:54:50 BRT 2006
Eu já tive este problema também, e uso proxy transparente.
A solução foi colocar uma excessão no proxy transparente, um allow
antes do forward pro squid.
Aparentemente algum ...... (censurado) criou um programa para
comunicação que usa a porta 80.
Abraços,
João Rocha.
On 9/8/06, Roberto <robertors at bs2.com.br> wrote:
> Hi, dear list.
>
> Estou com problemas com o serviço da conectividade social da CAIXA. (
> http://cmt.caixa.gov.br/ )
>
> Tenho um servidor: FreeBSD 5.4-STABLE + PF + squid-2.5.9_3 com
> autenticação...
>
> Esta não é a primeira vez que tenho problemas com o conectividade social
> ( não sou marinheiro de primeira viagem), e o tenho muitos outros
> clientes utilizando sem problemas... ( resolvidos liberando a rede da
> caixa do proxy ).
> Mas tenho um cliente que esta dificil de ser resolvido. Não estou
> conseguindo com técnicas atuais.
>
> Já fiz várias tentativas, e já segui vários howto, artigos... e já
> procurei no histórico da lista e no google.
> Mas até agora tudo sem sucesso.
>
> http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=2542&pagina=1
> http://www.guiadohardware.net/artigos/327/
> http://www.fug.com.br/historico/html/freebsd/2006-02/msg00463.html
> http://www.myfreebsd.com.br/modules.php?name=Forums&file=viewtopic&p=2812
> http://www.dotlinux.net/modules.php?name=Sections&op=View&id=154
> http://www.rau-tu.unicamp.br/openbsd/read.php?tid=1&qid=337&key=
>
> Segue abaixo o que eu já fiz:
>
> 1 - Sei que o conectividade social nao funciona atras de proxy, devido a
> criptografia que eles utilizam na transferencia de dados.... Entao
> coloquei uma regra PF para liberar o host, para sair direto na porta 80.
> E mesmo assim nao funcionou.
>
> 2 - Realizei um teste para comprovar que ele nao estava passando pelo proxy.
> Da seguinte forma: Apartir do host liberado, visitei um site bloqueado
> (na lista de bloqueados que tenho em meu squid), e ele entrou no site
> bloqueado. Ou seja, nem tá passando pelo proxy. ( se estivesse passando
> teria bloqueado )
>
> 3 - Para fins de teste resolvi, retirar temporariamente todas as regras
> de bloqueio do firewall para todo mundo.
> Ou seja, abrir as "pernas" do firewall para qualquer um entrar ou sair.
> Deixando apenas uma regra "pass all"
> Segue a saida das minhas regras abaixo:
>
> # pfctl -sr
> pass log all
>
> Ou seja, só deixei uma regra pass all mesmo !
>
> Mesmo assim nada do conectividade funcionar !!!!!
>
> 4 - Verifiquei com o tcpdump como a conexão estava sendo realizada, e
> segue abaixo algumas partes mais importantes da conversa:
>
> Essa é a hora que o host cliente ( 192.168.0.52 ) inicia a conexão com
> os servidores da caixa:
>
> 14:12:04.562810 IP 192.168.0.52.1037 > 192.168.0.254.53: 1+[|domain]
> 14:12:04.563048 IP 192.168.0.254.53 > 192.168.0.52.1037: 1[|domain]
> 14:12:04.568077 IP 192.168.0.52.1038 > 200.201.173.68.80: S
> 310261:310261(0) win 8192 <mss 1460,nop,nop,sackOK>
> 14:12:04.655500 IP 200.201.173.68.80 > 192.168.0.52.1038: S
> 4032807317:4032807317(0) ack 310262 win 65535 <mss 1380,nop,nop,sackOK>
> 14:12:04.655658 IP 192.168.0.52.1038 > 200.201.173.68.80: . ack 1 win 8280
> 14:12:04.656113 IP 192.168.0.52.1038 > 200.201.173.68.80: P 1:361(360)
> ack 1 win 8280
> 14:12:04.797395 IP 200.201.173.68.80 > 192.168.0.52.1038: P 1:296(295)
> ack 361 win 65175
> 14:12:04.877632 IP 192.168.0.52.1038 > 200.201.173.68.80: P 361:809(448)
> ack 296 win 7985
> 14:12:05.036555 IP 200.201.173.68.80 > 192.168.0.52.1038: P 296:498(202)
> ack 809 win 64727
> 14:12:05.056972 IP 192.168.0.52.1038 > 200.201.173.68.80: P
> 809:1144(335) ack 498 win 7783
> 14:12:05.361242 IP 200.201.173.68.80 > 192.168.0.52.1038: P 498:638(140)
> ack 1144 win 64392
> 14:12:05.394398 IP 192.168.0.52.1038 > 200.201.173.68.80: P
> 1144:1479(335) ack 638 win 7643
> 14:12:05.692626 IP 200.201.173.68.80 > 192.168.0.52.1038: P 638:778(140)
> ack 1479 win 65535
> Continua.....
>
> Depois de um pequeno papinho, o cliente resetou a conexão e depois
> estabeleceu outra conexão novamente:
>
> 14:12:07.278789 IP 192.168.0.52.1038 > 200.201.173.68.80: R
> 313806:313806(0) win 0
> 14:12:07.279984 IP 200.201.173.68.80 > 192.168.0.52.1038: F 5541:5541(0)
> ack 3545 win 65294
> 14:12:07.280122 IP 192.168.0.52.1038 > 200.201.173.68.80: R
> 313806:313806(0) win 0
> 14:12:07.442791 IP 192.168.0.52.1039 > 200.201.173.68.80: P
> 1339:1697(358) ack 421 win 7860
> 14:12:07.443451 IP 192.168.0.52.1040 > 200.201.173.68.80: S
> 313137:313137(0) win 8192 <mss 1460,nop,nop,sackOK>
> 14:12:07.595737 IP 200.201.173.68.80 > 192.168.0.52.1039: P 421:561(140)
> ack 1697 win 65535
> 14:12:07.599627 IP 200.201.173.68.80 > 192.168.0.52.1040: S
> 797963344:797963344(0) ack 313138 win 65535 <mss 1380,nop,nop,sackOK>
> 14:12:07.599757 IP 192.168.0.52.1040 > 200.201.173.68.80: . ack 1 win 8280
> 14:12:07.609708 IP 192.168.0.52.1040 > 200.201.173.68.80: P 1:366(365)
> ack 1 win 8280
> 14:12:07.609901 IP 192.168.0.52.1039 > 200.201.173.68.80: P
> 1697:2064(367) ack 561 win 7720
> 14:12:07.736395 IP 200.201.173.68.80 > 192.168.0.52.1040: P 1:141(140)
> ack 366 win 65170
>
> Agora vem a parte ainda mais estranha. Que eu nao entendi o motivo.
> Apos ter transmitido alguns dados, ele decide finalizar a conexão e
> procurar por um dominio... e tal... sei lá.
> Ele tenta tb pingar no host 200.201.174.207 sendo que esse host nem
> aceita ping. ( tenta ai )
>
>
> 14:12:39.945527 IP 192.168.0.52.1042 > 200.203.183.36.53: 1+[|domain]
> 14:12:40.087187 IP 200.203.183.36.53 > 192.168.0.52.1042: 1
> NXDomain[|domain]
> 14:12:40.087771 IP 192.168.0.52.137 > 200.201.174.207.137: NBT UDP
> PACKET(137): QUERY; REQUEST; BROADCAST
> 14:12:40.118142 IP 201.14.31.254 > 192.168.0.52: icmp 36: host
> 200.201.174.207 unreachable - admin prohibited filter
> 14:12:41.589403 IP 192.168.0.52.137 > 200.201.174.207.137: NBT UDP
> PACKET(137): QUERY; REQUEST; BROADCAST
> 14:12:41.699710 IP 201.14.31.254 > 192.168.0.52: icmp 36: host
> 200.201.174.207 unreachable - admin prohibited filter
> 14:12:43.089071 IP 192.168.0.52.137 > 200.201.174.207.137: NBT UDP
> PACKET(137): QUERY; REQUEST; BROADCAST
> 14:12:43.138936 IP 201.14.31.254 > 192.168.0.52: icmp 36: host
> 200.201.174.207 unreachable - admin prohibited filter
> 14:12:44.655521 IP 192.168.0.52.1043 > 200.201.174.207.2631: S
> 350357:350357(0) win 8192 <mss 1460,nop,nop,sackOK>
> 14:12:44.823366 IP 200.201.174.207.2631 > 192.168.0.52.1043: S
> 2160180351:2160180351(0) ack 350358 win 16384 <mss 1380,nop,nop,sackOK>
> 14:12:44.823528 IP 192.168.0.52.1043 > 200.201.174.207.2631: . ack 1 win
> 8280
> 14:12:44.838628 IP 192.168.0.52.1043 > 200.201.174.207.2631: P 1:92(91)
> ack 1 win 8280
> 14:12:45.096195 IP 200.201.174.207.2631 > 192.168.0.52.1043: P
> 1:716(715) ack 92 win 65444
> 14:12:45.183866 IP 192.168.0.52.1043 > 200.201.174.207.2631: P
> 92:709(617) ack 716 win 7565
> 14:12:45.465940 IP 200.201.174.207.2631 > 192.168.0.52.1043: . ack 709
> win 64827
> 14:12:45.483554 IP 200.201.174.207.2631 > 192.168.0.52.1043: P
> 716:880(164) ack 709 win 64827
> 14:12:45.508755 IP 192.168.0.52.1043 > 200.201.174.207.2631: F
> 709:709(0) ack 880 win 7401
> 14:12:45.606664 IP 200.201.174.207.2631 > 192.168.0.52.1043: . ack 710
> win 64827
> 14:12:45.611796 IP 200.201.174.207.2631 > 192.168.0.52.1043: F
> 880:880(0) ack 710 win 64827
> 14:12:45.611988 IP 192.168.0.52.1043 > 200.201.174.207.2631: . ack 881
> win 7401
>
> Novamente ele tenta pingar no host 200.201.174.207 e tenta procurar por
> um dominio. Ele termina fazendo isso 4 vezes em seguida... acredito que
> o erro esta por aqui...
>
> 14:13:01.507130 IP 192.168.0.52.137 > 200.201.174.207.137: NBT UDP
> PACKET(137): QUERY; REQUEST; BROADCAST
> 14:13:01.546480 IP 201.14.31.254 > 192.168.0.52: icmp 36: host
> 200.201.174.207 unreachable - admin prohibited filter
> 14:13:03.009475 IP 192.168.0.52.137 > 200.201.174.207.137: NBT UDP
> PACKET(137): QUERY; REQUEST; BROADCAST
> 14:13:03.096539 IP 201.14.31.254 > 192.168.0.52: icmp 36: host
> 200.201.174.207 unreachable - admin prohibited filter
> 14:13:04.509115 IP 192.168.0.52.137 > 200.201.174.207.137: NBT UDP
> PACKET(137): QUERY; REQUEST; BROADCAST
> 14:13:04.557323 IP 201.14.31.254 > 192.168.0.52: icmp 36: host
> 200.201.174.207 unreachable - admin prohibited filter
> 14:13:06.011361 IP 192.168.0.52.1052 > 192.168.0.254.53: 7+[|domain]
> 14:13:06.011536 IP 192.168.0.254.53 > 192.168.0.52.1052: 7 NXDomain[|domain]
> 14:13:06.013268 IP 192.168.0.52.1052 > 200.203.183.36.53: 7+[|domain]
> 14:13:06.093848 IP 200.203.183.36.53 > 192.168.0.52.1052: 7
> NXDomain[|domain]
> 14:13:06.109012 IP 192.168.0.52.137 > 200.201.174.207.137: NBT UDP
> PACKET(137): QUERY; REQUEST; BROADCAST
> 14:13:06.134219 IP 201.14.31.254 > 192.168.0.52: icmp 36: host
> 200.201.174.207 unreachable - admin prohibited filter
> 14:13:07.608417 IP 192.168.0.52.137 > 200.201.174.207.137: NBT UDP
> PACKET(137): QUERY; REQUEST; BROADCAST
> 14:13:07.633191 IP 201.14.31.254 > 192.168.0.52: icmp 36: host
> 200.201.174.207 unreachable - admin prohibited filter
> 14:13:09.108068 IP 192.168.0.52.137 > 200.201.174.207.137: NBT UDP
> PACKET(137): QUERY; REQUEST; BROADCAST
> 14:13:09.155358 IP 201.14.31.254 > 192.168.0.52: icmp 36: host
> 200.201.174.207 unreachable - admin prohibited filter
> 14:13:28.425732 IP 192.168.0.52.1053 > 192.168.0.254.53: 1+[|domain]
> 14:13:28.425935 IP 192.168.0.254.53 > 192.168.0.52.1053: 1*[|domain]
> 14:13:28.546525 IP 192.168.0.52.1054 > 192.168.0.254.53: 2+[|domain]
> 14:13:28.546677 IP 192.168.0.254.53 > 192.168.0.52.1054: 2*[|domain]
> 14:13:28.556986 IP 192.168.0.52.1055 > 192.168.0.254.53: 3+[|domain]
>
> 5 - Eu a principio estava disconfiando da aplicação da caixa... por
> fazer essas requisições maluca... e pingar em host que nem aceita ping...
> Entao entrei em contato com o suporte da caixa por 2 vezes e nada como
> sempre.
> Li e reli aquele manual da caixa, e no cliente estou utilizando Win98,
> browser ie 6.1, com java da microsoft instalado e ativado. Tudo como
> pedido e indicado no manual da caixa e em outros artigos.
>
> Dei um netstat no msdos para ver se algum não estava utilizando a porta
> 80... e estava livre para uso.
> Inclusive, nao tinha ninguem utilizando nada... somente o VNC rodando.
> E verifiquei que a conexão com a caixa estava estabelecida. ( Atraves do
> netstat no cliente win98 )
>
> Veja abaixo:
>
> Conexäes ativas
>
> Proto Endere‡o local Endere‡o externo Estado
> TCP demobile:5900 DEMOBILE:0 LISTENING
> TCP demobile:4899 DEMOBILE:0 LISTENING
> TCP demobile:1104 DEMOBILE:0 LISTENING
> TCP demobile:1106 DEMOBILE:0 LISTENING
> TCP demobile:5800 DEMOBILE:0 LISTENING
> TCP demobile:1092 DEMOBILE:0 LISTENING
> TCP demobile:5900
> 201-66-63-228.mganm702.dsl.brasiltelecom.net.br:54161 ESTABLISHED
> TCP demobile:1103 200.201.174.207:80 TIME_WAIT
> TCP demobile:1105 200.201.174.207:80 TIME_WAIT
> TCP demobile:1106 cmt.caixa.gov.br:80 ESTABLISHED
> TCP demobile:137 DEMOBILE:0 LISTENING
> TCP demobile:138 DEMOBILE:0 LISTENING
> TCP demobile:nbsession DEMOBILE:0 LISTENING
> UDP demobile:1092 *:*
> UDP demobile:nbname *:*
>
>
> Depois ele abre uma conexão com o localhost e tenta abrir um programinha
> que é baixado da caixa...
> Acho que ele baixa um "servidorzinho WWW em java", e tenta se conectar
> no locahost (127.0.0.1) na porta 80.
>
> É ai que ele para tudo !!! e nao vai, nao sei pq ??!!!!
>
> Não tem nenhum firewall na maquina e nem nada bloqueando... que coisa !!!
>
> Depois ficou assim:
>
> Conexäes ativas
>
> Proto Endere‡o local Endere‡o externo Estado
> TCP demobile:5900 DEMOBILE:0 LISTENING
> TCP demobile:4899 DEMOBILE:0 LISTENING
> TCP demobile:80 DEMOBILE:0 LISTENING
> TCP demobile:1104 DEMOBILE:0 LISTENING
> TCP demobile:1106 DEMOBILE:0 LISTENING
> TCP demobile:5800 DEMOBILE:0 LISTENING
> TCP demobile:1092 DEMOBILE:0 LISTENING
> TCP demobile:80 localhost.XXXXXXXXXXXXXXXXX:1104 ESTABLISHED
> TCP demobile:1104 localhost.XXXXXXXXXXXXXXXX:80 ESTABLISHED
> TCP demobile:5900
> 201-66-63-228.mganm702.dsl.brasiltelecom.net.br:54161 ESTABLISHED
> TCP demobile:1103 200.201.174.207:80 TIME_WAIT
> TCP demobile:1105 200.201.174.207:80 TIME_WAIT
> TCP demobile:1106 cmt.caixa.gov.br:80 ESTABLISHED
> TCP demobile:137 DEMOBILE:0 LISTENING
> TCP demobile:138 DEMOBILE:0 LISTENING
> TCP demobile:nbsession DEMOBILE:0 LISTENING
> UDP demobile:1092 *:*
> UDP demobile:nbname *:*
>
> 6 - Realizei o seguinte teste: Liguei o host cliente a uma conexão
> discada ( modem 56K ). E adivinhem !
> Com a conexão discada funcionou corretamente.... ( que raiva )
> O conectividade social funcionou em uma conexao discada. com o mesmo
> host que tava com problemas.
> Ou seja é alguma coisa no meu firewall.
>
> Segue abaixo o meu pf.conf, depois que eu retirei os blocks, e deixei
> somente um "pass all" e mesmo assim nao funcionou:
>
> #
> # pf.conf - configuracao do packet filter
> #
> # ultima alteracao: 2006/09/04 Roberto Rodrigues da Silva
>
> ###
> ### GERAL
> ###
>
> lan_if="lan0"
> ext_if="ext0"
>
> lan_net="192.168.0.0/24"
> ext_net="200.XXXXXXXXXX/29"
>
> srv_01_ext_ip="XXXXXXXXXX.50"
> srv_01_ip="192.168.0.254"
>
> srv_02_ext_ip="200.XXXXXXXXXX"
> srv_02_ip="192.168.0.251"
>
> geral_ip="200.XXXXXXXXX"
>
> voip_ext_ip="200.XXXXXXXXXXXX"
> voip_ip="192.168.0.253"
>
> radmin1_ip="192.168.0.52"
> radmin2_ip="192.168.0.110"
> radmin3_ip="192.168.0.250"
> radmin4_ip="192.168.0.251"
> radmin5_ip="192.168.0.253"
>
> sadig_ip="192.168.0.250"
>
> # Quem pode navegar sem proxy
> # table <navega_sem_proxy> persist file "/home/firewall/navega_sem_proxy.txt"
> # Para teste todos estao navegando sem proxy - puro nat
>
> ###
> ### NAT / RDR
> ###
>
> # Compartilhamento de Internet
> nat on $ext_if from { $lan_net } to any -> ($ext_if)
>
> # HTTP/FTP
> rdr pass on $ext_if proto tcp from any to $srv_02_ext_ip port http -> $srv_02_ip port http
> rdr pass on $ext_if proto tcp from any to $srv_02_ext_ip port https -> $srv_02_ip port https
> rdr pass on $ext_if proto tcp from any to $srv_02_ext_ip port ftp -> $srv_02_ip port ftp
> rdr pass on $ext_if proto tcp from any to $srv_02_ext_ip port 49152:65535 -> $srv_02_ip port 49152:65535
>
> # Redireciona para o Apache
> rdr pass on $ext_if proto tcp from any to $srv_01_ext_ip port http -> $srv_01_ip port http
> rdr pass on $ext_if proto tcp from any to $srv_01_ext_ip port https -> $srv_01_ip port https
>
> # Redirecionamento do radmin
> rdr pass on $ext_if proto tcp from any to $geral_ip port 4899 -> $radmin1_ip port 4899
> rdr pass on $ext_if proto tcp from any to $geral_ip port 4898 -> $radmin2_ip port 4899
> rdr pass on $ext_if proto tcp from any to $geral_ip port 4897 -> $radmin3_ip port 4899
>
> # Acesso Radmin host Jander
> rdr pass on $ext_if proto tcp from any to $geral_ip port 5555 -> $radmin4_ip port 5555
> rdr pass on $ext_if proto tcp from any to $geral_ip port 5000 -> $radmin5_ip port 4899
>
> # SADIG (apache esta fazendo proxy disso)
> rdr pass on $ext_if proto tcp from any to $srv_02_ext_ip port 8080 -> $sadig_ip port 9080
>
> # VoIP
> rdr pass on $ext_if proto tcp from any to $voip_ext_ip port 5060 -> $voip_ip
> rdr pass on $ext_if proto udp from any to $voip_ext_ip port 4000:12000 -> $voip_ip
>
> # Acesso VNC host Janaina
> rdr pass on $ext_if proto tcp from any to $geral_ip port 5900 -> 192.168.0.52 port 5900
>
>
> ###
> ### REGRAS
> ###
>
> pass log all
>
>
>
> Mesmo com a ridículo regra de firewall acima, eu nao consegui fazer o conectividade social funcionar.
> E como mensionado, com uma conexão discada funcionou, e ligando direto tb...
> nao sei se é alguma coisa relacionada ao NAT....
>
> Sei lá...
>
> Alguem me de uma luz!!!!!!!!!!!!!
> Agradeço.
>
> Roberto Rodrigues da Silva
> E-mail/Gtalk: beto.rrs at gmail.com
> WWW: http://robertors.blogspot.com
> Maringa - Parana - Brasil
>
>
>
>
>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
--
"Sempre se apanha mais com as menores besteiras. Experiência própria."
goffredo at goffredo.eti.br
goffredo at gmail.com
http://www.goffredo.eti.br
Mais detalhes sobre a lista de discussão freebsd