viernes, 28 de mayo de 2010

ACERCA DE SQUID

Squid es un Servidor Intermediario (Proxy) de alto desempeño que se ha venido desarrollando desde hace varios años y es hoy en día un muy popular y ampliamente utilizado entre los sistemas operativos como GNU/Linux y derivados de Unix®. Es muy confiable, robusto y versátil y se distribuye bajo los términos de la Licencia Pública General GNU (GNU/GPL). Siendo sustento lógico libre, está disponible el código fuente para quien así lo requiera.

Entre otras cosas, Squid puede funcionar como Servidor Intermediario (Proxy) y caché de contenido de Red para los protocolos HTTP, FTP, GOPHER y WAIS, Proxy de SSL, caché transparente, WWCP, aceleración HTTP, caché de consultas DNS y otras muchas más como filtración de contenido y control de acceso por IP y por usuario.

Squid consiste de un programa principal como servidor, un programa para búsqueda en servidores DNS, programas opcionales para reescribir solicitudes y realizar autenticación y algunas herramientas para administración y y herramientas para clientes. Al iniciar Squid da origen a un número configurable (5, de modo predefinido a través del parámetro dns_children) de procesos de búsqueda en servidores DNS, cada uno de los cuales realiza una búsqueda única en servidores DNS, reduciendo la cantidad de tiempo de espera para las búsquedas en servidores DNS.

SERVIDOR PROXY SQUID

Squid es una aplicaciones multiplataforma que se encuentra en si versión 3.0 y bajo la licencia GNU/GPL (GNU General Public Licence), Squid llego a la cima de la popularidad entre tantas aplicaciones similares debido a las grandes caracteristicas que cuenta y los servicios que podemos incorporarle o activarlos, por ejemplo la implementación de un cache de URL, o el filtrado de tráfico entre los clientes, de hecho este tipo de servidores fue en un principio diseñado y adaptado para los entornos basados en los sistemas Unix.

Squid fue ideado, programado y diseñado durante varios años.
ALGUNAS CARACTERISTICAS QUE NOS BRINDA:
Proxy cache para los protocolos HTTP, FTP y otras peticiones o URL, de este modo vemos que implementa el uso del cache almacenando las peticiones más reciente por los usuarios, brindando de alguna manera una cuota de rapidez a la navegación.

Proxy para SSL, Squid también es compatible con SSL (Secure Socket Layer) con lo que también podemos ver como se aceleran las transmisiones cifradas.

Una característica que es muy propia de Squid es su jerarquía de Cache, esto significa que podemos tener diferentes rangos entre los cache, tanto de padres, hijos y hermanos, en la cual por ejemplo podrían ir preguntando la existencia de laguna petición antes de salir a buscarla a internet y luego almacenarla en el cache.

ICP, HTCP, CARP y otros cache digitales, lo cual permite a un proxy “preguntarle” a otros proxy cache si es que poseen algún recurso solicitado.
COMO VIMOS EL CONCEPTO el concepto de cache transparente, en Squid es posible llevarlo a cabo en la practica configurando algunas opciones dentro de los archivos de configuración, de esta manera los usuarios de la red no podrán saltar el servicio de Squid.

Implementa el Control de Acceso, por medio de reglas, permite establecer políticas de acceso en forma centralizada, de este modo se simplifica notablemente la administración de la red, sobre todo cuando la misma posee muchas terminales.

jueves, 27 de mayo de 2010

CONFIGURACION DEL SERVIDOR PROXY SQUID

Squid utiliza el archivo de configuración localizado en /etc/squid/squid.conf, y se puede editar con el siguiente comando, en modo consola (terminal)

sudo gedit /etc/squid/squid.conf

Para editar al menos los siguientes parámetros:

http_port

cache_dir

Al menos una Lista de Control de Acceso

Al menos una Regla de Control de Acceso

httpd_accel_host

httpd_accel_port

httpd_accel_with_proxy

Parámetro http_port
Los Puertos Registrados recomendados para Servidores Intermediarios (Proxies) pueden ser el 3128 y 8080 a través de TCP.

# You may specify multiple socket addresses on multiple lines.

# Default: http_port 3128

http_port 3128

http_port 8080

Si se desea incrementar la seguridad, puede vincularse el servicio a una IP que solo se pueda acceder desde la red local. Considerando que el servidor utilizado posee una IP 10.140.111.1, puede hacerse lo siguiente:

# You may specify multiple socket addresses on multiple lines.

# Default: http_port 3128

http_port 10.140.111.1:3128

http_port 10.140.111.1:8080

Parámetro cache_mem.

El parámetro cache_mem establece la cantidad ideal de memoria para lo siguiente:

Objetos en tránsito.

Objetos frecuentemente utilizados (Hot).

Objetos negativamente almacenados en el caché.

De modo predefinido se establecen 8 MB. Si se posee un servidor con al menos 128 MB de RAM, 16 MB es el valor para este parámetro:

cache_mem 16 MB

Parámetro cache_dir:

El parámetro cache_dir se utiliza para establecer que tamaño se desea que tenga el caché en el disco duro para Squid. De modo predefinido Squid utilizará un caché de 100 MB, de modo tal que encontrará la siguiente línea:



cache_dir ufs /var/spool/squid 100 16 256

Mientras más grande sea el caché, más objetos se almacenarán en éste y por lo tanto se utilizará menos el ancho de banda. La siguiente línea establece un caché de 700 MB:

cache_dir ufs /var/spool/squid 700 16 256

Los números 16 y 256 significan que el directorio del caché contendrá 16 directorios subordinados con 256 niveles cada uno.

Parámetro ftp_user.

Al acceder a un servidor FTP de manera anónima, de modo predefinido Squid enviará como clave de acceso Squid@. Puede establecerse una dirección de correo especificada como clave de acceso:

ftp_user proxy@gmail.com

ventajas y desventajas de los proxys

Algunas de las ventajas que podemos llegar a implementar en los proxys son las siguientes:

* En primer lugar un proxy nos permite agregarle un CONTROL, en cuanto a la navegación y la utilización de internet, debido a que tenemos la posibilidad de limitar y restringir recursos a los usuarios.
* Utiliza una arquitectura muy definida de cliente/servidor en donde sería posible adaptarlo e incorporarlo a nuestro sistema de red sin ningún problema.
* Por otro lado podemos contar con algo de VELOCIDAD, si por ejemplo varios usuarios realizan las mismas peticiones al servidor proxy, el mismo puede contar con o hacer como cache, en donde guarda las respuestas a esas peticiones para brindarlas a otros usuarios de manera más rápida. Lo cual de este modo se ahorra de buscar esas peticiones en internet y brindarlas a los clientes.
* Como otra ventaja que encontramos es el de FILTRADO, ya que es posible negar algunas peticiones realizadas al servidor, si es que el mismo detecta que son prohibidas o que puedan existir reglas que indiquen que son inaccesibles.



Así como enumeramos algunas ventajas que encontramos en los proxy, sería bueno también conocer algunas desventajas que encontramos. Por ejemplo

* Debemos tener muy en claro que el servidor debe contestar todas las peticiones de todos los usuarios, esto obviamente va a depender de la cantidad de puestos u ordenadores que cuenta nuestra red. Además debemos conocer cuales son los servicios configurado, las respuestas deberían de ser casi instantáneas para que el rendimiento de nuestra red no disminuya.
* Implementar un proxy puede que no sea del agrado de muchos de los usuarios que navegan, esto es por la intromisión que tiene el proxy como intermediario entre el origen y el destino de cada una de las peticiones.
* Almacenar información en el cache del proxy, hace que muchas veces los sitios en lo que acceden los usuarios no siempre este actualizada debido a este almacenamiento temporal.

Otro concepto que se asocia a los proxys es el de Proxy Transparente, esto significa que el usuario en realidad no conoce que esta accediendo y realizando peticiones a un proxy, de lo contrario el usuario cambiando algunas configuraciones podría llegar a evadir y saltar al servidor Proxy.

COMPONENTES DE SQUID

Los componentes de Squid se instalan en los siguientes directorios:

Archivos/Directorios
Descripción

/usr/sbin/
Directorio del ejecutable.

/var/run/
Archivo con el PID del proceso.

/var/log/squid/
Directorio de logs. Relacionado con la directiva access_log.

/var/spool/squid/
Directorio caché. Relacionado con cache_dir.

/etc/squid/
Archivos de configuración.

/usr/lib/squid/
Complementos.

/etc/rc.d/
Scripts de arranque.

/usr/share/doc/squid/
Documentación.

CONTROLES DE ACCESO

Las Listas de Control de Acceso definen una red o bien ciertas máquinas en particular. A cada lista se le asignará una Regla de Control de Acceso que permitirá o denegará el acceso a Squid.
Listas de control de acceso, se establecen con la siguiente sintaxis:
acl [nombre de la lista] src [lo que compone a la lista]
Si se desea establecer una lista de control de acceso que abarque a toda la red local, basta definir la IP correspondiente a la red y la máscara de la sub-red. Por ejemplo, si se tiene una red donde las máquinas tienen direcciones IP 10.140.111.n con máscara de sub-red 255.255.255.0, podemos utilizar lo siguiente:



acl miredlocal src 10.140.111.0/255.255.255.0

Más conveniente es definir una Lista de Control de Acceso especificando un archivo localizado en cualquier parte del disco duro, y la cual contiene una lista de direcciones IP.:

acl permitidos src "/etc/squid/permitidos"

El archivo /etc/squid/permitidos contendría algo como siguiente:



10.140.111.2

10.140.111.3

10.140.111.4

10.140.111.5

10.140.111.6

Listas de control de acceso: Bloqueo de Dominios de Destino.

Es conveniente definir una Lista de Control de Acceso especificando los dominios bloqueados en un archivo localizado en cualquier parte del disco duro, y la cual contiene una lista de los dominios:

acl bloqueados dstdomain "/etc/squid/bloqueados"

El archivo /etc/squid/bloqueados contendría algo como siguiente:

www.microsoft.com

www.ibm.com

www.hotmail.com


Reglas de Control de Acceso.

Las Reglas de control de Aceso definen si se permite o no el acceso hacia Squid. Se aplican a las Listas de Control de Acceso. Deben colocarse en la sección de reglas de control de acceso definidas por el administrador.

VIDEOS TUTORIALES

EN ESTE LINK PODRAN VER LA CONFIGURACION DEL SERVIDOR PROXY SQUID



servidor proxy squid en linux suse


otro video en el cual veran la instalcion del servidor proxy squid en ubuntu