Servidor Proxy Squid3.1 TRANSPARENT Debian 7.5

1. Servidor Proxy Squid3.1 TRANSPARENT Debian 7.5

João Paulo Biesek de Oliveira
joaopaulobiesek

(usa Debian)

Enviado em 09/06/2014 - 07:33h

Servidor Proxy Squid3.1 TRANSPARENT no caso (intercept) Debian 7.5.

Esté e meu SQUID.conf que uso, está funcionando perfeitamente, o arquivo firewal vou postar logo a baixo, ele e importante para que funcione o intercept, e nele tambem tenho o bloqueio do facebook por iptables (que bloqueia HTTPS) tem uma lista de rang do face para bloqueio. e uma lista de IPs liberados que podem acessar o face, os arquivos aqui contidos são uma mão na roda... qualquer duvida so perguntar... Detalhe sou iniciante deu muito trabalho conseguir configurar... não tenho muito conhecimentos dos codigos abaixo, sei que estão funcionando de inicio tive alguns contra tempo, por isso se tiver duvida não deixe de pergunta pode ser o mesmo que eu passei... vlw


##SQUID.CONF

error_directory /usr/share/squid3/errors/pt-br

# Porta do Squid
http_port 3128 intercept
always_direct allow all

# Nome do servidor
visible_hostname ServerPointInformatica
cache_mgr joaopaulobiesek@gmail.com

# Cache

cache_mem 64 MB
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_swap_low 90
cache_swap_high 95
maximum_object_size 100 MB
minimum_object_size 1 MB
maximum_object_size_in_memory 900 kb
cache_dir ufs /var/spool/squid3 100 16 256
maximum_object_size 4096 KB
maximum_object_size_in_memory 512 KB
coredump_dir /var/spool/squid3
access_log /var/log/squid3/access.log squid
cache_log /var/log/squid3/cache.log
cache_store_log /var/log/squid3/store.log
pid_filename /var/run/squid3.pid
mime_table /usr/share/squid3/mime.conf
diskd_program /usr/lib/squid3/diskd
unlinkd_program /usr/lib/squid3/unlinkd
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
quick_abort_max 16 KB
quick_abort_pct 95
quick_abort_min 16 KB
request_header_max_size 20 KB
reply_header_max_size 20 KB
request_body_max_size 0 KB

# DNS
dns_nameservers 10.1.1.1
dns_nameservers 8.8.8.8

# Regras acl padrao

acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl localnet src 192.168.100.0/24 ###(ALTERE AQUI O IP DA SUA REDE INTERNA)
acl localnet src fc00::/7
acl localnet src fe80::/10

acl SSL_ports port 25
acl SSL_ports port 110
acl SSL_ports port 873
acl SSL_ports port 444
acl SSL_ports port 447
acl SSL_ports port 563
acl SSL_ports port 7443
acl SSL_ports port 873
acl SSL_ports port 10000
acl SSL_ports port 631
acl SSL_ports port 3456
acl SSL_ports port 3328
acl SSL_ports port 95
acl SSL_ports port 587
acl SSL_ports port 993
acl SSL_ports port 465
acl SSL_ports port 5900
acl SSL_ports port 5500
acl SSL_ports port 3307
acl SSL_ports port 5800
acl SSL_ports port 3388
acl SSL_ports port 1433
acl SSL_ports port 1434
acl SSL_ports port 47
acl SSL_ports port 10001-10220
acl SSL_ports port 8010
acl SSL_ports port 5050
acl SSL_ports port 6050

acl Safe_ports port 139 445 #compartilhamento
acl Safe_ports port 3389 # acesso remoto
acl Safe_ports port 3050 # Programa dream soft
acl Safe_ports port 8080 # http
acl Safe_ports port 8090 # http
acl Safe_ports port 80 # http
acl Safe_ports port 5275 # acesso externo spark
acl Safe_ports port 5269 # acesso externo spark
acl Safe_ports port 9090 # console spark
acl Safe_ports port 9091 # console seguranca spark
acl Safe_ports port 7777 # Transferencia spark
acl Safe_ports port 5222 # acesso spark
acl Safe_ports port 5223 # acesso https sparks
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 30000 # BRADESCO
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # swat
acl Safe_ports port 1025-65535 # portas altas
acl CONNECT method CONNECT

# Permissões e bloqueios padrao

http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

# Bloqueio de sites por URL
acl acesso_total src "/etc/squid3/regras/libera"
http_access allow acesso_total
acl bloqueios url_regex -i "/etc/squid3/regras/bloqueio"
http_access deny bloqueios
# acl extensao urlpath_regex -i "/etc/squid3/regras/extensao"
# http_access deny extensao

# Limite de Download 20 MB

# reply_body_max_size 20 MB

# Permisão rede local e servidor

http_access allow localnet
http_access allow localhost
http_access deny all







O arquivo Firewall deve ser dado permissão total no caso "chmod 777 /etc/squid3/Firewall" e apos isso ser colocado na inicialização automatica em rc.local coloca-se o seguinte comando antes de exit sem as aspas: "/etc/squid3/Firewall start"

Detalhe dentro dele temos o ETH0 e ETH1 um você ira especificar a entrada da internet e o outro se ira especificar a saida da internet.
E tem o arp -f existe varios topicos como configurar mas se caso não quiser utilizar e so comentalos com "#".
Qualquer duvida so perguntar ^^.

##Firewall



#!/bin/bash

##############################################
##### Script de Compartilhamento #####
##############################################

iniciar() {
echo "Compartilhando conexão..."
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu
echo "Transferindo pacotes para o proxy SQUID..."
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

echo "Ativando bloqueio Facebook..."
RANGES_HTTPS_NEGADOS=`awk -F'/' '!/#/{s=(s)?s" "$NF:$NF}END{print s}' /etc/squid3/regras/ip_block`
iptables -N RANGES_HTTPS_NEGADOS
for https_deny in $RANGES_HTTPS_NEGADOS; do
iptables -I FORWARD -m tcp -p tcp -m iprange --dst-range $https_deny --dport 443 -j RANGES_HTTPS_NEGADOS
iptables -I FORWARD -m tcp -p tcp -m iprange --dst-range $https_deny --dport 80 -j RANGES_HTTPS_NEGADOS
done
IPS_ALLOW=`awk -F'/' '!/#/{s=(s)?s" "$NF:$NF}END{print s}' /etc/squid3/regras/liberar`
for DEP in $IPS_ALLOW; do
iptables -I RANGES_HTTPS_NEGADOS -s $DEP -j ACCEPT
done
iptables -A RANGES_HTTPS_NEGADOS -j DROP

echo "Amarrando IP ao MAC..."
arp -f

echo "Firewall Iniciado Com Sucesso!"
}

parar() {
iptables -F -t nat
}

case "$1" in
"start") iniciar;;
"stop") parar;;
"restart") parar;iniciar;;
*)echo "Use os parametros START ou STOP"
esac


## LISTA DE RANGE (/etc/squid3/regras/ip_block) ##

#range FACEBOOK
69.171.224.0-69.171.255.255
173.252.64.0-173.252.127.255
31.13.64.0-31.13.127.255
31.13.24.0-31.13.31.255
74.119.76.0-74.119.79.255
69.63.176.0-69.63.191.255
66.220.144.0-69.220.159.255
204.15.20.0-204.15.23.255
173.252.64.0-173.252.127.255

## LISTA DE IPs QUE TEM ACESSO (/etc/squid3/regras/liberar) ##
#Maquina com permissão total HTTPs
192.168.100.9




QUALQUER DUVIDA SO PERGUNTA... DETALHE NÃO SEI ORGANIZAR OS ARQUIVOS EM QUADRINHOS ESPECIAIS ALGUM MODERADOR PUDER FAZER O FAVOR PARA MIM AGRADEÇO. USO CAPSLOCK PARA DIFERENCIAR OBRIGADO...







  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts