Pular para o conteúdo

iptables - Bloqueando a porta 443 e liberando apenas para sites específicos

Dica publicada em Linux / Internet
johnny borges johnnyb
Hits: 30.155 Categoria: Linux Subcategoria: Internet
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

iptables - Bloqueando a porta 443 e liberando apenas para sites específicos

Tenho visto muitas pessoas procurando como bloquear a porta 443 e liberar apenas para alguns sites.

Muitos colocam junto com o firewall, o que resulta em um grande e pesado arquivo, mas com esta técnica, você diminuirá significativamente o volume do seu firewall, deixando-o muito mas fácil, caso mais pra frente, haja a necessidade de implementar ou retirar regras.

A configuração é:

### Sites https Liberados ###
iptables -A FORWARD -p tcp --dport 443 -j DROP
for URL in `grep -v "^#" /etc/squid/list/lib.txt`; do
iptables -I FORWARD -d $URL -p tcp --dport 443 -j ACCEPT
done
echo "Liberando Sites Para Porta 443........................[ OK ]"
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.


O /etc/squid/list/lib.txt é o caminho que conterá todos os domínios ou IPs dos sites que deseja-se liberar.

Para descobrir o IP de um site, use o comando ping (no terminal do GNU/Linux) ou CMD no Windows.

Exemplo:

ping www.google.com

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
Nenhuma dica encontrada.

Ouvindo música navegando

FrostWire: não consegue pelos ícones mágicos?

Logs do Squid de forma legível

Configurando PROXY para programas Desktop (Google Chrome)

Mudando o tamanho das fontes no Mozilla, Konqueror e Galeon (on-the-fly)

#1 Comentário enviado por saitam em 18/09/2012 - 09:24h
Ótima dica, apenas para complementar, caso desejar liberar sites para porta 443 para IPs de máquinas de usuários especificos, assim não libera para todos.
Segue...

### Sites https Liberados apenas para IPs de máquinas de usuários especificos ###
iptables -A FORWARD -p tcp --dport 443 -j DROP
for URL in `grep -v "^#" /etc/squid/list/lib.txt`; do
for IP in `grep -v "^#" /etc/squid/list/ipsusersblock.txt`; do
iptables -I FORWARD -d $IP -p tcp --dport 443 -j DROP
iptables -I FORWARD -d $URL -p tcp --dport 443 -j ACCEPT
done
echo "Liberando Sites Para Porta 443 apenas nos IPs de usuários especificos....................[ OK ]"
#2 Comentário enviado por johnnyb em 18/09/2012 - 10:23h
hum amigo pelo que intendi vc bloqueia os pacotes que irao para o destino da rede interna.
#3 Comentário enviado por johnnyb em 18/09/2012 - 10:39h
tive uma ideia para controle ainda melhor da porta 443 nessa aqui vc bloqueia e libera toda a porta 443 para alguns. e filtro para o restante

### Controle da Porta 443 ###
iptables -A FORWARD -p tcp --dport 443 -j DROP
for URL in `grep -v "^#" /etc/squid/list/lib.txt`; do
for IP in `grep -v "^#" /etc/squid/list/ipsusersblock.txt`; do
for AP in `grep -v "^#" /etc/squid/list/ipsusersaceitos.txt`; do
iptables -I FORWARD -s $AP -d 0/0 -p tcp --dport 443 -j ACCEPT
iptables -I FORWARD -d $IP -p tcp --dport 443 -j DROP
iptables -I FORWARD -d $URL -p tcp --dport 443 -j ACCEPT
done
echo "Controle da Porta 443 Ativado com Sucesso........................[ OK ]"

Lembrando que isso pode ser feito em qualquer outra porta, se não estiver enganado também pode ser feito por mac irei tentar e depois postarei aqui
#4 Comentário enviado por smaderson em 03/07/2014 - 11:23h
Agradecimentos ao johnnyb e ao saitam, excelente dica, resolveu meus problemas!
#5 Comentário enviado por bruno_69 em 11/06/2016 - 11:46h
Tem como fazer algo parecido usando strings?
Eu tentei usar a mesma lógica mas como ficam aspas nas regras acho que acontece algum erro de sintaxe.

Exemplo da minha regra:
iptables -A FORWARD -i eth1 -m string --algo bm --string "facebook.com" -j DROP
iptables -A FORWARD -i eth0 -d 192.168.1.0/24 -m string --algo bm --string "facebook.com" -j DROP

EU tentei:
for URL in `grep -v "^#" /etc/squid3/url`; do
iptables -A FORWARD -i eth1 -m string --algo bm --string $URL -j DROP
iptables -A FORWARD -i eth0 -d 192.168.1.0/24 -m string --algo bm --string $URL -j DROP
done

E no arquivo da lista eu coloquei os domínios com as aspas: "exemplo.com" mas não bloqueia dai eu to usando o arquivão de configuração por enquanto.



#6 Comentário enviado por mreismococa em 05/06/2017 - 12:23h
bom dia, alguem pode me ajudar, quando executo os scripts acima aparecem o erro
/root/https1.sh
/root/https1.sh: line 11: erro de sintaxe: fim prematuro do arquivo

#7 Comentário enviado por JohnnyB em 05/06/2017 - 22:03h

[6] Comentário enviado por mreismococa em 05/06/2017 - 12:23h

bom dia, alguem pode me ajudar, quando executo os scripts acima aparecem o erro
/root/https1.sh
/root/https1.sh: line 11: erro de sintaxe: fim prematuro do arquivo




posta ai seu script, para poder te ajudar.

Contribuir com comentário

Entre na sua conta para comentar.