como abrir puertos en squid

Under:

salu2 foreros, tengo una compicacion en mi servidor proxy squid desde hace unos dias intento entrar a algunas url's que contienen puertos por ejemplo: http://rc.edomex.gob.mx:7779/etc/etc... u http://200.107.45.87:7777/ como podran observar ambas url's traen consigo puertos, de los cuales no encuentro la forma de abrir para poder observar las paginas correspondientes, he encontrado en la red que solo es necesario agregar agregar el puerto(s) en la linea de acl's como la siguiente: "acl SSL_ports port 445 443 441 563 7777 7779", lo cual he realizado pero no da resultado alguien podria darme una mano, de antemano gracias.

Los puertos 7777 y 7779 (por

Los puertos 7777 y 7779 (por lo que veo, en TCP) son ajenos al SQUID.

Basta con abrir estos puertos en tu Firewall para que puedan cruzar y acceder a esas paginas que mencionas

El tema del SQUID es que solo usa el puerto 80 y lo redirecciona al 3128.

pero son paginas http

de acuerdo a todo lo que he leido y a lo que mas orientado se supone que deberian pasar por squid, se supone que son servicios http, pero voy a seguir intentando y gracias por la ayuda Miguel, salu2.

Cierto. Son paginas que se

Cierto.

Son paginas que se comunican por el http pero, que han sido redireccionadas a los puertos tcp que mencionas.

Recuerda que por defecto el http usa tcp port 80 pero, por cuestiones de infraestructura, en ese host es posible que halla sido cambiado, quizas por asuntos de seguridad o reenvio hacia otro servidor http.

MIGUEL.

no puedo terminar de configurar modulo ipp2p

ya he resuelto el problema de los puertos udp:7779 y tcp:7777, pero ahora desea bloquear el software p2p, para ello necesito instalar el moduo ipp2p y he realizado lo siguiente:
1) Checo que version tengo:
iptables --version
iptables v1.4.1.1
2)Descargo los fuentes de la versión de iptables que tengo y descomprimo:
wget http://www.netfilter.org/projects/iptables/files/iptables-1.4.1.1.tar.bz2
tar xxxx iptables-1.4.1.1.tar.bz2

3) Descargarse la versión de ipp2p de la web http://www.ipp2p.org/downloads_en.html y descomprimirlos:

coruscant:/usr/src# wget http://www.ipp2p.org/downloads/ipp2p-0.8.1_rc1.tar.gz
tar zxvf ipp2p-0.8.1_rc1.tar.gz

4) Entro en el directorio del ipp2p y edito el Makefile para que apunte a los fuentes del iptables que he descargado:

vi Makefile

y cambio el valor de la variable iptables_src:

IPTABLES_SRC = /usr/src/iptables-1.4.1.1

5) trato de compilar la libreria con: make
y me imprime lo siguiente:
cat: /lib/modules/2.6.26.3-14.fc8/build/Makefile: No existe el fichero o el directorio
cat: /lib/modules/2.6.26.3-14.fc8/build/Makefile: No existe el fichero o el directorio
gcc -O3 -Wall -I/lib/modules/2.6.26.3-14.fc8/build/include -c ipt_ipp2p.c -D__KERNEL__ -DMODULE -DMODVERSIONS
make: gcc: No se encontró el programa
make: *** [ipt_ipp2p.o] Error 127

una cosa mas ejecuto: "apt-get install iptables-dev" y me imprime lo siguiente:
Leyendo listas de paquetes... Done
Construyendo árbol de dependencias... Done
E: No se encontró el paquete iptables-dev

¿que estoy haciendo mal o mejor dicho que no hice?, ayuda una vez mas, de antemano gracias

Necesitas el ipp2p para

Necesitas el ipp2p para bloquear a los ares, emule y demas?

La verdad, no lo uso y no lo requiero. Hago algo mas sencillo para mi.

Yo uso: iptables -P FORWARD DROP

Luego abro el puerto tcp 80, 443 y el udp 53. Con esto salgo a Intetnet, como minimo.

Y de alli abro puerto por puerto de lo que vaya a cruzar por el firewall y con eso elimino toda conexion que no sea util.

MIGUEL.

tengo problemas cerrando todos lo puertos

tengo problemas con la regla iptables que me sugeriste Miguel por que no puedo entrar a inrnet si agrego es regla, e aqui el scrip para que lo cheques y me digas que estoy haciendo mal:

iptables -F
iptables -X
iptables -Z
iptables -t nat -F

#crear conexion de tarjetas y salida de LAN a internet
echo 1 >/proc/sys/net/ipv4/ip_forward

#cerrar todo los puerto para despùes abrir los que ocupo
iptables -P FORWARD DROP

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

#forzar a que toda salida http pase por Squid
iptables -A FORWARD -p tcp --dport 80 -j DROP
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

#permitir salida al pueto udp=7779
iptables -A FORWARD -s 192.168.2.10 -p udp --dport 7779 -j ACCEPT
iptables -A FORWARD -s 192.168.2.11 -p udp --dport 7779 -j ACCEPT
iptables -A FORWARD -p udp --dport 7779 -j DROP

#permitir salida al puerto tcp=7777
iptables -A FORWARD -s 192.168.2.10 -p tcp --dport 7777 -j ACCEPT
iptables -A FORWARD -s 192.168.2.11 -p tcp --dport 7777 -j ACCEPT
iptables -A FORWARD -p tcp --dport 7777 -j DROP

tambien es necesario no cerrar el servicio del messenger, si cierro todos los puertos, tambien bloqueo el messenger, gracias de nuevo, salu2.

Estas muy cerca de

Estas muy cerca de lograrlo.

Te falto declarar el cruce de los puertos utp DNS. Caso contrario no hay manera de poder navegar en internet.

No es necesario que declares FORWARD DROP al puerto 80. Basta con la linea inicial para que todo lo que cruce sea negado.

iptables -P FORWARD DROP significa que como politica (-P) de trabajo, todo lo que cruza (FORWARD) es rechazado.

Hay un cambio en el orden de tus reglas para mayor integridad funcional como poner la politica por defecto abajo inmediatamente del conjunto de limpieza inicial.

De alli, en general, haz cumplido la idea: CERRAR TODO Y DEJAR CRUZAR LO QUE SEA NECESARIO.

Mi ajuste final a tu script seria:

#limpieza general de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

#politica por defecto para lo que cruza
iptables -P FORWARD DROP

#crear conexion de tarjetas y salida de LAN a internet
echo 1 >/proc/sys/net/ipv4/ip_forward

#generar salida de la red LAN hacia el internet
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

#forzar a que toda salida http pase por Squid
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

#permitir salida de DNS
iptables -A FORWARD -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -p udp --sport 53 -j ACCEPT

#permitir salida al puerto udp 7779
iptables -A FORWARD -s 192.168.2.10 -p udp --dport 7779 -j ACCEPT
iptables -A FORWARD -d 192.168.2.10 -p udp --sport 7779 -j ACCEPT

iptables -A FORWARD -s 192.168.2.11 -p udp --dport 7779 -j ACCEPT
iptables -A FORWARD -d 192.168.2.11 -p udp --sport 7779 -j ACCEPT

#permitir salida al puerto tcp 7777
iptables -A FORWARD -s 192.168.2.10 -p tcp --dport 7777 -j ACCEPT
iptables -A FORWARD -d 192.168.2.10 -p tcp --sport 7777 -j ACCEPT

iptables -A FORWARD -s 192.168.2.11 -p tcp --dport 7777 -j ACCEPT
iptables -A FORWARD -d 192.168.2.11 -p tcp --sport 7777 -j ACCEPT

Cuando trabajes declarando los puertos a cruzar, debes hacerlo en ambos sentidos, como habras notado, caso contrario, no hay conexion.

Igual modo que el de DNS, seria para smtp, pop, https, ping y cuanta conexion requieras.

Hay mas comodines y accesorios para un script. Revisa el Linux Security Cookbook.

Respecto al messenger, este saldria por el puerto http 80, que seria reenviado por el squid. Al menos ya tienes manera de encaminar al messenger que, usa cualquier conexion tcp dispònible y el firewall en DROP lo obliga a pasar por el squid.

Si deseas filtrar el uso del messenger ya sea bloqueandolo por completo o sino, dandole uso a determinada ip de la LAN, ensaya unas listas de acceso en squid de tal modo que en una pongas las ip y en la otra las librerias de conexion del messenger que son gateway.dll y ^application/x-msn-messenger.

MIGUEL.

al parecer son los drivers de nvidia

tal parece que mi problema tiene que ver con lo drivers de nvidia, sabes algo acerca de ello, como ya lo dije antes soy novato en las distros de linux, pero es algo genial he aprendido mucho en estos dias, de antemano gracias.

Creo que el error es:

Utilizar la directiva Safe_ports, que le indica al proxy que permita el tráfico por dichos puertos...
acl Safe_ports port 7777 7779 etc....

************

acl SSL_ports
se refiere a puertos donde se emplea https://, es decir secure sockets layer, que no es tu caso...

*******************
http://sangrenegrv.blogspot.com
Desktop y multimedia sobre FC

messenger live bloqueado

El scrip es todo un exito en taquilla jeje, pero el messenger no funciona, ¿tendria que hacer otro direccionamiento o darle permisos de comunicacion a este programa?, de antemano gracias de nuevo, salu2 Miguel C.

messenger live bloqueado

El scrip es todo un exito en taquilla jeje, pero el messenger no funciona, ¿tendria que hacer otro direccionamiento o darle permisos de comunicacion a este programa?, de antemano gracias de nuevo, salu2 Miguel C.

El messenger si sale...por

El messenger si sale...por el squid claro esta.

El squid lleva a todos los puerto 80 al 3128 y si no has bloqueado por squid al messenger...si sale.

Ahora, que si tuvieras que darle salida tcp al messenger, en caso sea necesario, tendrias que agregarle al script de firewall algo como esto:

iptables -A FORWARD -p tcp --dport 1863 -j ACCEPT
iptables -A FORWARD -p tcp --sport 1863 -j ACCEPT

Donde el puerto tcp 1863 es el puerto de fabrica del messenger, aunque no lo creo necesario, salvo como dije antes, que hallas bloqueado al messenger con el squid.

MIGUEL.

Sin conexion aun

hola de nuevo Miguel C., he hecho algunas pruebas con tus sugerencias, he ahregado acl's en mi squid pero nada, probe la regla iptables que mecionaste con una sola maquina de la siguiente manera:
iptables -A FORWARD -s 192.168.2.11 -p tcp --dport 1863 -j ACCEPT
iptables -A FORWARD -d 192.168.2.11 -p tcp --sport 1863 -j ACCEPT

pero no me deja conectar el messenger de esa direcciòn
monto la configuracion de mis acl's y https implementadas en mi squid quizas sea su configuracion la que no me de acceso al messenger

acl all src 0.0.0.0/0.0.0.0
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
acl permitidos src "/etc/squid/directions"
acl deny_sites url_regex "/etc/squid/deny_sites"
acl deny_files urlpath_regex "/etc/squid/deny_files"
acl SSL_ports port 443
acl Safe_ports port 80 # http
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 1025-65535 # unregistered ports
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 CONNECT method CONNECT

# "Esto viene por defaul'
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports

# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
# "http's Access agregados"
http_access allow localhost
http_access deny deny_files
http_access deny deny_sites
http_access allow permitidos
http_access deny all

tal vez sea que el puerto del messenger no se encuentra en las acl's Safe_port's

una vez mas agradesco tu apoyo salu2 Miguel C.

Si en tu lista deny_sites o

Si en tu lista deny_sites o deny_files no hay ninguna sentencia que diga:
gateway.dll
application/x-msn-messenger

...cualquier usuario o IP de tu LAN deberia poder usar messenger, caso contrario, estas denegando al messenger.

Ambas instrucciones antes mencionadas bloquean al messenger.

MIGUEL.

Sin esperanzas

Hola Miguel C., te comento lo de mis archivos deny_sites, deny_files; en estos no tengo ninguna aplicacion referente al messenger o a archivos .dll, el bloqueo de redes p2p ha sido todo un exito pero esto a ocacionado el bloque del messenger, tambien he probado por medio de la creacion de acl's para permitir y no negar el servicio del messenger, voy a tratar de seguir instalando y probando otros modulos, agradesco la ayuda proporcionada y si tienes alguna otra sugerencia te lo agredeceria. salu2 Miguel C.
dejo mi correo osopal@hotmail.com

Facilita la salida del

Facilita la salida del messenger sino.

Hazle al reves.

Haz una ACL "conexion_msn" y alli declaras a gateway.dll y application/x-msn-messenger.

Y luego la ejecutas con http_access allow conexion_msn

Con esto esta indicando al squid que deje salir los conectores de messenger basados en esas librerias.

Revisa el trabajo en linea del squid mediante:
tail -f /var/log/squid/access.log | grep ip_pc_que_saldria_a_messenger

Si alli aparecera como TCP_MISS cuando conectes a messenger. Listo.

Sino, te dira TCP_DENY y mostrara el conector denegado y ese lo anotas en tu ACL "conexion_msn"

MIGUEL.

Crear Lista de acceso y Adminsitracion web

hola:

Soy nuevo aca.
Como se configura la lsita de acceso? puedo habilitar ciertas direcciones ip a Internet Full y otro segmento con restricciones?
Es posible adminsitrar Squid via web?

Gracias y saludos.
DarkGame
¿El Microsoft Linux viene con Mozilla? :P

Aun no lo logro

Hola estimado Miguel C.
Andube ausente unos dias pero he regresado a molestarte, he agregado las lineas sugeridas pero sigo son conexion al messenger, tambien he notado que cuando bloqueo todo cuanto pasa, se me bloquean algunos sitios como lo es yahoo, siendo que este sitio no esta bloqueado en el squid a que crees que se deba, Por el momento es todo voy a seguir tratando de implementar el modulo ipp2p haber si logro instarlo y comentarte otros resultados, de antemano gracias

aqui dejo las lineas agregadas al squid:

acl conexion_msn url_regex gateway.dll
http_access allow conexion_msn

espero que esten correctas, de lo contrario hacermelo saber, gracias de nuevo.

Prueba dejando pasar el

Prueba dejando pasar el puerto 80 a determinada IP lan, con esto haras que el messenger salga y alli examinas el proxy a que libreria .dll se refiere cuando hace conexion.

Luego, crea una lista permit_sites donde detalles yahoo y cuanto otro dominio deba salir sin restriccion y al inicio de tu declaratoria de listas, asi como a toda lista que desees habilitar para que permita...siempre ponla al inicio de todas las declaraciones.

Esto tambien va para el tema messenger.

Caso contrario...no hace efecto en permitir salida.

http_access allow permit_site

Y al final...el cierre o restriccion general.

MIGUEL.

ayuda

Salu2 Miguel C

he ejecutado la linea:
tail -f /var/log/squid/access.log

y devuelve lo siguiente:
1223479949.991 470 192.168.2.11 TCP_MISS/200 7504 POST http://207.46.109.22/gateway/gateway.dll? - DIRECT/207.46.109.22 application/x-msn-messenger

1223480702.748 262 192.168.2.11 TCP_MISS/200 468 POST http://gateway.messenger.hotmail.com/gateway/gateway.dll? - DIRECT/65.54.239.211 application/x-msn-messenger

1223480702.939 169 192.168.2.11 TCP_MISS/200 631 POST http://207.46.109.70/gateway/gateway.dll? - DIRECT/207.46.109.70 application/x-msn-messenger

en el archivo squid.conf tengo lo siguiente:
acl all src 0.0.0.0/0.0.0.0
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
acl permitidos src "/etc/squid/directions"
acl deny_sites url_regex "/etc/squid/deny_sites"
acl permit_sites url_regex "/etc/squid/permit_sites"
acl SSL_ports port 443
acl Safe_ports port 80 # http
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 1025-65535 # unregistered ports
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 CONNECT method CONNECT
acl conexion_msn url_regex -i ^gateway.dll?
acl messenger rep_mime_type -i ^application/x-messenger$
acl msn_port port 1863

http_access allow localhost
http_access deny deny_sites
http_access allow permit_sites
http_access allow messenger
http_access allow conexion_msn
http_access allow msn_port
http_access allow permitidos
http_access deny all

en el archivo deny_sites tengo lo siguiente:
playboy
youtube.com
cinetube.es
porntube.com
tu.tv
megavideo.com

el archivo permit_sites contiene:
messenger.hotmail.com
yahoo.com

el archivo firewall.sh almacena lo siguiente:
#limpieza general de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

#politica por defecto para lo que cruza
iptables -P FORWARD DROP

#crear conexion de tarjetas y salida de LAN a internet
echo 1 >/proc/sys/net/ipv4/ip_forward

#generar salida de la red LAN hacia el internet
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

#forzar a que toda salida http pase por Squid
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

#permitir salida de DNS
iptables -A FORWARD -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -p udp --sport 53 -j ACCEPT

#permitir salida al puerto udp 7779
iptables -A FORWARD -s 192.168.2.10 -p udp --dport 7779 -j ACCEPT
iptables -A FORWARD -d 192.168.2.10 -p udp --sport 7779 -j ACCEPT

iptables -A FORWARD -s 192.168.2.11 -p udp --dport 7779 -j ACCEPT
iptables -A FORWARD -d 192.168.2.11 -p udp --sport 7779 -j ACCEPT

#permitir salida al puerto tcp 7777
iptables -A FORWARD -s 192.168.2.10 -p tcp --dport 7777 -j ACCEPT
iptables -A FORWARD -d 192.168.2.10 -p tcp --sport 7777 -j ACCEPT

iptables -A FORWARD -s 192.168.2.11 -p tcp --dport 7777 -j ACCEPT
iptables -A FORWARD -d 192.168.2.11 -p tcp --sport 7777 -j ACCEPT

iptables -A FORWARD -p tcp --dport 1863 -j ACCEPT
iptables -A FORWARD -p tcp --sport 1863 -j ACCEPT

Esta es la ultima configuracion funcionando con squid e iptables, lo cierto es que no me da resultado para poder filtrar el messenger de hotmail, ademas de la pagina de correo de yahoo, espero me puedas seguir ayudando y no desistir, gracias nuevamente Miguel

Si notas el log

Si notas el log 1223480702.748 262 192.168.2.11 TCP_MISS...
1223480702.748 262 192.168.2.11 TCP_MISS... y
1223480702.939 169 192.168.2.11 TCP_MISS... respectivamente te indica que esta resolviendo conexion al messenger.

TCP_MISS es indicador de haber logrado conexion a messenger o a cualquier evento no filtrado, caso contrario seria TCP_DENY.

Pero, para verificacion adicional, modifica esto en tu configuracion.

En squid.conf quita:
acl conexion_msn url_regex -i ^gateway.dll?
acl messenger rep_mime_type -i ^application/x-messenger$
http_access allow conexion_msn

Al http_access allow permit_sites ponlo primero de las declaraciones arriba de localhost, EL ORDEN AFECTA LA FUNCION.

Usas yahoo.es? agregalo al permit_sites. Aunque por lo contenido en deny_sites deberia salir sin tramites.

En tu iptables quita:
iptables -A FORWARD -p tcp --dport 1863 -j ACCEPT
iptables -A FORWARD -p tcp --sport 1863 -j ACCEPT

Con ambos cambios saldria messenger y dispondrias de yahoo sin necesidad de nominarlo en squid.

MIGUEL.

tal parece que es el firewall.sh

he realizado las modificaciones sugeridas Miguel, pero siguen sin dar resultado, lo cierto es que cuando habilito la linea:
iptables -P FORWARD DROP
que se encuentra en el scrip firewall.sh la conexion del messenger se bloquea, pero si deshabilito la linea mencionada el messenger entra sin ningun problema, existe otra forma de bloquear los puertos para las redes p2p, ya que si recuerdas en un principio queria bloquear los programas como: Ares, LimeWire, Kazza entre otros, a fin de evitar el exceso del consumo de banda a la red de internet, o tal vez mi version de squid no es la adecuada y no soporta las configuraciones que hemos hecho?, la version de mi squid es: squid2.6 stable19.
Agradesco la ayuda que me ha sproporcionado, salu2