Maldita porta 443 que nao bloqueia [RESOLVIDO]

1. Maldita porta 443 que nao bloqueia [RESOLVIDO]

Rudi
rdnet

(usa Debian)

Enviado em 04/01/2017 - 11:43h

Pessoal, nao sei mais o que fazer... nao consigo bloquear acesso de um grupo de ips ou ate mesmo um especifico aos sites do youtube facebook e outros que tem https.... posto meu iptables para verificação caso alguem possa me ajudar a encontrar o que esta errado.


#ETH0 - IP Interno
#ETH1 - IP Valido
#ETH2 - IP Wan

#-- Limpa regras
iptables -t filter -F
iptables -t nat -F

#-- Carrega Modulos
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_LOG
modprobe ipt_MASQUERADE
modprobe ipt_multiport
modprobe iptable_mangle
modprobe ipt_tos
modprobe ipt_limit
modprobe ipt_mark
modprobe ipt_MARK
modprobe ipt_string

#-- Politicas das tabelas
# Tabela filter
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT
# Tablea nat
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
# Tabela mangle
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT

#-- Definicao das regras
# Regras Gerais
iptables -A INPUT -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT # liberar pacotes loopback
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # libera conecoes de originadas pelo firewall PARA REDE LOCAL
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT # liberar ping
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT # aceita conecexoes estabelecidas
iptables -I FORWARD -j ACCEPT -i eth2
iptables -I FORWARD -j ACCEPT -o eth2

# Redirecionamentos
iptables -A INPUT -p tcp --destination-port 2299 -j ACCEPT #externo servidor ssh
iptables -A INPUT -i eth0 -p tcp --destination-port 10000 -j ACCEPT # webmin
iptables -A INPUT -i eth0 -p tcp --destination-port 80 -j ACCEPT # web
iptables -A INPUT -i eth0 -p tcp --destination-port 3128 -j ACCEPT # web

#-- IPS fora do squid
iptables -t nat -A PREROUTING -s 192.168.100.81 -j ACCEPT #dvr
iptables -t nat -A PREROUTING -s 192.168.100.82 -j ACCEPT #dvr
iptables -t nat -A PREROUTING -s 192.168.100.83 -j ACCEPT #dvr
#iptables -t nat -A PREROUTING -m iprange --src-range 192.168.100.80-192.168.100.89 -j ACCEPT #IPS DIRETORES

###########################

#-- NHACA QUE NAO FUNCIONA

#iptables -A FORWARD -s 192.168.100.118 -p tcp --dport 443 --sport 443 -j DROP
#iptables -A FORWARD -d 192.168.100.118 -p tcp --dport 443 --sport 443 -j DROP
iptables -I FORWARD -s 192.168.100.118 -p tcp --dport 443 --sport 443 -j DROP
iptables -I FORWARD -d 192.168.100.118 -p tcp --dport 443 --sport 443 -j DROP

iptables -I FORWARD -p tcp --dport 443 -m string --algo bm --string "wikipedia.org" -m iprange --src-range 192.168.100.30-192.168.100.34 -j DROP
iptables -I FORWARD -p tcp --dport 443 -m string --algo bm --string "youtube.com" -m iprange --src-range 192.168.100.30-192.168.100.34 -j DROP
iptables -I FORWARD -p tcp --dport 443 -m string --algo bm --string "gmail.com" -m iprange --src-range 192.168.100.30-192.168.100.34 -j DROP
iptables -I FORWARD -p tcp --dport 443 -m string --algo bm --string "facebook.com" -m iprange --src-range 192.168.100.30-192.168.100.34 -j DROP
iptables -I FORWARD -p tcp --dport 443 -m string --algo bm --string "whatsapp.com" -m iprange --src-range 192.168.100.30-192.168.100.34 -j DROP
iptables -I FORWARD -p tcp --dport 443 -m string --algo bm --string "viawebradio" -m iprange --src-range 192.168.100.30-192.168.100.34 -j DROP
iptables -I FORWARD -p tcp --dport 443 -m string --algo bm --string "radiouniversitaria" -m iprange --src-range 192.168.100.30-192.168.100.34 -j DROP

# Redirecionamento para squid
iptables -t nat -A PREROUTING -s 192.168.100.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth1 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward



  


2. MELHOR RESPOSTA

Natanael Henrique
natanaelhenrique

(usa Arch Linux)

Enviado em 05/01/2017 - 19:20h

As requisições feitas pelo navegador não são da porta de origem 443. São portas aleatórias (de 1025 - 65535).

Para funcionar tire o "-sport 443", ficando assim

iptables -I FORWARD -s 192.168.100.118 -p tcp --dport 443 -j DROP

Mude para sport, pois aqui sim a resposta está vindo da porta de origem 443

iptables -I FORWARD -d 192.168.100.118 -p tcp --sport 443 -j DROP

Retire o número da porta de destino, pois o tráfego será identificado pela string.

iptables -I FORWARD -m string --algo bm --string "wikipedia.org" -m iprange --src-range 192.168.100.30-192.168.100.34 -j DROP
iptables -I FORWARD -m string --algo bm --string "youtube.com" -m iprange --src-range 192.168.100.30-192.168.100.34 -j DROP
iptables -I FORWARD -m string --algo bm --string "gmail.com" -m iprange --src-range 192.168.100.30-192.168.100.34 -j DROP
iptables -I FORWARD -m string --algo bm --string "facebook.com" -m iprange --src-range 192.168.100.30-192.168.100.34 -j DROP
iptables -I FORWARD -m string --algo bm --string "whatsapp.com" -m iprange --src-range 192.168.100.30-192.168.100.34 -j DROP
iptables -I FORWARD -m string --algo bm --string "viawebradio" -m iprange --src-range 192.168.100.30-192.168.100.34 -j DROP
iptables -I FORWARD -m string --algo bm --string "radiouniversitaria" -m iprange --src-range 192.168.100.30-192.168.100.34 -j DROP

3. Re: Maldita porta 443 que nao bloqueia [RESOLVIDO]

thinomar
thinomar

(usa Linux Mint)

Enviado em 04/01/2017 - 11:51h

Nunca tive muito sucesso em bloqueio de site pelo iptables, inclusive esses https com uma infra mais complexa, como YouTube, Facebook, etc. Até mesmo quando bloqueava, escapava as vezes.
Resolvi o problema usando proxy, o Squid3 com suporte a SSL.


4. Re: Maldita porta 443 que nao bloqueia [RESOLVIDO]

Eduardo
vchacal

(usa Debian)

Enviado em 04/01/2017 - 12:03h

Veja se fazendo o bloqueio da string na sua rede e não da porta da certo. Aqui funciona tranquilo.

#iptables -I FORWARD -s 192.168.100.0/24 -m string --algo kmp --string "facebook.com" -j DROP

Mais como o colega thinomar disse, pelo Squid deve ser muito mais eficiente e fácil. Porem nunca usei com suporte SSL.






5. Re: Maldita porta 443 que nao bloqueia [RESOLVIDO]

Rudi
rdnet

(usa Debian)

Enviado em 04/01/2017 - 13:49h

thinomar escreveu:

Nunca tive muito sucesso em bloqueio de site pelo iptables, inclusive esses https com uma infra mais complexa, como YouTube, Facebook, etc. Até mesmo quando bloqueava, escapava as vezes.
Resolvi o problema usando proxy, o Squid3 com suporte a SSL.


Opa, obrigado, talvez isso resolveria meu problema mesmo.... indicaria algum material para realizar tal tarefa ? Até andei lendo alguma coisa aqui no vol mesmo mas sem sucesso seguindo o que era proposto... Valeu




6. Re: Maldita porta 443 que nao bloqueia

Rudi
rdnet

(usa Debian)

Enviado em 04/01/2017 - 13:59h

Campacci escreveu:

Veja se fazendo o bloqueio da string na sua rede e não da porta da certo. Aqui funciona tranquilo.

#iptables -I FORWARD -s 192.168.100.0/24 -m string --algo kmp --string "facebook.com" -j DROP

Mais como o colega thinomar disse, pelo Squid deve ser muito mais eficiente e fácil. Porem nunca usei com suporte SSL.

Opa, obrigado, eu também não, e não sei nem por onde começar no caso do suporte a ssl, rsrsrs, até que veja algo sobre, preciso resolver este "problema" vou tentar bloquear a rede... valeu.

***

Bloqueando para a rede toda, funciona, mas por que não funciona pela porta ? Daí eu só precisaria liberar um único site... ai ai ... rsrsrs



7. Re: Maldita porta 443 que nao bloqueia

Eduardo
vchacal

(usa Debian)

Enviado em 04/01/2017 - 16:28h

rdnet escreveu:

Campacci escreveu:

Veja se fazendo o bloqueio da string na sua rede e não da porta da certo. Aqui funciona tranquilo.

#iptables -I FORWARD -s 192.168.100.0/24 -m string --algo kmp --string "facebook.com" -j DROP

Mais como o colega thinomar disse, pelo Squid deve ser muito mais eficiente e fácil. Porem nunca usei com suporte SSL.

Opa, obrigado, eu também não, e não sei nem por onde começar no caso do suporte a ssl, rsrsrs, até que veja algo sobre, preciso resolver este "problema" vou tentar bloquear a rede... valeu.

***

Bloqueando para a rede toda, funciona, mas por que não funciona pela porta ? Daí eu só precisaria liberar um único site... ai ai ... rsrsrs


Provavelmente o seu squid foi instalado com pacote pré-compilado como eu tmb fiz "usando o apt por exemplo".
Pra instalar com suporte SSL, imagino eu ... não tenho certeza. Deve ser instalado todas as dependências, baixar e instalar o squid manualmente "compilando", dando o ./configure, make e make install ... "tem que ver alguma documentação pra ter certeza".

Pela porta eu nunca tentei, mais achei interessante este link: http://www.dicas-l.com.br/arquivo/bloqueando_acesso_via_https.php#.WG07yfErLiw

Veja que ele faz o bloqueio da porta para toda a rede, depois faz a liberação do Bradesco em especifico. Porem ele faz pelo IP do site, tem que ver se por string tmb da pra fazer a liberação pois é bem mais pratico né.





8. Re: Maldita porta 443 que nao bloqueia [RESOLVIDO]

Robson Mothé
rmothe

(usa Linux Mint)

Enviado em 05/01/2017 - 04:50h

Quando usamos um firewall seguimos as regras... Ao encontrar uma regra válida, as demais são abandonadas... Certo?
Uma pequena sugestão: pode colocar as regras que bloqueiam como as primeiras?

Linux Counter: #318909


9. Re: Maldita porta 443 que nao bloqueia [RESOLVIDO]

Leonardo Henrique Meres Silva
leosixers

(usa Debian)

Enviado em 05/01/2017 - 08:12h

@rdnet

Acredito que quando um navegador acessa um site HTTPS não utiliza como porta de origem 443. Por isso a sua regra abaixo não funciona:

iptables -I FORWARD -d 192.168.100.118 -p tcp --dport 443 --sport 443 -j DROP

Tente dessa maneira:

iptables -I FORWARD -d 192.168.100.118 -p tcp --dport 443 -j DROP

Em relação ao bloqueio com strings temos que lembras que a conexão entre o host e o servidor será encriptada. Sendo assim vejo que o bloqueio funcionará somente se o iptables conseguir bloquear o primeiro pacote do host com destino ao servidor em quanto as chaves SSL não foram trocadas. Depois disso todo o conteúdo do pacote estará criptografado e o iptables não conseguirá verificar as strings. Sei que funciona, pois já vi isso em produção. No entanto como os amigos acima falaram a melhor maneira de fazer esses bloqueios é mesmo utilizando o squid.

Abraços


10. Re: Maldita porta 443 que nao bloqueia [RESOLVIDO]

Rudi
rdnet

(usa Debian)

Enviado em 05/01/2017 - 21:32h

n4t4n escreveu:

As requisições feitas pelo navegador não são da porta de origem 443. São portas aleatórias (de 1025 - 65535).

Para funcionar tire o "-sport 443", ficando assim
iptables -I FORWARD -s 192.168.100.118 -p tcp --dport 443 -j DROP

Mude para sport, pois aqui sim a resposta está vindo da porta de origem 443
iptables -I FORWARD -d 192.168.100.118 -p tcp --sport 443 -j DROP

Retire o número da porta de destino, pois o tráfego será identificado pela string.
iptables -I FORWARD -m string --algo bm --string "wikipedia.org" -m iprange --src-range 192.168.100.30-192.168.100.34 -j DROP
iptables -I FORWARD -m string --algo bm --string "youtube.com" -m iprange --src-range 192.168.100.30-192.168.100.34 -j DROP
iptables -I FORWARD -m string --algo bm --string "gmail.com" -m iprange --src-range 192.168.100.30-192.168.100.34 -j DROP
iptables -I FORWARD -m string --algo bm --string "facebook.com" -m iprange --src-range 192.168.100.30-192.168.100.34 -j DROP
iptables -I FORWARD -m string --algo bm --string "whatsapp.com" -m iprange --src-range 192.168.100.30-192.168.100.34 -j DROP
iptables -I FORWARD -m string --algo bm --string "viawebradio" -m iprange --src-range 192.168.100.30-192.168.100.34 -j DROP
iptables -I FORWARD -m string --algo bm --string "radiouniversitaria" -m iprange --src-range 192.168.100.30-192.168.100.34 -j DROP



Opa, muito obrigado !!! Muito claro e objetivo na explicação. Funcionou direitinho !

Valeu fera !!




11. Re: Maldita porta 443 que nao bloqueia [RESOLVIDO]

Natanael Henrique
natanaelhenrique

(usa Arch Linux)

Enviado em 05/01/2017 - 23:13h

Valeu.

Marcando a melhor resposta do tópico você facilita para outros que enfrentam o mesmo problema.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts