Firewall bloqueando alguns sites [RESOLVIDO]

1. Firewall bloqueando alguns sites [RESOLVIDO]

Anderson Carvalho
anderson_shf

(usa Debian)

Enviado em 26/08/2013 - 14:20h

Boa tarde pessoal.

Sou leigo ainda em linux e estou com um problema que esta me tirando o sossego. kk. Se puderem me ajudar eu agradeço muito.

É o seguinte. Tenho um servidor com proxy transparente na empresa onde trabalho. Ele funciona beleza. só que alguns sites não estão abrindo. Ex: www.enttry.com.br. Também tem um site que não esta abrindo o campo de procura. O resto funciona certinho. Desativei o squidguard e nao resolveu. Desativei o firewall e acessei as paginas normalmente. Mas se eu ativar novamente o firewall ele bloqueia estas paginas. Desativei as linhas que achei que poderiam estar bloqueando dentro do arquivo de configuração do firewall e mesmo assim nao adiantou. Pensei que o problema pode estar no squid, pois o firewall redireciona da porta 80 para a 3128. Mas nao consegui resolver.
Segue configurações do Firewall:

#!/bin/bash
#Interface de Internet
ifinternet="eth0"
#interface rede local 1
iflocal1="eth1"

#interface rede local 2
iflocal2="eth2"

iniciar(){


#Proxy Transparente
iptables -t nat -A PREROUTING -i $iflocal1 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i $iflocal2 -p tcp --dport 80 -j REDIRECT --to-port 3128

#BLOQUEIA/LIBERA PARA IPS ESPECIFICOS
#Servidor Assistencia
iptables -A INPUT -d 192.168.1.5 -m string --algo bm --string "facebook.com" -j ACCEPT
iptables -A OUTPUT -d 192.168.1.5 -m string --algo bm --string "facebook.com" -j ACCEPT
iptables -A FORWARD -d 192.168.1.5 -m string --algo bm --string "facebook.com" -j ACCEPT
iptables -A INPUT -d 192.168.1.14 -m string --algo bm --string "facebook.com" -j ACCEPT
iptables -A OUTPUT -d 192.168.1.14 -m string --algo bm --string "facebook.com" -j ACCEPT
iptables -A FORWARD -d 192.168.1.14 -m string --algo bm --string "facebook.com" -j ACCEPT
iptables -A INPUT -d 192.168.1.15 -m string --algo bm --string "facebook.com" -j ACCEPT
iptables -A OUTPUT -d 192.168.1.15 -m string --algo bm --string "facebook.com" -j ACCEPT
iptables -A FORWARD -d 192.168.1.15 -m string --algo bm --string "facebook.com" -j ACCEPT
#Celular Anderson
iptables -A INPUT -d 192.168.1.16 -m string --algo bm --string "facebook.com" -j ACCEPT
iptables -A OUTPUT -d 192.168.1.16 -m string --algo bm --string "facebook.com" -j ACCEPT
iptables -A FORWARD -d 192.168.1.16 -m string --algo bm --string "facebook.com" -j ACCEPT
iptables -A INPUT -d 192.168.1.13 -m string --algo bm --string "facebook.com" -j ACCEPT
iptables -A OUTPUT -d 192.168.1.13 -m string --algo bm --string "facebook.com" -j ACCEPT
iptables -A FORWARD -d 192.168.1.13 -m string --algo bm --string "facebook.com" -j ACCEPT
iptables -A INPUT -d 192.168.1.17 -m string --algo bm --string "facebook.com" -j ACCEPT
iptables -A OUTPUT -d 192.168.1.17 -m string --algo bm --string "facebook.com" -j ACCEPT
iptables -A INPUT -d 192.168.1.17 -m string --algo bm --string "facebook.com" -j ACCEPT
iptables -A OUTPUT -d 192.168.1.17 -m string --algo bm --string "facebook.com" -j ACCEPT
iptables -A FORWARD -d 192.168.1.17 -m string --algo bm --string "facebook.com" -j ACCEPT
#bloqueio facebook
#iptables -t filter -I FORWARD -p tcp --dport 443 -m string --algo bm --string "facebook.com" -j REJECT
#iptables -t filter -I OUTPUT -p tcp --dport 443 -m string --algo bm --string "facebook.com" -j REJECT
#Outro metodo de bloqueio https - MAIS ACEITO
iptables -A INPUT -s 192.168.1.0/25.255.255.0 -m string --algo bm --string "facebook.com" -j REJECT
iptables -A OUTPUT -s 192.168.1.0/255.255.255.0 -m string --algo bm --string "facebook.com" -j REJECT
iptables -A FORWARD -s 192.168.1.0/255.255.255.0 -m string --algo bm --string "facebook.com" -j REJECT
iptables -A INPUT -m string --algo bm --string "facebook.com" -j DROP
iptables -A OUTPUT -m string --algo bm --string "facebook.com" -j DROP
iptables -A FORWARD -m string --algo bm --string "facebook.com" -j DROP

#Abre para a faixa de endereç local
#iptables -A INPUT -s 192.168.1.0/255.255.255.0 -j ACCEPT
#iptables -A INPUT -s 192.168.2.0/255.255.255.0 -j ACCEPT

#Abre para as interfaces
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A INPUT -i eth2 -j ACCEPT

#Abre uma porta inclusive para internet
iptables -A INPUT -p tcp --dport 22 -j LOG
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#Porta VPN
#iptables -A INPUT -p tcp --dport 1194 -j ACCEPT


#Ignorar Pings
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

#Protege contra IP Spoofing
#echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter

#Descarta pacotes mal formados, protegendo contra ataques diversos
#iptables -A INPUT -m state --state INVALID -j DROP

#Abre para a interface loopback. Esta regra e essencial para que o KDE e outros programas graficos funcionem
iptables -A INPUT -i lo -j ACCEPT

#Impede a abertura de novas conexoes, eetivamente bloqueando o acesso externo ao seu servidor, exceto as portas e enderecos liberados anteriormente
iptables -A INPUT -p tcp --syn -j DROP

#Redirecionamento de portas
#echo 1 > /proc/sys/net/ipv4/ip_forward
#iptables -t nat -A PREROUTING -p tcp -i $ifinternet --dport 5432 -j DNAT --to 192.168.2.10
#iptables -t nat -A POSTROUTING -d 192.168.2.10 -j SNAT --to 192.168.2.1

#Redirecionar cameras
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -i $ifinternet --dport 3004 -j DNAT --to 192.168.1.10
iptables -t nat -A POSTROUTING -d 192.168.1.10 -j SNAT --to 192.168.1.1
iptables -t nat -A PREROUTING -p tcp -i $ifinternet --dport 37777 -j DNAT --to 192.168.1.10
iptables -t nat -A POSTROUTING -d 192.168.1.10 -j SNAT --to 192.168.1.1

#Redirecionamento de portas do TS Windows 2003
iptables -t nat -A PREROUTING -p tcp -i $ifinternet --dport 3389 -j DNAT --to 192.168.1.3
iptables -t nat -A POSTROUTING -d 192.168.1.3 -j SNAT --to 192.168.1.1

#Bloquear porta do msn
#iptables -A OUTPUT -p tcp --dport 1863 -j REJECT
#iptables -A FORWARD -p tcp --dport 1963 -j REJECT

#Bloqueia portas UDP de 0 a 1023
iptables -A INPUT -p udp --dport 0:1023 -j DROP

echo "Regras de Firewall ativadas"
}
parar(){
iptables -F
iptables -t nat -F
#iptables -P INPUT ACCEPT
#iptables -P OUTPUT ACCEPT
#echo 0 > /proc/sys/net/ipv4/ip_forward
echo "regras de Firewall desativadas"

}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar;;
*) echo "Use os parametros Start ou Stop"
"restart") parar; iniciar;;
*) echo "Use os parametros Start ou Stop"
esac


segue configurações do Squid:

http_port 3128 transparent
visible_hostname debian

cache_mem 350 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 5120 16 256
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl 563 port 563
acl Safe_ports port 80 #http
acl Safe_ports port 21 #ftp
acl Safe_ports port 70 #gopher
acl Safe_ports port 210 #wais
acl Safe_ports port 280 #http-mgmt
acl Safe_ports port 488 #gss-http
acl Safe_ports port 591 #filemaker
acl Safe_ports port 777 #multiling http
acl Safe_ports port 901 #swat
acl Safe_ports port 1025-65535 #portas altas
acl purge method PURGE
acl CONNECT method CONNECT
acl webserver src 192.168.2.1/255.255.255.255
http_access allow manager webserver
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT
http_access allow SSL_ports
acl rede1 src 192.168.1.0/24
acl rede2 src 192.168.2.0/24
http_access deny !rede1 !rede2

acl nao_passa_proxy url_regex -i "/etc/squid/nao_passa_proxy"
http_access allow nao_passa_proxy

acl ips_liberados_rede2 src "/etc/squid/ips_liberados_rede2"
http_access allow ips_liberados_rede2 rede2

acl liberados_rede2 url_regex -i "/etc/squid/liberados_rede2"
http_access allow liberados_rede2 rede2

acl ips_bloqueados_rede2 src "/etc/squid/ips_bloqueados_rede2"
http_access deny ips_bloqueados_rede2 rede2

#redirect_program /usr/local/bin/squidGuard
#redirect_children 10

#acl bloqueados_rede2 url_regex -i "/etc/squid/bloqueados_rede2"
#http_access deny bloqueados_rede2 rede2

acl palavrasproibidas_rede2 dstdom_regex "/etc/squid/palavrasproibidas_rede2"
http_access deny palavrasproibidas_rede2 rede2

acl extban_rede2 url_regex -i "/etc/squid/extban_rede2"
http_access allow extban_rede2 rede2


acl ips_liberados_rede1 src "/etc/squid/ips_liberados_rede1"
http_access allow ips_liberados_rede1 rede1

acl extban_rede1 url_regex -i "/etc/squid/extban_rede1"
http_access allow extban_rede1 rede1

acl ips_bloqueados_rede1 src "/etc/squid/ips_bloqueados_rede1"
http_access deny ips_bloqueados_rede1 rede1

acl bloqueados_rede1 url_regex -i "/etc/squid/bloqueados_rede1"
http_access deny bloqueados_rede1 rede1
http_access deny bloqueados_rede1 rede1

acl palavrasproibidas_rede1 dstdom_regex "/etc/squid/palavrasproibidas_rede1"
http_access deny palavrasproibidas_rede1 rede1



http_access allow localhost
http_access allow rede1
http_access allow rede2
http_access deny all



  


2. Re: Firewall bloqueando alguns sites [RESOLVIDO]

Leonardo Oliveira Ortiz
leonardoortiz

(usa CentOS)

Enviado em 26/08/2013 - 15:20h

Cara primeiro vamos ao teste mais básico.
Rode esse comando e tente acessar o site, passe a saída aqui pra gente(ajuste o "seu ip" para o ip do seu micro):
tail -f /var/log/squid/access.log | grep -w "seu ip"


3. Re: Firewall bloqueando alguns sites [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 26/08/2013 - 15:29h

Uma suspeita comente todas essas regras por string de bloqueio do Facebook provavelmente tem algum link ou conexão com o facebook que esta bloqueando


4. Re: Firewall bloqueando alguns sites [RESOLVIDO]

Anderson Carvalho
anderson_shf

(usa Debian)

Enviado em 26/08/2013 - 16:53h

Obrigado pela ajuda Leonardo e Andre.

Fiz o que me disseram. COmentei as linhas referentes a bloqueio de facebook e era ali mesmo o problema.
Se eu comentar estas linhas:

#iptables -A INPUT -s 192.168.1.0/25.255.255.0 -m string --algo bm --string "facebook.com" -j REJECT
#iptables -A OUTPUT -s 192.168.1.0/255.255.255.0 -m string --algo bm --string "facebook.com" -j REJECT
#iptables -A FORWARD -s 192.168.1.0/255.255.255.0 -m string --algo bm --string "facebook.com" -j REJECT
#iptables -A INPUT -m string --algo bm --string "facebook.com" -j DROP
#iptables -A OUTPUT -m string --algo bm --string "facebook.com" -j DROP
#iptables -A FORWARD -m string --algo bm --string "facebook.com" -j DROP


Ele volta a funcionar, mas o facebook fica acessando via https. Pior que este tinha sido o unico modo que consegui bloquear o facebook aqui. Agora fiquei perdido novamente.

Alguem sabe um outro modo eficaz de bloquear o facebook pela porta de segurança?

Grato.



5. Re: Firewall bloqueando alguns sites [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 26/08/2013 - 17:10h

anderson_shf escreveu:

Obrigado pela ajuda Leonardo e Andre.

Fiz o que me disseram. COmentei as linhas referentes a bloqueio de facebook e era ali mesmo o problema.
Se eu comentar estas linhas:

#iptables -A INPUT -s 192.168.1.0/25.255.255.0 -m string --algo bm --string "facebook.com" -j REJECT
#iptables -A OUTPUT -s 192.168.1.0/255.255.255.0 -m string --algo bm --string "facebook.com" -j REJECT
#iptables -A FORWARD -s 192.168.1.0/255.255.255.0 -m string --algo bm --string "facebook.com" -j REJECT
#iptables -A INPUT -m string --algo bm --string "facebook.com" -j DROP
#iptables -A OUTPUT -m string --algo bm --string "facebook.com" -j DROP
#iptables -A FORWARD -m string --algo bm --string "facebook.com" -j DROP


Ele volta a funcionar, mas o facebook fica acessando via https. Pior que este tinha sido o unico modo que consegui bloquear o facebook aqui. Agora fiquei perdido novamente.

Alguem sabe um outro modo eficaz de bloquear o facebook pela porta de segurança?

Grato.


Esta regra de string embora seja muito util tem seus lados contras pois bloqueia qualquer pacote que contenha a palavra da string da uma olhada:

http://www.vivaolinux.com.br/dica/Bloquear-Facebook-HTTPS-por-IPtables-com-horarios
Range do facebook mais atual:

31.13.24.0/21
31.13.64.0/19
31.13.64.0/24
31.13.69.0/24
31.13.70.0/24
31.13.71.0/24
31.13.72.0/24
31.13.73.0/24
31.13.76.0/24
31.13.77.0/24
31.13.75.0/24
31.13.78.0/24
31.13.79.0/24
31.13.80.0/24
66.220.144.0/20
66.220.144.0/21
66.220.149.11/16
66.220.152.0/21
66.220.158.11/16
66.220.159.0/24
69.63.176.0/21
69.63.176.0/24
69.63.184.0/21
69.171.224.0/19
69.171.224.0/20
69.171.224.37/16
69.171.229.11/16
69.171.239.0/24
69.171.240.0/20
69.171.242.11/16
69.171.255.0/24
74.119.76.0/22
173.252.64.0/18
173.252.70.0/24
173.252.96.0/19
204.15.20.0/22
173.252.110.0/18



6. Re: Firewall bloqueando alguns sites [RESOLVIDO]

Leonardo Oliveira Ortiz
leonardoortiz

(usa CentOS)

Enviado em 26/08/2013 - 22:59h

Bloquear por ip é meio chato, ip é dinâmico, tem que ficar sempre monitorando para ver se tem outro que leve para o mesmo lugar que não esteja na lista....

Sugiro você testar e configurar seu squid para SSL. Acredito que aqui no VoL tenham alguns artigos sobre. Tem que fazer testes com o squid e ver se funciona bem.

Sugiro também colocar um [-p tcp --dport 443] na regra do facebook no iptables e testar.

Outra solução, que não chega a ser uma solução, seria no seu dns criar um redirecionamento para o facebook que não leve a local algun, quando o usuário digitar o facebook e ele tentar resolver o nome ele vai pegar o ip que vc configurou e vai para nada, problema é que se o cara souber o ip já era o bloqueio..


7. Re: Firewall bloqueando alguns sites [RESOLVIDO]

Anderson Carvalho
anderson_shf

(usa Debian)

Enviado em 05/04/2014 - 11:39h

Valeu pela ajuda pessoal,

Mil desculpas pela demora, mas não tinha mais acessado o vol. Desculpa mesmo

Resolvi meu problema bloqueando o facebook no firewall, e liberando somente que deveria mesmo ter o acesso. Resolveu meu problema.
O Problema que se algum site tem alguma coisa referente a facebook ele bloqueia também.
Mas ai vou ajustando.

Valeu mesmo galera


8. Resolvi desta forma

Alex Bertola
bobehemp

(usa CentOS)

Enviado em 12/06/2014 - 13:32h

Amigo .. eu tive também muitos problemas com o facebook .. bloqueava e o pessoal acessava com HTTPS .. depois de muitas pesquisas e testes acabei resolvendo da forma abaixo no firewall.

$IPT -A FORWARD -p tcp -d 31.13.0.0/16 --dport 443 -j REJECT
$IPT -A FORWARD -p tcp -d 66.220.144.0/21 --dport 443 -j REJECT
$IPT -A FORWARD -p tcp -d 66.220.152.0/21 --dport 443 -j REJECT
$IPT -A FORWARD -p tcp -d 69.63.176.0/21 --dport 443 -j REJECT
$IPT -A FORWARD -p tcp -d 69.63.184.0/21 --dport 443 -j REJECT
$IPT -A FORWARD -p tcp -d 69.171.224.0/20 --dport 443 -j REJECT
$IPT -A FORWARD -p tcp -d 69.171.239.0/24 --dport 443 -j REJECT
$IPT -A FORWARD -p tcp -d 69.171.240.0/20 --dport 443 -j REJECT
$IPT -A FORWARD -p tcp -d 69.171.255.0/24 --dport 443 -j REJECT
$IPT -A FORWARD -p tcp -d 74.119.76.0/22 --dport 443 -j REJECT
$IPT -A FORWARD -p tcp -d 103.4.96.0/22 --dport 443 -j REJECT
$IPT -A FORWARD -p tcp -d 173.252.64.0/19 --dport 443 -j REJECT
$IPT -A FORWARD -p tcp -d 173.252.96.0/19 --dport 443 -j REJECT
$IPT -A FORWARD -p tcp -d 204.15.20.0/22 --dport 443 -j REJECT
$IPT -A FORWARD -p tcp --dport 3333 -j DROP
$IPT -A FORWARD -p udp --dport 3333 -j DROP

o que acontece acima é que mesmo que você seje um superusuário com a internet completamente liberada para você .. com a configuração acima você não conseguirá acessar o facebook, nem mesmo com HTTPS ...

a solução para os superusuários vai abaixo ..

$IPT -A FORWARD -p tcp -s ???.???.???.??? --dport 443 -j ACCEPT

com esta configuração basta você liberar quem terá acesso ao faceboook ..


Espero ter ajudado ..






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts