Servicio de Proxy HTTP

Introducción al servicio de Proxy HTTP

Zentyal utiliza Squid [1] para proxy HTTP junto a Dansguardian [2] para el control de contenidos.

[1]http://www.squid-cache.org/
[2]http://www.dansguardian.org/

Configuración del Proxy HTTP con Zentyal

Para configurar el proxy HTTP iremos a Proxy HTTP ‣ General. Podremos definir si el proxy funciona en modo Proxy Transparente para forzar la política establecida o si por el contrario requerirá configuración manual. En este último caso, en Puerto estableceremos dónde escuchará el servidor conexiones entrantes. El puerto preseleccionado es el 3128, otros puertos típicos son el 8000 y el 8080. El proxy de Zentyal únicamente acepta conexiones provenientes de las interfaces de red internas, por tanto, se debe usar una dirección interna en la configuración del navegador.

El tamaño de la caché define el espacio en disco máximo usado para almacenar temporalmente contenidos web. Se establece en Tamaño de caché y corresponde a cada administrador decidir cuál es el tamaño óptimo teniendo en cuenta las características del servidor y el tráfico esperado.

Además también estableceremos aquí la Política predeterminada para el acceso al contenido web HTTP a través del proxy. Esta política determina si se puede acceder o no a la web y si se aplica el filtro de contenidos. Puede configurarse de las siguientes maneras:

Permitir todo:
Con esta política se permite a los usuarios navegar sin ningún tipo de restricciones pero todavía disfrutando de las ventajas de la caché, ahorro de tráfico y mayor velocidad.
Denegar todo:
Esta política deniega totalmente el acceso a la web. Aunque a primera vista podría parecer poco útil ya que el mismo efecto se podría conseguir con una regla de cortafuegos, sin embargo podemos establecer posteriormente políticas particulares para objetos, usuarios o grupos, pudiendo usar esta política para denegar en principio y luego aceptar explícitamente en determinadas condiciones.
Filtrar:
Esta política permite a los usuarios navegar pero activa el filtrado de contenidos que puede denegar el acceso web según el contenido solicitado por los usuarios.
Autorizar y filtrar, permitir todo o denegar todo:
Estas políticas son versiones de las políticas anteriores que incluyen autorización. La autorización se explicará en la sección Configuración Avanzada para el proxy HTTP.
_images/general1.png

Proxy HTTP

Es posible indicar que dominios no serán almacenados en caché. Por ejemplo, si tenemos servidores web locales no se acelerará su acceso usando la caché y se desperdiciaría memoria que podría ser usada por elementos de servidores remotos. Si un dominio está exento de la caché, cuando se reciba una petición con destino a dicho dominio se ignorará la caché y se devolverán directamente los datos recibidos desde el servidor sin almacenarlos. Estos dominios se definen en Excepciones a la caché.

Tras establecer la política global, podemos definir políticas particulares para Objetos de red en Proxy HTTP ‣ Política de objetos. Podremos elegir cualquiera de las seis políticas para cada objeto; cuando se acceda al proxy desde cualquier miembro del objeto esta política tendrá preferencia sobre la política global. Una dirección de red puede estar contenida en varios objetos distintos por lo que es posible ordenar los objetos para reflejar la prioridad. Se aplicará la política del objeto de mayor prioridad que contenga la dirección de red. Además existe la posibilidad de definir un rango horario fuera del cual no se permitirá acceso al objeto de red aunque esta opción sólo es compatible con políticas de permitir o denegar y no con políticas de filtrado de contenidos.

_images/03-proxy.png

Políticas de objeto

Limitación de las descargas con Zentyal

Otra de las características configurables en Zentyal es limitar el ancho de banda de las descargas usando objetos de red mediante Delay Pools. Para configurarlas accederemos a HTTP Proxy ‣ Limitación de ancho de banda. Las Delay Pools pueden entenderse como cajas en las que se dispone de una determinada cantidad de ancho de banda; se van llenando poco a poco y se van vaciando mientras se usa la red, cuando se vacían se limita el ancho de banda, la velocidad de descarga. Teniendo en cuenta esta explicación, veamos los valores que podemos establecer por cada caja:

Ratio:
Ancho de banda máximo que se podrá utilizar cuando se vacíe la caja.
Volumen:
Capacidad máxima de la caja en bytes, es decir, la caja se vaciará si se han transmitido tantos bytes como los indicados en el volumen.

Zentyal permite limitar el ancho de banda mediante dos métodos diferentes, las Delay Pools de clase 1 y las de clase 2. Las restricciones de la clase 1 tienen prioridad sobre las de la clase 2, si un objeto de red no se corresponde con los limitados por alguna de las reglas no se le aplica ninguna.

Delay pools de clase 1:
Limitan el ancho de banda globalmente para una subred, permiten configurar un límite de datos transferidos, el Máximo Tamaño de Red y una restricción de ancho de banda máximo, el Ratio de Red. La limitación se activa cuando el límite de datos ha sido superado. Estas Delay Pools se componen de una sola caja compartida por todo el objeto de red.
Delay pools de clase 2:
Estas Delay Pools se componen de dos tipos de cajas, una general en la que como en las de clase 1 se va acumulando todo el tráfico transmitido a la subred y una dedicada a cada cliente. Si un miembro de la subred vacía su caja se limitará su ancho de banda al Ratio del Cliente, pero no a los demás, si entre todos vacían la caja agregada, se limita el ancho de banda de todos los clientes a Ratio.
_images/Zentyal_delay_pool.png

Limitación de ancho de banda

Filtrado de contenidos con Zentyal

Zentyal permite el filtrado de páginas web en base a su contenido. Para ello, es necesario que la política global o la política particular de cada objeto desde el que se accede sea de Filtrar o Autorizar y Filtrar.

Se pueden definir múltiples perfiles de filtrado en Proxy HTTP ‣ Perfiles de Filtrado pero si no hay ninguno específico aplicándose al usuario, grupo u objeto se aplicará el perfil default.

_images/proxy-filter-profiles-list.png

Perfiles de filtrado

El filtrado de contenidos de las páginas web se utiliza diferentes métodos incluyendo filtrado heurístico, tipos MIME, extensiones, listas blancas y listas negras entre otros. La conclusión final es determinar si una página o un recurso web puede ser visitado o no.

El primer filtro que podemos configurar es el antivirus. Para poder utilizarlo debemos tener el módulo de Antivirus instalado y activado. Si está activado se bloqueará el tráfico HTTP en el que sean detectados virus.

El filtrado heurístico consiste principalmente en el análisis de los textos presentes en las paginas web, si se considera que el contenido no es apropiado (pornografía, racismo, violencia, etc) se bloqueará el acceso a la página. Para controlar este proceso se puede establecer un umbral más o menos restrictivo, siendo este el valor que se comparará con la puntuación asignada a la página para decidir si se bloquea o no. El lugar donde establecer el umbral es la sección Umbral de filtrado de contenido. Se puede desactivar este filtro eligiendo el valor Desactivado. Hay que tener en cuenta que con este análisis se pueden llegar a bloquear páginas no deseadas, lo que se conoce como un falso positivo. Este problema se puede remediar añadiendo los dominios de estas páginas a una lista blanca, pero siempre existirá el riesgo de un falso positivo con nuevas páginas.

También tenemos a continuación el Filtrado de extensiones de fichero, el Filtrado de tipos MIME y el Filtrado de dominios.

_images/04-proxy-mime.png

Perfil de filtrado

En la pestaña de Filtrado de extensiones de fichero se puede seleccionar qué extensiones serán bloqueadas. De manera similar en Filtrado de tipos MIME se pueden indicar qué tipos MIME se quieren bloquear y añadir otros nuevos si es necesario, al igual que con las extensiones.

En la pestaña de Filtrado de dominios encontraremos la configuración del filtrado basado en dominios. Podemos:

  • Bloquear dominios especificados sólo como IP, esta opción bloquea cualquier página que se intente acceder especificado únicamente su dirección IP y no el dominio asociado.
  • Bloquear dominios no listados, esta opción bloquea todos los dominios que no estén presentes en la sección Reglas de dominios o en las categorías presentes en Ficheros de listas de dominios y cuya política no sea Ignorar.

A continuación tenemos la lista de dominios, donde podemos introducir nombres de dominio y seleccionar una política para ellos entre las siguientes:

Permitir siempre:
El acceso a los contenidos del dominio será siempre permitido, todos los filtros son ignorados.
Denegar siempre:
El acceso nunca se permitirá a los contenidos de este dominio.
Filtrar:
Se aplicarán las reglas usuales a este dominio. Resulta útil si está activada la opción Bloquear dominios no listados.
_images/05-proxy-domains.png

Filtrado de dominios

Podemos simplificar el trabajo del administrador usando listas clasificadas de dominios. Estas listas son normalmente mantenidas por terceros y tienen la ventaja de que los dominios están clasificados por categorías, permitiéndonos seleccionar una política para una categoría entera de dominios. Estas listas son distribuidas en forma de archivo comprimido. Una vez descargado el archivo, podemos incorporarlo a nuestra configuración y establecer políticas para las distintas categorías de dominios. Las políticas que se pueden establecer en cada categoría son las mismas que se pueden asignar a dominios y se aplican a todos los dominios presentes en dicha categoría. Existe una política adicional Ignorar que, como su nombre indica, simplemente ignora la existencia de la categoría a la hora de filtrar. Dicha política es la elegida por defecto para todas las categorías.

_images/domain-list-categories.png

Listado de categorías

Mediante las Actualizaciones Avanzadas de Seguridad de Zentyal [3] podemos instalar automáticamente una base de datos actualizada de categorías de dominios para disponer de las funcionalidades requeridas para una política de filtrado de contenidos de nivel profesional.

[3]http://store.zentyal.com/other/advanced-security.html