Paginas seguras [RESOLVIDO]

1. Paginas seguras [RESOLVIDO]

Joao Eduardo dos Santos
eduardo_jst

(usa Slackware)

Enviado em 06/07/2011 - 10:42h

Bom dia pessoal, estou com problemas no acesso a paginas seguras, os usuarios estão cancelando o login do proxy e digitando https antes da url, ex: https://www.hotmail.com,
e o site entra quebrando todas as regras de bloqueio do squid.

criei as seguintes regras no iptables
$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

e tambem acl SafePorts no squid, para conexão seguras serem geranciadas pelo squid,
mas não esta funcionando, algem tem alguma dica pra me dar?

fico no aguardo


  


2. Re: Paginas seguras [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 06/07/2011 - 10:47h

Kra, depende muito das suas regras do squid e d como vc anda inserindo as regras no seu iptables. Coloque as suas regras aki para analisarmos.


3. Paginas seguras

Joao Eduardo dos Santos
eduardo_jst

(usa Slackware)

Enviado em 06/07/2011 - 11:16h

Primeiramente, obrigado pela atenção.
iptables:
#!/bin/sh

# Variáveis
# -------------------------------------------------------
iptables=/sbin/iptables
IF_EXTERNA=eth1
IF_INTERNA=eth0


# Ativa mó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çã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

# Determina a política padrão
# -------------------------------------------------------
$iptables -P INPUT DROP
$iptables -P OUTPUT DROP
$iptables -P FORWARD DROP

#$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

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


# Dropa pacotes TCP indesejá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çã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ção contra tronjans
# -------------------------------------------------------
$iptables -N TROJAN
$iptables -A TROJAN -m limit --limit 15/m -j LOG --log-level 6 --log-prefix "FIRE: trojan: "
$iptables -A TROJAN -j DROP
$iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 666 -j TROJAN
$iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 666 -j TROJAN
$iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 4000 -j TROJAN
$iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 6000 -j TROJAN
$iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 6006 -j TROJAN
$iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 16660 -j TROJAN


# Proteção contra worms
# -------------------------------------------------------^M
$iptables -A FORWARD -p tcp --dport 135 -i $IF_INTERNA -j REJECT


# Proteção contra syn-flood
# -------------------------------------------------------
$iptables -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT


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

# Proteção contra port scanners
# -------------------------------------------------------^M
$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: "


## 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


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

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



# Acesso ao Acesso Digital:
$iptables -t nat -I PREROUTING -p tcp -d 200.185.36.0 -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ópria máquina
# -------------------------------------------------------


$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


# 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


4. Paginas seguras

Joao Eduardo dos Santos
eduardo_jst

(usa Slackware)

Enviado em 06/07/2011 - 11:17h

# [ Configuração de Portas e Nomes ]
http_port 10.2.113.1:5005
icp_port 3130
visible_hostname srvnetaruja
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
error_directory /usr/share/squid/errors/Portuguese

# [ Melhoramento do Sistema e Cache ]
maximum_object_size 1024 MB
minimum_object_size 10 KB
cache_swap_low 50
cache_swap_high 90

### Log do Sistema
cache_access_log /var/log/squid/access.log
cache_store_log /var/log/squid/store.log
cache_log /var/squid/logs/cache.log

### Montando a Cache do sistema
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320

### Diretorios de cache
cache_dir ufs /var/spool/squid/squid1 3000 20 384
cache_dir ufs /var/spool/squid/squid2 3000 20 384
cache_dir ufs /var/spool/squid/squid3 3000 20 384
cache_dir ufs /var/spool/squid/squid4 3000 20 384
cache_dir ufs /var/spool/squid/squid5 3000 20 384
cache_dir ufs /var/spool/squid/squid6 3000 20 384
cache_dir ufs /var/spool/squid/squid7 3000 20 384
cache_dir ufs /var/spool/squid/squid8 3000 20 384
cache_dir ufs /var/spool/squid/squid9 3000 20 384
cache_dir ufs /var/spool/squid/squid10 3000 20 384

cache_mem 1000 MB

# [ Autenticação de Usuários ]
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/users/usuarios
auth_param basic children 5
auth_param basic realm CPD COTAC - ENTRE COM SEU LOGIN E SENHA :
auth_param basic credentialsttl 1 hours
auth_param basic casesensitive off

# [ Controle de Acessos ]
acl all src 0.0.0.0/0.0.0.0
delay_pools 1
delay_class 1 2
delay_parameters 1 194688/194688 39768/39768
delay_access 1 allow all
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8

# [ Controle de Acessos - Safe Ports ]
acl Safe_ports port 21
acl Safe_ports port 70
acl Safe_ports port 80
acl Safe_ports port 81
acl Safe_ports port 83
acl Safe_ports port 89
acl Safe_ports port 210
acl Safe_ports port 280
acl Safe_ports port 443 563
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 631
acl Safe_ports port 809
acl Safe_ports port 873
acl Safe_ports port 1025
acl Safe_ports port 8080

# [ Controle de Acessos - SSL Ports ]
acl SSL_ports port 443 563
acl SSL_ports port 873
acl purge method PURGE
acl CONNECT method CONNECT
no_cache deny QUERY
http_access allow connect SSL_Ports

# [ Controle de Acessos - Http Access ]
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 !SSL_ports
http_access allow localhost
http_access deny to_localhost

# ACLs Personalizadas - Controle de acessos somente com usuarios
acl rede_interna src 10.2.113.0/24
acl usuarios proxy_auth /etc/squid/users/usuarios

# Controle de acessos gerais
acl governo dstdomain "/etc/squid/regras/governo"
http_access allow governo

acl sitesgm dstdomain "/etc/squid/regras/sitesgm"
http_access allow sitesgm

acl win url_regex -i "/etc/squid/regras/win"
http_access allow all win

acl seti dstdomain "/etc/squid/regras/seti"
http_access allow seti

# ---- Usuarios com acesso livre
acl acesso_livre proxy_auth "/etc/squid/regras/usr_livre"
http_access allow acesso_livre

#
# --- Usuarios controlados por sites bloqueados
#
acl acesso_restrito proxy_auth "/etc/squid/regras/usr_restrito"
acl url_bloqueado url_regex -i "/etc/squid/regras/url_bloqueado"

#
http_access deny url_bloqueado
http_access allow acesso_restrito !url_bloqueado
#

# Bloqueio de extencoes
acl acesso_extencao proxy_auth "/etc/squid/regras/usr_extencao
acl conteudo url_regex -i "/etc/squid/regras/conteudo"
#
http_access deny conteudo
http_access allow acesso_extencao !conteudo

## Bloqueando amsn
acl msn url_regex -i /gateway/gateway.dll

## Conectividade
acl conectividade src "/etc/squid/regras/conectividade" # cria variál que conterás ips da caixa
acl conectividade1 dstdomain "/etc/squid/regras/conectividade1" #cria variál que conterá url da caixa

acl msn url_regex -i "/etc/squid/regras/msn_url
http_access deny msn

# Controle de Banda
# ACLs de controle por kbps
#acl bandabaixa proxy_auth "/etc/squid/regras/banda/userbandabaixa"
#acl bandamedia proxy_auth "/etc/squid/regras/banda/userbandamedia"
#acl bandaalta proxy_auth "/etc/squid/regras/banda/userbandaalta"
#acl bandaalta src "/etc/squid/regras/banda/ipbandaalta"
#
# bandabaixa - 128 kbps
# bandamedia - 256 kbps
# bandaalta - 512 kbps

# Delay Pools
# Numeros de conexões e banda
#delay_pools 3
#delay_class 1 2
#delay_class 2 2
#delay_class 3 2

#delay_access 1 allow bandabaixa
#delay_access 2 allow bandamedia
#delay_access 3 allow bandaalta

# Calculo para determinar velocidades
#delay_parameters 1 -1/-1 13000/13000
#delay_parameters 2 -1/-1 25000/25000
#delay_parameters 3 -1/-1 52000/52000

## Efetivacao das regras
http_access allow usuarios acesso_livre
http_access allow usuarios acesso_restrito
http_access allow usuarios acesso_bloqueado
http_access allow usuarios acesso_extencao
http_access deny msn
http_access allow conectividade
http_access allow conectividade1

#
http_access deny !rede_interna
http_access allow rede_interna
http_access deny all
icp_access allow all



5. Re: Paginas seguras [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 06/07/2011 - 12:28h

Kra, descartei o squid pq vc tá usando proxy transparente. O lance é no firewall msm. Olhando suas regras, as políticas estão todas como DROP, portanto, vc deve explicitar a liberação da porta, correto? Eu vi q vc não colocou essa regra e não era pra funcionar. O q tou suspeitando ae é as regras d status da conexão (ESTABILISHED, NEW, RELATED) como ACCEPT. Faça um teste: comente essas regras e execute o script novamente. Veja se o problema persiste:

Obs.: como as políticas estão DROP, não adianta colocar regras d DROP, uma vez q praticamente tudo está bloqueado.


6. Paginas seguras

Joao Eduardo dos Santos
eduardo_jst

(usa Slackware)

Enviado em 08/07/2011 - 15:23h

Comentei as linhas e apos isso nada mais funcionou, bloqueou até o acesso a internet.


7. Re: Paginas seguras [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 08/07/2011 - 16:13h

Isso é complicado. Proxy transparente é ruim por causa disso. Veja nesse tópico:

http://www.vivaolinux.com.br/topico/Squid-Iptables/Porta-443-1


8. Paginas seguras

Joao Eduardo dos Santos
eduardo_jst

(usa Slackware)

Enviado em 08/07/2011 - 18:17h

Ando pesquisando muito e não sei dei uma olhada neste topico,
e ai que fico num ponto sem saber oq fazer, pq meu proxy

é autenticado.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts