1. Skip to Menu
  2. Skip to Content
  3. Skip to Footer>

Interesante

  • Cómo utilizar los sockets en Linux
    En este artículo explicaré el funcionamiento básico de los sockets en Linux y veremos dos ejemplos prácticos de su uso. No me meteré en temas de eficiencia o temas demasiado técnicos en la explicación del protocolo IP y de TCP ni UDP. El usuario debe tener unos conocimientos básicos en la programación en Linux así como de redes.

    Para poder probar estos ejemplos necesitas un sistema Linux o Unix. Un compilador de C, yo los he probado tanto con cc como con gcc.

  • Cómo configurar Postfix Courier y MySQL Postfix Courier y MySQL

    1. ¿Por que este documento?

    Me he decidido a escribir este documento ya que los que busqué al intentar hacer la instalación de este trío no llegaron a gustarme.

  • Cómo autentificar Squid contra OpenLDAP
    Autenticando Squid contra OpenLDAP

    Dado que últimamente se esta poniendo de moda hacer uso de un Servidor de Directorios LDAP, para unificar la autenticación de varios servicios en un sistema Linux, vamos a ver una manera (no es la única, pero si la que a mi me ha funcionado) de autenticar el proxy Squid, contra OpenLDAP. Evidentemente, antes de nada, instalaremos nuestro Servicio de Directorios y migraremos los usuarios de nuestro sistema.



  • Debian para principiantes
    A tí que instalaste Debian te hablo. Sí, a tí. Mi intención es en este pequeño artículo darte algunas herramientas para moverte en esta distribución.
    Este artículo no cubre la instalación, eso ya está descrito en muchas partes, además si tienes suerte alguien ya te ayudó o lo hizo por tí. El tema es que después te quedas solo, en frente del teclado, pensando si hiciste bien en meterte en esto de Linux.
    Se presupone, eso sí, un conocimiento básico de cómo se usa un Unix, comandos, manipulación de archivos, etc. Este artículo está orientado a la administración.

  • Manual de IPTABLES
    En este manual se muestran las habituales arquitecturas de redes con firewall y la forma de montar iptables para cada caso, con distintas opciones para cada ejemplo.

    1.2 Revision: añadidos los mismos casos pero con DROP por defecto.

    Por: Pello Xabier Altadill Izura

  • Cómo instalar NIS + NFS

    Procedimientos

    En el Servidor para poner NIS

    1. domainname nombre-de-dominio
    2. cd /var/yp
    3. mkdir nombre-de-dominio
    4. service portmap restart
    5. service ypserv restart
    6. service ypbind restart
    7. make
    8. En el servidor deben de estar seleccionados los servicios para arrancar desde inicio                                                                                                                                             
      • ypserv
      • ypbind
      • portmap
                        
                                
                      

    En el cliente para escuchar NIS

    1. En gnome seleccionar Aplicaciones -> System settings -> Authentication
    2. Marcar la casilla "Enable NIS Support"
    3. Seleccionar "Configure NIS..."
    4. En NIS Domanin escribir el nombre del dominio NIS creado
    5. En NIS Servidor ponr la ip del Servidor NIS
    6. En el servidor deben de estar seleccionados los servicios para arrancar desde inicio                                                                           
      1. ypbind
      2. portmap                                                  


    Ahora la parte NFS del Servidor

    1. como root cd /home
    2. mkdir nfs (aqui van a quedar todos los homes de los usuarios creados)
    3. cd /etc
    4. vi exports
    5. Agregar la siguiente linea

      /home/nfs rango.de.ips.de.red(rw,sync,no_root_squash)
      En mi caso particular la linea se ve asi:
      /home/nfs/ 192.168.1.*(rw,sync,no_root_squash)
    6. Reiniciar el demonio nfs con service nfs restart
    7. Los servicios que deben inicarse en el arranque para NFS son                                                                                      
      • netfs
      • nfs
      • nfslock
      • portmap

                         

                             

    Ahora la parte NFS en el cliente

    1. como root cd /etc
    2. vi fstab
    3. agregar la siguiente linea
      192.168.1.1:/home/nfs   /home/nfs    nfs   defaults    0 0
    4. mount -a
    5. Los servicios que deben inicarse en el arranque para NFS son                                                                                                          
      • netfs
      • nfs
      • nfslock
      • portmap

                                            

                          

    Agregando usuarios en el Servidor NIS

    La parte importante de agregar los usuarios en el NIS Servidor, es que, su directorio home no debe de quedar dentro de /home, sino dentro de /home/nfs/usuario.

    Con la utileria "Users & Groups", al agregar al usuario ejemplo, le decimos que su direcotorio personal quede dentro de /home/nfs/ejemplo.

    En el Servidor, es importante loggearse como el usuario recien creado, para que despues sea disponible en cualquier equipo de la red.

    Despues de loggearse y salir de la session como el usuario recien creado, el siguiente paso es (como root)

    1. cd /var/yp
    2. make
    3. service portmap restart
    4. service ypserv restart
    5. service ypbind restart
    6. Ir a la maquina cliente y loggearse como el usuario recien creado en el NIS Servidor. Todo debe de funcionar.


    Fuente:

    Kwame
    daniel arroba informatux.net
    http://www.informatux.net/
    Original: LinuxParaTodos

    Copyright.

    © 2003 Kwame. Se permite la libre distribución y modificación de este documento por cualquier medio y formato mientras esta leyenda permanezca intacta junto con el documento y la distribución y modificación se hagan de de acuerdo con los términos de la Licencia Pública General GNU publicada por la Free Software Fundation; sea la versión 2 de la licencia o (a su elección) cualquier otra posterior. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.

    Technorati Tags:
    >>

11
Sep

Cómo configurar Squid Proxy Caché

Escrito por J. Llorente

PDFImprimir E-mail
PROXY-CACHE

Squid es el servidor de proxy y cache por excelencia. Rechace imitaciones.

Cuando navegamos a traves de un proxy, cada peticion que hace nuestro navegador se delega al servidor proxy y es este el que se descarga la pagina o el elemento web que se ha solicitado y se lo pasa a nuestro navegador. Por tanto es un intermediario entre los usuarios y la web. Al estar en medio de ese trafico puede realizar dos funciones muy importantes: controlar los accesos (permitir o denegar segun se disponga en sus normas); y ademas hacer cacheo de elementos (paginas web, imagenes, iconos que una vez se piden se guardan en la memoria del proxy), con lo que si se solicita un elemento que ya se ha pedido en lugar de volver a bajarselo de internet, lo sirve el propio proxy. Con esta tecnica de cache nos podemos ahorrar desde un 20 a un 40% de trafico de internet.

Squid es un servidor con años y mucha solera, presente en el mundo u*ix y linux. Dispone de un sistema de reglas complejo para el control de la navegacion, y lo que es mas, un protocolo propio ICP, para intercomunicar proxyes.

Squid es capaz de cooperar on otros servidores Squid y formar jerarquías de proxys. También es posible configurar el Squid como un servidor de proxy inverso. ¿Qué es eso? un acelerador de HTTP. Sirver para webs con muchos accesos, en los que se suele poner una maquina delante del servidor web con un squid inverso para servir las paginas y el contenido de la web mas rápidamente. Ver aquí. y aquí.

* Venga vale, tengo una red local y quiero configurar el proxy para que los usuarios de la red local pasen por el aro del proxy. Ademas con eso podre registrar sus accesos, jejeje. Como hacemos eso?

Si no cambiamos nada, el proxy escucha por defecto en el puerto tcp 3128

El fichero de configuración de squid es: squid.conf

Editamos el fichero y añadimos una regla (junto al resto de reglas definidas):
...
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
acl Mi.Red.Local src 192.168.100.0/24

Vale! ya tenemos una regla creada. Pero no hay que olvidar aplicarla!! un poco más abajo, podemos añadirla, pero atención!! el orden en el que pongamos la regla es crucial, ya que jugando con el orden se aplicaran unas reglas u otras:

#Recommended minimum configuration:
#
# 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
#
# And finally deny all other access to this proxy
http_access allow localhost
http_access allow Mi.Red.Local
http_access deny all

Ya esta! añadiendo esa regla nuestra red local ya tendra permiso para utilizar el proxy! Pero cuidado, fijemonos en la s reglas que le rodean. Antes de llegar a la regla de nuestra red local, denegamos cualquier puerto webdistinto (simbolo !) a los definidos en las acl de arriba; lo mismo se hace con los puertos SSL, el proxy solo servira páginas con puerto seguro que hayamos definido (443 por ejemplo). Si desde la red local quieren acceder a una web de un banco que esta en puerto SSL raro (por ejemplo 8084), habrá que añadir ese puerto en la ACL. Asimismo, la última regla es "deny all", esto es, cualquier otra cosa se deniega (Es imprescindible hacerlo porque es muy peligroso permitir usar el proxy a cualquiera., pueden usar nuestro proxy para ataques o para hacer SPAM. De todas formas, también se puede cerrar el puerto del proxy por firewall).

Jo! es que somos unos vagos y no queremos andar así!! Entonces mejor dar permiso para todo:
podemos coger(che, no me entiendan mal boludos) la regla de nuestra red local y ponerla arriba del todo,
pero manteniendo la regla final de deny all.

Y como configuramos el navegador? especificamos el servidor proxy, y el puerto sera el 3128 por defecto.

Cuando al proxy le llega una petición, se comprueba en orden cada regla hasta que alguna sea aplicable, y cuando se aplique ya no se miran mas reglas.


* Restricciones:

Para ilustrar las restricciones, contestaremos este mail que recibimos recientemente:
Soy un gerente malvado de una empresa, quiero que mis empleados solo usen internet a determinadas horas,
que no puedan descargarse mp3 o videos avi, que no puedan acceder a la web de marca ni a la de yonkis.com.
Eso si: desde mi equipo quiero hacer lo que me salga de los piiiiiiiiiiiii. Jar jar jar!!

Oido barra! todo eso se puede restringir con el proxy squid. Hay muchos tipos de reglas de squid, incluidas unas muy potentes que permiten usar expresiones regulares.
La regla para limitaciones horarias:

acl name time [lista_dias] [hora_inicio:minuto-hora_final:minuto]
donde lista_dias: MTH (
osea: S - Sunday M - Monday T - Tuesday W - Wednesday H - Thursday F - Friday A - Saturday)
Por ejemplo:
acl RestringirPorHoras time 9:00-10:00

Y si añadimos la regla:
...
http_access deny !RestringirPorHoras
http_access allow Mi.Red.Local
http_access deny all

Ya esta! denegamos el acceso a horas distintas de el margen: 9:00-10:00

Si aplicamos esta regla cerraremos el acceso a yonkis y marca.
acl dominiosChungos dstdomain yonkis.com marca.es

Y si aplicamos esta podremos denegar el acceso a ficheros .mp3 y .avi
acl denegarURL url_regex -i \.mp3$ \.avi$

Venga las aplicamos:
....
http_access deny !RestringirPorHoras
http_access deny denegarURL
http_access deny dominiosChungos
http_access allow Mi.Red.Local
http_access deny all

Pero por supuesto, hay una persona (el malvado gerente) al que no hay que restringirle nada, y eso lo hacemos asi:

acl IPGerente src 192.168.100.3/32

Y aplicamos
...
http_access allow IPGerente
http_access deny !RestringirPorHoras

http_access deny denegarURL
http_access deny dominiosChungos
http_access allow Mi.Red.Local
http_access deny all

Voila! jugando con el orden de las reglas, cuando el gerente use el proxy jamas se le aplicaran las reglas restrictivas, ya que hemos metido una regla que le permite salir y esta ENCIMA de las retricciones. Se "matchea" esa regla y las demas no se miran. No entiendes esto? Mira si hacemos

http_access allow all
http_access allow IPGerente
http_access deny !RestringirPorHoras

http_access deny denegarURL
http_access deny dominiosChungos
http_access allow Mi.Red.Local
http_access deny all

Si al principio del todo ponemos allow all, por muchas reglas que metamos despues, siempre se aplicara la primra regla y las demas yo ni se miraran.

 

¿Y si se quiere limitar el tamaño de archivos que se descargan los usuarios?
Ahí tenemos un problema, de momento parece que squid lo puede hacer. Si que tiene una directiva de gestion de cache para limitar el tamaño de ficheros que se guardan en la cache, pero no es eso lo que interesa.

¿Quereis más?

El proxy-cache squid esta muy documentado y no sera dificil que encontreis ayuda. Esta es la documentación oficial:

http://squid-docs.sourceforge.net/latest/html/book1.html

* Autenticación, usuario y password para navegar:

Squid incorpora un mecanismo para que los usuarios tengan que identificarse cada vez que abran el explorer y quieran navegar. La forma más simple es usando la autenticación simple con usuario/passwd sacados de un fichero de texto. Para ello debemos activar la directiva: authenticate_program
authenticate_program /usr/lib/squid/ncsa_auth /etc/squid/passwd

Y atención! ahora hay que añadir una ACL para activar esta opción. Una vez más, jugando con el orden de las reglas podremos aplicarlo a unos si y a otros no. La ACL se definiría así.

acl password-navega proxy_auth REQUIRED

Y la aplicariamos así.

http_access allow password-navega
http_access deny !RestringirPorHoras
http_access deny denegarURL
http_access deny dominiosChungos
http_access allow Mi.Red.Local
http_access deny all

La gran ventaja que tenemos aquí es que se puede modificar el sistema de autentificación, hasta el punto de conseguir que la autentificacion se haga contra el PDC o servidor principal de dominio de una red windows. Que ventaja tiene eso? obviamente que los usuarios no tengan un password para cada cosa. Es complejo, pero se puede hacer con winbind y samba.

nota: usando este sistema, en los logs veremos el nombre de usuario para cada petición.

* Proxy transparente:

Podemos usar un proxy en la red local, pero siempre habrá usuarios malvados que se desconfiguren el proxy del navegador. Para que sigan pasando por el aro, o visto de otro modo, para que nadie se tenga que preocupar de configurar el proxy en su navegador, podemos usar la técnica del proxy-transparent. Esto va unido al sistema de firewall, y hacemos que todas las peticiones al puerto 80 se redirigan al puerto del proxy.
Además de eso, en el proxy debemos añadir estas lineas de configuración:

## Proxy transparent
httpd_accel_host virtual
httpd_accel_port 80 443 8080 19720 19721 10000
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

httpd_accel_single_host off

Esto puede variar de un linux a otro, en redhat ira bien. Este tema también esta muy documentado.
Tiene una pega: no se puede hacer proxy transparente de conexiones SSL.

* Mi proxy no funciona y tu guia es una bassssura

Vale, es posible, pero hay que aprender a depurar los servidores. El proxy squid genera logs como muchos otros programas, y podemos echarle un vistazo:

/var/log/messages (o /var/log/syslog dependiendo del Linux)

y ademas:

/var/log/squid/access.log (aqui vemos los accesos y sobre este fichero se puede aplicar el analisis de log y generar informes de navegación)

/var/log/squid/cache.log (log de cache de objetos)



Fuente:

Pello Xabier Altadill Izura - www.pello.info

Technorati Tags:
>>

Agregue su comentario

Tu Nombre:
Asunto:
Comentario:

Últimos contenidos

Facebook conecta

Total visitas

3638545
38.107.179.230
UNITED STATES
US

Quien está en linea

Tenemos 47 invitados conectado(s)

Conectan

Locations of visitors to this page

Nos visitan desde

Últimos comentarios

Vitales Servidor