Bloqueio de Sites para um IP especifico na rede

1. Bloqueio de Sites para um IP especifico na rede

Daniel Moraes de Brito
daniell.bhz

(usa Debian)

Enviado em 22/11/2010 - 20:17h

Olá colegas,
Depois de 3 dias intensos de pesquisa em livros e google, quase desistindo vou para mais uma tentativa, e aqui vou postar.

Tenho um servidor debian lenny com squid/dns/dhcp/iptables e outros serviços configurados.Minha situação se trata que em um rede de 75 maquinas tenho que bloquear orkut de apenas 10 maquinas. bem como eu amarrei os ip aos macAdress então fica mais viavel bloquear o orkut pelo ip dessas 10 maquinas espallhadas na rede.E nessa hora que o cão chupa manga!!! eu no meu squid ja tenho acl de bloqueio de sites e palavras e se colocar ip também vai virar uma salada chinese e pode até sobreescrever regras que já estão funcionando de forma perfeita.
então tive a ideia de bloquear pelo iptables, EX:iptables -A FORWARD -s 10.0.0.99/24 -d www.orkut.com.br -j REJECT
mais não funcionou e não achei nenhuma regra que tipo bloqueia o orkut para um determinado ip... alguem sabe de uma forma ou ferramenta que pode resolver minha situação ???
fico no aguardo, obrigado a todos!!!


  


2. Re: Bloqueio de Sites para um IP especifico na rede

Rodrigo
rodrigom

(usa Debian)

Enviado em 22/11/2010 - 20:31h

tenta iptables -t filter -A FORWARD -i if_interna -s 10.0.0.0/8 -d www.orkut.com.br -j DROP

(você disse ip especifico, mas ta colocando um ip com /24 quando for ip especifico, é melhor por a mascara completa depois do IP)


Tenho quase ctza que é isso.


3. Bloqueio

Marcelo Cesario
msscesario

(usa Debian)

Enviado em 22/11/2010 - 20:40h

Brother acho que vc não se entendeu bem com o squid, ele
faz o que vc quiser principalmente este tipo de bloqueio com exceções.

Tenho squid rodando e gerenciando mais 300 PCs, com redes destintas,
bloqueio e libero o que quero, quando e como quero.

[]'s
Marcelo
marcelo@barbacena.com.br


4. msscesario

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 22/11/2010 - 22:02h

Vixi... se vc tem isso tudo na sua empresa, imagine no órgão em q trabalho, q são 2000 máquinas no Estado inteiro, sendo controlado por squid (e bloqueando o orkut!).


5. Bloqueio de Sites para um IP especifico na rede

Daniel Moraes de Brito
daniell.bhz

(usa Debian)

Enviado em 22/11/2010 - 23:57h

ok galera, vou tentar ao invez de usar /24, usar 255.255.255.0 ja que 10.0.0.99 se trata de uma maquina e não uma rede.
Amanhã vou postar meu squid.conf para você verem se realmente eu posso e como posso criar novas ACL"s" sem dar "pau" nas ACL que ja funcionam normalmente.
Brigadão...


6. Meu Squid.conf

Daniel Moraes de Brito
daniell.bhz

(usa Debian)

Enviado em 23/11/2010 - 10:15h

caros colegas, segue meu squid.conf, observe que ja tenho ACL's de bloqueio, deste palavra a url.
fico grato a qualquer ajuda!!!
Abraços.



ServerCPDlinuX:~# vim /etc/squid/squid.conf
http_port 3128 transparent
acl all src 0.0.0.0/0.0.0.0
cache_mem 64 MB
cache_swap_low 90
cache_swap_low 95
maximum_object_size 2000 MB
minimum_object_size 0 KB
maximum_object_size_in_memory 512 KB
cache_dir ufs /var/cache/squid 80000 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl SSL_Ports port 443 563
acl Safe_ports port 21 43 59 70 80 81 210 280 443 488 563 777 888 901 1025-65535
acl CONNET method CONNECT

#INICIO ACL BLOQUEIO##########################################
acl regraurl dstdomain "/etc/squid/regra_de_url"
acl regrapalavra urlpath_regex "/etc/squid/regra_de_palavra"
acl regraconteudo urlpath_regex "/etc/squid/regra_de_conteudo"
acl download url_regex -i "/etc/squid/download"
acl liberado urlpath_regex "/etc/squid/liberado
#FIM DA ACL BLOQUEIO##########################################

acl rede_interna src 10.0.0.0/24

#INICIO HTTP BLOQUEIO#########################################
http_access deny regraurl
http_access deny regrapalavra
http_access deny regraconteudo
http_access deny download
http_access allow liberado
#FIM HTTP BLOQUEIO############################################

http_access allow rede_interna



7. Re: Bloqueio de Sites para um IP especifico na rede

Daniel Moraes de Brito
daniell.bhz

(usa Debian)

Enviado em 23/11/2010 - 10:26h

Tentei a regra iptables -t filter -A FORWARD -i eth0 -s 10.0.0.99/255.255.255.0 -d www.orkut.com.br -j DROP , não deu certo...


8. Re: Bloqueio de Sites para um IP especifico na rede

Eduardo
anonymous

(usa Debian)

Enviado em 23/11/2010 - 12:56h

Olá daniell.bhz,

O Orkut utiliza a porta 443 que, por sua vez, vc é obrigado a liberar por causa dos acessos aos bancos e outros sites que utilizam essa porta. No entanto, eu tentaria fazer da seguinte maneira

1 - Redirecionar todo o trafégo para a porta do squid
iptables -t nat -A PREROUTING -i interfacederedelocal -p tcp -s suarede/24 -m multiport --dport 80,443 -j REDIRECT --to-port 3128

2 - Regra para bloquear orkut somente pela 443
iptables -A FORWARD -s 10.0.0.99 -d www.orkut.com -p tcp --dport 443 -j DROP
iptables -A INPUT -s 10.0.0.99 -d www.orkut.com -p tcp --dport 443 -j DROP
iptables -A FORWARD -s 10.0.0.99 -d orkut.com -p tcp --dport 443 -j DROP
iptables -A INPUT -s 10.0.0.99 -d orkut.com -p tcp --dport 443 -j DROP

3 - Regra para bloquear orkut somente pela 80 e 443

iptables -A FORWARD -s 10.0.0.99 -d www.orkut.com -p tcp --dport 80:443 -j DROP
iptables -A INPUT -s 10.0.0.99 -d www.orkut.com -p tcp --dport 80:443 -j DROP
iptables -A FORWARD -s 10.0.0.99 -d orkut.com -p tcp --dport 80:443 -j DROP
iptables -A INPUT -s 10.0.0.99 -d orkut.com -p tcp --dport 80:443 -j DROP


É importante lembrar que vc pode conseguir bloquear o www.orkut.com pela 80 e 443. No entanto, existem milhares de formas de vc acessar o orkut, tanto pela 80 quanto pela 443 por outros sites como calculatepie e etc.
Para restringir o máximo eu utilizaria um mix de squid+dansguardian+iptables

Espero te ajudado


9. Re: Bloqueio de Sites para um IP especifico na rede

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 23/11/2010 - 13:04h

Só complementando, redirecionar tráfegod 443 pra 3128 não é recomendado, por questões d segurança (ataque d man in the middle).


10. Re: Bloqueio de Sites para um IP especifico na rede

Daniel Moraes de Brito
daniell.bhz

(usa Debian)

Enviado em 23/11/2010 - 14:24h

olá anonymous,
Olha do jeito que me falou não deu certo. quando insiro a regra ;
iptables -t nat -A PREROUTING -i interfacederedelocal -p tcp -s suarede/24 -m multiport --dport 80,443 -j REDIRECT --to-port 3128, o orkut e sites de bancos param de funcionar.

e quando comento essa linha de comando e insiro as outras maneira 2 e 3, ai não dá nada.
Fora a preucupação que o renato me deixou de criar uma falha de segurança no meu server.

para visualizar melhor vou postar meu iptables:

_________________________________________________________________
ServerCPDlinuX:~# cat /etc/init.d/iptables.conf
#!/bin/bash
#
#:/etc/init.d/iptables.conf
#
#LIMA REGRAS
iptables --flush
iptables -F
iptables -F INPUT
iptables -t nat -F
iptables -t mangle -F
#INICIALIZA MODULOS
modprobe iptable_nat
modprobe ipt_layer7
modprobe xt_layer7

echo "habilita kernel"
echo 1 > /proc/sys/net/ipv4/ip_forward

echo "compartilha Internet"
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

echo "Proxy transparente (redireciona para o squid)"
iptables -A INPUT -i eth0 -p tcp --dport 3128 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -i eth0 -p tcp -s 10.0.0.0/24 -m multiport --dport 80,443 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 10.0.0.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128

echo "Bloquear Tudo"
iptables -P INPUT -j DROP
iptables -P OUTPUT -j DROP
iptables -P FORWARD -j DROP

echo "Liberando Cliente DNS..."
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --sport 53 -j ACCEPT

echo "Permitir sessao estabelecidas"
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

echo "Abre para a interface de loopback e para a interface de rede local"
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT

echo "Liberar Conexoes Para Rede Local"
iptables -A INPUT -s 10.0.0.0/24 -j ACCEPT

echo "Liberar rede 192.168.1.0 para compartilhar internet com eth0"
iptables -A INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT
iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.1/24 -o eth0 -j ACCEPT

echo "Bloqueia pings e protege contra IP spoofing e pacotess invalidos"
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
iptables -A INPUT -m state --state INVALID -j DROP
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter

echo "Bloqueia as demais conexoes deixando passar apenas pacotes de resposta"
iptables -A INPUT -p tcp --syn -j DROP

#echo "teste de Bloqueio de site por IP"
#iptables -t filter -A FORWARD -i eth+ -s 10.0.0.99/255.255.255.0 -d www.orkut.com.br -j DROP

#echo "Abre Portas Especificadas"
#iptables -A INPUT -p tcp --dport 22 -j ACCEPT

#BLOQUEIO DE PROTOCOLO TORRENT / KAZAA / EDONKEY (EMULE) / GNUTELLA / IMPSP / GROOKSTER / LINEWIRE E ETC
#iptables -A FORWARD -m layer7 --l7proto msnmessenger -j DROP
#iptables -A FORWARD -m layer7 --l7proto msn-filetransfer -j DROP
iptables -A FORWARD -m layer7 --l7proto bittorrent -j DROP
iptables -A OUTPUT -m layer7 --l7proto bittorrent -j DROP
iptables -A INPUT -m layer7 --l7proto bittorrent -j DROP
iptables -A FORWARD -m layer7 --l7proto edonkey -j DROP
iptables -A FORWARD -m layer7 --l7proto 100bao -j DROP
iptables -A FORWARD -m layer7 --l7proto applejuice -j DROP
iptables -A FORWARD -m layer7 --l7proto ares -j DROP
iptables -A FORWARD -m layer7 --l7proto counterstrike-source -j DROP
iptables -A FORWARD -m layer7 --l7proto directconnect -j DROP
iptables -A FORWARD -m layer7 --l7proto fasttrack -j DROP
iptables -A FORWARD -m layer7 --l7proto gnucleuslan -j DROP
iptables -A FORWARD -m layer7 --l7proto gnutella -j DROP
iptables -A FORWARD -m layer7 --l7proto goboogy -j DROP
iptables -A FORWARD -m layer7 --l7proto mute -j DROP
iptables -A FORWARD -m layer7 --l7proto napster -j DROP
iptables -A FORWARD -m layer7 --l7proto openft -j DROP
iptables -A FORWARD -m layer7 --l7proto poco -j DROP
iptables -A FORWARD -m layer7 --l7proto qq -j DROP
iptables -A FORWARD -m layer7 --l7proto soribada -j DROP
iptables -A FORWARD -m layer7 --l7proto soulseek -j DROP
iptables -A FORWARD -m layer7 --l7proto tesla -j DROP
iptables -A FORWARD -m layer7 --l7proto xunlei -j DROP
#iptables -A FORWARD -m layer7 --l7proto yahoo -j DROP
#iptables -A FORWARD -m layer7 --l7proto -j DROP
#iptables -A FORWARD -m layer7 --l7proto -j DROP
#iptables -A FORWARD -m layer7 --l7proto -j DROP
#iptables -A FORWARD -m layer7 --l7proto -j DROP
#iptables -A FORWARD -m layer7 --l7proto -j DROP
#iptables -A FORWARD -m layer7 --l7proto -j DROP
#iptables -A FORWARD -m layer7 --l7proto -j DROP

_________________________________________________________________

Sobre o mix de squid+dansguardian+iptables, já tentei...
Eu pensava em colocar essas regras "ACLs" no squidGuard e assim poderia fazer o bloqueio do orkut pelo ip's das maquinas usando as mesmas ACL's que tenho configuradas.

só que usei o squidGuarde e não deu certo.
isso acontece que quando insiro a regra :

redirect_program /usr/bin/squidGuard

ou

redirect_program /usr/bin/squidGuard -c /usr/squidGuard/squidGuard.conf

a minha internet cai e para de funcionar.

eu inseria essas regras "redirect_program" neste squid.conf mesmo que está ACIMA,antes da regra "http_access allow rede_interna".


Agora sim coloquei vocês dentro da minha salada chinesa...
para completar vou ate postar meu squidGuard.conf:

_________________________________________________________________
ServerCPDlinuX:~# cat /etc/squid/squidGuard.conf
dbhome /var/lib/squidGuard/db
logdir /var/log/squid

src rede {
ip 10.0.0.0/24
}

dest regraurl {
domainlist regraurl/domains
urllist regraurl/urls
expressionlist regraurl/expressions
redirect www.empresa.com.br
}


acl {
rede {
pass !regraurl all
redirect www.empresa.com.br
}
}

acl {
default {
pass all
}
}
ServerCPDlinuX:~# vim /etc/squid/squidGuard.conf
ServerCPDlinuX:~# cat /etc/squid/squidGuard.conf
dbhome /var/lib/squidGuard/db
logdir /var/log/squid

src rede {
ip 10.0.0.0/24
}

dest regraurl {
domainlist regraurl/domains
urllist regraurl/urls
expressionlist regraurl/expressions
redirect www.empresa.com.br
}


acl {
rede {
pass !regraurl all
redirect www.empresa.com.br
}
}

acl {
default {
pass all
}
}
ServerCPDlinuX:~#
_________________________________________________________________

no log do squidguard o erro e :

2010-11-22 11:42:51 [2034] init domainlist /var/lib/squidGuard/db/regraurl/domains
2010-11-22 11:42:51 [2034] /var/lib/squidGuard/db/regraurl/domains: No such file or directory

e nessse diretorio ja colecou meu arquivo, dei permição, ate renomiei para domains, mais nada adiantou.

Até criei minha ipotese que como uso squid 2.7 ele ja deve ser também squidguard, e ai os 2 podem dar um conflito, um ucultismo as vezes...

por isso tó aqui tentando resolver esse problema de outra fora, "bloquear pelo iptables"

E isso ai galera, valeu por tudo e se alguem tiver mais alguma ideia fico no aguardo, abração!!!




11. Re: Bloqueio de Sites para um IP especifico na rede

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 23/11/2010 - 14:31h

O problema do seu squidGuard é isso msm:

/var/lib/squidGuard/db/regraurl/domains: No such file or directory

Pegue exemplos no próprio squidGuard e tente adaptar no seu. Dentro do diretório domains pode estar vazio. Se o squidGuard não funciona direito, o seu squid, consequentemente, não funciona tb.


12. Re: Bloqueio de Sites para um IP especifico na rede

Eduardo
anonymous

(usa Debian)

Enviado em 23/11/2010 - 15:23h

@renato_pacheco muito obrigado pela observação "ataque d man in the middle"

@daniell.bhz

Vamos lá, tenta o seguinte

iptables -A FORWARD -s 10.0.0.99 -d www.orkut.com -j DROP
iptables -A INPUT -s 10.0.0.99 -d www.orkut.com -j DROP
iptables -A FORWARD -s 10.0.0.99 -d orkut.com -j DROP
iptables -A INPUT -s 10.0.0.99 -d orkut.com -j DROP



01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts