Squid - Bloqueando definitivamente o MSN Messenger e Orkut
Percebi a dificuldade e uma série de dúvidas que usuários e administradores de redes possuem ao tentar bloquear o MSN e Orkut. Através deste tutorial vou descrever passo a passo os macetes que usei para impedir que minha rede interna utilizasse o MSN, web-messenger e Orkut, impedindo o envio de mensagens e troca de arquivos e também dicas para liberar acessos por horários ou máquinas.
Teoria e Prática
Squid - Bloqueando definitivamente o MSN Messenger e Orkut
Neste tutorial não vou comentar sobre instalação do iptables e nem do Squid. Na verdade, estas dicas são destinadas a quem já tem o Squid e iptables rodando, e mesmo assim está tendo dificuldades em bloquear o msn messenger.
Após muitas consultas na internet, leituras de tutoriais e dicas, finalmente consegui bloquear o msn na rede interna, utilizando iptables e Squid. No inicio comecei a analisar o log do Squid em tempo real, enquanto acessava o msn em uma máquina cliente.
Testei 2 versões do msn, a 7.x.x e 8.0.1. O estranho é que cada versão utiliza uma URL diferente para se conectar. Então comecei a anotar todas as URLs que o msn acessava enquanto se conectava e enviava mensagens.
O msn utiliza as seguintes portas para se conectar e funcionar. Para conectar, ele utiliza a porta 1863, após conectado, mantém-se conectado nas portas 80 e 443, e envia e recebe arquivos pela 5190.
Atualmente é comum programas que são capazes de acessar a Web através da porta 80, 443 (https) ou via proxy, o que torna difícil bloqueá-los. Em muitos casos, é preciso usar uma combinação de portas fechadas no firewall, bloqueio a endereços IPs específicos e bloqueio de determinados domínios e URLs no Squid.
Para se ter uma idéia, as versões mais novas do msn utilizam a dll ADSAdClient31.dll, sendo que as versões mais antigas utilizam gateway.dll.
O Orkut é moleza para bloquear. O arquivo texto "trava_msn_orkut.txt" que vou disponibilizar no final deste tutorial é o suficiente para impedir acessos ao Orkut.
Lembre-se que existem vários sites que dão acesso ao msn e Orkut, exemplo o meebo.com e messengerfx.com. Estes sites funcionam como proxy, sendo assim, se estas URLs não estiverem na lista de bloqueio, o usuário vai conseguir acessar o msn facilmente!
Então recomendo que verifique sempre os logs do Squid e faça pesquisas na net, pois sempre estão criando novos sites com a mesma funcionalidade destes.
(FIREWALL)
Primeiramente use regras no firewall para obrigar o tráfego da porta 80 passar para 3128, onde o Squid possa controlar o tráfego.
Para o bloqueio de portas você deve usar o firewall (ou outro firewall). Mas não adianta bloquear a porta 443, pois assim ninguém ira acessar sites de bancos ou sites que utilizem protocolo de segurança (https). A porta 80, se for bloqueada, ninguém mais navega na internet.
Primeiramente, feche a porta 1863 para impedir que o msn faça login. Utilize este comando no iptables:
# iptables -A FORWARD -s 192.168.1.0/24 -p tcp --dport 1863 -j REJECT
Onde 192.168.1.0 pode ser alterado pela faixa de ip da sua rede.
Em outra linha, utilize o mesmo comando para fechar também a porta 5190. Lembrando que estas linhas devem ser colocadas antes da linha de comando que direciona a conexão da porta 80 para a 3128 do Squid.
A porta 5190 já esta bloqueada no meu firewall, com a seguinte linha de comando:
# iptables -A FORWARD -s 192.168.1.0/24 -p tcp --dport 5190 -j REJECT
(SQUID)
Primeiro, crie um arquivo texto que irá conter todas as URLs que bloquearão o msn. No final do tutorial vou disponibilizar um exemplo do arquivo texto que uso para o bloqueio do msn.
No Squid, crie as ACLs conforme exemplo abaixo, logo depois de onde são definidas as ACLs que definem as portas de conexões seguras.
Introdução
Quando decidi implementar a segurança e estabilidade no servidor da rede que administro, sem dúvida o Squid foi a melhor opção, trabalhando em conjunto com o firewall iptables.Neste tutorial não vou comentar sobre instalação do iptables e nem do Squid. Na verdade, estas dicas são destinadas a quem já tem o Squid e iptables rodando, e mesmo assim está tendo dificuldades em bloquear o msn messenger.
Após muitas consultas na internet, leituras de tutoriais e dicas, finalmente consegui bloquear o msn na rede interna, utilizando iptables e Squid. No inicio comecei a analisar o log do Squid em tempo real, enquanto acessava o msn em uma máquina cliente.
Testei 2 versões do msn, a 7.x.x e 8.0.1. O estranho é que cada versão utiliza uma URL diferente para se conectar. Então comecei a anotar todas as URLs que o msn acessava enquanto se conectava e enviava mensagens.
O msn utiliza as seguintes portas para se conectar e funcionar. Para conectar, ele utiliza a porta 1863, após conectado, mantém-se conectado nas portas 80 e 443, e envia e recebe arquivos pela 5190.
Atualmente é comum programas que são capazes de acessar a Web através da porta 80, 443 (https) ou via proxy, o que torna difícil bloqueá-los. Em muitos casos, é preciso usar uma combinação de portas fechadas no firewall, bloqueio a endereços IPs específicos e bloqueio de determinados domínios e URLs no Squid.
Para se ter uma idéia, as versões mais novas do msn utilizam a dll ADSAdClient31.dll, sendo que as versões mais antigas utilizam gateway.dll.
O Orkut é moleza para bloquear. O arquivo texto "trava_msn_orkut.txt" que vou disponibilizar no final deste tutorial é o suficiente para impedir acessos ao Orkut.
Lembre-se que existem vários sites que dão acesso ao msn e Orkut, exemplo o meebo.com e messengerfx.com. Estes sites funcionam como proxy, sendo assim, se estas URLs não estiverem na lista de bloqueio, o usuário vai conseguir acessar o msn facilmente!
Então recomendo que verifique sempre os logs do Squid e faça pesquisas na net, pois sempre estão criando novos sites com a mesma funcionalidade destes.
Na prática
(Bloqueando o MSN)(FIREWALL)
Primeiramente use regras no firewall para obrigar o tráfego da porta 80 passar para 3128, onde o Squid possa controlar o tráfego.
Para o bloqueio de portas você deve usar o firewall (ou outro firewall). Mas não adianta bloquear a porta 443, pois assim ninguém ira acessar sites de bancos ou sites que utilizem protocolo de segurança (https). A porta 80, se for bloqueada, ninguém mais navega na internet.
Primeiramente, feche a porta 1863 para impedir que o msn faça login. Utilize este comando no iptables:
# iptables -A FORWARD -s 192.168.1.0/24 -p tcp --dport 1863 -j REJECT
Onde 192.168.1.0 pode ser alterado pela faixa de ip da sua rede.
Em outra linha, utilize o mesmo comando para fechar também a porta 5190. Lembrando que estas linhas devem ser colocadas antes da linha de comando que direciona a conexão da porta 80 para a 3128 do Squid.
A porta 5190 já esta bloqueada no meu firewall, com a seguinte linha de comando:
# iptables -A FORWARD -s 192.168.1.0/24 -p tcp --dport 5190 -j REJECT
(SQUID)
Primeiro, crie um arquivo texto que irá conter todas as URLs que bloquearão o msn. No final do tutorial vou disponibilizar um exemplo do arquivo texto que uso para o bloqueio do msn.
No Squid, crie as ACLs conforme exemplo abaixo, logo depois de onde são definidas as ACLs que definem as portas de conexões seguras.
allow = LIBERA ACESSO
deny = BLOQUEIA/NEGA ACESSO
acl trava_msn_orkut url_regex -i "/etc/squid/regras/trava_msn_orkut.txt"
deny = BLOQUEIA/NEGA ACESSO
acl trava_msn_orkut url_regex -i "/etc/squid/regras/trava_msn_orkut.txt"
Depois é só negar o acesso as URLs que estiverem listadas no arquivo "trava_msn.txt".
http_access deny trava_msn_orkut
Você também pode bloquear os domínios que estiverem nesta lista, através desta ACL:
acl dominio_msn_orkut dstdomain "/etc/squid/regras/trava_msn_orkut.txt"
header_access Accept-Encoding deny dominio_msn_orkut
header_access Accept-Encoding deny dominio_msn_orkut
Por exemplo, liberando MSN para ip 192.168.1.1
# iptables -A FORWARD -s 192.168.1.1 -p tcp --dport 1863 -j ACCEPT
# iptables -A FORWARD -s 192.168.1.1 -p tcp --dport 5190 -j ACCEPT
Depois:
#Bloqueando os demais
# iptables -A FORWARD -s 192.168.1.0/24 -p tcp --dport 1863 -j REJECT
# iptables -A FORWARD -s 192.168.1.0/24 -p tcp --dport 5190 -j REJECT
:)