Firewall não bloqueia https [RESOLVIDO]

1. Firewall não bloqueia https [RESOLVIDO]

Joao Eduardo dos Santos
eduardo_jst

(usa Slackware)

Enviado em 03/08/2011 - 12:53h

Bom dia pessoal, ja abri outros perguntas referente as esse problema, mas estou sem sucesso nas pesquisas, alguem pode me ajudar, pois minhas politicas INPUT, FORWARD e OUTPUT como DROP e mesmo assim não bloqueia o https, criei as regras de bloqueio la no final do meu conf, veja abaixo e mesmo assim não bloqueia, uso proxy autenticado tenho a safe_ports configurado para o squid gerenciar https...olhando meu conf alguem pode me dar uma dica em qual caminho seguir...

#!/bin/sh
# Vari<E1>veis
# -------------------------------------------------------
iptables=/sbin/iptables
IF_EXTERNA=eth1
IF_INTERNA=eth0

# Ativa m<F3>dulos
# -------------------------------------------------------
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_REJECT
/sbin/modprobe ipt_MASQUERADE

# Ativa roteamento no kernel
# -------------------------------------------------------
echo "1" > /proc/sys/net/ipv4/ip_forward

# Prote<E7><E3>o contra IP spoofing
# -------------------------------------------------------
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter

# Zera regras
# -------------------------------------------------------
$iptables -F
$iptables -X
$iptables -F -t nat
$iptables -X -t nat
$iptables -F -t mangle
$iptables -X -t mangle
$iptables -F -t filter
$iptables -X -t filter

# Determina a pol<ED>tica padr<E3>o
# -------------------------------------------------------
$iptables -P INPUT DROP
$iptables -P OUTPUT DROP
$iptables -P FORWARD DROP

#################################################
# Tabela FILTER
#################################################

# Dropa pacotes TCP indesej<E1>veis
# -------------------------------------------------------
$iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j LOG --log-level 6 --log-prefix "FIRE: NEW sem syn: "
$iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP

# Dropa pacotes mal formados
# -------------------------------------------------------
$iptables -A INPUT -i $IF_EXTERNA -m unclean -j LOG --log-level 6 --log-prefix "FIRE: pacote mal formado: "
$iptables -A INPUT -i $IF_EXTERNA -m unclean -j DROP

# Aceita os pacotes que realmente devem entrar
# -------------------------------------------------------
$iptables -A INPUT -i ! $IF_EXTERNA -j ACCEPT
$iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$iptables -A OUTPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
$iptables -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT

# Prote<E7><E3>o contra trinoo
# -------------------------------------------------------
$iptables -N TRINOO
$iptables -A TRINOO -m limit --limit 15/m -j LOG --log-level 6 --log-prefix "FIRE: trinoo: "
$iptables -A TRINOO -j DROP
$iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 27444 -j TRINOO
$iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 27665 -j TRINOO
$iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 31335 -j TRINOO
$iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 34555 -j TRINOO
$iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 35555 -j TRINOO

# Prote<E7><E3>o contra worms
# -------------------------------------------------------
$iptables -A FORWARD -p tcp --dport 135 -i $IF_INTERNA -j REJECT

# Prote<E7><E3>o contra syn-flood
# -------------------------------------------------------
$iptables -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT

# Prote<E7><E3>o contra ping da morte
# -------------------------------------------------------
$iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

# Prote<E7><E3>o contra port scanners
# -------------------------------------------------------
$iptables -N SCANNER
$iptables -A SCANNER -m limit --limit 15/m -j LOG --log-level 6 --log-prefix "FIRE: port scanner: "
$iptables -A SCANNER -j DROP
$iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -i $IF_EXTERNA -j SCANNER
$iptables -A INPUT -p tcp --tcp-flags ALL NONE -i $IF_EXTERNA -j SCANNER
$iptables -A INPUT -p tcp --tcp-flags ALL ALL -i $IF_EXTERNA -j SCANNER
$iptables -A INPUT -p tcp --tcp-flags ALL FIN,SYN -i $IF_EXTERNA -j SCANNER
$iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -i $IF_EXTERNA -j SCANNER
$iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -i $IF_EXTERNA -j SCANNER
$iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -i $IF_EXTERNA -j SCANNER

# Loga tentativa de acesso a determinadas portas
# -------------------------------------------------------
$iptables -A INPUT -p tcp --dport 21 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIRE: ftp: "
$iptables -A INPUT -p tcp --dport 23 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIRE: telnet: "
$iptables -A INPUT -p tcp --dport 25 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIRE: smtp: "
$iptables -A INPUT -p tcp --dport 80 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIRE: http: "
$iptables -A INPUT -p tcp --dport 110 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIRE: pop3: "
$iptables -A INPUT -p udp --dport 111 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIRE: rpc: "
$iptables -A INPUT -p tcp --dport 113 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIRE: identd: "
$iptables -A INPUT -p tcp --dport 137:139 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIRE: samba: "
$iptables -A INPUT -p udp --dport 137:139 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIRE: samba: "
$iptables -A INPUT -p tcp --dport 161:162 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIRE: snmp: "
$iptables -A INPUT -p tcp --dport 6667:6668 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIRE: irc: "
$iptables -A INPUT -p tcp --dport 5005 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIRE: squid: "

# Libera acesso externo a determinadas portas
# -------------------------------------------------------
#$$iptables -A INPUT -p tcp --dport 22 -i $IF_EXTERNA -j ACCEPT

# VPN
$iptables -t filter -A INPUT -i eth1 -p udp --dport 1194 -j ACCEPT
$iptables -t filter -A INPUT -i eth1 -p udp --dport 5001 -j ACCEPT
$iptables -t filter -A INPUT -i eth1 -p udp --dport 5002 -j ACCEPT

# libera trafego no tunel
$iptables -t filter -A FORWARD -i tun1 -j ACCEPT
$iptables -t filter -A INPUT -i tun1 -j ACCEPT

## teste paginas gw
$iptables -t nat -A PREROUTING -s 192.168.10.0/24 -d 10.2.111.1 -j ACCEPT
$iptables -t nat -A PREROUTING -s $10.2.111.201 -j ACCEPT
$iptables -t nat -A PREROUTING -s 10.2.113.0/24 -d 10.2.111.201 -j ACCEPT

#$iptables -t filter -A FORWARD -d 0/0 -p tcp --dport 443 -j DROP
#$iptables -t filter -A INPUT -d 0/0 -p tcp --dport 443 -j DROP

#################################################
# Tabela NAT
#################################################

# Ativa mascaramento de sa<ED>da
# -------------------------------------------------------
$iptables -A POSTROUTING -t nat -o $IF_EXTERNA -j MASQUERADE

$iptables -t nat -A PREROUTING -s 10.2.113.6 -j ACCEPT

# Acesso ao Acesso Digital:
$iptables -t nat -I PREROUTING -p tcp -d 200.185.36.0/16 -j ACCEPT
$iptables -t nat -I PREROUTING -p tcp -d 200.185.36.0 -j ACCEPT
$iptables -I FORWARD -p tcp -d 200.185.36.0/16 -j ACCEPT
$iptables -I FORWARD -p tcp -d 200.185.36.0 -j ACCEPT
$iptables -A FORWARD -s 10.2.113.7 -d 200.185.36.0/24 -j ACCEPT
$iptables -A FORWARD -s 10.2.113.0/24 -d 200.185.0.0/24 -j ACCEPT

# Proxy
# -------------------------------------------------------
$iptables -t nat -A PREROUTING -i $IF_INTERNA -p tcp --dport 80 -j REDIRECT --to-port 5005
$iptables -t nat -A PREROUTING -i $IF_INTERNA -p tcp --dport 8080 -j REDIRECT --to-port 5005

# Redireciona portas na pr<F3>pria m<E1>quina
# -------------------------------------------------------
## Redirecionando portas 443 para o PROXY

$iptables -A FORWARD -p tcp --dport 25 -j ACCEPT
$iptables -A FORWARD -p tcp --dport 110 -j ACCEPT
#$iptbales -A FORWARD -p tcp --sport 110 -j ACCEPT
$iptables -A FORWARD -p tcp --dport 587 -j ACCEPT

# redirecionamento
#$iptables -t nat -A PREROUTING -s 10.2.114.0/24 -d 192.168.10.0/24 -j DNAT --to 10.2.111.150

# redirecionamento
#$iptables -t nat -A PREROUTING -s 10.2.114.0/24 -d 192.168.10.0/24 -j DNAT --to 10.2.111.150

# Bloqueio de conteudo
$iptables -I OUTPUT -o eth1 -m string --algo kmp --from 1 --to 8192 --string "radio" -j DROP
$iptables -I OUTPUT -o eth1 -m string --algo kmp --from 1 --to 8192 --string "orkut.com" -j DROP
$iptables -I OUTPUT -o eth1 -m string --algo kmp --from 1 --to 8192 --string "globoesporte.com" -j DROP
$iptables -I OUTPUT -o eth1 -m string --algo kmp --from 1 --to 8182 --string "globoesporte.globo.com" -j DROP
$iptables -I OUTPUT -o eth1 -m string --algo kmp --from 1 --to 8192 --string "lance.com.br" -j DROP
$iptables -I OUTPUT -o eth1 -m string --algo kmp --from 1 --to 8182 --string "gazetaesportiva.net" -j DROP
$iptables -I OUTPUT -o eth1 -m string --algo kmp --from 1 --to 8182 --string "runonce.msn.com" -j DROP
$iptables -I OUTPUT -o eth1 -m string --algo kmp --from 1 --to 8182 --string "ig.com.br" -j DROP
# $iptables -I OUTPUT -o eth1 -m string --algo kmp --from 1 --to 8182 --string "uol.com.br" -j DROP
$iptables -I OUTPUT -o eth1 -m string --algo kmp --from 1 --to 8182 --string "sportv.globo.com" -j DROP
$iptables -I OUTPUT -o eth1 -m string --algo kmp --from 1 --to 8182 --string "globo.com" -j DROP
# $iptables -I OUTPUT -o eth1 -m string --algo kmp --from 1 --to 8182 --string "g.live.com" -j DROP
$iptables -I OUTPUT -o eth1 -m string --algo kmp --from 1 --to 8182 --string "lance.com.br" -j DROP
$iptables -I OUTPUT -o eth1 -m string --algo kmp --from 1 --to 8182 --string "lancenet.com.br" -j DROP
$iptables -I OUTPUT -o eth1 -m string --algo kmp --from 1 --to 8182 --string "mail.live.com" -j DROP
$iptables -I OUTPUT -o eth1 -m string --algo kmp --from 1 --to 8182 --string "login.live.com" -j DROP
$iptables -I OUTPUT -o eth1 -m string --algo kmp --from 1 --to 8182 --string "live.com" -j DROP
$iptables -I OUTPUT -o eth1 -m string --algo kmp --from 1 --to 8182 --string "meebo.com" -j DROP
$iptables -I OUTPUT -o eth1 -m string --algo kmp --from 1 --to 8182 --string "hotmail.com" -j DROP
$iptables -I OUTPUT -o eth1 -m string --algo kmp --from 1 --to 8182 --string "ranchovacaloca.com.br" -j DROP
$iptables -I OUTPUT -o eth1 -m string --algo kmp --from 1 --to 8182 --string "gateway.edge.messenger.live.com" -j DROP

# Regra para bloqueio da porta 443
# $iptables -A FORWARD -s 10.2.113.0/24 -p tcp -m tcp --dport 443 -j LOG --log-prefix "Acesso para porta 443"
# $iptables -A FORWARD -s 10.2.113.0/24 -p tcp -m tcp --dport 443 -j REJECT --reject-with icmp-port-unreachable

$iptables -t filter -A INPUT -p tcp --dport 443 -j DROP
$iptables -t filter -A FORWARD -p tcp --dport 443 -j DROP
$iptables -t filter -A OUTPUT -p tcp --dport 443 -j DROP


  


2. Re: Firewall não bloqueia https [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 03/08/2011 - 13:10h

Se estiver passando via proxy, não vai bloquear msm...


3. Re: Firewall não bloqueia https [RESOLVIDO]

Éder de Lima
CLI4life

(usa CentOS)

Enviado em 03/08/2011 - 13:37h

Primeiro: Se o squid vai gerenciar o http apenas redirect na porta 80 para a 3128 do IP do servidor de proxy.
Segundo: https não tem como o squid bloquear as URLs específicas, já que usa-se SSL e não tem como ver o conteúdo dos pacotes de forma clara.
Terceira: Se quer bloquear https, apenas crie uma regra da seguinte forma:

iptables -i FORWARD -p TCP --dport 443 -j DROP

[]'s


4. Firewall não bloqueia https

Joao Eduardo dos Santos
eduardo_jst

(usa Slackware)

Enviado em 03/08/2011 - 14:59h

Fiz varios testes aqui e se eu logo no squid ele bloqueia perfeitamente, o que esta acontecendo é que os usuario cancela o login e digita o https antes das paginas, assim ele acessa, em relação ao squid esta ok, meu problema é o firewall que não esta bloqueando a porta 443, preciso bloqueala, e farçar a navegação somente pelo squid autenticado


5. Re: Firewall não bloqueia https [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 03/08/2011 - 15:27h

O q o @CLI4life disse tá correto: basta bloquear o FORWARD q impede.


6. Firewall não bloqueia https

Joao Eduardo dos Santos
eduardo_jst

(usa Slackware)

Enviado em 03/08/2011 - 15:59h

Sim, eu ja tentei, no fila do conf tenho as seguintes regras:

$iptables -t filter -A INPUT -p tcp --dport 443 -j DROP
$iptables -t filter -A FORWARD -p tcp --dport 443 -j DROP
$iptables -t filter -A OUTPUT -p tcp --dport 443 -j DROP

mas não bloqueia,pode ser alguma regra anterior q esta liberando, eu analisei mas não encontrei nada de diferente


7. Re: Firewall não bloqueia https [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 03/08/2011 - 16:03h

Troque essas regras por essas:

$iptables -t filter -I INPUT -p tcp --dport 443 -j DROP
$iptables -t filter -I FORWARD -p tcp --dport 443 -j DROP
$iptables -t filter -I OUTPUT -p tcp --dport 443 -j DROP

Q as regras irão pro começo da linha.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts