Liberar site porta 443 e bloquear o resto p/IP

1. Liberar site porta 443 e bloquear o resto p/IP

Gerardo
gfcf

(usa Debian)

Enviado em 19/06/2013 - 10:19h

Boa tarde a todos.
Venho estudando para fazer uma regra funcional e até o momento não consegui.
Sei que o squid só tem gerência de conteúdo na porta 80, 443 tenho que ir para o iptables, me corrijam se eu estiver errado.
O cenário é o seguinte:
Tenho um cenário com 10 micros ligados ao firewall.
Gostaria de definir 3 grupos:
Diretoria: liberar tudo
Consultor: liberar alguns sites que utilizam a porta 80 e alguns de bancos e email que usa https (443) e bloquear o resto.
Estagiários: apenas dois sites só que um é http e outro é https, bloquear o resto.

Bloquear os http consegui facilmente o problema é o https.
Usei até uma regra de exemplo para o estagiário e não funcionou:
iptables -A FORWARD -s 192.168.10.10 -d owa2.xxxxxxx.com.br -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -s 192.168.10.10 -d webmail.xxxxxxxx.com.br -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -s 192.168.10.10 -p tcp --dport 443 -j DROP
iptables -A FORWARD -s 192.168.10.10 -p tcp --dport 80 -j DROP

Obs: estou usando o debian 7
Desde já agradeço pela ajuda.
Atenciosamente,
Gerardo Coelho







  


2. usando só iptables

Alex Rocha
alerocha79

(usa Ubuntu)

Enviado em 02/12/2013 - 19:38h

Quiosque funcionando: consegui usando o Debian 7.2, bloqueia todos os sites da internet e só acessa um domínio.

Passos:

A) Configurar o firewall (arquivo: firewall.sh, e dê permissão de execução – sudo chmod a+x firewall.sh, salvei em /home/firewall.sh):

#######################INICIODOARQUIVO########
#!/bin/bash

# Apagando todas as regras
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

# Mudando a politica – Começa bloqueando tudo
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# Libera conexões pre-estabelecidas
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Liberar https – aqui você coloca o ip do domínio
iptables -A OUTPUT -p tcp -d xx.xx.xx.xx --dport 443 -m state --state NEW -j ACCEPT

# Liberar http – aqui você coloca o ip do domínio
iptables -A OUTPUT -p tcp -d xx.xx.xx.xx --dport 80 -m state --state NEW -j ACCEPT

# Liberar DNS
iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT

#Liberar DHCP - na minha rede interna usa dhcp
iptables -A OUTPUT -p tcp --dport 67 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p udp --dport 67 -m state --state NEW -j ACCEPT

#######################FIM

B) deixar configurado para quando iniciar a máquina executar o firewall.sh
edite:
sudo gedit /etc/rc.local

#############INICIODOARQUIVO
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/home/./firewall.sh
exit 0
#################################FIM

Inicie:
sudo /etc/init.d/rc.local start

C)Agendei para executar o script de 5 em 5 minutos no cron (precaução minha):

Configurando o cron:
crontab -e

######INICIO
# Todos os dias de 5 em 5 minutos
*/5 * * * * /etc/init.d/rc.local start

#######FIM

Monitorando para ver se está sendo executado:
sudo tail -f grep CRON /var/log/syslog

D) Configurando para iniciar a máquina e abrir só o firefox
edite:
sudo gedit /etc/X11/Xsession.d/99x11-common_start

###########INICIODOARQUIVO

# $Id: 99x11-common_start 305 2005-07-03 18:51:43Z dnusinow $

# This file is sourced by Xsession(5), not executed.

#exec $STARTUP

exec firefox javascript:%20resizeTo\(1280,1024\)

# vim:set ai et sts=2 sw=2 tw=80:

######FIM


3. Bloqueando HTTPs com iptables

Renan Roel
renanroel

(usa Slackware)

Enviado em 19/01/2017 - 16:35h

Aqui resolvemos assim, bloqueando na rede geral:

#Bloquear HTTPs
#--------------------------------
iptables -t filter -A FORWARD -p tcp --dport 443 -m string --algo bm --string "facebook.com" -j DROP
iptables -t filter -A FORWARD -p tcp --dport 443 -m string --algo bm --string "youtube.com" -j DROP

Espero ter ajudado.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts