Hola comunidad una abrazo a todos, y agradeciendo la molestias que se toman en
leer este mail, aqui le vamos...
Bueno en mi trabajo tenemos un squid 2.6 + iptables, con accesso a 50 maquinas
por red:
primero:
Las conexiones https: son encriptadas, tal es el uso de estas en gmail, para
que este protocolo pueda salir a la internet
simplemente dicho puerto 443 se lo redirecciona hacia fuera
iptables -A FORWARD -s <red_interna> -p tcp -m state --state NEW,ESTABLISHED
--dport 443 -j ACCEPT
iptables -A FORWARD -d <red_interna> -p tcp -m state --state ESTABLISHED
--sport 443 -j ACCEPT
hasta ahi todo bien pero ups un detalle, este protocolo no pasa por squid bueno
podrias redireccionarlo al squid mediante
el siguiente comando:
iptables -t nat -A PREROUTING -s <red_interna> -d ! <red_interna> -p tcp
--dport 443 -j REDIRECT --to-ports 3128
==> pero aqui pasa un pequeño detall sale un error... es decir el squid no
interpreta conexiones encriptadas mediante ssl, bueno pues me dije algo esta
mal hecho o algo no considere... bueno leyendo en san google
http://www.lanux.org.ar/pipermail/lista/2006-March/001886.html encontre lo
siguiente el famoso metodo CONNECT definido en el squid:
acl SSL_ports port 443 563
acl SAFE_ports port 80
acl SAFE_ports port 8080
acl SAFE_ports port 10000
acl CONNECT method CONNECT
http_access deny !SSL_ports !SAFE_ports
http_access deny CONNECT !SSL_ports
Según algunas paginas en google esto me debería funcionar pero no funciona :( ,
eso sucede solo cuando agrego al firefox el proxy, me dirijos a la pestaña de
hermientas->opciones->Avanzado->red y coloco mi proxy que en mi caso seria
192.168.5.10 (ejemplo), reinico el navegador ya no me conecta a ninguna pagina
https:\\ bueno ustedes me diran ya pes no conectes y que todo salga de frente,
lo que va al puerto 80 se redireccione al 3128 y lo que va al puerto 443 se
valla no mas hacia fuera, pero existe una tendencia a usar protocolos https,
que pasara cuando esto se generalice.
bueno pero hay un pequeño detalle de todo esto si no coloco el proxy por
ejemplo cuando pongo http://localhost , para que me carge el apache, nada no
carga nada, le pongo el proxy ahi mismo me carga :S en donde estare haciendo
mal aqui mi configuracion de squid e iptables
squid.conf
# Puerto de escucha
http_port 3128 transparent
######################################################################
########################## Opciones de cache #########################
######################################################################
# Patrones cuya coincidencia haran que no sean guardadas en la cache
acl QUERY urlpath_regex cgi-bin \? \.php \.asp
no_cache deny QUERY
# Modelo de reemplazo de objetos de la cache para su mantenimiento y
# uso de espacio en disco
cache_replacement_policy heap LFUDA
#Maximo tamano de objetos en la cache
maximum_object_size 156 MB
# El limite menor y mayor en porcentaje de uso del espacio designado
# para la cache. Dentro de esos limites se maneja el reemplazo de
# objetos antiguos
cache_swap_low 80
cache_swap_high 95
######################################################################################
######################################################################
##################### Parametros administrativos #####################
######################################################################
# Usuario y grupo con el que se ejecuta Squid
cache_effective_user proxy
cache_effective_group proxy
####################################################################
########################## Rutas de archivos #########################
######################################################################
# Directorio de la cache y sus opciones
cache_dir ufs /var/spool/squid 2000 16 256
# Ruta del archivo de registro de consultas de los clientes
cache_access_log /var/log/squid/access.log
# Ruta de archivo de registro del desempeño de la cache
cache_log /var/log/squid/cache.log
# Ruta del archivo de registro de los objetos guardados y removidos
# de la cache
cache_store_log none
# Deshabilitar el registro de la swap de la cache
cache_swap_log /var/log/squid/swap.log
# Archivo de registro del campo User-Agent para todas las peticiones
# HTTP
useragent_log /var/log/squid/useragent.log
# Registrar los tipos MIME en cada peticion HTTP
log_mime_hdrs off
# Ruta del archivo PID de Squid
pid_filename /var/run/squid.pid
######################################################################
######################## Opciones miscelaneas ########################
######################################################################
# Numero de rotaciones a realizar en los logs
logfile_rotate 3
# Idioma usado para los mensajes de error mostrados por Squid
error_directory /usr/share/squid/errors/Spanish
# Aplicacion de redireccion para filtrado
redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
# Numero de procesos a ejecutarse del redirector
redirect_children 15
# No mostrar la IP desde la que el cliente hace la peticion
forwarded_for off
mime_table /etc/squid/mime.conf
######################################################################
######################### Control de accesos #########################
######################################################################
# Listas de acceso genericas
acl all src 0.0.0.0/0.0.0.0
#hi5
acl redsocial url_regex -i "/etc/squid/redsocial"
acl permitidos-redsocial src "/etc/squid/acl/permitidos-redsocial"
#rapidshare
acl webarchivos url_regex -i "/etc/squid/webarchivos"
acl permitidos-webarchivos src "/etc/squid/acl/permitidos-webarchivos"
#Videos para ver
acl webvideos url_regex -i "/etc/squid/webvideos"
acl permitidos-webvideos src "/etc/squid/acl/permitidos-webvideos"
#otras paginas
acl otrasPaginas url_regex -i "/etc/squid/otrosWeb"
###nueva sub red
acl laboratorio1 src 172.16.0.0/24
acl laboratorio2 src 172.16.1.0/24
## ips que no pasan por delay pools ##
acl laboratorio1-libre src "/etc/squid/acl/laboratorio1-libre"
acl laboratorio2-libre src "/etc/squid/acl/laboratorio2-libre"
# Puertos permitidos
acl SSL_ports port 443 563
acl Safe_ports port 80
acl Safe_ports port 8080
acl CONNECT method CONNECT
## acl de extensiones con trafico reducido ##
acl extensiones url_regex -i "/etc/squid/acl/extensiones"
acl tipo_mime_req.videos req_mime_type "/etc/squid/mime_agr.videos"
acl tipo_mime_rep.videos rep_mime_type "/etc/squid/mime_agr.videos"
acl tipo_mime_req.ficheros req_mime_type "/etc/squid/mime_agr.ficheros"
acl tipo_mime_rep.ficheros rep_mime_type "/etc/squid/mime_agr.ficheros"
# Listas de acceso especiales
acl paginas-adm dstdomain "/etc/squid/nocache"
# Acceso a todos
http_access deny redsocial !permitidos-redsocial
http_access deny webarchivos !permitidos-webarchivos
http_access deny webvideos !permitidos-webvideos
http_access deny otrasPaginas
##Aqui ta el dilema esta coneccion es la que no funca
http_access deny !SSL_ports !Safe_ports !paginas-adm
http_access deny CONNECT !SSL_ports
http_access deny gtalk
http_access allow laboratorio1
http_access allow laboratorio2
http_access allow laboratorio1-libre
http_access allow laboratorio2-libre
http_access deny all
delay_initial_bucket_level 75
delay_pools 4
# Definicion de las clases de cada delay pool
delay_class 1 2
delay_class 2 2
delay_class 3 2
delay_class 4 2
# Parametros de control de cada delay pool definida
delay_parameters 1 131072/131072 65536/65536
delay_parameters 2 65536/65536 32768/32768
delay_parameters 3 32768/32768 16384/16384
delay_parameters 4 -1/-1 -1/-1
# Control de accesos al control de las delay pools
delay_access 1 allow laboratorio1
delay_access 1 allow laboratorio2
delay_access 2 allow extensiones
delay_access 2 allow tipo_mime_req.ficheros
delay_access 3 allow tipo_mime_req.videos
#delay_access 2 allow tipo_mime_rep
delay_access 4 allow laboratorio1-libre
delay_access 4 allow laboratorio2-libre
iptables ...
#e Generated by iptables-save v1.4.2 on Thu Jun 18 03:26:50 2009
*nat
:PREROUTING ACCEPT [47:3720]
:POSTROUTING ACCEPT [77:4638]
:OUTPUT ACCEPT [71:4258]
###### Proxy transparente
-A PREROUTING -s 172.16.0.32/27 -d ! 172.16.0.32/27 -i eth1 -p tcp -m tcp
--dport 80 -j REDIRECT --to-ports 3128
##### Enmascaramiento de la red
-A POSTROUTING -s 172.16.0.0/16 -o eth0 -j MASQUERADE
COMMIT
# Completed on Thu Jun 18 03:26:50 2009
# Generated by iptables-save v1.4.2 on Thu Jun 18 03:26:50 2009
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A FORWARD -s 172.16.1.0/24 -d ! 172.16.1.0/24 -p tcp --dport 443 -j ACCEPT
-A FORWARD -s ! 172.16.1.0/24 -d 172.16.1.0/24 -p tcp --sport 443 -j ACCEPT
########################################################################
################ ACCESO LOCALHOST
########################################################################
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
#########################################################################
########## SALIDA PA EL PROXY
#########################################################################
-A INPUT -p tcp -m tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
#Internet para las redes locales
-A INPUT -s 172.16.0.0/24 -i eth1 -p tcp -m tcp --dport 3128 -m state --state
NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth1 -p tcp -m tcp --sport 3128 -d 172.16.0.0/24 -m state --state
ESTABLISHED -j ACCEPT
-A INPUT -s 172.16.1.0/24 -i eth1 -p tcp -m tcp --dport 3128 -m state --state
NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth1 -p tcp -m tcp --sport 3128 -d 172.16.1.0/24 -m state --state
ESTABLISHED -j ACCEPT
#---------------------------------------------------------------------------------------------------------
### Para dns
-A INPUT -i eth0 -p udp -m udp --sport 53 -j ACCEPT
-A OUTPUT -o eth0 -p udp -m udp --dport 53 -j ACCEPT
-A FORWARD -s 172.16.0.0/24 -d ! 172.16.0.0/24 -p udp -m udp --dport 53 -j
ACCEPT
-A FORWARD -s ! 172.16.0.0/24 -d 172.16.0.0/24 -p udp -m udp --sport 53 -j
ACCEPT
-A FORWARD -s 172.16.1.0/24 -d ! 172.16.1.0/24 -p udp -m udp --dport 53 -j
ACCEPT
-A FORWARD -s ! 172.16.1.0/24 -d 172.16.1.0/24 -p udp -m udp --sport 53 -j
ACCEPT
############################################################################
##################### PING
###########################################################################
-A INPUT -i eth0 -p icmp -j ACCEPT
-A OUTPUT -o eth0 -p icmp -j ACCEPT
-A INPUT -i eth1 -p icmp -j ACCEPT
-A OUTPUT -o eth1 -p icmp -j ACCEPT
-A FORWARD -i eth1 -o eth0 -p icmp -j ACCEPT
-A FORWARD -i eth0 -o eth1 -p icmp -j ACCEPT
#########################################################
### Configuracion avanzada #####
#########################################################
### Bloqueo de paginas
-A FORWARD -s 172.16.0.0/16 -d 59.106.108.86 -j DROP
# https libre
-A FORWARD -s 172.16.0.0/24 -p tcp -m tcp --dport 443 -j ACCEPT
-A FORWARD -d 172.16.0.0/24 -p tcp -m tcp --sport 443 -j ACCEPT
#### Acceso al skype ####
#-A FORWARD -s 172.16.0.36/27 -d ! 172.16.0.36/27 -j ACCEPT
#-A FORWARD -s ! 172.16.0.36/27 -d 172.16.0.36/27 -j ACCEPT
##Acceso al skype por rango de ip
#-A FORWARD -d ! 172.16.0.0/16 -p tcp -m iprange --src-range
172.16.0.1-172.16.0.254 -j ACCEPT
#-A FORWARD -d ! 172.16.0.0/16 -p tcp -m iprange --dst-range
172.16.0.1-172.16.0.254 -j ACCEPT
##Acceso al MSN
-A FORWARD -s 172.16.0.44 -d ! 172.16.0.0/16 -p tcp -m tcp --dport 1863 -j
ACCEPT
-A FORWARD -s 172.16.0.135 -d ! 172.16.0.0/16 -p tcp -m tcp --dport 1863 -j
ACCEPT
-A FORWARD -s 172.16.0.136 -d ! 172.16.0.0/16 -p tcp -m tcp --dport 1863 -j
ACCEPT
-A FORWARD -s 172.16.0.139 -d ! 172.16.0.0/16 -p tcp -m tcp --dport 1863 -j
ACCEPT
-A FORWARD -s 172.16.0.48 -d ! 172.16.0.0/16 -p tcp -m tcp --dport 1863 -j
ACCEPT
-A FORWARD -s 172.16.0.53 -d ! 172.16.0.0/16 -p tcp -m tcp --dport 1863 -j
ACCEPT
-A FORWARD -s 172.16.0.60 -d ! 172.16.0.0/16 -p tcp -m tcp --dport 1863 -j
ACCEPT
#Acceso de la red local a la maquina servidor 192.168.6.10
-A FORWARD -s 172.16.1.0/24 -d 192.168.6.10 -p tcp --dport 381 -m state --state
NEW,ESTABLISHED -j ACCEPT
-A FORWARD -d 172.16.1.0/24 -s 192.168.6.10 -p tcp --sport 381 -m state --state
ESTABLISHED -j ACCEPT
COMMIT
:P gracias de antemano
_________________________________________________________________
Connect to the next generation of MSN Messenger
http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline
_______________________________________________
Lista de correo Linux-plug
Temática: Discusión general sobre Linux
Peruvian Linux User Group (http://www.linux.org.pe)
Participa suscribiéndote y escribiendo a: [email protected]
Para darte de alta, de baja o hacer ajustes a tu suscripción visita:
http://listas.linux.org.pe/mailman/listinfo/linux-plug
IMPORTANTE: Reglas y recomendaciones
http://www.linux.org.pe/listas/reglas.php
http://www.linux.org.pe/listas/comportamiento.php
http://www.linux.org.pe/listas/recomendaciones.php