Responder 
 
Avaliação do Tópico:
  • 0 Votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Bloquear lista de sites com o iptables
24/06/2010, 08:44
Resposta: #1
Bloquear lista de sites com o iptables
salve galera, ak tenho o squid rodando perfeitamente, porem por mais que eu bloquei alguns sites como orkut, alguns usuarios sempre dao um jeito de achar um outro metodo para acessa-lo, agora gostaria de saber como eu faço para bloquear uma lista de site que se encontra em um arquivo via iptables.
Andei pesquisando e encontrei o seguinte:

for i in `cat lista.txt`; do
iptables -A FORWARD -d $i -j DROP
done

Mais me retornou o seguinte erro:
Try `iptables -h' or 'iptables --help' for more information.

alguem ae pode me dar essa força

----------------------------Torcida que canta e vibra----------------------------------
Seja sabio pergunte para aqueles que realmente sabem "obrigado forumdebian".
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
24/06/2010, 21:23
Resposta: #2
Re: Bloquear lista de sites com o iptables
Olá,

Aqui teste e foi normal, somente adicionei as primeiras linhas #!/bin/bash

Código:
#!/bin/bash

for i in `cat lista.txt`; do
iptables -A FORWARD -d $i -j DROP
done
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
27/06/2010, 03:25
Resposta: #3
Re: Bloquear lista de sites com o iptables
Talvez o erro esteja na lista de sites "lista.txt".
Provavelmente você já saiba, mas nesta lista é necessário ter os números de IP no lugar dos nomes dos sites. Qualquer dúvida, poste parte deste arquivo aqui.

Caso você queira bloquear uma região de IPs você pode fazer algo assim:
Código:
iptables  -A FORWARD -m  iprange --dst-range  <IP min>-<IP max>  -j DROP
man iptables para maiores detalhes
Por fim, caso os usuários estejam usando números de IP para acessar sites, você pode simplesmente bloquear o acesso a números de IP através do Squid. Para isso, use uma regra similar a esta
Código:
acl regra_padroes  url_regex  -i "/etc/squid/word_rules.acl"
e dentro do arquivo /etc/squid/word_rules.acl ponha algo assim:
Código:
^http://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/.*
^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/.*
e pronto, creio que IP nenhum vai passar pelo Squid. Nunca fiz, mas você poderia também liberar certas faixas de IP a terem acesso liberado, usando uma segunda regra similar a esta.
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
28/06/2010, 14:05
Resposta: #4
Re: Bloquear lista de sites com o iptables
Olha só:

Código:
r2d2:~# cat lista.txt
www.uol.com.br
r2d2:~# ./teste.sh
r2d2:~# iptables-save |grep DROP
-A FORWARD -d 200.147.35.142/32 -j DROP
-A FORWARD -d 200.221.2.45/32 -j DROP
-A FORWARD -d 200.147.3.142/32 -j DROP

Aqui ele bloqueou todos os ip's que respondem www.uol.com.br...
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
30/06/2010, 08:26
Resposta: #5
Re: Bloquear lista de sites com o iptables
spikey consegui deu certo, nao sei te dizer o certo o que aconteceu, mais deu certo vlw pela força.

----------------------------Torcida que canta e vibra----------------------------------
Seja sabio pergunte para aqueles que realmente sabem "obrigado forumdebian".
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
30/06/2010, 08:28
Resposta: #6
Re: Bloquear lista de sites com o iptables
fabio2paolini Escreveu:Talvez o erro esteja na lista de sites "lista.txt".
Provavelmente você já saiba, mas nesta lista é necessário ter os números de IP no lugar dos nomes dos sites. Qualquer dúvida, poste parte deste arquivo aqui.

Caso você queira bloquear uma região de IPs você pode fazer algo assim:
Código:
iptables  -A FORWARD -m  iprange --dst-range  <IP min>-<IP max>  -j DROP
man iptables para maiores detalhes
Por fim, caso os usuários estejam usando números de IP para acessar sites, você pode simplesmente bloquear o acesso a números de IP através do Squid. Para isso, use uma regra similar a esta
Código:
acl regra_padroes  url_regex  -i "/etc/squid/word_rules.acl"
e dentro do arquivo /etc/squid/word_rules.acl ponha algo assim:
Código:
^http://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/.*
^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/.*
e pronto, creio que IP nenhum vai passar pelo Squid. Nunca fiz, mas você poderia também liberar certas faixas de IP a terem acesso liberado, usando uma segunda regra similar a esta.


fabio2paolini, me explica melhor o lance de nenhum ip passas pelo squid com essa regra eu nunca tinha visto, vc me explicar melhor?

----------------------------Torcida que canta e vibra----------------------------------
Seja sabio pergunte para aqueles que realmente sabem "obrigado forumdebian".
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
30/06/2010, 10:30
Resposta: #7
Re: Bloquear lista de sites com o iptables
Bom, a acl do tipo url_regex trabalha com expressões regulares, certo?. A expressão
Código:
^http://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/.*
se encaixa com toda linha que começa com
Código:
http://xxx.xxx.xxx.xxx/
sendo x qualquer número. Enquanto a linha
Código:
^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/.*
se encaixa com toda linha que começa com
xxx.xxx.xxx.xxx/
Na verdade é um pouco mais geral do que isto, pois o termo {1,3}, que vem depois dos números '[0-9]', faz com que possa ter de 1 até 3 números em cada sequência.
Concluindo se você usa estas linhas:
Código:
acl regra_word url_regex  -i "/etc/squid/word_rules.acl"
http_access deny regra_word
e no arquivo /etc/squid/word_rules.acl você por as duas expressões acima. Então o squid irá bloquear qualquer tentativa de se acessar sites diretamente pelo número de IP, que acredito ser a maneira mais comum de se tentar contornar o bloqueio do Squid.
Resumindo, é um método de bloqueio usual através de expressão regular, sendo que neste caso a "expressão regular" é a forma geral de um número de IP.
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
01/07/2010, 09:02
Resposta: #8
Re: Bloquear lista de sites com o iptables
hum entendi, realmente essa acl é uma mão na roda mesmo!
Mais me pintou outra duvida, sabe aqueles sites que as vezes te redireciona para algun serviço dele que ao inves de ter o nome so site no link, aparece o ip, eles seriam bloqueados tbm automaticamente?

tipo assim:
uma situação hipotetica, o link principal é esse:
http://www.forumdebian.com.br

ae sei la vamos supor que para alguem acessar este topico que estamos discutindo ak
Bloquear lista de sites com o iptables

quando ele clicar emcima do link ao inves dele te direciona para o link normal, ele faz algo mais ou menos parecido com isso:
http://111.111.111.111/Bloquear_lista_d ... o_iptables

a acl iria automaticamente bloquear ele tbm ne?
ae lhe pergunto como eu faria para que ele nao fosse bloqueado?
eu teria que criar uma outra regra antes dessa para mim inserir todos os ips que nao quero q sejam bloquados, ou tem outra maneira?

----------------------------Torcida que canta e vibra----------------------------------
Seja sabio pergunte para aqueles que realmente sabem "obrigado forumdebian".
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
01/07/2010, 12:00
Resposta: #9
Re: Bloquear lista de sites com o iptables
Citar:Mais me pintou outra duvida, sabe aqueles sites que as vezes te redireciona para algun serviço dele que ao inves de ter o nome so site no link, aparece o ip, eles seriam bloqueados tbm automaticamente?
Esse é o lado ruim, eles serão bloqueados sim.
Caso você coloque a regra que bloqueie todos os números de ip então eu acho que a única forma de liberar números ou regiões específicas seria liberando elas antes como você mencionou.

Mas há uma outra maneira menos radical de bloquear ips ainda pelo squid. Por exemplo para bloquear o orkut: Antes eu executo
Código:
whois 74.125.113.85
(sendo que 74.125.113.85 foi o número que eu obtive para o Orkut usando o ping)
para obter a região de ip. O resultado é, entre outras coisas,
Código:
NetRange:   74.125.0.0 - 74.125.255.255
CIDR:       74.125.0.0/16
NetName:    GOOGLE
Neste caso seria necessário colocar uma expressão regular menos geral, como
Código:
^http://74\.125\.[0-9]{1,3}\.[0-9]{1,3}.*
^74\.125\.[0-9]{1,3}\.[0-9]{1,3}.*
De certo modo isso acaba sendo similar (em termos da complexidade do procedimento) a criar regras no iptables.
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
06/07/2010, 14:23
Resposta: #10
Re: Bloquear lista de sites com o iptables
opa, desculpa a ausencia!
To pasando para agradecer a força fabio2paolini, vlw ae por ter me ajudado
abraço

----------------------------Torcida que canta e vibra----------------------------------
Seja sabio pergunte para aqueles que realmente sabem "obrigado forumdebian".
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
Responder 


Ir ao Fórum:


Usuários visualizando este tópico: 1 Visitantes

Entre em Contato | Fórum Debian | Voltar ao Topo | Voltar ao Conteúdo | Modo Leve (Arquivo) | Feeds RSS