felipedc
(usa Debian)
Enviado em 08/11/2011 - 13:09h
Bom vamos lá, voltando ao tópico..
desculpe pela demora..
Fiz toda configuração novamente, segue abaixo as configurações:
FIREWALL
# Variaveis
PATH=/sbin:/bin:/usr/sbin:/usr/bin
IPTABLES="/sbin/iptables"
# Arquivos com as portas a liberar e a bloquear
PORTSLIB="/etc/firewall/PORTSLIB"
PORTSBLO="/etc/firewall/PORTSBLO"
# Redirecionamento de Pacotes
REDILIST="/etc/firewall/REDILIST"
#IPS com acesso irrestrito
IPSLIBERADOS="/etc/firewall/IPSLIBERADOS"
# Script Firewall
PROGRAMA="/etc/firewall/firewall"
# Interfaces de Rede
WAN=eth0
LAN=eth1
REDE="192.168.0.0/24"
IP_EXTERNO="XXX.XXX.XXX.XXX"
# Servidores
SERVIDORINTERNET="192.168.0.1"
SERVIDORDADOS="192.168.0.2"
# Carregando Módulos
modprobe ip_tables
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_LOG
modprobe ipt_REJECT
modprobe ipt_MASQUERADE
modprobe ipt_state
modprobe ipt_multiport
modprobe iptable_mangle
modprobe ipt_tos
modprobe ipt_limit
modprobe ipt_mark
modprobe ipt_MARK
case "$1" in
start)
echo "CARREGANDO FIREWALL..." ; sleep 1 ;
#Zerando Regras
$IPTABLES -F
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
$IPTABLES -F FORWARD
$IPTABLES -t mangle -F
$IPTABLES -t nat -F
$IPTABLES -X
#Compartilhar a conexão
$IPTABLES -t nat -A POSTROUTING -o $WAN -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
#Politicas Padrão
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i $LAN -j ACCEPT #Habilito o acesso ao servidor de internet para a Rede Interna ($LAN)
echo -n "LIBERANDO PORTAS DE COMUNICAÇÃO..." ; sleep 2 ;
for i in `cat $PORTSLIB`; do
PORTA=`echo $i | cut -d '#' -f 1`
$IPTABLES -A INPUT -p tcp --dport $PORTA -j ACCEPT
$IPTABLES -A INPUT -p udp --dport $PORTA -j ACCEPT
$IPTABLES -A FORWARD -p tcp --dport $PORTA -j ACCEPT
$IPTABLES -A FORWARD -p udp --dport $PORTA -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --sport $PORTA -j ACCEPT
$IPTABLES -A OUTPUT -p udp --sport $PORTA -j ACCEPT
let contporta++ ;
done
echo "[OK] $contporta PORTAS LIBERADAS!"
echo -n "REDIRECIONANDO PORTAS (NAT)..." ;
for i in `cat $REDILIST`; do
IP=`echo $i | cut -d '#' -f 1`
PPRIVADA=`echo $i | cut -d '#' -f 2`
PPUBLICA=`echo $i | cut -d '#' -f 3`
$IPTABLES -t nat -I PREROUTING -i $WAN -p tcp --dport $PPUBLICA -j DNAT --to-destination $IP:$PPRIVADA
done
sleep 2 ;
echo "[OK]"
echo -n "LIBERANDO IPS SEM INTERMÉDIO DO PROXY..." ;
for i in `cat $IPSLIBERADOS `; do
IPLIBERADO=`echo $i | cut -d ';' -f 1`
$IPTABLES -A FORWARD -s $IPLIBERADO -j ACCEPT
$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -s $IPLIBERADO -j RETURN
let contip++ ;
done
echo "[OK] $contip IPS LIBERADOS!"
#Redirecionando trafego de saida da porta 80 para 3128
$IPTABLES -t nat -A PREROUTING -s $REDE -p tcp --dport 80 -j REDIRECT --to-port 3128
echo "FIREWALL CARREGADO!"
echo " "
;;
stop)
echo "DESCARREGANDO FIREWALL..."; sleep 1 ;
$IPTABLES -F
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
$IPTABLES -F FORWARD
$IPTABLES -t mangle -F
$IPTABLES -t nat -F
$IPTABLES -X
$IPTABLES -Z
echo "FIREWALL DESCARREGADO!"
echo " "
;;
*)
SEG='8'
while [ $SEG != -1 ] ; do
clear;
echo "Argumento não informado ou inválido, por segurança o firewall será INICIADO em $SEG. [^C] para cancelar"
let SEG--;
sleep 1;
done
$PROGRAMA start
exit 1
esac
exit 0
PORTASLIB.TXT
20:21
25
110
465
587
995
1863
53
80
6667
22
3389
8080
3128
saida do iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere anywhere tcp dpt:http-alt to:192.168.0.1:80
DNAT tcp -- anywhere anywhere tcp dpt:ssh to:192.168.0.1:22
DNAT tcp -- anywhere anywhere tcp dpt:www to:192.168.0.2:80
RETURN tcp -- 192.168.0.10 anywhere tcp dpt:www
RETURN tcp -- 192.168.0.11 anywhere tcp dpt:www
RETURN tcp -- 192.168.0.2 anywhere tcp dpt:www
REDIRECT tcp -- 192.168.0.0/24 anywhere tcp dpt:www redir ports 3128
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
squid.conf
http_port 3128
visible_hostname PROXY
cache_mem 512 MB
maximum_object_size_in_memory 128 KB
maximum_object_size 900 MB
minimum_object_size 0 KB
memory_replacement_policy lru
cache_replacement_policy lru
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid3 5048 16 256
cache_access_log /var/log/squid3/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
error_directory /usr/share/squid3/errors/Portuguese/
acl manager proto cache_object
acl localhost src 127.0.0.1
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 25
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 280 # http-mgmt
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 purge method PURGE
acl CONNECT method CONNECT
acl redelocal src 192.168.0.0/24
#-
#definições de horarios
acl seg_sex time MTWHF 08:00-18:00
acl sabado time A 08:00-12:00
#-
acl sitesproblematicos url_regex -i "/etc/squid3/sitesproblematicos" # sites não trabalha com o proxy
acl sites_blo url_regex -i "/etc/squid3/sites_blo" # bloqueados
acl down_blo url_regex -i "/etc/squid3/down_blo" # bloqueados
acl palavras_blo dstdom_regex -i "/etc/squid3/palavras_blo" # bloqueadas
acl sites_porno url_regex -i "/etc/squid3/sites_porno" # pornográficos, bloqueados a toda rede
acl ip_blo src "/etc/squid3/ip_blo"
acl blacklist url_regex -i "/etc/squid3/blacklist"
#-
acl sites_lib url_regex -i "/etc/squid3/sites_lib" # liberados
acl down_lib url_regex -i "/etc/squid3/down_lib" # liberados
acl palavras_lib dstdom_regex -i "/etc/squid3/palavras_lib" # liberadas
#-
#endereços de atualizacoes de anti-virus (avast)
acl end_antivirus url_regex -i "/etc/squid3/end_antivirus" # de atualizações do anti-virus avast
#-
#enderecos msn
acl msn url_regex -i "/etc/squid3/msn" # para liberar o acesso ao msn na rede
http_access allow end_antivirus
http_access allow msn
#----------------------------------------------------------------
#AUTENTICACAO SQUID/PROXY
auth_param basic realm .:TELESCRIT:.
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/squid_passwd
acl autenticados proxy_auth REQUIRED
#----------------------------------------------------------------
acl nivel1 proxy_auth "/etc/squid3/nivel1" # 1 (Acesso total, sem restrições)
acl nivel2 proxy_auth "/etc/squid3/nivel2" # 2 (Acesso total, com restrições de download e monitoramento pelo Sarg)
acl nivel3 proxy_auth "/etc/squid3/nivel3" # 3 (Acesso total, sem restrições e monitoramento pelo Sarg)
acl nivel4 proxy_auth "/etc/squid3/nivel4" # 4 (Acesso com restrições de sites, download, palavras e monitoramento pelo Sarg)
acl nivel5 proxy_auth "/etc/squid3/nivel5" # 5 (Acesso com permissões somente a sites pre-definidos, restrições de download e monitoramento pelo Sarg)
#-----------------------------------------------------------------
#ATIVANDO ACLS
http_access allow manager
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 nivel1
http_access allow msn !ip_blo
http_access deny !autenticados
http_access allow sites_lib
http_access deny sites_blo
http_access deny sites_porno
#http_access deny blacklist
http_access deny ip_blo !sites_lib
http_access allow nivel3
http_access allow down_lib
http_access allow palavras_lib
http_access deny down_blo !sites_lib
http_access allow nivel2
http_access deny sites_blo seg_sex
http_access deny sites_blo sabado
http_access deny palavras_blo
http_access allow nivel4
http_access allow nivel5
http_access allow localhost
http_access allow redelocal
http_access deny all
refresh_pattern avast.com/.*\.(cab|exe|dll|msi|gz) 10080 100% 43200 reload-into-ims
refresh_pattern download973.avast.com/.*\.(cab|exe|dll|msi|gz) 10080 100% 43200 reload-into-ims
refresh_pattern download969.avast.com/.*\.(cab|exe|dll|msi|gz) 10080 100% 43200 reload-into-ims
refresh_pattern 85.14.149.239/.*\.(cab|exe|dll|msi|gz) 10080 100% 43200 reload-into-ims
refresh_pattern 74.86.232.46/.*\.(cab|exe|dll|msi|gz) 10080 100% 43200 reload-into-ims
OQUE ACONTECE?
Bom, ao navegar nessa configuração toda passada acima ele não navega, da a seguinte mensagem de erro:
The following error was encountered while trying to retrieve the URL: /
URL inválida
Some aspect of the requested URL is incorrect.
Some possible problems are:
•Protocolo de acesso incorreto ou faltando (deve ser “http://” ou similar)
•Faltou o hostname
•Illegal double-escape in the URL-Path
•Hostname com caracter inválido; não são permitidos underscores.
Your cache administrator is webmaster.
Se coloco o squid transparente ( http_port 3128 transparent )
ele navega normal não pedindo usuario e senha, isso tanto com as propriedades
do navegador configuradas para pegar as configurações automaticamente ou não,
já se defino o proxy manualmente nas propriedades do navegador ele
exige usuario e senha para navegar.
Pelos acontecidos imagino que seja alguma configuração do squid, procede?
Alguem tem alguma sugestão?
Pode ser problema nesse 'squid3'? (comecei usar ele agora)
Obrigado ;)