ubuntu2008
Usuario (Venezuela)
Zentyal Este manual de Zentyal se presentara por partes Instalacion, configuracion inicial, infraestructura y asi sucesivamente ya que el manual es muy largo, seran descritos en varios post llamados parte1, 2...etc, lo hago ya que los Post que han publicado de Zentyal aunque muy buenos carecen de manuales para su instalacion, espero les gusten y comenten Introducción a Zentyal * Presentación o Las pymes y las TICs o Zentyal: servidor Linux para pymes o Acerca de esta documentación * Instalación o El instalador de Zentyal o Configuración inicial o Requisitos de hardware * Primeros pasos con Zentyal o La interfaz web de administración de Zentyal o Emplazamiento en la red de Zentyal o Configuración de red en Zentyal Zentyal Infrastructure * Zentyal Infrastructure * Servicio de resolución de nombres de dominio (DNS) o Introducción a DNS o Configuración de un servidor DNS caché con Zentyal o Configuración de un servidor DNS autoritario con Zentyal * Servicio de sincronización de hora (NTP) o Introducción a NTP o Configuración de un servidor NTP con Zentyal * Servicio de configuración de red (DHCP) o Introducción a DHCP o Configuración de un servidor DHCP con Zentyal * Autoridad de certificación (CA) o Infraestructura de clave pública (PKI) o Configuración de una Autoridad de Certificación con Zentyal * Servicio de publicación de páginas web (HTTP) o Introducción a HTTP o Configuración de un servidor HTTP con Zentyal * Servicio de Transferencia de ficheros (FTP) o Introducción a FTP o Configuración de un servidor FTP con Zentyal Zentyal Gateway * Zentyal Gateway * Abstracciones de red de alto nivel en Zentyal o Objetos de red o Servicios de red * Cortafuegos o Introducción al sistema de cortafuegos o Configuración de un cortafuegos con Zentyal o Redirección de puertos con Zentyal * Encaminamiento o Introducción al encaminamiento o routing o Configuración del encaminamiento con Zentyal o Configuración del balanceo con Zentyal o Configuración de la tolerancia a fallos con Zentyal * Calidad de servicio o Configuración de la calidad de servicio con Zentyal * Servicio de autenticación de red (RADIUS) o Introducción a RADIUS o Configuración de un servidor RADIUS con Zentyal * Servicio de Proxy HTTP o Introducción al servicio de Proxy HTTP o Configuración del Proxy HTTP con Zentyal o Limitación de las descargas con Zentyal o Filtrado de contenidos con Zentyal Zentyal Unified Threat Manager * Zentyal Unified Threat Manager * Configuración Avanzada para el proxy HTTP o Configuración de perfiles de filtrado o Perfil de filtrado por objeto o Filtrado basado en grupos de usuarios o Filtrado basado en grupos de usuarios para objetos * Servicio de redes privadas virtuales (VPN) o Introducción a las redes privadas virtuales (VPN) o Configuración de un servidor VPN con Zentyal o Configuración de un servidor VPN para la interconexión de redes con Zentyal * Sistema de Detección de Intrusos (IDS) o Introducción al Sistema de Detección de Intrusos o Configuración de un IDS con Zentyal o Alertas del IDS * Filtrado de correo electrónico o Esquema del filtrado de correo en Zentyal o Listas de control de conexiones externas o Proxy transparente para buzones de correo POP3 Zentyal Office * Zentyal Office * Servicio de directorio (LDAP) o Introducción al servicio de directorio (LDAP) o Configuración de un servidor Zentyal maestro o Configuración de Zentyal como esclavo de Windows Active Directory o Configuración de un servidor LDAP con Zentyal o Rincón del Usuario o Ejemplos prácticos o Ejercicios propuestos * Servicio de compartición de ficheros y de autenticación o Introducción a la compartición de ficheros y a la autenticación o Configuración de un servidor de ficheros con Zentyal o Configuración de un servidor de autenticación con Zentyal * Servicio de compartición de impresoras o Acerca de la compartición de impresoras o Configuración de un servidor de impresoras con Zentyal * Servicio de groupware o Introducción al servicio de groupware o Configuración de un servidor groupware (Zarafa) con Zentyal Zentyal Unified Communications * Zentyal Unified Communications * Servicio de correo electrónico (SMTP/POP3-IMAP4) o Introducción al servicio de correo electrónico o Configuración de un servidor SMTP/POP3-IMAP4 con Zentyal * Servicio de correo web o Introducción al servicio de correo web o Configuración del correo web con Zentyal * Servicio de mensajería instantánea (Jabber/XMPP) o Introducción al servicio de mensajería instantánea o Configuración de un servidor Jabber/XMPP con Zentyal * Servicio de Voz sobre IP o Introducción a la Voz sobre IP o Configuración de un servidor Voz IP con Zentyal o Uso de las funcionalidades de Voz IP de Zentyal Mantenimiento de Zentyal * Mantenimiento de Zentyal * Registros o Consulta de registros en Zentyal o Configuración de registros en Zentyal * Eventos y alertas o La configuración de eventos y alertas en Zentyal * Monitorización o La monitorización en Zentyal o Métricas o Alertas * Copias de seguridad o Backup de la configuración de Zentyal o Configuración de las copias de seguridad de un servidor Zentyal o Cómo recuperarse de un desastre * Actualización de software o La actualización de software en Zentyal o Gestión de componentes de Zentyal o Actualizaciones del sistema o Actualizaciones automáticas * Cliente de Zentyal Cloud o Acerca de Zentyal Cloud o Subscribir un servidor Zentyal a Zentyal Cloud o Copia de seguridad de la configuración a Zentyal Cloud * Herramientas de soporte o Acerca del soporte en Zentyal o Informe de la configuración o Acceso remoto de soporte Presentación Las pymes y las TICs Alrededor del 99% de las empresas del mundo son pymes, y generan más de la mitad del PIB mundial. Pero en periodos de crisis como el actual suelen ser el segmento del tejido económico más vulnerable y, por lo tanto, el que con mayor urgencia necesita reducir costes y aumentar su productividad. Uno de los ámbitos donde mayor impacto se puede lograr en la reducción de costes y aumento de productividad en pymes es mediante la implantación de tecnologías de información y comunicaciones (TIC). Y los datos estadísticos de los últimos años así lo corroboran, con crecimientos anuales en adopción de soluciones TIC de más del 50% en según qué segmentos. Por otro lado, las pymes suelen operar bajo presupuestos muy escasos y con una fuerza laboral limitada. De nuevo, los datos estadísticos del mercado corroboran esta percepción, puesto que sólo una quinta parte de las empresas pequeñas y únicamente la mitad de las empresas medianas disponen de personal con funciones TIC específicas. Esto demuestra el reducido nivel de recursos de las pymes y su alta dependencia de los servicios provistos de manera rápida, sencilla y eficiente por parte de proveedores TIC externos. Merece la pena contrastar el enorme potencial y necesidades particulares de las pymes con el escaso interés que han mostrado tradicionalmente los fabricantes de tecnología por desarrollar soluciones que se adapten a la realidad de las pymes. Por lo general, las soluciones corporativas disponibles en el mercado se han desarrollado pensando en las grandes corporaciones, por lo que requieren inversiones considerables en tiempo y recursos y demandan un alto nivel de conocimientos técnicos. En el mercado de los servidores, esto ha significado que hasta ahora las pymes han dispuesto de pocas opciones donde elegir, consistentes por lo general en soluciones sobredimensionadas a sus necesidades reales, complejas de gestionar y con elevados costes de licencias. En este contexto parece razonable considerar a Linux como una alternativa más que interesante como servidor para pymes, puesto que técnicamente ha demostrado una calidad y nivel funcional muy elevados y su precio, gratuito, es imbatible. Sin embargo la presencia de Linux en entornos de pyme es testimonial y su crecimiento relativamente reducido. ¿Cómo es posible explicar estos datos? La razón es sencilla: para que un servidor de empresa se adapte a un entorno de pyme necesita que sus distintos componentes estén bien integrados entre sí y que sean sencillos de administrar. Las pymes no tienen los recursos ni el tiempo necesario para desplegar soluciones de altas prestaciones pero complejas. Así mismo, los proveedores de servicios TIC para pymes también precisan de soluciones que consuman poco tiempo en despliegue y mantenimiento para poder ser competitivos, y las tradicionales distribuciones de Linux para servidor no cumplen con estas premisas. Zentyal: servidor Linux para pymes¶ Zentyal [1] se desarrolló con el objetivo de acercar Linux a las pymes y permitirles aprovechar todo su potencial como servidor de empresa. Es la alternativa en código abierto a Windows Small Business Server, basado en la popular distribución Ubuntu. Zentyal permite a profesionales TIC administrar todos los servicios de una red informática, tales como el acceso a Internet, la seguridad de la red, la compartición de recursos, la infraestructura de la red o las comunicaciones, a través de una única plataforma. Zentyal Zentyal permite gestionar la red de una forma fácil y centralizada Durante su desarrollo se hizo un especial énfasis en la usabilidad, creando una interfaz intuitiva que incluye únicamente aquéllas funcionalidades de uso más frecuente, aunque también dispone de los medios necesarios para realizar toda clase de configuraciones. Otra de las características más importantes de Zentyal es que todas sus funcionalidades, construidas a partir de una serie de aplicaciones en principio independientes, están estrechamente integradas entre sí, automatizando la mayoría de las tareas y ahorrando tiempo en la administración de sistemas. Teniendo en cuenta que el 42% de los fallos de seguridad y el 80% de los cortes de servicio en una empresa se deben a errores humanos en la configuración y administración de los mismos [2], el resultado es una solución no sólo más sencilla de manejar sino también más segura y fiable. Además de acercar Linux y el Software Libre a las pymes con los importantes ahorros que ello supone, Zentyal mejora la seguridad y disponibilidad de los servicios en la empresa. El desarrollo de Zentyal se inició en el año 2004 con el nombre de eBox Platform y actualmente es una solución consolidada de reconocido prestigio que integra alrededor de 30 herramientas de código abierto para la administración de sistemas y redes en una sola tecnología. Zentyal está incluido en Ubuntu desde el año 2007, en la actualidad tiene más de 30.000 descargas mensuales y dispone de una comunidad activa de más de 4.000 miembros. Se estima que hay unas 40.000 instalaciones activas de Zentyal, principalmente en América y Europa, aunque su uso está extendido a prácticamente todos los países del globo, siendo Estados Unidos, Alemania, España, Italia y Brasil los países que cuentan con más instalaciones. Zentyal se usa principalmente en pymes, pero también en otros entornos como centros educativos, administraciones públicas, hospitales o incluso en instituciones de alto prestigio como la propia NASA. El desarrollo de Zentyal está financiado por eBox Technologies que además ofrece a las pymes y otros usuarios de Zentyal de todo el mundo, herramientas y servicios de gestión orientados a reducir los costes de mantenimiento de la infraestructura TIC. Estas herramientas y servicios comerciales se agrupan en Suscripciones de Servidor y se ofrecen a los clientes a través de Zentyal Cloud: * actualizaciones del sistema con garantía de calidad, * notificaciones y alertas de los eventos ocurridos en el servidor y los distintos servicios, * informes periódicos sobre el uso del sistema por los usuarios y un resumen de los eventos más relevantes, * inventario, monitorización y administración centralizada de múltiples servidores Zentyal junto con informes de los cambios en la configuración. Zentyal Cloud garantiza una red segura y actualizada a un nivel profesional con un coste reducido Las suscripciones están dirigidas a dos tipos de clientes claramente diferenciados. Por un lado la Suscripción Profesional está dirigida a pequeñas empresas o proveedores TIC con un número reducido de servidores Zentyal que deben ser mantenidos al día, asegurando su contínuo funcionamiento, que se benefician de las actualizaciones garantizadas, las alertas y los informes. Por otra parte, la Suscripción Empresarial está dirigida a grandes empresas o proveedores de servicios gestionados que además tienen la necesidad de monitorizar y administrar múltiples instalaciones Zentyal de forma remota. Así mismo, los clientes que dispongan de una suscripción, pueden obtener acceso a suscripciones adicionales como la recuperación de desastres, actualizaciones avanzadas de seguridad o llamadas mediante Voz IP a un bajo coste. Estas subscripciones se complementan con otros servicios adicionales como formación, despliegue o soporte técnico provistos generalmente por alguno de sus partners certificados. Zentyal dispone de una Red Global de Partners en rápida expansión, a través de la cual consigue llevar la atención necesaria para distribuir el producto y los servicios a las pymes de todo el mundo. El estereotipo de los partners de Zentyal son proveedores locales de servicios TIC, consultores o proveedores de servicios gestionados que ofrecen un servicio de asesoría, despliegue, soporte y/o externalización completa de la infraestructura y servicios de red de sus clientes. Para más información sobre los beneficios y cómo convertirse en partner diríjase a la sección de partners de zentyal.com [3]. La combinación entre el servidor y las subscripciones aportan unos beneficios muy importantes que se traducen en ahorros superiores al 50% del coste total de instalación y mantenimiento de un servidor para pymes, comparando los costes de Zentyal con los de una instalación típica de Windows Small Business Server. [1] http://www.zentyal.com/ [2] http://enise.inteco.es/images/stories/Ponencias/T25/marcos%20polanco.pdf [3] http://www.zentyal.com/es/partners/ Acerca de esta documentación¶ Esta documentación describe las principales características técnicas de Zentyal, ayudando a comprender la forma en la que se pueden configurar los distintos servicios de red en Zentyal y a ser productivo en la administración de una infraestructura TIC en un entorno pyme con sistemas Linux. La documentación está dividida en siete capítulos. Este primer capítulo introductorio ayuda a comprender el contexto de Zentyal, así como su instalación y a dar los primeros pasos con el sistema. Los siguientes cinco capítulos explican en profundidad cinco perfiles típicos de instalación, como servidor de infraestructura de una red, como servidor de acceso a Internet o Gateway, como servidor de seguridad o UTM, como servidor de oficina o como servidor de comunicaciones. Esta diferenciación en cinco grupos funcionales se hace sólo para facilitar los despliegues de Zentyal en los escenarios más típicos, pero un servidor Zentyal puede ofrecer cualquier combinación funcional sin más límites que los que impongan el hardware sobre el que esté instalado y el uso que se haga del servidor. Finalmente, el último capítulo describe las herramientas y servicios disponibles para facilitar el mantenimiento de un servidor Zentyal, garantizando su funcionamiento, optimizando su uso, solventando las incidencias y recuperando el sistema en caso de desastre. Instalación¶ Zentyal está concebido para ser instalado en una máquina (real o virtual) de forma, en principio, exclusiva. Esto no impide que se puedan instalar otros servicios o aplicaciones adicionales, no gestionados a través de la interfaz de Zentyal, que deberán ser instalados y configurados manualmente. Funciona sobre la distribución Ubuntu [1] en su versión para servidores, usando siempre las ediciones LTS (Long Term Support) [2], cuyo soporte es mayor: cinco años en lugar de tres. La instalación puede realizarse de dos maneras diferentes: * usando el instalador de Zentyal (opción recomendada), * instalando a partir de una instalación de Ubuntu Server Edition. En el segundo caso es necesario añadir los repositorios oficiales de Zentyal y proceder a la instalación de aquellos módulos que se deseen [3]. Sin embargo, en el primer caso se facilita la instalación y despliegue de Zentyal ya que todas las dependencias se encuentran en un sólo CD y además se incluye un entorno gráfico que permite usar el interfaz web desde el propio servidor. La documentación oficial de Ubuntu incluye una breve introducción a la instalación y configuración de Zentyal [4], en el capítulo de eBox (anterior nombre del proyecto). [1] Ubuntu es una distribución de Linux desarrollada por Canonical y la comunidad orientada a ordenadores portátiles, de sobremesa y servidores: http://www.ubuntu.com/. [2] Para una descripción detallada sobre la publicación de versiones de Ubuntu se recomienda la consulta de la guía Ubuntu: https://wiki.ubuntu.com/Releases. [3] Para más información sobre la instalación a partir del repositorio diríjase a http://trac.zentyal.org/wiki/Document/Documentation/InstallationGuide. [4] https://help.ubuntu.com/10.04/serverguide/C/ebox.html El instalador de Zentyal¶ El instalador de Zentyal está basado en el instalador de Ubuntu Server así que el proceso de instalación resultará muy familiar a quien ya lo conozca. En primer lugar seleccionaremos el lenguaje de la instalación, para este ejemplo usaremos Español. Podemos instalar utilizando la opción por omisión que elimina todo el contenido del disco duro y crea las particiones necesarias para Zentyal usando LVM [5] o podemos seleccionar la opción expert mode que permite realizar un particionado personalizado. La mayoría de los usuarios deberían elegir la opción por omisión a no ser que estén instalando en un servidor con RAID por software o quieran hacer un particionado más específico a sus necesidades concretas. En el siguiente paso elegiremos el lenguaje que usará la interfaz de nuestro sistema una vez instalado, para ello nos pregunta por el pais donde nos localizamos, en este caso España. Localización geográfica Podemos usar la detección de automática de la distribución del teclado, que hará unas cuantas preguntas para asegurarse del modelo que estamos usando o podemos seleccionarlo manualmente escogiendo No. Autodetección del teclado Selección del teclado Después elegiremos un nombre para nuestro servidor; este nombre es importante para la identificación de la máquina dentro de la red. Nombre de la máquina En el siguiente paso, se nos pregunta por nuestra zona horaria, que se autoconfigurará dependiendo del país de origen que hayamos seleccionado anteriormente, pero se puede modificar en caso de que sea errónea. Zona horaria Una vez terminados estos pasos, comenzará la instalación que irá informando de su estado mediante el avance de la barra de progreso. A continuación se nos pregunta por el nombre del administrador. Nombre del usuario Después habrá que indicar el nombre de usuario o login usado para identificarse ante el sistema. Este usuario tendrá privilegios de administración y además será el utilizado para acceder a la interfaz de Zentyal. Nombre de usuario en el sistema En el siguiente paso nos pedirá la contraseña para el usuario. Cabe destacar que el anterior usuario con esta contraseña podrá acceder tanto al sistema (mediante SSH o login local) como a la interfaz web de Zentyal, por lo que seremos especialmente cuidadosos en elegir una contraseña segura (más de 12 carácteres incluyendo letras, cifras y símbolos de puntuación). E introduciremos de nuevo la contraseña para su verificación. Confirmar contraseña Esperaremos a que nuestro sistema básico se instale, mientras muestra una barra de progreso. Este proceso puede durar unos 20 minutos aproximadamente, dependiendo del servidor en cada caso. Instalación del sistema base La instalación del sistema base está completada; ahora podremos extraer el disco de instalación y reiniciar. Reiniciar ¡Nuestro sistema Zentyal está funcionando! El sistema arrancará un interfaz gráfico con un navegador que permite acceder a la interfaz de administración, y aunque tras este primer reinicio el sistema haya iniciado el entorno gráfico automáticamente, de aquí en adelante, necesitará autenticarse antes de que éste arranque. Entorno gráfico con el interfaz de administración Para comenzar a configurar los perfiles o módulos de Zentyal, usaremos el usuario y contraseña indicados durante la instalación. Cualquier otro usuario que añadamos posteriormente al grupo admin podrá acceder al interfaz de Zentyal al igual que tendrá privilegios de sudo en el sistema. [5] LVM es el administrador de volúmenes lógicos en Linux, una introducción su gestión puede encontrarse en http://www.howtoforge.com/linux_lvm. Aqui al final ire agregando los enlaces a las siguientes partes del manual mientras los vaya añadiendo sean pacientes Gracias. 2 parte 3 parte 4 parte 5 parte

Servidor Proxy Etiquetas: proxy Tabla de Contenidos [-+] * 1 Instalación de squid * 1.1 Archivos de configuración del squid * 1.2 Configuración Squid * 1.2.1 Parámetro http_port * 1.2.2 Parámetro cache_mem * 1.2.3 Parámetros cache_swap * 1.2.4 Parámetros maximum_object_size * 1.2.5 Parámetro hierarchy_stoplist * 1.2.6 Parámetro visible_hostname * 1.2.7 Parámetro cache_dir * 1.2.8 Parámetro access_log * 1.2.9 Parámetro cache_log * 1.3 Reglas acl * 1.3.1 Regla Tipo src * 1.3.2 Regla Tipo dts * 1.3.3 Regla Tipo srcdomain. * 1.3.4 Regla Tipo dstdomain * 1.3.5 Regla Tipo srcdom_regex * 1.3.6 Regla Tipo dstdom_regex * 1.3.7 Regla Tipo time * 1.3.8 Regla Tipo url_regex * 1.3.9 Regla Tipo urlpath_regex * 1.3.10 Regla Tipo req_mime * 1.3.11 Regla Tipo macaddress * 1.3.12 Regla Tipo password * 1.4 Control de Acceso * 1.5 Configuración básica squid * 1.5.1 Configuración de Navegadores Web. * 1.6 Configuración Squid Transparente * 1.6.1 Parámetro http_port * 1.6.2 Reglas del Firewall * 1.7 Squid con DMZ * 1.7.1 Parámetros en squid * 1.7.2 Reglas del Firewall * 1.8 Configuración squid transparente con DMZ * 1.9 Configuración de squid + DansGuardian + clamav * 1.9.1 Instalación DansGuardian/clamav * 1.9.2 Configuración de DansGuardian/Squid * 1.9.3 Configuración de iptables * 1.10 Herramientas de Análisis de trafico * 1.10.1 Instalación/configuración SARG * 1.10.2 Instalación/configuración CALAMARIS Dentro de los servidores mas importantes que existen en GNU/Linux existe el servidor proxy, el cual se encarga de administrar el acceso a internet de tu red local y también es conocido como servidor intermedio, el servidor proxy que se ocupa en GNU/Linux en sus diferentes distribuciones es squid. Squid es un programa que hace cache de datos obtenidos de internet para poder optimizar recursos de banda ancha de internet, entre sus características mas importantes son: * Proxy/cache: Proporciona servicio proxy a peticiones del tipo http, https y ftp a equipos que se encuentran en nuestra red local para que puedan acceder hacia internet y a su vez provee la funcionalidad de cache en el cual se almacenan localmente las paginas consultadas por los usuarios de forma que incrementa la rapidez de acceso a la información web y ftp. * Proxy SSL: Es un servicio de squid compatible con SSL, con el cual se aceleran las peticiones y las peticiones hacia internet estarían cifradas. * Jerarquias de Cache: Nuestro squid puede pertenecer a una jerarquía de cache que trabajan conjuntamente sirviendo peticiones. En este caso tendremos varios servidores squid resolviendo peticiones de una pagina web, si no la tiene registrada le pregunta a otro hasta que es encontrada la información. * ICP, HTCP, CARP, Cache digests: Squid sigue los protocolos ICP, HTCP, CARP y caché digests que tienen como objetivo permitir a un proxy "preguntarle" a otros proxys caché si poseen almacenado un recurso determinado. * Proxy Transparente: Puede ser configurado para ser usado como proxy transparente de manera que las solicitudes son enrutadas por medio de un reglas de firewall y sean enviadas al squid sin tener que configurar los clientes dentro de una red. * WCCP: Permite interceptar y redirigir el trafico que recibe un router hacia uno o más proxys caché, haciendo control de la conectividad de los mismos. * Control de Accesos: En este parte establecemos reglas de control de acceso, esto permite establecer políticas de denegación o aceptación. * Aceleración de servidores HTTP: Cuando hacemos peticiones hacia intenet la información es almacenada en el cache del squid y si hay otra solicitud hacia el mismo recurso el squid le devolverá la información que tiene el squid en cache. Si hay algún cambio entonces la información deberá ser actualizada. * SNMP: Permite activar el protocolo SNMP, esto permite la administración de red, que permite supervisar, analizar y comunicar información de estado entre una gran variedad de máquinas, pudiendo detectar problemas y proporcionar mensajes de estados. * Caché de resolución DNS: Squid está compuesto también por el programa dnsserver, que se encarga de la búsqueda de nombres de dominio. Cuando Squid se ejecuta, produce un número configurable de procesos dnsserver, y cada uno de ellos realiza su propia búsqueda en DNS. De este modo, se reduce la cantidad de tiempo que la caché debe esperar a estas búsquedas DNS. Instalación de squid Para poder instalar instalar el servicio de squid tendremos que ejecutar los siguiente como usuario root. [root@mantis ~]# yum install squid Con este instalaremos nuestro servidor squid mas las dependencias que tenga. Archivos de configuración del squid Ya teniendo instalado nuestro servidor squid, ahora deberemos saber en donde se encuentra toda la configuración del mismo. /etc/squid Ya dentro de esta carpeta se encontraran varios archivos pero el mas importante es el squid.conf el cual se encarga de la configuración del servicio. Por recomendación antes de editar un archivo de configuración de algún servicio, siempre deberemos hacer una copia de respaldo original del mismo. [root@mantis squid]# cp squid.conf squid.conf-orig Configuración Squid Comenzaremos a configurar nuestro servidor squid. [root@mantis squid]# vim squid.conf Parámetro http_port En este parámetro configuramos el puerto de escucha de nuestro servidor squid, por default es el puerto 3128, pero también puede ser utilizado el 8080. http_port 3128 Parámetro cache_mem Establece la cantidad de memoria RAM dedicada para almacenar los datos mas solicitados. Esta opción viene comentada por los cual la descomentaremos para darle un valor reservado en memoria RAM. # cache_mem 8 MB por cache_mem 50 MB El valor ya depende del administrador y de la carga que tenga el squid. Parámetros cache_swap Dentro del cache_swap, existen dos parámetros: cache_swap_low cache_swap-hight Con estos le indicamos a squid que mantenga los niveles del espacio del area de intercambio o también conocido como swap. Estos parámetros viene siempre desactivados por cual los buscaremos para activarlos. #cache_swap_low 90 #cache_swap_high 95 por cache_swap_low 90 cache_swap_high 95 Con esto decimos al squid que mantenga los niveles del espacio del area de intercambio entre 90% y 95%. Parámetros maximum_object_size Utilizamos esta directiva para indicar el tamaño maximo para los objetos a almacenar en la cache. #maximum_object_size 4096 KB por maximum_object_size 10240 MB Parámetro hierarchy_stoplist Este parametro es util para indicar a squid que paginas que contengan ciertos caracteres no deben almacenarse en cache. Tambien se puden incluir como sitios de webmail y paginas locales en su red ya que no seria necesrario almacenarlas en el cache, esta opcion ya viene habilitada solamente tendremos que modificarle algunos datos de la misma. hierarchy_stoplist cgi-bin ? por hierarchy_stoplist cgi-bin ? hotmail gmail yahoo escuela.factor.com.mx Parámetro visible_hostname Es el nombre del equipo, el nombre debe ser igual a los siguientes ficheros /etc/hosts y en /etc/sysconfig/network. Este parametro no viene configurado en el archivo de configuracion, tendremos que agregar y que en ocasiones pueda ser que nuestro servicio de squid no quiera iniciar. visible_hostname mantis Parámetro cache_dir Con este parametro establecemos el tamaño que deseamos que tenga la cache en el disco, lo cual tendremos que habilitar y modificar el siguiente dato. #cache_dir ufs /var/spool/squid 100 16 256 por cache_dir ufs /var/spool/squid 700 16 256 Con esto establecemos el tamaño que deseamos que tenga la cache en el disco, se puede incrementar hasta el tamaño que desee el administrador, nosotros establecemos 700MB de cache con 16 directorios subordinados y 256 niveles cada uno. Parámetro access_log Especifica en que directorio se realizara el registro de accesos al squid, este parámetro es importante para definir un análisis de estadísticas con webalizer. access_log /var/log/squid/access.log squid Parámetro cache_log Define en donde se almacenaran los mensajes del comportamiento de la cache de squid. Por default viene desactivado. cache_log /var/log/squid/cache.log Reglas acl Una ACL es una definición de control de acceso, que utiliza squid para especifica mediante el, existen varios tipos de reglas ACL que comentaremos en la tabla. src time dts url_regex srcdomain urlpath_regex dstdomain req_mime srcdom_regex macaddress dstdom_regex password Regla Tipo src Esta reglas especifica una o varias dirección IP de origen o un segmento de red con su mascara de red. Nomenclatura: acl [Nombre] src [Contenido] Ejemplos: 1) El nombre de la regla es llamada redlocal la cual tendría asignada un segmento de red 192.168.1.0 a 24 bits. acl redlocal src 192.168.1.0/24 2) Esta regla es llamada jefes de los cuales solamente se le proporcionan algunas IP de nuestro segmento de red. acl jefes src 192.168.1.10 192.168.1.20 3) Esta regla que se llama sistemas en la cual manda a llamar al archivo permitidos el cual se encuentra en /etc/squid, contiene las IP de la gente que trabaja en el area de sistemas. acl sistemas src “/etc/squid/permitidos” Regla Tipo dts Especifica una dirección de destino en formato IP y mascara o el nombre del sitio a visitar. Nomenclatura: acl [Nombre] dts [Contenido] Ejemplos: 1)En esta regla es llamada webmial la cual contendrá como destino final las direcciones de webmail mas conocidos de internet. acl webmail dst www.gmail.com www.hotmail.com www.yahoo.com 2)En esta regla es llamada iplocales la cual contendrá algunas de la IP de nuestro segmento de red. acl iplocales dst 192.168.1.109 192.168.1.103 Regla Tipo srcdomain. La regla de tipo srcdomain se establecen permisos sobre dominios web de origen y se determina por la resolución de DNS inversa. Para poder ocupar esta regla es necesario contar un DNS local. Nomenclatura: acl [Nombre] srcdomain [Contenido] Ejemplo: La regla repos indica que máquinas de nuestra red local están agregadas a la misma. acl repos srcdomain repoubu.dyndns.net repodeb.dyndns.net repocen.dyndns.net Regla Tipo dstdomain La regla de tipo dstdomain se establecen permisos sobre dominios web de destino. Nomenclatura: acl [Nombre] dstdomain [Contenido] Ejemplo: La regla permitos indicamos que dominios pueden estan hacia la salida a internet acl pemitidos dstdomain .linuxparatodos.net .factor.com.mx .eluniversal.com .reforma.com Regla Tipo srcdom_regex Esta regla se encarga de evaluar palabras de entrada a nuestra red, ocupándose expresiones regulares. Nomenclatura: acl [Nombre] srcdom_regex [Contenido] Ejemplo: La regla intranet análisis todas la posibles palabras de factor en mayúsculas y minúsculas de nuestra red local. acl intranet srcdom_regex -i factor..* Regla Tipo dstdom_regex Esta regla se encarga de evaluar palabras de salida, ocupándose expresiones regulares. Nomenclatura: acl [Nombre] dstdom_regex [Contenido] Ejemplo: La regla google_todos análisis todas la posibles palabras de google en mayúsculas y minúsculas. acl google_todos dstdom_regex -i google..* Regla Tipo time Esta regla estable un tiempo limite de conexión dentro de una semana. Parámetros por días de la semana: Parámetros Días S Domingo M Lunes T Martes W Miércoles H Jueves F Viernes A Sábado En el manejo de las horas se establece un horario de 24:00 hrs Nomenclatura: acl [Nombre] time [días][horas] Ejemplo: La regla horario estable que esta habilitada los días Lunes a Viernes de 09:00 a 18:00 hrs. acl horario time MTWHF 09:00-18:00 Esta regla es muy útil en las escuelas, universidades ya que con esto podemos tener un control de horarios en laboratorios. Regla Tipo url_regex Permite especificar expresiones regulares para comprobar dicha url, a este tipo de regla se recomienda tener un archivo en cual agregamos todas la palabras que nosotros creamos que importantes. Nomenclatura: acl [Nombre] url_regex “Path” Ejemplo de archivo porno.txt: Sex xxx adult pornotube chicas porn playboy lolitas Ejemplo: Esta regla se llama porno el cual manda a llamar aun archivo que contiene palabras relacionadas a pornografía. acl porno url-regex “/etc/squid/listas/porno.txt” Regla Tipo urlpath_regex Esta regla nos permite la administración de descargas por medio de la extensión de los archivos, se recomienda tener Nomenclatura: acl [Nombre] urlpath_regex “Path” Ejemplo de archivo extensiones.txt: .avi$ .mpg$ .mpeg$ .avi$ .flv$ .exe$ .bat$ .zip$ .mp3$ Ejemplo: Esta regla se llama extensiones la cual administrara las descargas por medio de la extensiones de los archivos. acl extensiones urlpath_regex “/etc/squid/listas/extensiones.txt” Regla Tipo req_mime Esta regla nos permite comprobar el tipo de petición mime que realiza un cliente. Nomenclatura: acl [Nombre] req_mime “mime” Ejemplo: Esta regla se llame MSN la cual contiene el mime del mensajero MSN. acl MSN req_mime type application/x-msn-messenger Regla Tipo macaddress Este tipo de regla nos permite administrar squid por medio de Mac Address. Nomenclatura: acl [Nombre] arp “Mac Address” Ejemplo: Esta regla se llama adminmac en la cual nosotros proporcionamos las Mac Address de las máquinas clientes . acl adminmac arp 09:00:2b:23:45:67 00:1f:3c:5f:fd:b1 00:1e:ec:70:7e:24 Regla Tipo password Este tipo de regla, se controla el acceso a internet por medio de un usuario y password, para poder habilitar este método tendremos que hacer lo siguientes pasos de configuración. 1) Creamos el archivo que contendrá las claves. [root@mantis squid]# touch claves 2) Le asignamos permisos de Lectura/Escritura y el usuario encargado del archivo. [root@mantis squid]# chmod 600 claves [root@mantis squid]# chown squid.squid claves 3)Creación de usuario y password para el acceso a internet. [root@mantis squid]# htpasswd claves clientes 4) Habilitaremos las siguientes opciones dentro del fichero de configuración del servidor squid, busquemos el primer parámetro llamado auth_param basic. #auth_param basic program <uncomment and complete this line> Este parámetro lo modificaremos de la siguiente manera. auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/claves Estamos enlazando la aplicación que nos permitiría autenticarnos y en donde se encuentra el archivo donde se encuentran las cuentas de los usuarios. acl password proxy_auth REQUIRED 5) Por ultimo tendremos que habilitar la regla acl encargada de la autenticación de password. #acl password proxy_auth REQUIRED por acl password proxy_auth REQUIRED Con esto ya tendremos habilitada la regla para la autenticación de los usuarios. Control de Acceso El control de acceso define si se permite o deniega el acceso a las reglas para que empecemos a crear el filtrado. Nomenclatura: http_access allow/Deny Regla Ejemplo: Como sabemos la regla jefes contendrá la IP de la personas encargadas de cada area de la empresa y tendrán acceso a todo el internet. http_access allow jefes Toda los de mas clientes de la red no tendrán acceso a internet. http_access deny redlocal Dentro de la configuración http_access, existe una expresión “!” que significa no, esto permite que una regla se permitida o denegada. Es lo contrario a la primera definición del control de acceso. Ejemplo: Esta regla permite navegar a todo la red en un horario de 09:00 a 18:00 Hrs y solamente a la paginas permitidas por el administrador. Pero no pueden entrar hacia los otros recursos de internet. http_access deny redlocal !horario !permitidos Configuración básica squid Como vemos en el siguiente diagrama de red, especificaremos los siguientes reglas que tendrá nuestra red. * Todas las computadoras de la empresa se encuentran dentro del segmento de red 192.168.1.0/24. * Los jefes de cada departamento tienen salida a sin ninguna restricción a internet y sus IP son 92.168.1.10, 192.168.1.20. * El resto de la red solamente tiene acceso a la pagina de la empresa Factor y de interés social, con un horario de 08:00 a 19:00 hrs, sin poder descargar archivos de música y vídeos. Crearemos las reglas del squid. acl redlocal src 192.168.1.0/24 acl jefes src 192.168.1.10 192.168.1.20 acl permitidas dstdomain “/etc/squid/permitidas” acl horario time MTWHF 08:00-19:00 acl extensiones urlpath_regex “/etc/squid/extensiones” Comenzaremos a configurar el control de accesos. http_access allow jefes http_access deny redlocal !permitidas !horario extensiones Con esto tendremos ya configurado nuestro squid, para poder exportar en proxy desde consola tendremos que hacer lo siguiente: [root@mantis ~]# export http_proxy=[http://192.168.1.254:3128 ] Configuración de Navegadores Web. Solo nos falta que en las mas máquinas clientes configuremos la salida a internet por proxy. Ejemplos: * Firefox/Iceweasel Menú Editar ---> Avanzadas ---> Red ---> Configuración de red. * Opera. Menu Herramientas ---> Preferencias ---> Avanzadas ---> Red * Internet Explorer. Menú Herramientas ---> Opciones de Internet --->Conexiones ---> Configuración de LAN Configuración Squid Transparente Este tipo de configuración de squid transparente, lo que hace es que conexiones son enrutadas al proxy sin hacer ninguna configuración en los clientes para que tengan salida a internet. Este tipo de configuración depende de reglas de nuestro firewall. Parámetro http_port Solamente tendremos que configurar este parámetro para que se un proxy transparente. Se le debe indicar la IP del servidor squid, puerto de escucha y la palabra transparente. http_port 3128 por http_port 192.168.1.254:3128 transparent Reglas del Firewall Para poder configurar este tipo de proxy transparente, tendremos que configurar reglas de firewall, en nuestro caso usaremos reglas de iptables ya que es la herramienta mas utilizada en todas distribuciones GNU/Linux. Pero para que funcione de manera transparente debemos de aplicar la siguiente regla en iptables. iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT --to-port 3128 Con esto estamos desviando el trafico que venga por la LAN que vaya por web al puerto 3128. Con esto ya hicimos transparente nuestro proxy pero no se pueden desplegar las paginas seguras, para eso necesitamos aplicar otras reglas en iptables liberando el puerto 443, y lo hacemos de la siguiente manera: iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 443 -j REDIRECT --to-port 3128 Habilitamos el reenvío de paquetes dentro de la red. echo 1 > /proc/sys/net/ipv4/ip_forward Y Guardamos las reglas con el siguiente comando. iptables-save > /etc/sysconfig/iptables Reiniciamos el servicio de firewall /etc/init.d/iptables restart Con esto tendremos configurado nuestro squid transparente. Squid con DMZ Este tipo de configuración conecta a dos tipos de redes: * Red local. * DMZ. Lo mas importante de estas dos redes es la DMZ, la cual se le llama zona desmilitarizada, es una red que se ubica entre redes internas de una empresa. Dentro de una red DMZ habitualmente encontramos servidores que son necesarios para la empresa como: * Servidor de Correo. * Servidor de web. * Servidor de FTP. * Etc. Parámetros en squid Este tipo de configuración se recomienda tener a nuestro servidor squid escuchando varios puerto de comunicación ya que se tendría mejor control sobre las dos redes administradas. Para esto configuraremos el parámetro http_port en cual habilitaremos a dos puerto de escucha. http_port 192.168.1.254:3128 transparent Reglas del Firewall Como podemos ver una configuración también de un proxy transparente. #REDLOCAL iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT --to-port 3128 #DMZ iptables -t nat -A PREROUTING -i eth2 -p tcp –dport 80 -j REDIRECT --to-port 3129 Con esto estamos desviando el trafico de la red local y DMZ a sus puerto correspondientes del squid de cada uno y tener salida hacia internet. # RED LOCAL iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 443 -j REDIRECT --to-port 3128 #DMZ iptables -t nat -A PREROUTING -i eth2 -p tcp –dport 443 -j REDIRECT --to-port 3129 Habilitamos el reenvío de paquetes dentro de la red. echo 1 > /proc/sys/net/ipv4/ip_forward Y Guardamos las reglas con el siguiente comando. iptables-save > /etc/sysconfig/iptables Reiniciamos el servicio de firewall /etc/init.d/iptables restart Con esto tendremos configurado nuestro squid transparente. Configuración squid transparente con DMZ Como vemos en el siguiente diagrama de red, especificaremos los siguientes reglas que tendrá nuestra red. * La red local de la empresa se encuentra en segmento de red 192.168.1.0/24 * La DMZ de la empresa se encuentra en un segmento de red 10.2.0.0/8 * Los jefes de cada departamento tienen salida a sin ninguna restricción a internet y sus IP son 92.168.1.10, 192.168.1.20. * El resto de la red solamente tiene acceso a la pagina de la empresa Factor y de interés social, con un horario de 08:00 a 19:00 hrs, sin poder descargar archivos de música y vídeos. * Dentro la red DMZ tienen permiso a todo menos a descargar música, vídeos, programas. Crearemos las reglas del squid. acl dmz src 10.2.0.0/6 acl redlocal src 192.168.1.0/24 acl jefes src 192.168.1.10 192.168.1.20 acl permitidas dstdomain “/etc/squid/permitidas” acl horario time MTWHF 08:00-19:00 acl extensiones urlpath_regex “/etc/squid/extensiones” Comenzaremos a configurar el control de accesos. http_access allow dmz !extensiones http_access allow jefes http_access deny redlocal !permitidas !horario extensiones Con esto tendremos ya configurado nuestro squid. Configuración de squid + DansGuardian + clamav Squid puede apoyarse de otras aplicaciones como: * SquidGuard. * Clamav. Estos nos apoyan a tener un control del acceso a internet. Instalación DansGuardian/clamav Para poder instalar DansGuardian es necesario instalar los siguientes y librerias para su funcionamiento: 1) Tendremos que instalar el antivirus clamav. [root@mantis ~]# yum install clamd Hay que actualizar nuestro antivirus. [root@mantis ~]# fleshclam Solo falta iniciar el servicio. [root@mantis ~]# /etc/init/clamd start 2) También tendremos que instalar openssl, es un herramienta de seguridad y tiene herramientas de cifrado. [root@mantis ~]# yum install openssl-devel openssl 3)Tendremos que instalar las librerías de compilación. [root@mantis ~]# yum install rpm-build gcc-c++ gcc zlib 4)Descargaremos las librerías de smtp, este se encarga de envío de correo. wget [http://download.fedora.redhat.com/pub/epel/5/i386/libesmtp-1.0.4-5.el5.i386.rpm] wget [http://download.fedora.redhat.com/pub/epel/5/i386/libesmtp-devel-1.0.4-5.el5.i386.rpm ] Ya que los tenemos descargados tendremos que crearemos un enlace simbólico a la libreria de clamav. [root@mantis ~]# ln -s /usr/lib/libclamav.so.6 /usr/lib/libclamav.so.1 Instalaremos los paquetes libestmp libesmtp-devel de la siguiente manera: [root@mantis ~]# rpm -ivh libesmtp*.rpm 5) Descargaremos dansguardian con su parche de antivirus. wget [http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge] /d/dg/dgav/dansguardian-antivirus-6.4.4.2-1.src.rpm Ya descargado, ahora tendremos que compilar el paquete. [root@mantis ~]# rpmbuild --rebuild dansguardian-antivirus-6.4.4.2-1.src.rpm La compilación del paquete puede tardar varios minutos dependiendo de las características de la máquina. Cuando termine la compilación, tendremos que acceder a la siguiente ruta. [root@mantis ~]# cd /usr/src/redhat/RPMS/i386/ En esta ruta es donde se encuentra el rpm compilado de dansguardian, solo queda instalarlo. [root@mantis i386]# rpm -ivh dansguardian-antivirus-6.4.4.2-1.i386.rpm 6) Por momento solamente queda configurar nuestro dansguardian, su archivo de configuración se encuentra en /etc/dansguardian/dansguardian.conf. [root@mantis ~]# vim /etc/dansguardian/dansguardian.conf Modificaremos o habilitaremos los siguientes parametros: language = 'spanish' filterip = 192.168.1.254 filterport = 8080 proxyip = 192.168.1.254 proxyport = 3128 daemonuser = 'clamav' daemongroup = 'clamav' clamdsocket = '/tmp/clamd.socket' virusengine = 'clamdscan, clamav' loglocation = '/var/log/dansguardian/access.log' Crearemos el archivo access.log que contendrá los acceso al dansguardian. [root@mantis ~]# touch /var/log/dansguardian/access.log [root@mantis ~]# chown root.root /var/log/dansguardian/access.log [root@mantis ~]# chmod 666 /var/log/dansguardian/access.log Iniciamos los servicios de antivirus, proxy y dansguardian: [root@mantis ~]# /etc/init.d/clamd restart [root@mantis ~]# /etc/init.d/squid restart [root@mantis ~]# /etc/init.d/dansguardian start Configuración de DansGuardian/Squid Ya que tenemos funcionando el dansguardian y clamav solo falta modificar algunos parámetros dentro de la configuración del squid para que tengan comunicación entre squid y dansguardian. Como siempre debemos indicar la IP del servidor y puerto de escucha, y agregaremos otros parámetros de los cuales permite crear el enlace entre las dos aplicaciones. http_port 192.168.1.254:3128 transparent tcp_outgoing_address 192.168.2.1 cache_peer 127.0.0.1 sibling 8080 7 cache_peer 192.168.2.1 parent 3128 7 Con esto ya tendremos configurado nuestro squid solo queda reiniciarlo. [root@mantis ~]# /etc/init.d/squid restart Configuración de iptables Que configurar nuestro reglas de ruteo y de acceso a la red interna ###Hacemos limpieza de reglas existentes de entrada, salida, Ruteo y nateo iptables -F iptables -X iptables -Z iptables -t nat -F iptables -t nat -X iptables -t nat -Z ###Habilitamos el reenvio de paquetes y como a máquinas dinámicas echo "1" > /proc/sys/net/ipv4/ip_forward echo "1" > /proc/sys/net/ipv4/ip_dynaddr ##Aceptamos conexiones locales iptables -A INPUT -i lo -j ACCEPT ###Aceptamos conexiones de tipo de DNS a nuestro servidor iptables -A INPUT -p udp --dport 53 -j ACCEPT iptables -A INPUT -p tcp --dport 53 -j ACCEPT ##Aceptamos conexiones del segmento de red 192.168.2.0 por la interfaz eth1 iptables -A INPUT -s 192.168.2.0/24 -i eth1 -j ACCEPT ##Creamos un nateo de la red interna hacia afuera de la red. iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -d 0.0.0.0/0 -j MASQUERADE #Aceptamos peticiones de la tarjeta de red eth1 iptables -A FORWARD -i eth1 -j ACCEPT #Aceptamos peticiones de la red local al puerto 80. iptables -A FORWARD -s 192.168.2.0/24 -p tcp --dport 80 -j ACCEPT #Aceptamos peticiones de entrada/salida por medio de protocolo udp del servidor DNS 192.168.1.1 iptables -A INPUT -s 192.168.1.1 -p udp -m udp --sport 53 -j ACCEPT iptables -A OUTPUT -s 192.168.1.1 -p udp -m udp --dport 53 -j ACCEPT ###Todo petición que venga de la red local que vaya hacia el puerto 80 mandalo al puerto 8080 iptables -t nat -A PREROUTING -s 192.168.2.0/24 -p tcp --dport 80 -j REDIRECT --to-port 8080 ### Todo conexiones que venga de la red local haz un nateo con salida de la ip del servidor. iptables -t nat -A POSTROUTING -i eth1 192.168.2.0/24 -o eth0 -j SNAT --to-sources 192.168.1.240 ###Genera un archivo de configuracion de la reglas y lo guardas en la ruta indicada iptables-save > /etc/sysconfig/iptables ###reinicia el servicio de iptables o firewall /etc/init.d/iptables restart Con esto ya tendremos configurado nuestro servicio de Squid Transparente con DansGuardian y Clamav. Quedando de la siguiente manera nuestra configuración como se muestra en el siguiente diagrama, toda petición al puerto 80 sera reenviada al 8080 que tiene DansGuardian, analizada con el antivirus y al terminar todo este proceso sera enviada a squid. Herramientas de Análisis de trafico Dentro de squid existen dos herramientas: * sarg * calamaris Esta herramientas nos permite generar reportes de la información que esta pasando por el squid, como podemos ver la información de cada máquina que paginas han visitado, es como u histórico de cada computadora de nuestra red. Para poder ocupar estas herramientas es necesario tener instalado el servicio de apache dentro de squid, por que si no sera posible utilizar estas herramientas. [root@mantis ~]# yum install httpd Instalación/configuración SARG Tendremos que instalar la herramienta de Sarg. [root@mantis ~]# yum install sarg Ahora tendremos que habilitaremos o modificaremos algunas de las opciones del archivo de configuración de sarg. language Spanish access_log /var/log/squid/access.log title "REPORTE DE SQUID" font_face Arial header_color darkblue header_bgcolor blanchedalmond background_color white text_color black text_bgcolor beige title_color green output_dir /var/www/sarge date_format u weekdays 0-6 hours 0-23 overwrite_report yes report_type topsites users_sites sites_users date_time denied auth_failures site_user_time_date time_by bytes Tendremos que reiniciar el servicio de apache, para que agregue a la configuración del fichero /etc/httpd/conf.d/sarg.conf al apache. [root@mantis ~]# /etc/init.d/httpd restart Ahora tendremos que inicia la aplicación de sarg. [root@mantis ~]# sarg SARG: Records in file:436, reading:100.0 % Con esto indica que nuestro sarg ya empezó a crear el informe y fue creado al 100%. Solo falta entrar con nuestro navegador a la dirección http://127.0.0.1/sarg o http://IP/sarg. Instalación/configuración CALAMARIS Tendremos que instalar la herramienta de calamaris. [root@mantis ~]# yum install calamaris La configuración de calamaris es un poco mas tediosa que sarg. En calamaris no tiene un archivo de configuración propio cuando se instala aplicación, lo que tendremos que hacer es crear el archivo manualmente. [root@mantis ~]# vim /etc/calamaris.conf Y tendremos que agregarle los siguientes parámetros: ## Reporte Por Dia daily:root:/var/www/calamaris/daily.html:both:'Squid daily' ### Reporte por Semana weekly:root:/var/www/calamaris/weekly.html:both:'Squid weekly' ### Reporte por Mes monthly:root:/var/www/monthly.html:both:'Squid monthly' También crearemos el archivo de configuración para apache. [root@mantis ~]# vim /etc/httpd/conf.d/calamaris.conf Deberá contener a la siguientes parámetros. Alias /calamaris "/var/www/calamaris" <Directory "/var/www/calamaris"> Options Indexes MultiViews AllowOverride None Order allow,deny # Allow from all Allow from 192.168.1.0/24 </Directory> Se creara el directorio de alojamiento de reportes, tambien se le otorgara permisos al usuario squid y grupo apache. [root@mantis ~]# mkdir /var/www/calamaris [root@mantis ~]# chown squid.apache /var/www/calamaris -R Reiniciamos el servicio de apache. [root@mantis ~]# /etc/init.d/httpd restart Generando el reporte. [root@mantis ~]# cat /var/log/squid/access.log | calamaris -R -1 -a -F html > /var/www/calamaris/reporte-hoy.html Solo falta entrar con nuestro navegador a la dirección http://127.0.0.1/calamaris o http://IP/calamaris. Con esto ya podremos ver toda la información que es genera en la red cuando los usuarios acceden a internet http://www2.linuxparatodos.net/web/comunidad/base-de-conocimiento/-/wiki/Base%20de%20Conocimiento/Servidor+Proxy

DANS GUARDIAN 1.Qué es DansGuardian. La herramienta DansGuardian es código abierto, está desarrollada en C++ y permite una configuración flexible adaptándose a las necesidades del usuario. Al instalar el paquete la configuración por defecto ya limita las visitas a páginas prohibidas para menores, pero dispone de gran cantidad de archivos de configuración para llevar a cabo un ajuste del servicio mas personalizado. El mecanismo es el siguiente: los clientes mediante sus navegadores web hacen peticiones de páginas que son recibidas por DansGuardian y sólo son redireccionadas al servidor proxy SQUID aquellas que superan la fase de filtrado. En realidad DansGuardian se ejecuta como un demonio independiente del proxy, acepta peticiones en el puerto 8080 y las redirecciona al proxy SQUID, que escucha en el puerto 3128. Por lo tanto, cuando una petición entra por el puerto 8080, DansGuardian la filtra y la pasa al Proxy SQUID por el puerto 3128. Es importante, en consecuencia, que ningún otro servicio esté utilizando el puerto 8080. Si el resultado del filtrado (dependiendo de los filtros configurados) es una denegación de acceso a una determinada página web se muestra al usuario el mensaje correspondiente al 'Acceso Denegado'. Si DansGuardian está en la máquina que hace de cortafuegos y se configura un proxy transparente en SQUID, habrá que redireccionar todo el tráfico de la LAN hacia el puerto 80 al puerto 8080, donde DansGuardian escucha. Es decir, se capturan todas las peticiones que se hagan a un servidor http (petición de páginas web) y se envían a DansGuardian (8080) para que se encargue del filtrado. iptables -t nat A PREROUTING -i eth0 -p tcp --dport 3128 –j REDIRECT --to-port 8080 En el caso de acceder a páginas seguras que utilizan el protocolo https (puerto 443) también deberán ser redirigidas. 2.Instalar clamav Instalamos en primer lugar el antivirus clamav. sudo apt-get install clamavdaemon clamavfreshclam 3.Instalar DansGuardian sudo apt-get install dansguardian 4.Configurando DansGuardian El archivo de configuración es /etc/dansguardian/dansguardian.conf Pasos para la configuración: Establecer la línea que contiene la directiva #UNCONFIGURED como un comentario. Para ello añadir al principio de la línea el carácter '#'. Si no lo hacemos así, DansGuardian pensará que no nos hemos molestado en configurarlo. #UNCONFIGURED - Please remove this line after configuration En la sección 'Network Settings' comprobar que están las líneas siguientes: filterip = <ip donde escucha dansguardian> filterport = 8080 proxyip = 127.0.0.1 proxyport = 3128 Modificar el idioma por defecto. Para ello sustituir el inglés por 'spanish' y dejar las líneas como sigue: languagedir = '/etc/dansguardian/languages' # language to use from languagedir. language = 'spanish' Para que DansGuardian se sincronice con el antivirus Clamav, debemos descomentar la siguiente línea: #contentscanner = '/etc/dansguardian/contentscanners/clamav.conf' Salir de gedit salvando los cambios y reiniciar el servicio dansguardian ejecutando la orden: $sudo /etc/init.d/dansguardian restart 5.Cuidado con los descuidos Tal y como lo hemos dejado, alguien que sencillamente no ataque al puerto 8080 no pasará por el filtro de DansGuardian. Debemos por tanto forzar a que el tráfico http sea redirigido al puerto 8080. iptables –t nat –A PREROUTING –i eth0 –p tcp -–dport 3128 –j REDIRECT -–toport 8080 iptables –t nat –A PREROUTING –i eth0 –p tcp –dport 80 –j REDIRECT --toport 8080 ¿Para qué sirve la primera regla? ¿Y la segunda? Si estamos redireccionando, necesitaremos definir squid como transparente. 6.Ficheros de filtros en DansGuardian Archivos de filtros en /etc/dansguardian/ Archivo Descripción bannedphraselist contiene una lista de frases prohibidas. Las frases deben estar entre <>. Por defecto incluye una lista ejemplo en inglés. Las frases pueden contener espacios. Se puede también utilizar combinaciones de frases, que si se encuentran en una página, serán bloqueadas. Archivos de filtros en /etc/dansguardian/ bannedmimetypelist contiene una lista de tipos MIME prohibidos. Si una URL devuelve un tipo MIME incluido en la lista, quedará bloqueada. Por defecto se incluyen algunos ejemplos de tipos MIME que serán bloqueados. bannedextensionlist contiene una lista de extensiones de archivos no permitidas. Si una URL termina con alguna extensión contenida en esta lista, será bloqueada. Por defecto se incluye un archivo ejemplo que muestra como denegar extensiones. bannedregexpurllist contiene una lista de expresiones regulares3 que si se cumplen sobre la URL ésta será bloqueada. bannedsitelist contiene una lista de sitios prohibidos. Si se indica un nombre de dominio todo él será bloqueado. Si se quiere sólo bloquear partes de un sitio hay que utilizar el archivo bannedurllist. También se pueden bloquear los sitios indicados exeptuando los dados en el archivo exceptionsitelist. Existe la posibilidad de descargarse listas negras tanto de sitios como de URLs y situarlas en los archivos correspondientes. Están disponibles en http://dansguardian.org/?page=extras. bannedurllist permite bloquear partes específicas de un sitio web. bannedsitelist bloquea todo el sitio web y ésta sólo bloquea una parte. banneduserlist lista de los nombres de usuario que estarán bloqueados. Archivos de excepciones en /etc/dansguardian/ Archivo Descripción exceptionsitelist contiene una lista de los nombres de dominio que no serán filtrados Es importante tener en cuenta que el nombre de dominio no debe incluir http:// o www. exceptioniplist contiene una lista de las direcciones IP de los clientes a los que se permite el acceso sin restricciones. este sería el caso de la dirección IP del administrator. exceptionuserlist lista de los nombres de usuarios que no serán filtrados en el caso de utilizar control de acceso por usuario. Requiere autenticación básica o "ident". exceptionphraselist lista de las frases que, si aparecen en una página web, pasará el filtro. 7. Definir grupos Puede que queramos definir ciertas reglas de filtrado dependiendo del usuario. Para ello seguiremos los siguientes pasos (en nuestro ejemplo usaremos dos grupos, aunque todo esto es generalizable hasta 99 grupos, lo que es imposible de mantener). Primero vamos a crear dos directorios, uno para cada grupo, a saber: /etc/dansguardian/f1 /etc/dansguardian/f2 Dentro de cada uno de estos directorios, pondremos las reglas de filtrado específicas para cada grupo: cp -r /etc/dansguardian/lists /etc/dansguardian/f1 cp –r /etc/dansguardian/lists /etc/dansguardian/f2 Ahora, para no aligerar un poco el directorio /etc/dansguardian, vamos a meter los directorios f1 y f2 en /etc/dansguarian/lists. mv /etc/dansguardian/f1 /etc/dansguardian/lists/ mv /etc/dansguaridian/f2 /etc/dansguardia/lists/ También vamos a crear los ficheros de configuración de cada grupo. Inicialmente ya existe dansguardianf1.conf (para el grupo 1, por defecto). A partir de este vamos a crear el segundo. cp /etc/dansguardian/dansguardianf1.conf /etc/dansguardian/dansguardianf2.conf Debemos modificar el contenido de dansguardianf1.conf y dansguardianf2.conf, para que importen las reglas desde /etc/dansguardian/lists/f1 y /etc/dansguardian/lists/f2 respectivamente. Podemos hacer esto utilizando gedit. Ahora, vamos a modificar el fichero dansguardian.conf para lo siguiente: 1. Que dansguardian sepa que hay dos grupos. 2. Para poder establecer una equivalencia entre ciertas ips y cada uno de los grupos. Modificamos las siguientes líneas en /etc/dansguardian/dansguardian.conf filtergroups=2 authplugin = '/etc/dansguardian/authplugins/ip.conf' # descomentar esta línea. Ahora solo queda asociar cada ip a cada grupo. Esto podemos hacerlo en el fichero que se indica en /etc/dansguardian/authplugins/ip.conf, es decir en /etc/dansguardian/lists/authplugins/ipgroups. Allí escribiremos algo como lo siguiente: 172.16.0.51=filter1 172.16.0.52=filter2 Hecho esto, reiniciamos DansGuardian, y debería diferenciar entre los dos grupos. Para comprobarlo, añadiremos en las reglas de cada grupo, un sitio diferente. Por ejemplo, añadir en /etc/dansguardian/lists/f1/bannedsitelist la siguiente línea sitio1.com Ahora añadiremos la siguiente línea en /etc/dansguardian/lists/f2/bannedsitelist: sitio2.com Reiniciamos Dansguardian, y a hacer pruebas. NOTA: este manual es de internet solo lo aporto para compartir conocimientos con la comunidad de taringa.....Viva el software libre
Nota: Para el Funcuionamiento de este manual es necesario tener instalado el servidor de DNS Instalación y Configuración de Postfix en Ubuntu Tabla de Contenidos [-+] * 1 Servidor Correo Electrónico * 2 Acerca de Postfix * 3 Acerca de Dovecot * 3.1 Protocolos Utilizados * 3.1.1 Protocolo SMTP. * 3.1.2 Protocolo POP3. * 3.1.3 Protocolo IMAP. * 3.2 MUA (Mail User Agent). * 3.3 MTA (Mail Transport Agent). * 3.4 Instalación de Postfix * 3.5 dpkg-reconfigure postfix. * 3.5.1 Tipos de sitios * 3.5.2 Nombre del servidor * 3.5.3 Alias * 3.5.4 Recipiente del root/postmaster * 3.5.5 Dominios a Administrar. * 3.5.6 Colas de Correo * 3.5.7 Redes Permitidas. * 3.5.8 Configuración Procmail * 3.5.9 Tamaño de los Buzones * 3.5.10 Extensiones. * 3.5.11 Protocolos. * 3.6 Ficheros de Configuración. * 3.7 Configuración Postfix. * 3.7.1 Parámetro myhostname. * 3.7.2 Parámetro mydomain. * 3.7.3 Parámetro alias_maps. * 3.7.4 Parámetro myorigin. * 3.7.5 Parámetro mydestination. * 3.7.6 Parámetro relayhost. * 3.7.7 Parámetro mynetworks. * 3.7.8 Parámetro mailbox_size_limit. * 3.7.9 Parámetro message_size_limit. * 3.7.10 Parámetro inet_interfaces * 3.7.11 Parámetro transport. * 3.7.12 Parámetro inet_protocols. * 3.7.13 Parámetro virtual_alias_domains. * 3.7.14 Parámetro masquerade_domains. * 3.7.15 Parámetro maximal_queue_lifetime. * 3.7.16 Parámetro bounce_queue_lifetime. * 3.8 Configuración de los alias. * 3.9 Cuentas de correo. * 3.10 Protocolo para acceder al correo. * 3.11 Instalación SquirrelMail. * 3.11.1 Configuración de SquirrelMail. * 3.12 Comandos de Postfix. * 3.13 Manejo de Logs. * 3.14 Antivirus Clamav * 3.14.1 Herramienta clamscan * 3.14.2 Herramienta freshclam * 3.15 MailScanner. * 3.15.1 Configuración MailScanner. Servidor Correo Electrónico Es uno de los principales servicios de internet mas populares que permite a los usuarios enviar y recibir mensajes rápidamente, por medio de mensajes de correo electrónico se puede enviar, no solamente texto, sino todo tipo de documentos digitales. El correo electrónico permite a cualquier persona que tenga acceso a Internet enviar mensajes escritos, archivos e imágenes a otra persona que también tenga acceso a Internet, en cualquier lugar del mundo y de forma casi instantánea. Acerca de Postfix Postfix es una MTA(Mail Tranport Agent), escrito originalmente Wietse Venema, creado con la intención de que sea mas fácil de administrar y configurar, es bastante reciente y se suma a la lista de alternativas al legendario Sendmail. Acerca de Dovecot Dovecot contiene los demonios de imap y pop3, para que los clientes de correo electrónico accedan directamente a sus buzones sin ningún problema. Escrito fundamentalmente pensando en seguridad. Desarrollado por Timo Sirainen, Dovecot fue liberado por primera vez en julio del año 2002. Protocolos Utilizados Los servidores de correo trabajan bajo la arquitectura de cliente/servidor. Para permitir todo este proceso, existe una variedad de protocolos de red que permiten que diferentes maquinas estén usando programas o navegadores para envío y recepción de correo electrónico. Los protocolos que se ocupan son: * smtp. * pop3. * Imap. Protocolo SMTP. SMTP (Simple Mail Transfer Protocol - Protocolo de Transferencia de Correo Simple), proporcionan un mecanismo para transferir correo fiable y eficientemente. Funciona bajo un conjunto de reglas: * Acepta mensaje de entrada. * Comprueba direcciones de los mensajes. * Si son direcciones locales, las almacenan el mensaje para después recuperarlo. * Si son direcciones remotas envía el correo. Un mensaje pasa a través de varias pasarelas SMTP antes de llegar a su destino final, en cada parada es evaluado el mensaje, si el mensaje es suyo lo almacena sino lo envía a otro SMTP hasta que encuentre su destino final. El protocolo SMTP trabaja sobre TCP y escucha las peticiones por el puerto 25 y 465 modo seguro. Protocolo POP3. POP3(Post Office Protocol- Protocolo de correo), actualmente nos encontramos en la tercera versión de este protocolo. La ventaja principal que tiene este protocolo: * Las carpetas, mensajes se aguardan en nuestro ordenador. * Permite leer el correo recibido sin estar conectado a internet. * Liberamos espacio de nuestro buzón en el servidor de correo. Para poder utilizar una cuenta de correo a través del protocolo POP3, es necesario tener configurado algún programa de manejo de correo en nuestra computadora como Thundebird, Evolution, Outlook, etc. El protocolo POP3 trabaja sobre TCP y escucha las peticiones por el puerto 110 y 995 modo seguro. Protocolo IMAP. IMAP(Internet Message Access Protocol), es un protocolo de red de acceso a mensajes electrónicos almacenados en un servidor. Es más complejo que POP ya que permite visualizar los mensajes de manera remota y no descargando los mensajes como lo hace POP. La ventaja principal que tiene este protocolo: * El correo no es descargado en la computadora. * El correo siempre esta dentro del buzón del usuario dentro del usuario. * Cuando usamos clientes de correo en nuestra computadora solo baja cabeceras de correo. * El servidor retiene el correo hasta que el usuario lo elimine. * Puede consultarse el correo desde diferentes computadoras Este tipo de correo fue desarrollado en 1986 en la Universidad de Stanford y trabaja sobre TCP y escucha las peticiones por el puerto 143 y 993 modo seguro. MUA (Mail User Agent). Un MUA (Agente de usuario de correo), es un programa que permite al usuario leer y escribir mensajes de correo electrónico. Los MUA se clasifican en: * Aplicaciones o Software. * Web. En aplicaciones del tipo MUA existen nuestro cliente de correo preferidos como: Thunderbird, Evolution, Outlook, para los tipos web son las cuentas de correo que tengamos con algún proveedor o que son usadas a través de nuestro navegador web. Pero también existen MUA que se ejecutan dentro de GNU/Linux y UNIX desde consola como Mutt o Pine Los MUA son capaces de recuperar los mensaje de correo electrónico mediante los protocolos POP3 o IMAP depende de como tengamos configurado nuestro MUA. MTA (Mail Transport Agent). Un MTA (Agente de Transporte de correo), se encarga del envio de los mensajes de correo electrónico entre maquinas que usan el protocolo SMTP. Un mensaje pueda pasar por varios MTA hasta llegar a su destino final. Existen varios MTA y son: * Sendmail: Es el mas popular, veterano de los MTA, el mas ocupado en internet y muy difícil de configurar y es de código libre. http://www.sendmail.org/ * Postfix: Este es otro MTA el segundo mas popular y se piensa que va ser el reemplazo de sendmaill, fue desarrollado por Wietse Veneme y puede ser instalado en UNIX, GNU/Linux y Mac OS. http://www.postfix.org/ * Qmail: Es un MTA desarrollado por Daniel J. Bernstein, lo que buscaba era una mejor alternativa a Sendmail * Exim: Es un MTA desarrollado por la Universidad de Cambridge y puede ser utilizado en la mayorías de los sistemas UNIX y GNU/Linux. http://www.exim.org/ * Smail: Es otro MTA de los veteranos que existen en GNU/Linux. http://www.weird.com/~woods/projects/smail.html En todas las distribuciones GNU/Linux siempre traen instalado el servidor de correo, para el envío de sucesos o log del sistema y envía un correo al responsable o al administrador del sistema. En la mayoría de las distribuciones trae instalado por defecto sendmail. Instalación de Postfix Para poder instalar nuestro servidor de correo Postfix: root@server1:~# apt-get install postfix Antes de terminar de instalar los paquetes se ejecuta el asistente de configuración de postfix, solamente hay que dar enter y seleccionar sin configuración. dpkg-reconfigure postfix. Ahora tenemos que configurar nuestro servidor Postfix para ejecutaremos el siguiente comando root@server1:~# dpkg-reconfigure postfix Este comando mandara a llamar a un asistente de configuración de Postfix y por medio de el iremos configurando nuestro servidor de correo con las opciones que deseemos. Nos aparecerá la siguiente pantalla de bienvenida de Postfix. Tipos de sitios En Postfix podemos determinar que tipo de sitio vamos a tener en nuestro servidor: * Sin Configuración: Esta opción no hace ninguna modificación al servidor de correo Postfix. * Sitio de Internet: Se caracteriza porque el propio servidor se encarga de enviar/recibir correo electrónico utilizando SMTP, esta es la opción por default. * Internet con <<smarthost>>: Se caracteriza porque el servidor no envía los correo directamente a los destinatarios, sino que los envía a otros servidores de correo y ellos se encarga de enviarlos. * Sistema Satélite: Todo correo saliente se envia a otra maquina, llamada host, el correo de root y postmaster se envia de acuerdo a /etc/aliases, solamente se recibe correo localmente. * Solo Correo Local: Solo entrega correo a los usuarios locales que tiene registrado el servidor de correo y no hay red. En nuestro caso seleccionaremos la opción de Sitios de Internet, ya que nuestro servidor sera el encargado de administrar los usuarios y el envío/recepción de correo electrónico. Movemos a la opción OK para poder avanzar en nuestra configuración. Nombre del servidor En esta parte de la configuración solamente agregamos el nombre del servidor. Alias Solamente tomara la configuración del archivo /etc/aliases para poder enviar correo al administrador del sistema. Recipiente del root/postmaster Se personaliza a que usuario le va llegar el correo del administrador root y postmaster. Dominios a Administrar. Aqui agregamos los dominios que va administrar nuestro servidor de correo, los datos van separados por comas. Colas de Correo Esta opción es recomendable indicarle que NO, ya que va intentar forzar las actualización de las colas y puede hacer muy lento el correo. Redes Permitidas. En esta configuración solamente permitimos las redes que tendrán acceso a nuestro servidor de correo. Configuración Procmail Aquí indica que si Procmail va hacer el encargado de entregar correo localmente, seleccionamos la opción NO. Tamaño de los Buzones Especificamos el tamaño de los buzones, por default viene con 512 MB. Extensiones. Dejamos el dato por default y damos enter para seguir. Protocolos. Solamente seleccionamos que protocolo queremos que utilice. Con esto habremos terminado de configurar una parte de Postfix. Ficheros de Configuración. Los ficheros de configuración de Postfix se encuentran en: /etc/postfix/ Ahora entraremos al directorio de postfix: root@server1:~# cd /etc/postfix/ root@server1:postfix# Dentro de este directorio tendremos varios archivos: root@server1:postfix# ls dynamicmaps.cf master.cf postfix-script sasl main.cf postfix-files post-install root@server1:postfix# OPTION DESCRIPCION dynamicmaps.cf Archivo de configuración de mapas dinámicos. main.cf El archivo de configuración de Postfix. La mayoría de las opciones de configuración se especifican en este archivo. master.cf Especifica la forma en que Postfix interactúa con diferentes procesos para lograr la entrega de correo. postfix-files Contiene una lista de los archivos instalados por Postfix. postfix-script El postfix-script son los comandos de Postfix. Sólo puede ser ejecutada por el comando de Postfix y no funciona si se ejecuta con la mano. post-install Script que controla los parámetros de instalación de Postfix. sasl Directorio en se guardan las autenticaciones con el soporte para TLS Y SASL. Configuración Postfix. Antes de configurar es necesario hacer una copia de seguridad del fichero de configuración de Postfix. root@server1:postfix# cp main.cf main.cf-orig root@server1:postfix# Ahora si comenzaremos a editar el archivo y configurar algunas opciones. root@server1:postfix# vim main.cf Parámetro myhostname. Este parámetro especifica el hostname y el dominio de la maquina, ya viene configurado con el nombre ya que se ocupa anteriormente la herramienta dpkg-reconfigure postfix. myhostname = server1.factor.dynalias.net Parámetro mydomain. Le indica al servidor el nombre de dominio de nuestra maquina. mydomain = factor.dynalias.net Parámetro alias_maps. Lugar donde están almacenados los alias de los correos. alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases Este dato ya viene configurado por default. Parámetro myorigin. Configura el nombre de el dominio con el salen los correos. Por default ya viene configurado con el nombre de la maquina. myorigin = /etc/mailname. Parámetro mydestination. Dominios con los cuales solamente recibe correo, aquí agregamos los dominios y separados por comas. mydestination = server1.factor.dynalias.net, localhost.factor.dynalias.net, localhost, ascariote.net, rodmen.com rodmen.net Parámetro relayhost. Este parámetro establece que los dominios de este servidor serán retransmitidos a otro correo. mrelayhost = Parámetro mynetworks. A que redes se les permite hacer relay por este servidor. mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 Parámetro mailbox_size_limit. Tamaño máximo que tendrá nuestro buzón de correo electrónico por default es 50 MB. El tamaño es expreso en bytes mailbox_size_limit = 51200000 Parámetro message_size_limit. Este parámetro no viene incluido dentro del archivo de configuración pero los podemos agregar y lo que hace es limitar el tamaño máximo de un mensaje de correo electrónico. message_size_limit = 5120000 Parámetro inet_interfaces Aquí se configuran las interfaces de red en la que se escuchara peticiones. inet_interfaces = all Parámetro transport. Este parámetro trae que método usara para envío de correo. default_transport = smtp Parámetro inet_protocols. El protocolo por el cual Postfix trabajara y aceptara las peticiones de conexión. inet_protocols = ipv4 Parámetro virtual_alias_domains. Le decimos a Postfix que considere los correos de los dominios virtuales. Esta opcion la tenemos que agregar. virtual_alias_domains = ascariote.net, rodmen.net Parámetro masquerade_domains. Nos sirve para enmascarar mis subdominios que tengamos. Esta opción la tenemos que agregar. #masquerade_domains = Parámetro maximal_queue_lifetime. Tiempo maximo que puede estar un correo en una cola. maximal_queue_lifetime = 2h Parámetro bounce_queue_lifetime. Tiempo limite en el que un correo manda un rebote del mismo. maximal_queue_lifetime = 2h Hay que guardar la configuración y reiniciar el servicio de Postfix. root@server1:~# /etc/init.d/postfix restart * Stopping Postfix Mail Transport Agent postfix [ OK ] * Starting Postfix Mail Transport Agent postfix [ OK ] root@server1:~# Configuración de los alias. No es conveniente conectarse como usuario root a su cuenta de correo electrónico, por lo que vamos hacer es que todo correo que se enviado a root sea reenviado a una cuenta de un usuario mortal. Tendremos que modificar el siguiente fichero: root@server1:~# vim /etc/aliases Dentro de este tendremos que buscar el siguiente parámetro root y agregamos el usuario al cual queremos que le envié una copia de los correos de root. root: administrador Cuentas de correo. En este punto crearemos los usuarios para nuestro correo electrónico root@server1:~# useradd -m -s /sbin/nologin carlos y le asignaremos un password: root@server1:~# passwd carlos Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully root@server1:~# Como pueden ver la creación de usuarios es muy fácil de hacer, pero explicaremos para que sirve cada opción del useradd. Opción Descripción -m el comando useradd crea el directorio de trabajo del usuario si no existe. -s shell por defecto, no lo hacemos con este shell que le dimos es que no le permita la conexion a nuestro sistema. Protocolo para acceder al correo. El servicio dovecot trae incluido los protocolos de pop3, pop3s, imap, imaps, el cual nos permite acceder o descargar nuestro correo. Tendremos que instalar los siguientes paquetes que contienen los protocolos de dovecot. root@server1:~# apt-get install dovecot-imapd dovecot-pop3d Ahora tendremos que modificar el archivo de configuración para que solamente tengamos habilitado pop3 y imap. root@server1:~# vim /etc/dovecot/dovecot.conf Y buscaremos en este archivo parámetro protocols, y debe quedar de esta manera: protocols = imap imaps Guardamos y reiniciamos el servicio de dovecot. root@server1:~# /etc/init.d/dovecot restart * Restarting IMAP/POP3 mail server dovecot [ OK ] root@server1:~# Instalación SquirrelMail. SquirrelMail es una aplicación webmail creada por Nathan y Luke Ehresman y escrita en PHP. Puede ser instalado en la mayoría de servidores web siempre y cuando éste soporte PHP. Lo que hace SquirrelMail es un MUA que permite al usuario acceder a su correo desde un navegador web. Comenzaremos la instalación: root@server1:~# apt-get install squirrelmail Tendremos que crear un enlace al sitio en donde esta alojado el correo. root@server1:~# ln -s /usr/share/squirrelmail/ /var/www/rodmen.net/webmail Configuración de SquirrelMail. Los que haremos ahora es configurar nuestro SquirrelMail para nuestro dominio. Para eso tendremos que ejecutar el siguiente comando: root@server1:~# squirrelmail-configure Después de que ejecutamos el comandos nos aparecerá lo siguiente: SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Main Menu -- 1. Organization Preferences 2. Server Settings 3. Folder Defaults 4. General Options 5. Themes 6. Address Books 7. Message of the Day (MOTD) 8. Plugins 9. Database 10. Languages D. Set pre-defined settings for specific IMAP servers C Turn color on S Save data Q Quit Command >> Para poder entrar cada unas de las opciones de SquirrelMail tendremos que teclear el numero de la opción del menú. Entramos a la opción de Organization Preferences, después nos aparecerá un menú con las opciones que podemos modificar para que tenga los datos de nuestra empresa. Nombre de la empresa, pagina oficial de la empresa, logo de la misma. SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Organization Preferences 1. Organization Name : rodmen sa de cv 2. Organization Logo : ../images/debian_splash.png 3. Org. Logo Width/Height : (331/350) 4. Organization Title : rodmen.net 5. Signout Page : 6. Top Frame : _top 7. Provider link : www.rodmen.com 8. Provider name : rodmen sa de cv R Return to Main Menu C Turn color on S Save data Q Quit Command >> Como ya tenemos todos los cambios realizados ahora tendremos que guardarlos, con la opción S. R Return to Main Menu C Turn color on S Save data Q Quit Command >> s Data saved in config.php Press enter to continue... Y regresamos al menú principal con la opción R. Entremos a la opción de Server Settings para poder configurar el dominio y el SMTP. SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Server Settings General ------- 1. Domain : rodmen.net 2. Invert Time : false 3. Sendmail or SMTP : SMTP A. Update IMAP Settings : localhost:143 (other) B. Update SMTP Settings : localhost:25 R Return to Main Menu C Turn color on S Save data Q Quit Command >> En la siguiente opción Folder Defaults, solo cambiaremos los nombre de la carpetas. SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Folder Defaults 1. Default Folder Prefix : 2. Show Folder Prefix Option : false 3. Trash Folder : Basura 4. Sent Folder : Enviados 5. Drafts Folder : Borradores R Return to Main Menu C Turn color on S Save data Q Quit Command >> Por ultimo nos vamos a la opción de Language, para poder cambiar el idioma de nuestro SquirrelMail. Solo modificaremos la opción de Default Language cambiarla por es_ES. SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Language preferences 1. Default Language : es_ES 2. Default Charset : iso-8859-1 3. Enable lossy encoding : false R Return to Main Menu C Turn color on S Save data Q Quit Command >> Tenemos que guardar la configuración y nos regresamos al menú principal, estando en el menú principal solo que salir presionamos Q. Solamente tendremos que abrir nuestro navegador web favorito y teclear el dominio en donde esta el correo. Comandos de Postfix. Existen varios comandos que se pueden usar para Postfix: Manejo de Logs. Los archivos de logs del servicio de Postfix se encuentran en: /var/log/ Dentro de esta ruta encontraremos varios archivos: root@server1:log# ls mail* mail.err mail.info mail.log mail.warn ARCHIVO DESCRIPCION mail.err Este archivo contiene los errores del servicio de Postfix. mail.info Este archivo contiene los últimos sucesos de Postfix mail.log Contiene el trafico de la cola de correo, alerta en caso de tenga un error nuestro envio de correo. Es el trafico de correo. mail.warm Este archivo solo contiene algunas alerta de posible errores. Siempre hay que estar viendo los logs del archivo mail.log por seguridad, como también para saber como van nuestro mensaje en cola, enviados, rechazados. Para poder hacer esto tendremos que ejecutar el siguiente comando: root@server1:log# tail -f /var/log/mail.log Con esto nos mostrara los últimos 10 sucesos del archivo y se quedara como en modo monitor para escucha logs de trafico y otros. Antivirus Clamav Clamav es un antivirus que tiene la licencia GPL, y es utilizado en varias plataformas como GNU/Linux, BSD, Solaris, Windows entre otras mas, el propósito principal de esta herramienta es la integración con los servidores de correo para el escaneo de datos de adjuntos, es un programa analizador en linea de comandos y su actualización es automática desde internet. Permite el escaneo a ficheros comprimidos como zip, rar, tar, gzip, bzip y entre otros. La herramienta clamav tiene dos herramientas importantes: clamscan: Esta herramienta nos permite escanear archivos y directorios en búsqueda de virus para sean eliminados. Freshclam: Herramienta la cual nos permite actualizar nuestro BDs de antivirus, el se conecta por internet para obtener las actualizaciones. Lo que haremos es instalar nuestro antivirus: root@server1:~# apt-get install clamav Herramienta clamscan Nos permite escanear archivo y directorios en búsqueda de virus o código malicioso. El primer ejemplo sera escanear un archivo, podran ver nos genera una salida informándonos el tiempo del escaneo, cuantos archivo escaneo, cuantos fueron detectados con virus. root@sroot@server1:~# clamscan junta-200209.txt junta-200209.txt: OK ----------- SCAN SUMMARY ----------- Known viruses: 514095 Engine version: 0.92.1 Scanned directories: 0 Scanned files: 1 Infected files: 0 Data scanned: 0.00 MB Time: 4.831 sec (0 m 4 s) root@server1:~# Este tipo de escaneo es mas especializado, este comenzara hacer una búsqueda recursiva dentro del home del usuario curso, mostrara un histórico de todo el escaneo de cada archivo y indicara que archivo es el infectado para ser borrado. root@server1:~# clamscan -irv –remove /home/curso Scanning /home/curso/.dmrc Scanning /home/curso/.bash_history Scanning /home/curso/AdobeReader_esp-8.1.2_SU1-1.i386.deb Scanning /home/curso/Bash/bash-intro.pdf Scanning /home/curso/Bash/capitulo_2_shell.pdf ............................... ............................... Scanning /home/curso/.mozilla/firefox/profiles.ini ----------- SCAN SUMMARY ----------- Known viruses: 514095 Engine version: 0.92.1 Scanned directories: 32 Scanned files: 104 Infected files: 0 Data scanned: 217.33 MB Time: 31.919 sec (0 m 31 s) root@server1:~# Pero si no queremos eliminar el archivo infectado lo que podemos hacer es moverlo a un lugar seguro. root@server1:~# clamscan -irv --move /tmp/infectados/ /home/ curso Herramienta freshclam Esta herramienta nos permite actualizar nuestro antivirus y se conecta a internet. root@server1:conf.d# freshclam ClamAV update process started at Tue Mar 10 12:50:32 2009 WARNING: Your ClamAV installation is OUTDATED! DON'T PANIC! Read [http://www.clamav.net/support/faq] Downloading daily-9083.cdiff [100%] Downloading daily-9084.cdiff [100%] MailScanner. MailScanner es una poderosa herramienta para el control de correo electrónico y que nos permite tener una serie de características que nos permitirán mitigar el problema del correo no deseado, fraudes, gusanos y troyanos, correos mal formados, control de flujos, etc. Además de su potencia, MailScanner es una herramienta altamente configurable, pudiendo manejar varios de los más utilizados MTA en Linux (Ej. Sendmail, Postfix, Exim), motores antivirus (Ej. clamav, clamd, avast, kaspersky, mcafee, etc), descompresión de ficheros (Ej. unrar, gzip, etc), manejo de DNSBL's, filtros heurísticos, etc. Este sistema no hace uso de los distintos servicios que se están ejecutando en segundo plano, sino que los ejecuta como procesos hijo precisamente para tener un mayor control sobre estos. Es decir, sistemas como clamav, spamassassin son configurados directamente en MailScanner, y este se encarga de invocarlos sobre demanda. Esto no interfiere si los servicios están siendo utilizados por otros sistemas y ya están siendo ejecutados en segundo plano. La única excepción es el MTA, cuyo control debe estar exclusivamente en manos de MailScanner. Para poder instalar MailScanner ejecutamos lo siguiente: root@server1:~# apt-get install mailscanner Configuración MailScanner. Los archivos de configuración de MailScanner se encuentran dentro del directorio: /etc/MailScanner Entramos a la ruta en donde se encuentran los archivos de configuracion y hacemos una copia de respaldo del fichero MailScanner.conf. root@server1:MailScanner# cp MailScanner.conf MailScanner.conf-orig Y ahora configuraremos el MailScanner para Postfix. root@server1:MailScanner# vim MailScanner.conf Este parámetro habilita el usuario de nuestro MTA, actualmente viene comentado y tenemos que descomentarlo y comentar la otra opción que tenga habilitada #Run As User = mail Run As User = postfix #Run As User = Debian-exim Este parámetro habilita el grupo de nuestro MTA, actualmente viene comentado y tenemos que descomentarlo y comentar la otra opción que tenga habilitada # Group to run as (not normally used for sendmail) #Run As Group = mail Run As Group = postfix #Run As Group = Debian-exim Este parámetro habilitar la ruta en donde se encuentra el spool de postfix. Incoming Queue Dir = /var/spool/exim4/input por Incoming Queue Dir = /var/spool/postfix/hold Este parámetro habilita la ruta en donde se encuentra la salida del correo. Outgoing Queue Dir = /var/spool/exim4_outgoing/input por Outgoing Queue Dir = /var/spool/postfix/incoming Cambiamos el MTA por el postfix #MTA = exim por MTA = postfix En esta opción indicamos que antivirus queremos usar para el escaneo de los correos. Se pueden tener varios antivirus dentro de este parámetro separados por comas. Virus Scanners = auto por Virus Scanners = clamav Configuración postfix. Añadiremos al archivo de configuración de postfix en /etc/postfix/main.cf. header_checks = regexp:/etc/postfix/header_checks Tendremos que crear el siguiente archivo de configuración. root@server1:~# touch /etc/postfix/header_checks Editamos el archivo y deberá contener la siguiente información. /^Received:/ HOLD Ahora tendremos que descomentar la siguiente linea dentro del archivo de configuración /etc/default/mailscanner. root@server1:~# vim /etc/default/mailscanner Quedando de la siguiente manera: # run_mailscanner=1 por run_mailscanner=1 Permisos de MailScanner. Tendremos que dar permisos a los siguientes directorios para que el usuario y grupo encargado sea postfix. root@server1:~# chown -R postfix:postfix /var/spool/MailScanner root@server1:~# chown -R postfix:postfix /var/lib/MailScanner root@server1:~# chown -R postfix:postfix /var/run/MailScanner root@server1:~# chown -R postfix:postfix /var/lock/subsys/MailScanner Solamente queda iniciar el servicio mailscanner y reiniciar postfix. root@server1:~# /etc/init.d/mailscanner start root@server1:~# /etc/init.d/postfix start
Active Directory en Linux con Samba Introducción. Acerca del protocolo SMB. SMB (acrónimo de Server Message Block) es un protocolo, del Nivel de Presentación del modelo OSI de TCP/IP, creado en 1985 por IBM. Algunas veces es referido también como CIFS (Acrónimo de Common Internet File System, http://samba.org/cifs/) tras ser renombrado por Microsoft en 1998. Entre otras cosas, Microsoft añadió al protocolo soporte para enlaces simbólicos y duros así como también soporte para ficheros de gran tamaño. Por mera coincidencia esto ocurrió por la misma época en que Sun Microsystems hizo el lanzamiento de WebNFS (una versión extendida de NFS, http://www.sun.com/software/webnfs/overview.xml). SMB fue originalmente diseñado para trabajar a través del protoclo NetBIOS, el cual a su vez travaja sobre NetBEUI (acrónimo de NetBIOS Extended User Interface, que se traduce como Interfaz de Usuario Extendida de NetBIOS), IPX/SPX (acrónimo de Internet Packet Exchange/Sequenced Packet Exchange, que se traduce como Intercambio de paquetes interred/Intercambio de paquetes secuenciales) o NBT, aunque también puede trabajar directamente sobre TCP/IP. Acerca de Samba. SAMBA es un conjunto de programas, originalmente creados por Andrew Tridgell y actualmente mantenidos por The SAMBA Team, bajo la Licencia Publica General GNU, y que implementan en sistemas basados sobre UNIX® el protocolo SMB. Sirve como reemplazo total para Windows® NT, Warp®, NFS® o servidores Netware®. Sustento lógico necesario. Los procedimientos descritos en este manual han sido probados para poder aplicarse en sistemas con Red Hat™ Enterprise Linux 4, o equivalentes o versiones posteriores, y al menos Samba 3.0.10 o versiones posteriores. Necesitará tener instalados los siguientes paquetes, que seguramente vienen incluidos en los discos de instalación de su distribución predilecta: • samba: Servidor SMB. • samba-client: Diversos clientes para el protoclo SMB. • samba-common: Ficheros necesarios para cliente y servidor. Consulte a la base de datos RPM del sistema si se encuentran instalados estos paquetes, utilizando el siguiente mandato: rpm -q samba samba-client samba-common Si se utiliza Red Hat™ Enterprise Linux, solo bastará realizar lo siguiente para instalar o actualizar la programática necesaria: up2date -i samba samba-client Si utiliza CentOS 4 o White Box Enterprise Linux 4, solo bastará realizar lo siguiente para instalar o actualizar la programática necesaria: yum -y install samba samba-client Configuración básica de Samba. Para la mayoría de los casos la configuración de Samba como servidor de archivos es suficiente. Alta de cuentas de usuario. Es importante sincronizar las cuentas entre el servidor Samba y las estaciones Windows®. Es decir, si en una máquina con Windows® ingresamos como el usuario "paco" con clave de acceso "elpatito16", en el servidor Samba deberá existir también dicha cuenta con ese mismo nombre y la misma clave de acceso. Como la mayoría de las cuentas de usuario que se utilizarán para acceder hacia samba no requieren acceso al interprete de mandatos del sistema, no es necesario asignar clave de acceso con el mandato passwd y se deberá definir /sbin/nologin o bien /bin/false como interpete de mandatos para la cuenta de usuario involucrada. useradd -s /sbin/nologin usuario-windows smbpasswd -a usuario-windows No hace falta se asigne una clave de acceso en el sistema con el mandato passwd puesto que la cuenta no tendrá acceso al interprete de mandatos. Si se necesita que las cuentas se puedan utilizar para acceder hacia otros servicios como serían Telnet, SSH, etc, es decir, que se permita acceso al interprete de mandatos, será necesario especificar /bin/bash como interprete de mandatos y además se deberá asignar una clave de acceso en el sistema con el mandato passwd: useradd -s /bin/bash usuario-windows passwd usuario-windows smbpasswd -a usuario-windows El fichero lmhosts Es necesario empezar resolviendo localmente los nombres NetBIOS asociándolos con direcciones IP correspondientes. Para fines prácticos el nombre NetBIOS debe tener un máximo de 11 caracteres. Normalmente tomaremos como referencia el nombre corto del servidor o el nombre corto que se asigno como alias a la interfaz de red. Este lo estableceremos en el fichero /etc/samba/lmhosts, en donde encontraremos lo siguiente: 127.0.0.1 localhost Debemos añadir entonces el nombre que hayamos elegido asociado a la dirección IP que se tenga dentro de la red local. Opcionalmente podrá añadir también los nombres y dirección IP del resto de las máquinas que conformen la red local. La separación de espacios se hace con un tabulador. Ejemplo: 127.0.0.1 localhost 192.168.1.5 maquinalinux 192.168.1.6 isaac 192.168.1.7 finanzas 192.168.1.8 direccion Parámetros principales del fichero smb.conf. Modifique el fichero /etc/samba/smb.conf con cualquier editor de texto. Dentro de este notará que la información que le será de utilidad viene comentada con un símbolo # y los ejemplos con ; (punto y coma), siendo estos últimos los que tomaremos como referencia. Empezaremos por establecer el grupo de trabajo editando el valor del parámetro workgroup asignando un grupo de trabajo deseado: workgroup = MIGRUPO Opcionalmente puede establecer con el parámetro netbios name otro nombre distinto para el servidor si acaso fuese necesario, pero siempre tomando en cuenta que dicho nombre deberá corresponder con el establecido en el fichero /etc/samba/lmhosts: netbios name = maquinalinux El parámetro server string es de carácter descriptivo. Puede utilizarse un comentario breve que de una descripción del servidor. server string = Servidor Samba %v en %L Parámetros útiles para la seguridad. La seguridad es importante y esta se puede establecer primeramente estableciendo la lista de control de acceso que definirá que máquinas o redes podrán acceder hacia el servidor. El parámetro hosts allow sirve para determinar esto. Si la red consiste en la máquinas con dirección IP desde 192.168.1.1 hasta 192.168.1.254, el rango de direcciones IP que se definirá en hosts allow será 192.168.1. de modo tal que solo se permitirá el acceso dichas máquinas. Note por favor el punto al final de cada rango. Modifique ésta de manera que quede del siguiente modo: hosts allow = 192.168.1. 127. El parámetro interfaces permite establecer desde que interfaces de red del sistema se escucharán peticiones. Samba no responderá a peticiones provenientes desde cualquier interfaz no especificada. Esto es útil cuando Samba se ejecuta en un servidor que sirve también de puerta de enlace para la red local, impidiendo se establezcan conexiones desde fuera de la red local. interfaces = 192.168.1.254/24 Impresoras en Samba. Las impresoras se comparten de modo predeterminado, así que solo hay que realizar algunos ajustes. Si se desea que se pueda acceder hacia la impresora como usuario invitado sin clave de acceso, basta con añadir public = Yes en la sección de impresoras del siguiente modo: comment = El comentario que guste. path = /var/spool/samba printable = Yes browseable = No writable = no printable = yes public = Yes Windows NT, 2000 y XP no tendrán problema alguno para acceder e imprimir hacia las impresoras, sin embargo Windows 95, 98 y ME suelen tener problemas para comunicarse con Samba para poder imprimir. Por tanto, si se quiere evitar problemas de conectividad con dichos sistemas operativos hay que agregar algunos parámetros que resolverán cualquier eventualidad: comment = Impresoras. path = /var/spool/samba printable = Yes browseable = No writable = no printable = yes public = Yes print command = lpr -P %p -o raw %s -r lpq command = lpstat -o %p lprm command = cancel %p-%j Se pude definir también a un usuario o bien un grupo (@grupo_que_sea) para la administración de las colas de las impresoras: comment = Impresoras. path = /var/spool/samba printable = Yes browseable = No writable = no printable = yes public = Yes print command = lpr -P %p -o raw %s -r lpq command = lpstat -o %p lprm command = cancel %p-%j printer admin = fulano, @opers_impresion Con lo anterior se define que el usuario fulano y quien pertenezca al grupo opers_impresion podrán realizar tareas de administración en las impresoras. Compartiendo directorios a través de Samba. Para los directorios o volúmenes que se irán a compartir, en el mismo fichero de configuración encontrará distintos ejemplos para distintas situaciones particulares. En general, puede utilizar el siguiente ejemplo que funcionará para la mayoría: [Lo_que_sea] comment = Comentario que se le ocurra path = /cualquier/ruta/que/desee/compartir El volumen puede utilizar cualquiera de las siguientes opciones: En el siguiente ejemplo se compartirá a través de Samba el recurso denominado ftp, el cual está localizado en el directorio /var/ftp/pub del disco duro. Se permitirá el acceso a cualquiera pero será un recurso de solo lectura salvo para los usuarios administrador y fulano. Todo directorio nuevo que sea creado en su interior tendrá permiso 755 y todo fichero que sea puesto en su interior tendrá permiso 644. comment = Directorio del servidor FTP path = /var/ftp/pub guest ok = Yes read only = Yes write list = fulano, administrador directory mask = 0755 create mask = 0644 Configuración avanzada de Samba. Samba fue creado con un objetivo: ser en un reemplazo definitivo para Windows como servidor en una red local. Ésto, por supuesto, requiere algunos procedimientos adicionales dependiendo de las necesidades de la red local. Re-asignación de grupos de Windows en Samba. Los grupos que existen en Windows también se utilizan en Samba para ciertas operaciones, principalmente relacionadas con lo que involucra un Controlador Primario de dominio (o PDC que significa Primary Domain Controler). Estos grupos existen de modo predefinido en Samba. Sin embargo, si se ejecuta lo siguiente: net groupmap list Devolverá la siguiente información: System Operators (S-1-5-32-549) -> -1 Domain Admins (S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-512) -> -1 Replicators (S-1-5-32-552) -> -1 Guests (S-1-5-32-546) -> -1 Domain Guests (S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-514) -> -1 *** (S-1-5-32-547) -> -1 Print Operators (S-1-5-32-550) -> -1 Administrators (S-1-5-32-544) -> -1 Account Operators (S-1-5-32-548) -> -1 Domain Users (S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-513) -> -1 Backup Operators (S-1-5-32-551) -> -1 Users (S-1-5-32-545) -> -1 Lo anterior corresponde al mapa de los grupos que, de modo predeterminado, utilizará Samba si éste fuese configurado como Controlador Primario de Dominio. XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX corresponde a un número generado aleatoriamente al iniciarse Samba por primera vez. Tome nota de dicho número, ya que lo requerirá más adelante para re-asignar los nombres al español en el mapa de grupos. Los grupos anteriormente descritos trabajarán perfecta y limpiamente asociándolos contra grupos en el sistema, pero solo si utiliza alguna versión de Windows en ingles. Si utiliza alguna versión de Windows en español, habrá que re-asignar los nombres de los grupos a los correspondientes al español y asociarles a grupos en el sistema, esto a fin de permitir asignar usuarios a dichos grupos y de este modo delegar tareas de administración del mismo modo que en Windows. Es por tal motivo que si se tiene la intención de configurar Samba como Controlador Primario de Dominio y al mismo tiempo poder hacer uso de los grupos del mismo modo que en Windows, es decir, por mencionar un ejemplo, permitir a ciertos usuarios pertenecer al grupo de administradores del dominio con privilegios de administrador, lo primero será entonces generar los grupos en el sistema ejecutando como root los siguientes mandatos: groupadd -r administradores groupadd -r admins_dominio groupadd -r duplicadores groupadd -r invitados groupadd -r invs_dominio groupadd -r opers_copias groupadd -r opers_cuentas groupadd -r opers_impresion groupadd -r opers_sistema groupadd -r usrs_avanzados groupadd -r usuarios groupadd -r usuarios_dominio Una vez creados los grupos en el sistema, solo resta re-asignar los nombres al español en el mapa de grupo de Samba y asociarles a éstos los grupos recién creados en el sistema. El procedimiento se resume a ejecutar algo como lo siguiente: net groupmap modify ntgroup="Nombre grupo Windows en español" sid="número-de-identidad-en-sistema" unixgroup="grupo_en_linux" comment="comentario descriptivo acerca del grupo" Lo anterior establece que se modifique el registro del grupo que corresponda al sid (identidad de sistema) definido con el nombre establecido con ntgroup, asociándolo al grupo en el servidor con unixgroup y añadiendo un comentario descriptivo acerca de dicho grupo con comment. De modo tal, y a fin de facilitar las cosas a quien haga uso de este manual, puede utilizar el siguiente guión para convertir los nombres al español y asociarlos a grupos en Linux, donde solo deberá definir el número de identidad del sistema que corresponda al servidor: #!/bin/sh SIDSAMBA=XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX net groupmap modify ntgroup="Administradores" sid="S-1-5-32-544" unixgroup=administradores comment="Los administradores tienen acceso completo y sin restricciones al equipo o dominio" net groupmap modify ntgroup="Admins. del dominio" sid="S-1-5-21-$SIDSAMBA-512" unixgroup=admins_dominio comment="Administradores designados del dominio" net groupmap modify ntgroup="Duplicadores" sid="S-1-5-32-552" unixgroup=duplicadores comment="Pueden duplicar archivos en un dominio" net groupmap modify ntgroup="Invitados del dominio" sid="S-1-5-21-$SIDSAMBA-514" unixgroup=invitados comment="Todos los invitados del dominio" net groupmap modify ntgroup="Invitados" sid="S-1-5-32-546" unixgroup=invitados comment="Los invitados tienen de modopredeterminado el mismo acceso que los miembros del grupo Usuarios, excepto la cuenta Invitado que tiene mas restricciones" net groupmap modify ntgroup="Operadores de copias" sid="S-1-5-32-551" unixgroup=opers_copias comment="Los operadores de copia pueden sobrescribir restricciones de seguridad con el unico proposito de hacer copias de seguridad o restaurar archivos" net groupmap modify ntgroup="Opers. de cuentas" sid="S-1-5-32-548" unixgroup=opers_cuentas comment="Pueden administrar cuentas de usuarios y grupos del dominio" net groupmap modify ntgroup="Opers. de impresión" sid="S-1-5-32-550" unixgroup=opers_impresion comment="Pueden operar impresoras del dominio" net groupmap modify ntgroup="Opers. de servidores" sid="S-1-5-32-549" unixgroup=opers_sistema comment="Pueden administrar sistemas del dominio" net groupmap modify ntgroup="Usuarios avanzados" sid="S-1-5-32-547" unixgroup=usrs_avanzados comment="Los usuarios avanzados tienen mas derechos administrativos con algunas restricciones. De este modo, pueden ejecutar aplicaciones heredadas junto con aplicaciones certificadas" net groupmap modify ntgroup="Usuarios del dominio" sid="S-1-5-21-$SIDSAMBA-513" unixgroup=usuarios_dominio comment="Todos los usuarios del dominio" net groupmap modify ntgroup="Usuarios" sid="S-1-5-32-545" unixgroup=usuarios comment="Los usuarios no pueden hacer cambios accidentales o intencionados en el sistema. Pueden ejecutar aplic. certificadas, pero no la mayoría de las heredadas" exit 0 Nota: Este guión en esta incluido en el disco de “Extras de curso” de Linux Para Todos. Solo basta editarlo y definir la variable SIDSAMBA y ejecutarlo como root. Una vez hecho lo anterior, al volver a realizar lo siguiente: net groupmap list Se deberá de mostrar ahora esto otro: Opers. de servidores (S-1-5-32-549) -> opers_sistema Admins. del dominio (S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-512) -> admins_dominio Duplicadores (S-1-5-32-552) -> duplicadores Invitados (S-1-5-32-546) -> invitados Invitados del dominio (S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-514) -> invitados Usuarios avanzados (S-1-5-32-547) -> usrs_avanzados Opers. de impresión (S-1-5-32-550) -> opers_impresion Administradores (S-1-5-32-544) -> administradores Opers. de cuentas (S-1-5-32-548) -> opers_cuentas Usuarios del dominio (S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-513) -> usuarios_dominio Operadores de copias (S-1-5-32-551) -> opers_copias Usuarios (S-1-5-32-545) -> usuarios De este modo, si por ejemplo, se agrega al usuario fulano al grupo admins_dominio, se tendrá el mismo efecto que si se hiciera lo mismo en Windows agregando al usuario al grupo Admins. del dominio. Esto por supuesto solamente tendrá utilidad si Samba se configura y utiliza como Controlador Primario de Dominio. Alta de cuentas de usuario en Controlador Primario de Dominio. Si se configuró Samba para funcionar como Controlador Primario de Dominio, será necesario asignar a root una clave de acceso en Samba, la cual por supuesto puede ser diferente a la del sistema, debido a que las estaciones de trabajo necesitan autenticar primero con el usuario root de Samba para poder unirse dominio y poder crear de este modo una cuenta de máquina en el sistema a través del parámetro add machine script ya descrito anteriormente. Los usuarios es necesario darlos de alta de modo que queden agregados a los que correspondan en el sistema a grupos Usuarios y Usuarios del dominio de Windows, es decir a los grupos usuarios y usuarios_dominio. useradd -s /sbin/nologin -G usuarios,usuarios_dominio usuario-windows smbpasswd -a usuario-windows Si el usuario ya existiese, solo será necesario agragarlo a los grupos usuarios y usuarios_dominio con gpassswd del siguiente modo: gpasswd -a usuario-windows usuarios gpasswd -a usuario-windows usuarios_dominio En teoría en el directorio definido para el recurso Profiles se deben crear automáticamente los directorios de los usuarios donde se almacenarán los perfiles. De ser necesario es posible generar éstos directorios utilizando el siguiente guión: cd /home for user in * do mkdir -p /var/lib/samba/profiles/$user chown $user.$user /var/lib/samba/profiles/$user done Parámetros de configuración avanzada en el fichero smb.conf Anunciando el servidor Samba en los grupos de trabajo. La opción remote announce se encarga de que el servicio nmbd se anuncie a si mismo de forma periódica hacia una red en particular y un grupo de trabajo específico. Esto es particularmente útil si se necesita que el servidor Samba aparezca no solo en el grupo de trabajo al que pertenece sino también otros grupos de trabajo. El grupo de trabajo de destino puede estar en donde sea mientras exista una ruta y sea posible la transmisión exitosa de paquetes. remote announce = 192.168.1.255/MI-DOMINIO 192.168.2.255/OTRO-DOMINIO El ejemplo anterior definió que el servidor Samba se anuncie a si mismo al los grupos de trabajo MI-DOMINIO y OTRO-DOMINIO en las redes cuyas IP de transmisión son 192.168.1.255 y 192.168.2.255 correspondientemente. Ocultando y denegando acceso a ficheros. No es conveniente que los usuarios acceder o bien puedan ver la presencia de ficheros ocultos en el sistema, es decir ficheros cuyo nombre comienza con un punto, particularmente si acceden a su directorio personal en el servidor Samba (.bashrc, .bash_profile, .bash_history, etc.). Puede utilizarse el parámetro hide dot files para mantenerlos ocultos. hide dot files = Yes En algunos casos puede ser necesario denegar el acceso a cierto tipo de ficheros del sistema. El parámetro veto files se utiliza para especificar la lista, separada por diagonales, de aquellas cadenas de texto que denegarán el acceso a los ficheros cuyos nombres contengan estas cadenas. En el siguiente ejemplo, se denegará el acceso hacia los ficheros cuyos nombres incluyan la palabra «Security» y los que tengan extensión o terminen en «.tmp»: veto files = /*Security*/*.tmp/ Opciones para cliente o servidor Wins. Puede habilitar convertirse en servidor WINS o bien utilizar un servidor WINS ya existente. Se puede ser un servidor WINS o un cliente WINS, pero no ambas cosas a al vez. Si se va ser el servidor WINS, debe habilitarse lo siguiente: wins support = Yes Si se va a utilizar un servidor WINS ya existente, debe descomentar la siguiente línea y especificar que dirección IP utiliza dicho servidor WINS: wins server = 192.168.1.1 Opciones específicas para Controlador Primario de Dominio (PDC). Si se va a configurar Samba como Controlador Primario de Dominio, se debe especificar todos los parámetros descritos a continuación. Si se quiere que las claves de acceso del sistema y Windows se mantengan sincronizadas, es necesario descomentar las siguiente líenas: unix password sync = Yes passwd program = /usr/bin/passwd %u passwd chat = *New*UNIX*password* %nn *ReType*new*UNIX*password* %nn *passwd:*all*authentication*tokens*updated*successfully* El parámetro local master define al servidor como examinador del dominio (o master browser); El parámetro domain master define al servidor maestro del dominio; El parámetro preferred master define al servidor como maestro del domino preferido en caso de haber más servidores presentes en el mismo dominio como controladores de dominio; El parámetro time server se utiliza para definir que las estaciones deberán sincronizar la hora con el servidor al unirse al dominio; El parámetro domain logons define que el servidor permitirá a las estaciones autenticar contra Samba. local master = Yes domain master = Yes preferred master = Yes time server = Yes domain logons = Yes La configuración de Controlador Primario de Dominio requiere además definir donde se almacenarán los perfiles de los usuarios. Windows 95, 98 y ME requieren se defina con el parámetro logon home, en tanto que Windows NT, 2000 y XP requieren se haga con el parámetro logon path. Para efectos prácticos y de previsión, utilice ambos parámetros y defina la unidad H para dicho volumen: logon path = %LProfiles%U logon home = %L%U.profile logon drive = H: Si se va a utilizar Samba como Controlador Primario de Dominio, es necesario establecer el guión que ejecutarán las estaciones Windows al conectarse hacia el servidor. Esto se hace a través del parámetro logon script el cual puede definir o bien un guión a utilizar por cada usuario (%u.bat) o bien por cada máquina (%m.bat) o bien de modo general para todos (logon.cmd). Para no complicar las cosas, defina inicialmente un guión general para todos del siguiente modo: logon script = logon.cmd El fichero /var/lib/samba/netlogon/logon.cmd deberá contener algo como lo siguiente: REM windows client logon script REM net time mi-servidor /SET /YES net use H: mi-servidorhomes /PERSISTENT:NO El Controlador Primario de Dominio va a necesitar también se definan los guiones a ejecutar para distintas tareas como alta de máquinas, usuarios y grupos así como la baja de estos. add user script = /usr/sbin/useradd %u add machine script = /usr/sbin/useradd -d /dev/null -g 100 -s /bin/false -c "Cuenta de máquina" -M %u delete user script = /usr/sbin/userdel %u delete group script = /usr/sbin/groupdel %g add user to group script = /usr/bin/gpasswd -a %u %g set primary group script = /usr/sbin/usermod -g %g %u El parámetro add user script sirve para definir lo que se deberá ejecutar en el trasfondo en el sistema para crear una nueva cuenta de usuario. El parámetro add machine script es particularmente importante porque es el mandato utilizado para dar de alta cuentas de máquinas (trust accounts o cuentas de confianza) de modo automático. El parámetro delete user script es para definir lo propio para eliminar usuarios, delete group script para eliminar grupos, add user to group para añadir usuarios a grupos y set primary group script para establecer un grupo como el principal para un usuario. Directorio para Netlogon y perfiles en Controlador Primario de Dominio (PDC). Si se va a utilizar Samba como Controlador Primario de Dominio, es necesario definir los recursos donde residirá netlogon y también donde se almacenarán los perfiles de los usuarios: comment = Network Logon Service path = /var/lib/samba/netlogon write list = @administradores, @admins_dominio guest ok = Yes browseable = Yes path = /var/lib/samba/profiles read only = No guest ok = Yes create mask = 0600 directory mask = 0700 Genere con el mandato mkdir los directorios /var/lib/samba/profiles y /var/lib/samba/netlogon. El directorio /var/lib/samba/profiles deberá pertenecer a root y al grupo users y tener permiso 1777 a fin de permitir crear el directorio de perfil correspondiente para cada usuario. mkdir -p -m 1777 /var/lib/samba/profiles mkdir -p /var/lib/samba/netlogon chgrp users /var/lib/samba/profiles Inciar el servicio y añadirlo al arranque del sistema. Si iniciará Samba por primera vez realice lo siguiente: /sbin/service smb start Si va a reiniciar el servicio, realice lo siguiente: /sbin/service smb restart Para que Samba inicie automáticamente cada vez que inicie el servidor solo ejecute el siguiente mandato: /sbin/chkconfig smb on Accediendo hacia Samba. Modo texto. Smbclient. Indudablemente el método más práctico y seguro es el mandato smbclient. Este permite acceder hacía cualquier servidor Samba o Windows® como si fuese el mandato ftp en modo texto. Para acceder al cualquier recurso de alguna máquina Windows® o servidor SAMBA determine primero que volúmenes o recursos compartidos posee está. utilice el mandato smbclient del siguiente modo: smbclient -U usuario -L alguna_maquina Lo cual le devolvería más menos lo siguiente: Domain=[MI-DOMINIO] OS= Server=[Samba 3.0.7-1.3E] Sharename Type Comment --------- ---- ------- homes Disk Home Directories netlogon Disk Network Logon Service ftp Disk ftp IPC$ IPC IPC Service (Servidor Samba 3.0.7-1.3E en mi-servidor) ADMIN$ IPC IPC Service (Servidor Samba 3.0.7-1.3E en mi-servidor) epl5900 Printer Created by redhat-config-printer 0.6.x hp2550bw Printer Created by redhat-config-printer 0.6.x Anonymous login successful Domain=[MI-DOMINIO] OS= Server=[Samba 3.0.7-1.3E] Server Comment --------- ------- mi-servidor Servidor Samba 3.0.7-1.3E en mi-servidor Workgroup Master --------- ------- MI-DOMINIO MI-SERVIDOR La siguiente corresponde a la sintaxis básica para poder navegar los recursos compartidos por la máquina Windows® o el servidor SAMBA: smbclient //alguna_maquina/recurso -U usuario Ejemplo: smbclient //LINUX/FTP -U jbarrios Después de ejecutar lo anterior, el sistema solicitará se proporcione la clave de acceso del usuario jbarrios en el equipo denominado LINUX. smbclient //LINUX/FTP -U jbarrios added interface ip=192.168.1.254 bcast=192.168.1.255 nmask=255.255.255.0 Password: Domain= OS= Server=[Samba 2.2.1a] smb: > Pueden utilizarse virtualmente los mismos mandatos que en el interprete de ftp, como serían get, mget, put, del, etc. Por montaje de unidades de red. Si necesita poder visualizar desde GNU/Linux a las máquinas con Windows® e interactuar con los directorios compartidos por estás, necesitará realizar algunos pasos adicionales. De manera predeterminada, y por motivos de seguridad, solo root puede utilizar los mandatos smbmnt y smbumount. Deberá entonces establecer permisos de SUID a dichos mandatos. Puede hacerlo ejecutando, como root lo siguiente: chmod 4755 /usr/bin/smbmnt chmod 4755 /usr/bin/smbumount Para acceder hacia una máquina Windows® determine primero que volúmenes o recursos compartidos posee está. utilice el mandato smbclient del siguiente modo: smbclient -N -L alguna_maquina Lo cual le devolvería más menos lo siguiente: Anonymous login successful Domain=[MI-DOMINIO] OS= Server=[Samba 3.0.7-1.3E] Sharename Type Comment --------- ---- ------- homes Disk Home Directories netlogon Disk Network Logon Service ftp Disk ftp IPC$ IPC IPC Service (Servidor Samba 3.0.7-1.3E en mi-servidor) ADMIN$ IPC IPC Service (Servidor Samba 3.0.7-1.3E en mi-servidor) epl5900 Printer Created by redhat-config-printer 0.6.x hp2550bw Printer Created by redhat-config-printer 0.6.x Anonymous login successful Domain=[MI-DOMINIO] OS= Server=[Samba 3.0.7-1.3E] Server Comment --------- ------- mi-servidor Servidor Samba 3.0.7-1.3E en mi-servidor Workgroup Master --------- ------- MI-DOMINIO MI-SERVIDOR En el ejemplo anterior hay un volumen compartido llamado algún_volumen. Si queremos montar este, debemos crear un punto de montaje. Éste puede crearse en cualquier directorio sobre el que tengamos permisos de escritura. Para montarlo, utilizamos entonces la siguiente línea de mandato: smbmount //alguna_maquina/algún_volumen /punto/de/montaje/ Si la máquina Windows® requiere un usuario y una clave de acceso, puede añadir a lo anterior las opciones -username=el_necesario -password=el_requerido -workgroup=MIGRUPO Si la distribución de GNU/Linux utilizada es reciente, también puede utilizar el ya conocido mandato mount del siguiente modo: mount -t smbfs -o username=el_necesario,password=el_requerido //alguna_maquina/algún_volumen /punto/de/montaje/ Si se genera una cuenta pcguest, similar a la cuenta nobody, podemos montar volúmenes SMB sin ingresar una clave de acceso pero con privilegios restringidos, o aquellos que definamos a un volumen accedido por un usuario invitado. Esto sería el método por elección para compartir volúmenes en una red de área local. Puede generarse una cuenta pcguest o bien dejar que el sistema tome al usuario nobody. Si opta por lo primero, solo de de alta la cuenta NO asigne clave de acceso alguna. Montar volúmenes remotos como usuarios invitado es muy sencillo. Un ejemplo real sería: mount -t smbfs -o guest //LINUX/FTP //var/ftp Lo anterior monta un volumen SAMBA de una máquina con GNU/Linux en otra máquina con GNU/Linux. Puede añadirse también una entrada en /etc/fstab de modo que sólo tenga que ser tecleado mount /punto/de/montaje. Esta línea sería de modo similar al siguiente: //LINUX/FTP /var/ftp smbfs user,auto,guest,ro,gid=100 0 0 Recuérdese que el volumen compartido debe estar configurado para permitir usuarios invitados: comment = Programática libre (RPMS) path = /var/ftp/pub public = Yes guest ok = Yes Modo gráfico Desde el entorno de GNOME. Si utiliza GNOME 2.x o superior, éste incluye un módulo para Nautilus que permite acceder hacia los recursos compartidos a través de Samba sin necesidad de modificar cosa alguna en el sistema. Solo hay que hacer clic en Servidores de red en el menú de GNOME. Desde Windows. Por su parte, desde Windows deberá ser posible acceder sin problemas hacia Samba como si fuese hacia cualquier otra máquina con Windows. Vaya, ni Windows ni el usuario notarán siquiera la diferencia. Uniendo máquinas al dominio del Controlador Primario de Dominio. El controlador de dominio permite utilizar a Samba como servidor de autenticación y servidor de archivos que además permite almacenar el perfil, preferencias y documentos del usuario en el servidor automáticamente sin la intervención del usuario. Creando manualmente cuentas de máquinas Bajo algunas circunstancias será necesario crear cuentas de máquinas (trust accounts o cuentas de confianza) a fin de permitir unirse al dominio. el procedimiento es simple: /usr/sbin/useradd -d /dev/null -g 100 -s /bin/false -c "Cuenta de máquina" -M maquina-windows$ smbpasswd -a maquina-windows$ Es de resaltar que las cuentas de máquinas deben incluir obligatoriamente un símbolo $ al final del nombre. Windows 95/98/ME y Windows XP Home Ya que los sistemas con Windows 95/98/ME y Windows XP Home no incluyen una implementación completa como miembros de dominio, no se requieren cuentas de confianza. El procedimiento para unirse al dominio es el siguiente: • Acceder hacia Menú de inicio → Configuraciones → Panel de control → Red • Seleccione la pestaña de Configuración • Seleccione «Cliente de redes Microsoft» • Haga clic en el botón de propiedades • Seleccione Acceder a dominio de Windows NT y especifique el dominio correspondiente. • Clic en todos los botones de «Aceptar» y reinicie el sistema • Acceda con cualquier usuario que haya sido dado de alta en el servidor Samba y que además cuente con una clave de acceso asignada con smbpasswd. Windows NT • Crear manualmente la cuenta de máquina como se decribió anteriormente. • Acceder hacia Menú de inicio → Configuraciones → Panel de control → Red. • Seleccionar la pestaña de «Identificación». • Clic en el botón de «Cambiar». • Ingrese el nombre del dominio y el nombre del sistema. No selecione «Crear una cuenta de máquina en el Dominio». • Clic en «Aceptar» • Espere algunos segundos. • Deberá mostrarse un mensaje emergente de confirmación que dice «Bienvenido a MI-DOMINIO» • Reinicie el sistema • Acceda con cualquier usuario que haya sido dado de alta en el servidor Samba y que además cuente con una clave de acceso asignada con smbpasswd. Windows 2000/2003 y Windows XP Profesional • Clic derecho en el icono de «Mi PC». • Seleccionar «Propiedades» • Haga clic en la pestaña de «Identificación de red» o «Nombre del sistema». • Clic en el botón de «Propiedades». • Clic en el botón «Miembro de dominio» • Ingrese el nombre del dominio y el nombre de la máquina y haga clic en el botón de «Aceptar» • Aparecerá un diálogo que preguntará por una cuenta y clave de acceso con privilegios de administración en el servidor. Especifique la root y la clave de acceso que asignó a la cuenta de root con el mandato smbpasswd (NO LA CLAVE DE ACCESO DE ROOT EN EL SISTEMA). • Espere algunos segundos. • Deberá mostrarse un mensaje emergente de confirmación que dice «Bienvenido a MI-DOMINIO» • Reinicie el sistema • Acceda con cualquier usuario que haya sido dado de alta en el servidor Samba y que además cuente con una clave de acceso asignada con smbpasswd.
Zentyal Gateway En este capítulo se describen las funcionalidades de Zentyal como puerta de enlace o gateway. Zentyal puede hacer la red más fiable y segura, gestionar el ancho de banda y definir políticas de conexiones y contenidos. Hay un apartado centrado en el funcionamiento del módulo de cortafuegos, el cual nos permite definir reglas para gestionar el tráfico entrante y saliente tanto del servidor como de la red interna. Para ayudar en la configuración del cortafuegos, existen dos módulos que facilitan la gestión de objetos y servicios de red. A la hora de acceder a Internet podemos balancear la carga entre varias conexiones y definir diferentes reglas para usar una u otra según el tráfico. Además, también se verá como garantizar la calidad del servicio, configurando que tráfico tiene prioridad frente a otro o incluso limitar la velocidad en algún caso, como podría ser el P2P. Mediante RADIUS podremos autenticar a los usuarios en la red y finalmente, se ofrece una introducción al servicio de proxy HTTP. Este servicio permite acelerar el acceso a Internet, almacenando una caché de navegación y establecer diferentes políticas de filtrado de contenidos. Abstracciones de red de alto nivel en Zentyal Objetos de red Los Objetos de red son una manera de representar un elemento de la red o a un conjunto de ellos. Sirven para simplificar y consecuentemente facilitar la gestión de la configuración de la red, pudiendo dotar de un nombre fácilmente reconocible al elemento o al conjunto y aplicar la misma configuración a todos ellos. Por ejemplo, podemos dar un nombre reconocible a una dirección IP o a un grupo de ellas. En lugar de definir la misma regla en el cortafuegos para cada una de las direcciones IP, simplemente bastaría con definirla para el objeto de red que contiene las direcciones. Representación de un objeto de red Gestión de los Objetos de red con Zentyal Para empezar a trabajar con los objetos en Zentyal, accederemos la seccіón Objetos, allí podremos ver una lista inicialmente vacía, con el nombre de cada uno de los objetos y una serie de acciones a realizar sobre ellos. Se pueden crear, editar y borrar objetos que serán usados más tarde por otros módulos. Objetos de red Cada uno de estos objetos se compondrá de una serie de miembros que podremos modificar en cualquier momento. Los miembros tendrán al menos los siguientes valores: Nombre, Dirección IP y Máscara de red. La Dirección MAC es opcional y lógicamente sólo se podrá utilizar para miembros que representen una única máquina y se aplicará en aquellos contextos que la dirección MAC sea accesible. Añadir un nuevo miembro Los miembros de un objeto pueden solaparse con miembros de otros, con lo cual hay que tener cuidado al usarlos en el resto de módulos para obtener la configuración deseada y no tener problemas. Servicios de red Los Servicios de red son la manera de representar los protocolos (TCP, UDP, ICMP, etc) y puertos usados por una aplicación. La utilidad de los servicios es similar a la de los objetos: si con los objetos se puede hacer referencia a un conjunto de direcciones IP usando un nombre significativo, podemos así mismo identificar un conjunto de puertos por el nombre de la aplicación que los usa. Conexión de un cliente a un servidor Pongamos como ejemplo la navegación web. El puerto más habitual es el de HTTP, 80/TCP. Pero además también tenemos que contar con el de HTTPS 443/TCP y el alternativo 8080/TCP. De nuevo, no tenemos que aplicar una regla que afecte a la navegación web a cada uno de los puertos, sino al al servicio que la representa que contiene estos tres puertos. Otro ejemplo puede ser la compartición de ficheros en redes Windows, donde el servidor escucha en los puertos 137/TCP, 138/TCP, 139/TCP y 445/TCP. Gestión de los Servicios de red con Zentyal Para trabajar con los servicios en Zentyal se debe ir al menú Servicios donde se listan los servicios existentes creados por cada uno de los módulos que se hayan instalado y los que hayamos podidos definir adicionalmente. Para cada servicio podemos ver su Nombre, Descripción y un indicador de si es Interno o no. Un servicio es Interno si los puertos configurados para dicho servicio se están usando en el mismo servidor. Además cada servicio tendrá una serie de miembros, cada uno de estos miembros tendrá los valores: Protocolo, Puerto origen y Puerto destino. En todos estos campos podemos introducir el valor Cualquiera, por ejemplo para especificar servicios en los que sea indiferente el puerto origen o un Rango de puertos. El protocolo puede ser TCP, UDP, ESP, GRE o ICMP. También existe un valor TCP/UDP para evitar tener que añadir dos veces un mismo puerto que se use en ambos protocolos, como en el caso de DNS. Servicios de red Cortafuegos Introducción al sistema de cortafuegos Zentyal utiliza para su módulo de cortafuegos el subsistema del kernel de Linux llamado Netfilter [2] que proporciona funcionalidades de filtrado, marcado de tráfico y de redirección de conexiones. [2] http://www.netfilter.org/ Configuración de un cortafuegos con Zentyal El modelo de seguridad de Zentyal se basa en intentar proporcionar la máxima seguridad posible en su configuración predeterminada, intentando a la vez minimizar los esfuerzos a realizar tras añadir un nuevo servicio. Cuando Zentyal actúa de cortafuegos, normalmente se instala entre la red interna y el router conectado a Internet. La interfaz de red que conecta la máquina con el router debe marcarse como Externo en Red -> Interfaces de red para permitir al cortafuegos establecer unas políticas de filtrado más estrictas para las conexiones procedentes de fuera. Interfaz externa La política para las interfaces externas es denegar todo intento de nueva conexión a Zentyal mientras que para las interfaces internas se deniegan todos los intentos de conexión excepto los que se realizan a servicios definidos por los módulos instalados. Los módulos añaden reglas al cortafuegos para permitir estas conexiones, aunque siempre pueden ser modificadas posteriormente por el administrador. Una excepción a esta norma son las conexiones al servidor LDAP, que añaden la regla pero configurada para denegar las conexiones por motivos de seguridad. La configuración predeterminada tanto para la salida de las redes internas como desde del propio servidor es permitir toda clase de conexiones. Filtrado de paquetes La definición de las políticas del cortafuegos se hace desde Cortafuegos ‣ Filtrado de paquetes. Se pueden definir reglas en 5 diferentes secciones según el flujo de tráfico sobre el que serán aplicadas: * Tráfico de redes internas a Zentyal (ejemplo: permitir acceso al servidor de ficheros desde la red local). * Tráfico entre redes internas y de redes internas a Internet (ejemplo: restringir el acceso a todo Internet o determinadas direcciones a unas direcciones internas o restringir la comunicaciones entre las subredes internas). * Tráfico de Zentyal a redes externas (ejemplo: permitir descargar ficheros por HTTP desde el propio servidor). * Tráfico de redes externas a Zentyal (ejemplo: permitir que el servidor de correo reciba mensajes de Internet). * Tráfico de redes externas a redes internas (ejemplo: permitir acceso a un servidor interno desde Internet). Hay que tener en cuenta que los dos últimos tipos de reglas pueden crear un compromiso en la seguridad de Zentyal y la red, por lo que deben utilizarse con sumo cuidado. Esquema de los diferentes flujos de tráfico en el cortafuegos Zentyal provee una forma sencilla de definir las reglas que conforman la política de un cortafuegos. La definición de estas reglas usa los conceptos de alto nivel introducidos anteriormente: los Servicios de red para especificar a qué protocolos y puertos se aplican las reglas y los Objetos de red para especificar sobre qué direcciones IP de origen o de destino se aplican. Lista de reglas de filtrado de paquetes desde las redes internas a Zentyal Normalmente cada regla tiene un Origen y un Destino que pueden ser Cualquiera, una Dirección IP o un Objeto en el caso que queramos especificar más de una dirección IP o direcciones MAC. En determinadas secciones el Origen o el Destino son omitidos ya que su valor es conocido a priori; será siempre Zentyal tanto el Destino en Tráfico de redes internas a Zentyal y Tráfico de redes externas a Zentyal como el Origen en Tráfico de Zentyal a redes externas. Además cada regla siempre tiene asociado un Servicio para especificar el protocolo y los puertos (o rango de puertos). Los servicios con puertos de origen son útiles para reglas de tráfico saliente de servicios internos, por ejemplo un servidor HTTP interno, mientras que los servicios con puertos de destino son útiles para reglas de tráfico entrante a servicios internos o tráfico saliente a servicios externos. Cabe destacar que hay una serie de servicios genéricos que son muy útiles para el cortafuegos como Cualquiera para seleccionar cualquier protocolo y puertos, Cualquiera TCP o Cualquiera UDP para seleccionar cualquier protocolo TCP o UDP respectivamente. El parámetro de mayor relevancia será la Decisión a tomar con las conexiones nuevas. Zentyal permite tomar tres tipos distintos de decisiones: * Aceptar la conexión. * Denegar la conexión ignorando los paquetes entrantes y haciendo suponer al origen que no se ha podido establecer la conexión. * Registrar la conexión como un evento y seguir evaluando el resto de reglas. De esta manera, a través de Registros -> Consulta registros -> Cortafuegos podemos ver sobre qué conexiones se están produciendo. Las reglas son insertadas en una tabla donde son evaluadas desde el principio hasta el final, una vez que una regla acepta una conexión, no se sigue evaluando el resto. Una regla genérica al principio puede hacer que otra regla más específica posterior no sea evaluada, es por esto por lo que el orden de las reglas en las tablas es muy importante. Existe la opción de aplicar un no lógico a la evaluación de la regla con Inversa para la definición de políticas más avanzadas. Creando una nueva regla en el firewall Por ejemplo, si queremos registrar las conexiones a un servicio, primero tendremos la regla que registra la conexión y luego la regla que acepta la conexión. Si estas dos reglas están en el orden inverso, no se registrará nada ya que la regla anterior ya acepta la conexión. Igualmente si queremos restringir la salida a Internet, primero explícitamente denegaremos los sitios o los clientes y luego permitiremos la salida al resto, invertir el orden daría acceso a todos los sitios a todo el mundo. Por omisión, la decisión es siempre denegar las conexiones y tendremos que explícitamente añadir reglas que las permitan. Hay una serie de reglas que se añaden automáticamente durante la instalación para definir una primera versión de la política del cortafuegos: se permiten todas las conexiones salientes hacia las redes externas, Internet, desde el servidor Zentyal (en Tráfico de Zentyal a redes externas) y también se permiten todas las conexiones desde las redes internas hacia las externas (en Tráfico entre redes internas y de redes internas a Internet. Además cada módulo instalado añade una serie de reglas en las secciones Tráfico de redes internas a Zentyal y Tráfico de redes externas a Zentyal normalmente permitiendo las conexiones desde las redes internas pero denegándola desde las redes externas. Esto ya se hace implícitamente, pero facilita la gestión del cortafuegos puesto que de esta manera para permitir el servicio solamente hay que cambiar el parámetro Decisión y no es necesario crear una regla nueva. Destacar que estas reglas solamente son añadidas durante el proceso de instalación de un módulo por primera vez y no son modificadas automáticamente en el futuro. Finalmente, existe un campo opcional Descripción para comentar el objetivo de la regla dentro de la política global del cortafuegos. Redirección de puertos con Zentyal Las redirecciones de puertos de destino se configuran en Cortafuegos ‣ Redirecciones de puertos. Para configurar una redirección hay que establecer la Interfaz donde se recibe el tráfico sobre el que se va a hacer la traducción, el Destino original (que puede ser el servidor Zentyal, una dirección IP o un objeto), el Puerto de destino original (que puede ser Cualquiera, un Puerto determinado o un Rango de puertos), el Protocolo y el Origen (que también puede ser Cualquiera, una Dirección IP o un Objeto). Además estableceremos la dirección IP de Destino y finalmente, el Puerto donde la máquina destino recibirá las peticiones, que puede ser el mismo que el original o no. Existe también un campo opcional de Descripción para aclarar el propósito de la regla. Redirección de puertos Encaminamiento Introducción al encaminamiento o routing Zentyal usa el subsistema del kernel de Linux para el encaminamiento configurado mediante la herramiente iproute2 [1]. [1] http://www.policyrouting.org/iproute2.doc.html Configuración del encaminamiento con Zentyal Puerta de enlace La puerta de enlace o gateway es el router por omisión para las conexiones cuyo destino no está en la red local. Es decir, si el sistema no tiene definidas rutas estáticas o si ninguna de éstas coincide con una transmisión a realizar, ésta se hará a través de la puerta de enlace. Para configurar una puerta de enlace en Zentyal se utiliza Red ‣ Puertas de enlace, que tiene los siguientes parámetros configurables. Añadiendo una puerta de enlace Habilitado: Indica si realmente esta puerta de enlace es efectiva o está desactivada. Nombre: Nombre por el que identificaremos a la puerta de enlace. Dirección IP: Dirección IP de la puerta de enlace. Esta dirección debe ser directamente accesible desde la máquina que contiene Zentyal, es decir, sin otros enrutamientos intermedios. Interfaz: Interfaz de red conectada a la puerta de enlace. Los paquetes que se envíen a la puerta de enlace se enviarán a través de esta interfaz. Peso Cuanto mayor sea el peso, más paquetes se enviarán por esa puerta de enlace si activamos el balanceo de tráfico. Predeterminado Si esta opción está activada, esta será la puerta de enlace por defecto. Si se tienen interfaces configuradas como DHCP o PPPoE [2] no se pueden añadir puertas de enlace explícitamente para ellas, dado que ya son gestionadas automáticamente. A pesar de eso, se pueden seguir activando o desactivando, editando su Peso o elegir si es el Predeterminado, pero no se pueden editar el resto de los atributos. Lista de puertas de enlace con DHCP Además Zentyal puede necesitar utilizar un proxy para acceder a Internet, por ejemplo para las actualizaciones de software y del antivirus, o para la redirección del propio proxy HTTP. Para configurar este proxy externo iremos a Red ‣ Puertas de enlace, allí podremos indicar la dirección del Servidor proxy así como el Puerto del proxy. También podremos especificar un Usuario y Contraseña en caso de que el proxy requiera autenticación. [2] http://es.wikipedia.org/wiki/PPPoE Tabla de rutas estáticas Si queremos hacer que todo el tráfico dirigido a una red pase por una puerta de enlace determinada, tendremos que añadir una ruta estática. Esto puede servirnos, por ejemplo, para interconectar dos redes locales a través de sus puertas de enlace predeterminadas. Para realizar la configuración manual de una ruta estática se utiliza Red ‣ Rutas estáticas. Configuración de rutas Estas rutas podrían ser sobreescritas si se utiliza el protocolo DHCP. Configuración del balanceo con Zentyal Como se ha comentado anteriormente, una misma máquina puede tener varias puertas de enlace predeterminadas, lo que conduce a una situación especial en la que hay que tener en cuenta nuevos parámetros en la configuración de un servidor Zentyal. Lista de puertas de enlace Las reglas de encaminamiento para múltiples puertas de enlace, conocidas también como reglas multigateway permiten que una red pueda usar varias conexiones a Internet de una manera transparente. Esto es muy útil para organizaciones que requieran más ancho de banda que el que ofrece una única conexión ADSL o que no puedan permitirse interrupciones en su acceso a Internet, una situación cada vez más común. El balanceo de tráfico reparte de manera equitativa las conexiones salientes hacia Internet, permitiendo utilizar la totalidad del ancho de banda disponible. La forma más simple de configuración es establecer diferentes pesos para cada puerta de enlace, de manera que si las conexiones de las que se dispone tienen diferentes capacidades podemos hacer un uso óptimo de ellas. Balanceo de tráfico Además, Zentyal se puede configurar para hacer que determinado tipo de tráfico se envíe siempre por un router específico en caso de ser necesario. Ejemplos comunes son enviar siempre el correo electrónico o todo el tráfico de una determinada subred por un determinado router. Las reglas multigateway y el balanceo de tráfico se establecen en la sección Red ‣ Balanceo de tráfico. En esta sección podemos añadir reglas para enviar ciertas conexiones a una determinada puerta de enlace dependiendo de la Interfaz de entrada, el Origen (puede ser una Dirección IP, un Objeto, el propio servidor Zentyal o Cualquiera), el Destino (una Dirección IP o un Objeto), el Servicio al que se quiere asociar esta regla y por cual de los Gateway queremos direccionar el tipo de tráfico especificado. Configuración de la tolerancia a fallos con Zentyal Si se está balanceando tráfico entre dos o más puertas de enlace, se recomienda habilitar la característica de tolerancia a fallos. Supóngase que se está balanceando el tráfico entre dos routers y uno de ellos sufre un fallo. Si no se ha activado esta característica, una parte del tráfico seguiría intentando salir por el router fuera de servicio, causando problemas de conectividad a los usuarios de la red. En la configuración del failover se pueden definir conjuntos de pruebas para cada puerta de enlace que revisen si está operativa o si por el contrario está sufriendo algún problema y debe dejar de utilizarse como salida a Internet. Estas pruebas pueden ser un ping a la puerta de enlace, a una máquina externa, una resolución de DNS o una petición HTTP. También se puede definir cuántas pruebas se quieren realizar así como el porcentaje de aceptación exigido. Si cualquiera de las pruebas falla, no llegando al porcentaje de aceptación, la puerta de enlace asociada a ella será desactivada. Las pruebas se siguen ejecutando, así que cuando estas se ejecuten satisfactoriamente, la puerta de enlace volverá a ser activada de nuevo. Deshabilitar una puerta de enlace sin conexión tiene como consecuencia que todo el tráfico salga por el resto de puertas de enlace que siguen habilitadas, se deshabilitan las reglas multigateway asociadas a esa puerta de enlace y también se consolidan las reglas de calidad de servicio. De esta forma, los usuarios de la red no deberían sufrir problemas con su conexión a Internet. Una vez que Zentyal detecta que la puerta de enlace caída está completamente operativa se restaura el comportamiento normal de balanceo de tráfico, reglas multigateway y calidad de servicio. El failover está implementado como un evento de Zentyal. Para usarlo, primero se necesita tener el módulo Eventos habilitado, y posteriormente habilitar el evento WAN Failover. WAN failover Para configurar las opciones y pruebas del failover se debe acudir al menú Red ‣ WAN Failover. Se puede especificar el periodo del evento modificando el valor de la opción Tiempo entre revisiones. Para añadir una regla simplemente hay que pulsar la opción Añadir nueva y aparecerá un formulario con los siguientes campos: Habilitado: Indica si la regla va a ser aplicada o no durante la comprobación de conectividad de los routers. Se pueden añadir distintas reglas y habilitarlas o deshabilitarlas de acuerdo a las necesidades, sin tener que borrarlas y añadirlas de nuevo. Gateway: Se selecciona la puerta de enlace de la lista de previamente configuradas. Tipo de prueba: Puede tomar uno de los siguientes valores: Ping a puerta de enlace: Envía un paquete de control desde el servidor Zentyal a su puerta de enlace y espera una respuesta de esta, de este modo comprueba que existe conectividad entre ambas máquinas y que la puerta de enlace está activa. No comprueba que la puerta de enlace tenga conexión con Internet. Ping a máquina: Como en el tipo anterior, esta prueba envía un paquete de control y espera una respuesta, solo que esta vez se envía a una máquina externa a la red, por lo que ya no sólo se comprueba que se puede conectar con la puerta de enlace, si no que también se comprueba si esta tiene conexión con Internet. Resolución DNS: Intenta obtener la dirección IP para el nombre de máquina especificado, lo que requiere que, como en el caso anterior, exista conectividad entre el servidor y la puerta de enlace y de esta a Internet, pero además, que los servidores de DNS sigan siendo accesibles. Petición HTTP: Esta prueba sería la más completa, ya que intenta descargar el contenido del sitio web especificado, lo que requiere que todos los requisitos de las pruebas anteriores se satisfagan. Máquina: El servidor que se va a usar como objetivo en la prueba. No es aplicable en caso de Ping a puerta de enlace. Número de pruebas: Número de veces que se repite la prueba. Ratio de éxito requerido: Indica que proporción de intentos satisfactorios es necesaria para considerar correcta la prueba. Con la configuración predeterminada, si alguna de estas reglas se activa, deshabilitando una puerta de enlace, el evento queda registrado solamente en el fichero de registro /var/log/ebox/ebox.log. Si deseamos recibir notificaciones por otras vías, podemos configurar un emisor de eventos para ello como se detalla en el capítulo Eventos y alertas o bien adquirir la Subscripción Profesional de Zentyal [3] que incluye el envío automático de alertas. Calidad de servicio Configuración de la calidad de servicio con Zentyal Zentyal es capaz de realizar moldeado de tráfico en el tráfico que atraviesa el servidor, permitiendo aplicar una tasa garantizada, limitada y una prioridad a determinados tipos de conexiones de datos a través del menú Moldeado de tráfico ‣ Reglas. Para poder realizar moldeado de tráfico es necesario disponer de al menos una interfaz interna y una interfaz externa. También debe existir al menos una puerta de enlace. Además, desde Moldeado de tráfico ‣ Tasas de Interfaz debemos configurar las tasas de subida y bajada de las interfaces externas con el ancho de banda que soporten las puertas de enlace conectadas a cada una de ellas. Las reglas de moldeado son específicas para cada interfaz y pueden asignarse a las interfaces externas con ancho de banda asignado y a todas las interfaces internas. Si se moldea la interfaz externa, entonces se estará limitando el tráfico de salida de Zentyal hacia Internet. En cambio, si se moldea la interfaz interna, entonces se estará limitando la salida de Zentyal hacia sus redes internas. El límite máximo de tasa de salida y entrada viene dado por la configuración en Moldeado de tráfico ‣ Tasas de Interfaz. Como se puede esperar, no se puede moldear el tráfico entrante en sí, debido a que el tráfico proveniente de la red no es predecible y controlable de casi ninguna forma. Existen técnicas específicas a diversos protocolos para tratar de controlar el tráfico entrante a Zentyal, como por ejemplo, TCP con el ajuste artificial del tamaño de ventana de flujo de la conexión TCP o controlando la tasa de confirmaciones (ACK) devueltas al emisor. Para cada interfaz se pueden añadir reglas para dar Prioridad (0: máxima prioridad, 7: mínima prioridad), Tasa garantizada o Tasa limitada. Esas reglas se aplicarán al tráfico determinado por el Servicio, Origen y Destino de la conexión. Reglas de moldeado de tráfico Opcionalmente puede instalarse el componente Layer-7 Filter (Filtro de capa 7) que permite el moldeado de tráfico en base a un análisis más complejo de los paquetes centrado en identificar los protocolos de alto nivel por su contenido y no solo por su puerto. Como veremos si lo instalamos, podremos utilizar este filtro seleccionando Servicio basado en aplicación o Grupo de servicios basados en aplicación como Servicio. Podemos editar los grupos de servicios o crear nuevos desde Moldeado de tráfico ‣ Protocolos de aplicación. Las reglas que utilizan este tipo de filtrado son más eficaces que las que simplemente comprueban el puerto, ya que puede haber servidores sirviendo desde puertos no habituales que pasarían inadvertidos si no se analizara su tráfico. Por otro lado, y como es de esperar, este análisis también suele conllevar una mucho mayor carga de procesamiento en el servidor Zentyal. Servicio de autenticación de red (RADIUS) Introducción a RADIUS Zentyal integra el servidor FreeRADIUS [2], el servidor RADIUS más extendido en entornos Linux. [2] http://freeradius.org/ Configuración de un servidor RADIUS con Zentyal Para configurar el servidor RADIUS en Zentyal, primero comprobaremos en Estado del Módulo si Usuarios y Grupos está habilitado, ya que RADIUS depende de él. Podremos crear un grupo de usuarios desde el menú Usuarios y Grupos ‣ Grupos y añadir usuarios al sistema desde el menú Usuarios y Grupos‣ Usuarios. Mientras se edita un grupo, se pueden elegir los usuarios que pertenecen a éste. Las opciones de configuración de los usuarios y grupos se explican con detalle en el capítulo de Servicio de directorio (LDAP). Una vez dispongamos de usuarios y grupos en nuestro sistema, habilitaremos el módulo en Estado del Módulo marcando la casilla RADIUS. Configuración general de RADIUS Para configurar el servicio, accederemos a RADIUS en el menú izquierdo. Allí podremos definir si Todos los usuarios o sólamente los usuarios que pertenecen a uno de los grupos existentes podrán acceder al servicio. Todos los dispositivos NAS que vayan a enviar solicitudes de autenticación a Zentyal deben ser especificados en Clientes RADIUS. Para cada uno podemos definir: Habilitado: Indicando si el NAS está habilitado o no. Cliente: El nombre para este cliente, como podría ser el nombre de la máquina. Dirección IP: La dirección IP o el rango de direcciones IP desde las que se permite enviar peticiones al servidor RADIUS. Contraseña compartida: Contraseña para autenticar y cifrar las comunicaciones entre el servidor RADIUS y el NAS. Esta contraseña deberá ser conocida por ambas partes. 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. 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. 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. 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. 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. 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. 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. 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.
Seguimos con la 2 parte de la instalacion de Zentyal esta vez se mostrara como hacer la configuracion inicial Configuración inicial Una vez autenticado por primera vez en la interfaz web comienza un asistente de configuración, en primer lugar podremos seleccionar qué funcionalidades queremos incluir en nuestro sistema. Existen dos métodos para esta selección: Simple: Se seleccionará el o los perfiles de instalación que deseemos para nuestro servidor. Un perfil de instalación es un conjunto de paquetes que agrupan una serie de funcionalidades según la tarea que vaya a desempeñar el servidor. Avanzado: Se seleccionarán los paquetes de manera individualizada y sus dependencias se resolverán automáticamente al confirmar la instalación. La selección simple se realiza a través de la lista de perfiles de instalación disponibles. Estos perfiles de instalación facilitan y simplifican la realización de despliegues de Zentyal en los escenarios más típicos, aunque esto no impide combinar la funcionalidad disponible conforme las necesidades lo requieran. Como se puede observar en la figura Perfiles de Zentyal dicha lista concuerda con los apartados siguientes de este manual. Perfiles de Zentyal Perfiles de Zentyal que podemos instalar: Zentyal Gateway: Zentyal actúa como la puerta de enlace de la red local ofreciendo un acceso a Internet seguro y controlado. Zentyal Unified Threat Manager: Zentyal protege la red local contra ataques externos, intrusiones, amenazas a la seguridad interna y posibilita la interconexión segura entre redes locales a través de Internet u otra red externa. Zentyal Infrastructure: Zentyal gestiona la infraestructura de la red local con los servicios básicos: DHCP, DNS, NTP, servidor HTTP, etc. Zentyal Office: Zentyal actúa como servidor de recursos compartidos de la red local: ficheros, impresoras, calendarios, contactos, perfiles de usuarios y grupos, etc. Zentyal Unified Communications: Zentyal se convierte en el centro de comunicaciones de la empresa, incluyendo correo, mensajería instantánea y Voz IP. Podemos seleccionar varios perfiles para hacer que Zentyal tenga, de forma simultánea, diferentes roles en la red. Sin embargo, mediante la seleción avanzada aparecerá la lista de módulos de Zentyal y se podrán seleccionar individualmente aquéllos que se necesiten. Selección avanzada Para nuestro ejemplo usaremos una instalación del perfil de Gateway únicamente. Al terminar la selección, se instalarán también los paquetes adicionales necesarios y además si hay algún complemento recomendado se preguntará si lo queremos instalar también. Esta selección no es definitiva, ya que posteriormente podremos instalar y desinstalar el resto de módulos de Zentyal a través de la gestión de software. Confirmación y complementos recomendados El sistema comenzará con el proceso de instalación de los modulos requeridos, mostrando una barra de progreso donde además podemos leer una breve introducción sobre las funcionalidades y servicios adicionales disponibles en Zentyal. Instalación e información adicional Una vez terminado el proceso de instalación el asistente configurará los nuevos módulos realizando algunas preguntas. En primer lugar se solicitará información sobre la configuración de red, definiendo para cada interfaz de red si es interna o externa, es decir, si va a ser utilizada para conectarse a Internet u otras redes externas o si está conectada a la red local. Se aplicarán políticas estrictas en el cortafuegos para todo el tráfico entrante a través de interfaces de red externas. Configuración inicial de interfaces de red A continuación tendremos que seleccionar el tipo de servidor para el modo de operación del módulo Usuarios y Grupos. Si sólo vamos a tener un servidor elegiremos Servidor stand-alone. Si por el contrario estamos desplegando una infraestructura maestro-esclavo con varios servidores Zentyal y gestión de usuarios y grupos centralizada o si queremos sincronizar los usuarios con un Microsoft Active Directory, elegiremos Configuración avanzada. Este paso aparecerá solamente si el módulo Usuarios y Grupos está instalado. Modo de operación de Usuarios y Grupos Una vez hayan sido respondidas estas cuestiones, se procederá a la configuración de cada uno de los módulos instalados. Configuración inicial finalizada Guardando cambios Cuando finalice el proceso de guardar cambios ya podremos acceder al Dashboard: ¡nuestro servidor Zentyal ya está listo! Dashboard 1 parte
Primeros pasos con Zentyal La interfaz web de administración de Zentyal Una vez instalado Zentyal, podemos acceder al interfaz web de administración tanto a través del propio entorno gráfico que incluye el instalador como desde cualquier lugar de la red interna, mediante la dirección: https://direccion_ip/, donde direccion_ip es la dirección IP o el nombre de la máquina donde está instalado Zentyal que resuelve a esa dirección. Dado que el acceso es mediante HTTPS, la primera vez el navegador nos pedirá si queremos confiar en este sitio, aceptaremos el certificado autogenerado y no nos lo volverá a solicitar en adelante. Advertencia Para acceder a la interfaz web se debe usar Mozilla Firefox, ya que otros navegadores como Microsoft Internet Explorer no están soportados. La primera pantalla solicita el nombre de usuario y la contraseña, podrán autenticarse como administradores tanto el usuario creado durante la instalación como cualquier otro perteneciente al grupo admin. Login Una vez autenticados, aparecerá la interfaz de administración que se encuentra dividida en tres partes fundamentales: Menú lateral izquierdo: Contiene los enlaces a todos los servicios que se pueden configurar mediante Zentyal, separados por categorías. Cuando se ha seleccionado algún servicio en este menú puede aparecer un submenú para configurar cuestiones particulares de dicho servicio. Menú lateral Menú superior: Contiene las acciones: guardar los cambios realizados en el contenido y hacerlos efectivos, así como el cierre de sesión. Menú superior Contenido principal: El contenido, que ocupa la parte central, comprende uno o varios formularios o tablas con información acerca de la configuración del servicio seleccionado a través del menú lateral izquierdo y sus submenús. En ocasiones, en la parte superior, aparecerá una barra de pestañas en la que cada pestaña representará una subsección diferente dentro de la sección a la que hemos accedido. Contenido de un formulario El Dashboard El Dashboard es la pantalla inicial de la interfaz. Contiene una serie de widgets configurables. En todo momento se pueden reorganizar pulsando en los títulos y arrastrándolos. Pulsando en Configurar Widgets la interfaz cambia, permitiendo retirar y añadir nuevos widgets. Para añadir uno nuevo, se busca en el menú superior y se arrastra a la parte central. Para eliminarlos, se usa la cruz situada en la esquina ѕuperior derecha de cada uno de ellos. Configuración del Dashboard Hay un widget importante dentro del Dashboard que muestra el estado de todos los módulos instalados en Zentyal. Widget de estado de los módulos La imagen muestra el estado para un servicio y la acción que se puede ejecutar sobre él. Los estados disponibles son los siguientes: Ejecutándose: El servicio se está ejecutando aceptando conexiones de los clientes. Se puede reiniciar el servicio usando Reiniciar. Ejecutándose sin ser gestionado: Si no se ha activado todavía el módulo, se ejecutará con la configuración por defecto de la distribución. Parado: El servicio está parado bien por acción del administrador o porque ha ocurrido algún problema. Se puede iniciar el servicio mediante Arrancar. Deshabilitado: El módulo ha sido deshabilitado explícitamente por el administrador. Configuración del estado de los módulos Zentyal tiene un diseño modular, en el que cada módulo gestiona un servicio distinto. Para poder configurar cada uno de estos servicios se ha de habilitar el módulo correspondiente desde Estado del módulo. Todas aquellas funcionalidades que hayan sido seleccionadas durante la instalación se habilitan automáticamente. Configuración del estado del módulo Cada módulo puede tener dependencias sobre otros para que funcione. Por ejemplo, el módulo DHCP necesita que el módulo de red esté habilitado para que pueda ofrecer direcciones IP a través de las interfaces de red configuradas. Las dependencias se muestran en la columna Depende y hasta que estas no se habiliten, no se puede habilitar tampoco el módulo. La primera vez que se habilita un módulo, se pide confirmación de las acciones que va a realizar en el sistema así como los ficheros de configuración que va a sobreescribir. Tras aceptar cada una de las acciones y ficheros, habrá que guardar cambios para que la configuración sea efectiva. Confirmación para habilitar un módulo Aplicando los cambios en la configuración Una particularidad importante del funcionamiento de Zentyal es su forma de hacer efectivas las configuraciones que hagamos en la interfaz. Para ello, primero se tendrán que aceptar los cambios en el formulario actual, pero para que estos cambios sean efectivos y se apliquen de forma permanente se tendrá que Guardar Cambios en el menú superior. Este botón cambiará a color rojo para indicarnos que hay cambios sin guardar. Si no se sigue este procedimiento se perderán todos los cambios que se hayan realizado a lo largo de la sesión al finalizar ésta. Una excepción a este funcionamiento es la gestión de usuarios y grupos, dónde los cambios se efectúan directamente. Guardar Cambios Advertencia Si se cambia la configuración de las interfaces de red, el cortafuegos o el puerto del interfaz de administración, se podría perder la conexión teniendo que cambiar la URL en el navegador o reconfigurar a través del entorno gráfico en local. Configuración general Hay varios parámetros de la configuración general de Zentyal que se pueden modificar en Sistema ‣ General. Configuración general Contraseña: Podemos cambiar la contraseña de un usuario. Será necesario introducir su nombre de Usuario, la Contraseña actual, la Nueva contraseña y confirmarla de nuevo en la sección Cambiar contraseña. Idioma: Podemos seleccionar el idioma de la interfaz mediante Selección de idioma. Puerto del interfaz de administración: Por defecto es el 443 de HTTPS, pero si queremos utilizarlo para el servidor web, habrá que cambiarlo a otro distinto y especificarlo en la URL a la hora de acceder: https://direccion_ip:puerto/. Nombre de la máquina: Es posible cambiar el hostname o nombre de la máquina, por ejemplo: zentyal.home.local. El nombre de la máquina sirve para identificarla de otras dentro de la red. Emplazamiento en la red de Zentyal Zentyal puede utilizarse de dos maneras fundamentales: * puerta de enlace y cortafuegos de la conexión a internet, * servidor de los servicios en la red (o local o Internet). Ambas funcionalidades pueden combinarse en una misma máquina o separarse en varias, dependiendo de las características de cada despliegue. La figura Ubicaciones en la red escenifica las distintas ubicaciones que puede tomar un servidor Zentyal dentro de la red, tanto haciendo de pasarela entre redes como un servidor dentro de la propia red. Ubicaciones en la red A lo largo de esta documentación se verá cómo configurar Zentyal para desempeñar un papel de puerta de enlace y cortafuegos. Y por supuesto también veremos la configuración en los casos que actúe como un servidor más dentro de la red. Configuración de red en Zentyal A través de Red ‣ Interfaces se puede acceder a la configuración de cada una de las tarjetas de red detectadas por el sistema y se pueden establecer como dirección de red estática (configurada manualmente), dinámica (configurada mediante DHCP), VLAN (802.1Q) trunk, PPPoE o bridged. Además cada interfaz puede definirse como Externa si está conectada a una red externa, normalmente Internet, para aplicar políticas más estrictas en el cortafuegos. En caso contrario se asumirá interna, conectada a la red local. Cuando se configure como DHCP, no sólamente se configurará la dirección IP sino también los servidores DNS y la puerta de enlace. Esto es habitual en máquinas dentro de la red local o en las interfaces externas conectadas a los routers ADSL. Configuración DHCP de la interfaz de red Si configuramos la interfaz como estática especificaremos la dirección IP, la máscara de red y además podremos asociar una o más Interfaces Virtuales a dicha interfaz real para disponer de direcciones IP adicionales. Estas direcciones adicionales son útiles para ofrecer un servicio en más de una dirección IP o subred, para facilitar la migración desde un escenario anterior o para tener en un servidor web diferentes dominios usando certificados SSL. Configuración estática de la interfaz de red Si se dispone de un router ADSL PPPoE [1] (un método de conexión utilizado por algunos proveedores de Internet), podemos configurar también este tipo de conexiones. Para ello, sólo hay que seleccionar PPPoE e introducir el Nombre de usuario y Contraseña proporcionado por el proveedor. Configuración PPPoE de la interfaz de red En caso de tener que conectar el servidor a una o más redes VLAN, seleccionaremos Trunk (802.11q). Una vez seleccionado este método podremos crear tantas interfaces asociadas al tag definido como queramos y las podremos tratar como si de interfaces reales se tratase. La infraestructura de red VLAN permite segmentar la red local para mejor rendimiento y mayor seguridad sin la inversión en hardware físico que sería necesaria para cada segmento. Configuración VLAN de interfaces de red El modo puente o bridged consiste en asociar dos interfaces de red físicas de nuestro servidor conectadas a dos redes diferentes. Por ejemplo una tarjeta conectada al router y otra tarjeta conectada a la red local. Mediante esta asociación podemos conseguir que el tráfico de la red conectada a una de las tarjetas se redirija a la otra de modo transparente. Esto tiene la principal ventaja de que las máquinas clientes de la red local no necesitan modificar absolutamente ninguna de sus configuraciones de red cuando instalemos un servidor Zentyal como puerta de enlace, y sin embargo, podemos gestionar el tráfico que efectivamente pasa a través de nuestro servidor con el cortafuegos, filtrado de contenidos o detección de intrusos. Esta asociación se crea cambiando el método de las interfaces a En puente de red. Podemos ver como al seleccionar esta opción nos aparece un nuevo selector, Puente de red para que seleccionemos a qué grupo de interfaces queremos asociar esta interfaz. Creación de un bridge Esto creará una nueva interfaz virtual bridge que tendrá su propia configuración como una interfaz real, por lo cual aunque el tráfico la atraviese transparentemente, puede ser utilizado para ofrecer otros servicios como podría ser el propio interfaz de administración de Zentyal o un servidor de ficheros. Configuración de interfaces bridged En el caso de configurar manualmente la interfaz de red será necesario definir la puerta de enlace de acceso a Internet en Red ‣ Puertas de enlace. Normalmente esto se hace automáticamente si usamos DHCP o PPPoE pero no en el resto de opciones. Para cada uno podremos indicar Nombre, Dirección IP, Interfaz a la que está conectada, su Peso que sirve para indicar la prioridad respecto a otros gateways y si es el Predeterminado de todos ellos. Además si es necesario el uso de un proxy HTTP para el acceso a Internet, podremos configurarlo también en esta sección. Este proxy será utilizado por Zentyal para conexiones como las de actualización e instalación de paquetes o la actualización del antivirus. Configuración de las puertas de enlace Para que el sistema sea capaz de resolver nombres de dominio debemos indicarle la dirección de uno o varios servidores de nombres en Red ‣ DNS. Configuración de los servidores DNS Si la conexión a Internet asigna una dirección IP dinámica y queremos que un nombre de dominio apunte a ella, se necesita un proveedor de DNS dinámico. Utilizando Zentyal se puede configurar alguno de los proveedores de DNS dinámico más populares. Para ello iremos a Red ‣ DynDNS y seleccionaremos el proveedor, del Servicio, Nombre de usuario, Contraseña y Nombre de máquina que queremos actualizar cuando la dirección pública cambie, sólo resta Habilitar DNS dinámico. Configuración de DNS Dinámico Zentyal se conecta al proveedor para conseguir la dirección IP pública evitando cualquier traducción de dirección red (NAT) que haya entre el servidor e Internet. Si estamos utilizando esta funcionalidad en un escenario con multirouter [2], no hay que olvidar crear una regla que haga que las conexiones al proveedor usen siempre la misma puerta de enlace. [1] http://es.wikipedia.org/wiki/PPPoE [2] Consultar Configuración del balanceo con Zentyal para obtener más detalles. Diagnóstico de red Para ver si hemos configurado bien nuestra red podemos utilizar las herramientas de Red ‣ Diagnóstico. ping es una herramienta que utiliza el protocolo de diagnóstico de redes ICMP (Internet Control Message Protocol) para comprobar la conectividad hasta una máquina remota mediante una sencilla conversación entre ambas. Herramientas de diagnóstico de redes, ping También disponemos de la herramienta traceroute que se encarga de mostrar la ruta que toman los paquetes hasta llegar a la máquina remota determinada. Herramienta traceroute Y por último también contamos con la herramienta de resolución de nombres de dominio que se utiliza para comprobar el correcto funcionamiento del servicio.

Zentyal Infrastructure En este capítulo se explican los servicios para gestionar la infraestructura de una red local y optimizar el tráfico interno, incluyendo la gestión de nombres de dominio, la sincronización de la hora, la auto-configuración de red, la gestión de la autoridad de certificación y la publicación de sitios Web. El servicio de nombres de dominio o DNS permite acceder a las máquinas y servicios utilizando nombres en lugar de direcciones IP, que son más fáciles de memorizar. El servicio de sincronización de la hora o NTP mantiene sincronizada la hora del sistema en las máquinas. Para la auto-configuración de red, se usa el servicio de DHCP que permite asignar diversos parámetros de red a las máquinas conectadas como pueden ser la dirección IP, los servidores DNS o la puerta de enlace para acceder a Internet. La creciente importancia de asegurar la autenticidad, integridad y privacidad de las comunicaciones ha aumentado el interés por el despliegue de autoridades de certificación que permiten acceder a los diversos servicios de forma segura. Se permite configurar SSL/TLS para acceder de manera segura a la mayoría de los servicios y certificados para la autenticación de los usuarios. Además, en muchas redes se utilizan multitud de aplicaciones Web que pueden ser instaladas bajo el servidor HTTP sobre distintos nombres de dominio e incluso con soporte HTTPS. Servicio de resolución de nombres de dominio (DNS) Introducción a DNS BIND [4] es el servidor DNS de facto en Internet, originalmente creado en la Universidad de California, Berkeley y en la actualidad mantenido por el Internet Systems Consortium. La versión BIND 9, reescrita desde cero para soportar las últimas funcionalidades del protocolo DNS, es la usada por el módulo de DNS de Zentyal. [4] http://www.isc.org/software/bind Configuración de un servidor DNS caché con Zentyal El módulo de servidor de DNS de Zentyal siempre funciona como servidor DNS caché para las redes marcadas como internas en Zentyal, así que si solamente queremos que nuestro servidor realice caché de las consultas DNS, bastará con habilitar el módulo. En ocasiones, puede que este servidor DNS caché tenga que ser consultado desde redes internas no configuradas directamente en Zentyal. Aunque este caso es bastante excepcional, puede darse en redes con rutas hacia segmentos internos o redes VPN. Zentyal permite configurar el servidor DNS para que acepte consultas de estas subredes a través de un fichero de configuración. Podremos añadir estas redes en el fichero /etc/ebox/80dns.conf mediante la opción intnets=: # Internal networks allowed to do recursive queries # to Zentyal DNS caching server. Localnetworks are already # allowed and this settings is intended to allow networks # reachable through static routes. # Example: intnets = 192.168.99.0/24,192.168.98.0/24 intnets = Y tras reiniciar el módulo DNS se aplicarán los cambios. El servidor DNS caché de Zentyal consultará directamente a los servidores DNS raíz a qué servidor autoritario tiene que preguntar la resolución de cada petición DNS y las almacenará localmente durante el período de tiempo que marque el campo TTL. Mediante esta funcionalidad reduciremos el tiempo necesario para iniciar cada conexión de red, aumentando la sensación de velocidad de los usuarios y reduciendo el consumo real de tráfico hacia Internet. Para que el servidor Zentyal utilice su propio servidor DNS caché, que acabamos de configurar, tendremos que ir a Red ‣ DNS y configurar 127.0.0.1 como primer servidor DNS. DNS configurado como caché local El dominio de búsqueda es básicamente una cadena que se añadirá a la búsqueda en caso de que sea imposible resolver con la cadena de texto que el usuario ha pedido. El dominio de búsqueda se configura en los clientes, pero se puede servir automáticamente por DHCP, de tal manera que cuando nuestros clientes reciban la configuración inicial de red, podrán adquirir también este dato. Por ejemplo nuestro dominio de búsqueda podría ser foocorp.com, el usuario intentaría acceder a la máquina example; al no estar presente en sus hosts conocidos, la resolución de este nombre fallaría, por lo que su sistema operativo probaría automáticamente con example.foocorp.com, resultando en una resolución de nombre con éxito en este segundo caso. En Red ‣ Herramientas de diagnóstico disponemos de la herramienta de Resolución de Nombres de Dominio, que mediante dig nos muestra los detalles de una consulta DNS al servidor que tengamos configurado en Red ‣ DNS. Resolución de un nombre de dominio usando el DNS caché local Configuración de un servidor DNS autoritario con Zentyal Además de DNS caché, Zentyal puede funcionar como servidor DNS autoritario para un listado de dominios que configuremos. Como servidor autoritario responderá a consultas sobre estos dominios realizadas tanto desde redes internas como desde redes externas, para que no solamente los clientes locales, sino cualquiera pueda resolver estos dominios configurados. Como servidor caché responderá a consultas sobre cualquier dominio solamente desde redes internas. La configuración de este módulo se realiza a través del menú DNS, dónde podremos añadir cuantos dominios y subdominios deseemos. Lista de dominios Para configurar un nuevo dominio, desplegaremos el formulario pulsando Añadir nuevo. Desde éste se configurará el Nombre del dominio y opcionalmente la Dirección IP a la que hará referencia el dominio. Añadiendo un nuevo dominio Una vez creado un dominio, podemos definir cuantos nombres queramos dentro de él mediante la tabla Nombres. Para cada uno de estos nombres Zentyal configurará automáticamente la resolución inversa. Además para cada uno de los nombres podremos definir cuantos Alias queramos. Normalmente los nombres apuntan a la máquina dónde está funcionando el servicio y los alias a los servicios alojados en ella. Por ejemplo, la máquina amy.zentyal.com tiene los alias smtp.zentyal.com y mail.zentyal.com para los servicios de mail y la máquina rick.zentyal.com tiene los alias www.zentyal.com o store.zentyal.com entre otros, para los servicios web. Añadiendo un nuevo alias Adicionalmente, podemos definir los servidores de correo encargados de recibir los mensajes para cada dominio. Dentro de Intercambiadores de correo elegiremos un servidor del listado definido en Nombres o uno externo. Mediante la Preferencia, determinamos a cuál de estos servidores le intentarán entregar los mensajes otros servidores. Si el de más preferencia falla lo reintentarán con el siguiente. Añadiendo un nuevo intercambiador de correo Además también podemos configurar los registros NS para cada dominio o subdominio mediante la tabla Servidores de nombres. Añadiendo un nuevo servidor de nombres Hay que mencionar que cuando se añade un nuevo dominio, se puede apreciar la presencia de un campo llamado Dinámico con valor falso. Un dominio se establece como dinámico cuando es actualizado automáticamente por un proceso externo sin reiniciar el servidor. Si un dominio se establece como dinámico no puede configurarse a través del interfaz. En Zentyal los dominios dinámicos son los actualizados automáticamente por DHCP con los nombres de las máquinas a las que ha asignado una dirección IP, véase Actualizaciones dinámicas. Servicio de sincronización de hora (NTP) Introducción a NTP Zentyal integra ntpd [2] como servidor NTP. Este servicio NTP utiliza el puerto 123 del protocolo UDP. [2] http://www.eecis.udel.edu/~mills/ntp/html/ntpd.html Configuración de un servidor NTP con Zentyal Zentyal utiliza el servidor NTP tanto para la sincronización de su propio reloj como para ofrecer este servicio en la red, así que es importante activarlo aunque sólo sea para si mismo. Una vez habilitado el módulo, en Sistema ‣ Fecha/hora deberemos habilitar la sincronización mediante NTP y después seleccionar contra qué servidores queremos sincronizar. Normalmente es conveniente sincronizar contra el repositorio de servidores del proyecto NTP [3] que ya vienen preconfigurados en Zentyal, aunque podemos cambiar estos valores para sincronizar contra un servidor NTP local que tengamos instalado o cualquier otro de nuestra elección. Configuración de Fecha y Hora Una vez que Zentyal esté sincronizado, podrá ofrecer su hora de reloj mediante el servicio NTP. Como siempre, no deberemos olvidar comprobar las reglas del cortafuegos, ya que normalmente NTP se habilita sólo para redes internas. Servicio de configuración de red (DHCP) Introducción a DHCP Para configurar el servicio de DHCP Zentyal usa ISC DHCP Software [4], el estándar de facto en sistemas Linux. Este servicio usa el protocolo de transporte UDP, puerto 68 en la parte del cliente y puerto 67 en el servidor. [4] https://www.isc.org/software/dhcp Configuración de un servidor DHCP con Zentyal El servicio DHCP necesita una interfaz configurada estáticamente sobre la cuál se despliega el servicio. Esta interfaz además deberá ser interna. Desde el menú DHCP se configura el servidor DHCP. Configuración del servicio DHCP Los siguientes parámetros se pueden configurar en la pestaña de Opciones personalizadas: Puerta de enlace predeterminada: Es la puerta de enlace que va a emplear el cliente para comunicarse con destinos que no están en su red local, como podría ser Internet. Su valor puede ser Zentyal, una puerta de enlace ya configurada en el apartado Red ‣ Routers o una Dirección IP personalizada. Dominio de búsqueda: En una red cuyas máquinas estuvieran nombradas bajo el mismo subdominio, se podría configurar este como el dominio de búsqueda. De esta forma, cuando se intente resolver un nombre de dominio sin éxito (por ejemplo host), se intentará de nuevo añadiéndole el dominio de búsqueda al final (host.zentyal.local). Servidor de nombres primario: Especifica el servidor DNS que usará el cliente en primer lugar cuando tenga que resolver un nombre de dominio. Su valor puede ser Zentyal DNS local o la dirección IP de otro servidor DNS. Si queremos que se consulte el propio servidor DNS de Zentyal, hay que tener en cuenta que el módulo DNS [5] debe estar habilitado. Servidor de nombres secundario: Servidor DNS con el que contactará el cliente si el primario no está disponible. Su valor debe ser una dirección IP de un servidor DNS. Servidor NTP: Servidor NTP que usará el cliente para sincronizar el reloj de su sistema. Puede ser Ninguno, Zentyal NTP local o la dirección IP de otro servidor NTP. Si queremos que se consulte el propio servidor NTP de Zentyal, hay que tener el módulo NTP [6] habilitado. Servidor WINS: Servidor WINS (Windows Internet Name Service) [7] que el cliente usará para resolver nombres en una red NetBIOS. Este puede ser Ninguno, Zentyal local u otro Personalizado. Si queremos usar Zentyal como servidor WINS, el módulo de Compartir de ficheros [8] tiene que estar habilitado. Configuración de los rangos de DHCP Debajo de estas opciones, podemos ver los rangos dinámicos de direcciones y las asignaciones estáticas. Para que el servicio DHCP funcione, al menos debe haber un rango de direcciones a distribuir o asignaciones estáticas; en caso contrario el servidor DHCP no servirá direcciones IP aunque esté escuchando en todas las interfaces de red. Los rangos de direcciones y las direcciones estáticas disponibles para asignar desde una determinada interfaz vienen determinados por la dirección estática asignada a dicha interfaz. Cualquier dirección IP libre de la subred correspondiente puede utilizarse en rangos o asignaciones estáticas. Para añadir un rango en la sección Rangos se introduce un nombre con el que identificar el rango y los valores que se quieran asignar dentro del rango que aparece encima. Se pueden realizar asignaciones estáticas de direcciones IP a determinadas direcciones físicas en el apartado Asignaciones estáticas. Una dirección asignada de este modo no puede formar parte de ningún rango. Se puede añadir una Descripción opcional para la asignación también. [5] Véase la sección Servicio de resolución de nombres de dominio (DNS) para más detalles. [6] Véase la sección Servicio de sincronización de hora (NTP) para más detalles. [7] http://es.wikipedia.org/wiki/Windows_Internet_Naming_Service [8] Véase la sección Servicio de compartición de ficheros y de autenticación para más detalles. Optiones avanzadas Opciones avanzadas de DHCP La concesión dinámica de direcciones tiene un tiempo límite. Una vez expirado este tiempo se tiene que pedir la renovación (configurable en la pestaña Opciones avanzadas). Este tiempo varía desde 1800 segundos hasta 7200. Esta limitación también se aplica a las asignaciones estáticas. Zentyal soporta arranque remoto de clientes ligeros o Thin Clients. Se configura en Siguiente servidor a qué servidor PXE se debe conectar el cliente ligero y este se encargará de transmitir todo lo necesario para que el cliente ligero sea capaz de arrancar su sistema. El servidor PXE puede ser una dirección IP o un nombre de máquina. Será necesario indicar la ruta de la imagen de arranque, o si Zentyal es el servidor PXE, se podrá subir el fichero con la imagen a través de la interfaz web. Actualizaciones dinámicas Las actualizaciones dinámicas de DNS permiten asignar nombres de dominio a los clientes DHCP mediante la integración de los módulos de DHCP y DNS. De esta forma se facilita el reconocimiento de las máquinas presentes en la red por medio de un nombre de dominio único en lugar de por una dirección IP que puede cambiar. Configuración de actualizaciones DNS dinámicas Para utilizar esta opción, hay que acceder a la pestaña Opciones de DNS dinámico y para habilitar esta característica, el módulo DNS debe estar habilitado también. Se debe disponer de un Dominio dinámico y un Dominio estático, que ambos se añadirán a la configuración de DNS automáticamente. El dominio dinámico aloja los nombres de máquinas cuya dirección IP corresponde a una del rango y el nombre asociado sigue el patrón dhcp-<dirección-IP-ofrecida>.<dominio-dinámico>. Con respecto al dominio estático, el nombre de máquina seguirá este patrón: <nombre>.<dominio-estático> siendo el nombre que se establece en la tabla de Asignaciones estáticas. Autoridad de certificación (CA) Infraestructura de clave pública (PKI) Zentyal integra OpenSSL [4] para la gestión de la Autoridad de Certificación y del ciclo de vida de los certificados expedidos por esta. [4] http://www.openssl.org/ Configuración de una Autoridad de Certificación con Zentyal En Zentyal, el módulo Autoridad de Certificación es autogestionado, lo que quiere decir que no necesita ser habilitado en Estado del Módulo como el resto sino que para comenzar a utilizar este servicio hay que inicializar la CA. Las funcionalidades del módulo no estarán disponibles hasta que no hayamos efectuado esta acción. Accederemos a Autoridad de Certificación ‣ General y nos encontraremos con el formulario para inicializar la CA. Se requerirá el Nombre de Organización y el número de Días para expirar. Además, también es posible especificar opcionalmente Código del País (acrónimo de dos letras que sigue el estándar ISO-3166-1 [5]), Ciudad y Estado. Crear Certificado de la Autoridad de Certificación A la hora de establecer la fecha de expiración hay que tener en cuenta que en ese momento se revocarán todos los certificados expedidos por esta CA, provocando la parada de los servicios que dependan de estos certificados. Una vez que la CA ha sido inicializada, ya podremos expedir certificados. Los datos necesarios son el Nombre Común del certificado y los Días para Expirar. Este último dato está limitado por el hecho de que ningún certificado puede ser válido durante más tiempo que la CA. En el caso de que estemos usando estos certificados para un servicio como podría ser un servidor web o un servidor de correo, el Nombre Común deberá coincidir con el nombre de dominio del servidor. Por ejemplo, si utilizamos el nombre de dominio zentyal.home.local para acceder al interfaz de administración web de Zentyal, será necesario un certificado con ese Nombre Común. En el caso de que el certificado sea un certificado de usuario, usaremos normalmente su dirección de correo como Nombre Común. Opcionalmente se pueden definir Subject Alternative Names [6] para el certificado. Estos sirven para establecer nombres comunes a un certificado: un nombre de dominio o dirección IP para dominio virtual HTTP o una dirección de correo para firmar los mensajes de correo electrónico. Una vez el certificado haya sido creado, aparecerá en la lista de certificados, estando disponible para el administrador y el resto de módulos. A través de la lista de certificados podemos realizar distintas acciones con ellos: * Descargar las claves pública, privada y el certificado. * Renovar un certificado. * Revocar un certificado. Listado de certificados El paquete con las claves descargadas contiene también un archivo PKCS12 que incluye la clave privada y el certificado y que puede instalarse directamente en otros programas como navegadores web, clientes de correo, etc. Si renovamos un certificado, el actual será revocado y uno nuevo con la nueva fecha de expiración será expedido. Y si se renueva la CA, todos los certificados se renovarán con la nueva CA tratando de mantener la antigua fecha de expiración. Si esto no es posible debido a que es posterior a la fecha de expiración de la CA, entonces se establecerá la fecha de expiración de la CA. Renovar un certificado Si revocamos un certificado no podremos utilizarlo más, ya que esta acción es permanente y no se puede deshacer. Opcionalmente podemos seleccionar la razón para revocarlo: * unspecified: motivo no especificado, * keyCompromise: la clave privada ha sido comprometida, * CACompromise: la clave privada de la autoridad de certificación ha sido comprometida, * affilliationChanged: se ha producido un cambio en la afiliación de la clave pública firmada hacia otra organización, * superseded: el certificado ha sido renovado y por tanto reemplaza al emitido, * cessationOfOperation: cese de operaciones de la entidad certificada, * certificateHold: certificado suspendido, * removeFromCRL: actualmente sin implementar, da soporte a los CRL diferenciales, es decir, listas de certificados cuyo estado de revocación ha cambiado. Revocar un certificado Cuando un certificado expire, el resto de módulos serán notificados. La fecha de expiración de cada certificado se comprueba una vez al día y cada vez que se accede al listado de certificados. [5] http://es.wikipedia.org/wiki/ISO_3166-1 [6] Para más información sobre los Subject Alternative Names véase http://www.openssl.org/docs/apps/x509v3_config.html#Subject_Alternative_Name Certificados de Servicios En Autoridad de Certificación ‣ Certificados de Servicios podemos encontrar la lista de módulos de Zentyal que usan certificados para su funcionamiento. Cada módulo genera sus certificados autofirmados, pero podemos remplazar estos certificados por otros emitidos por nuestra CA. Para cada servicio se puede generar un certificado especificando su Nombre Común. Si no existe un certificado con el nombre especificado, la Autoridad de Certificación lo creará automáticamente. Certificados de Servicios Una vez activado, tendremos que reiniciar el módulo sobre el que hemos activado el certificado para que lo comience a utilizar, al igual que si renovamos el certificado asociado. Servicio de publicación de páginas web (HTTP) Introducción a HTTP El servidor HTTP Apache [5] es el más usado en Internet, alojando más del 54% de las páginas. Zentyal usa Apache para el módulo de servidor HTTP y para su interfaz de administración. [5] http://httpd.apache.org/ Configuración de un servidor HTTP con Zentyal A través del menú Servidor web podemos acceder a la configuración del servidor HTTP. Configuración del módulo Servidor web En la Configuración General podemos modificar los siguientes parámetros: Puerto de escucha: Puerto HTTP, por defecto es el 80, el puerto por defecto del protocolo HTTP. Puerto de escucha SSL: Puerto HTTPS, por defecto es el 443, el puerto por defecto del protocolo HTTPS. Se tiene que habilitar el certificado para el servicio y cambiar el puerto del interfaz de administración de Zentyal a un puerto distinto si queremos usar el 443 aquí. Habilitar el public_html por usuario: Con esta opción, si los usuarios tienen un subdirectorio llamado public_html en su directorio personal, será accesible a través de la URL http://<zentyal>/~<usuario>/. En Servidores virtuales o Virtual hosts podremos definir los diferentes dominios asociados con cada página web. Cuando se define un nuevo dominio con esta opción, si el módulo DNS está instalado, se intenta crear ese dominio, y si está ya creado, se añade el subdominio en caso de que éste tampoco exista. Este dominio o subdominio se crea apuntando a la dirección de la primera interfaz interna configurada con dirección estática, aunque podemos modificar el dominio posteriormente si esto no se adapta a nuestras necesidades. Además de poder activar o desactivar cada dominio en el servidor HTTP, si hemos configurado SSL anteriormente, podremos habilitar conexiones HTTPS a ese dominio o incluso forzar a que las conexiones sean exclusivamente por HTTPS. El DocumentRoot o directorio raíz para cada una de estas páginas está en el directorio /srv/www/<dominio>/. Además existe la posibilidad de aplicar cualquier configuración de Apache personalizada para cada Virtual host mediante ficheros en el directorio /etc/apache2/sites-available/user-ebox-<dominio>/. Servicio de Transferencia de ficheros (FTP) Introducción a FTP Zentyal usa vsftpd [4] (very secure FTP) para proporcionar este servicio. [4] http://vsftpd.beasts.org/ Configuración de un servidor FTP con Zentyal A través del menú FTP podemos acceder a la configuración del servidor FTP: Configuración del Servidor FTP El servicio de FTP proporcionado por Zentyal es muy simple de configurar, permite otorgar acceso remoto a un directorio público y/o a los directorios personales de los usuarios del sistema. La ruta predeterminada del directorio público es /srv/ftp mientras que los directorios personales están en /home/usuario/ para cada uno de ellos. En Acceso anónimo, tenemos tres configuraciones posibles para el directorio público: Desactivado: No se permite el acceso a usuarios anónimos. Sólo lectura: Se puede acceder al directorio con un cliente de FTP, pero únicamente se puede listar los archivos y descargarlos. Esta configuración es adecuada para poner a disposición de todo el mundo contenido para su descarga. Lectura y escritura: Se puede acceder al directorio con un cliente de FTP y todo el mundo puede añadir, modificar, descargar y borrar archivos en este directorio. No se recomienda esta configuración a menos de estar muy seguro de lo que se hace. El otro parámetro de configuración Directorios personales permite acceder a su directorio personal a cada uno de los usuarios en Zentyal. Como siempre, habrá que comprobar que las reglas del cortafuegos abren los puertos para este servicio, antes de ponerlo en funcionamiento.
Servicio de correo electrónico (SMTP/POP3-IMAP4) Introducción al servicio de correo electrónico Para el envío/recepción de correos Zentyal usa Postfix como servidor SMTP. Así mismo, para el servicio de recepción de correos (POP3, IMAP) Zentyal usa Dovecot [6]. Ambos con soporte para comunicación segura con SSL. Por otro lado, para obtener el correo de cuentas externas, Zentyal usa el programa Fetchmail. Postfix The Postfix Home Page http://www.postfix.org . Dovecot Secure IMAP and POP3 Server http://www.dovecot.org . http://fetchmail.berlios.de/ Configuración de un servidor SMTP/POP3-IMAP4 con Zentyal Recibiendo y retransmitiendo correo Para comprender la configuración de un sistema de correo se debe distinguir entre recibir y retransmitir correo. La recepción se realiza cuando el servidor acepta un mensaje de correo en el que uno de los destinatarios es una cuenta perteneciente a alguno de los dominio gestionados por el servidor. El correo puede ser recibido de cualquier cliente que pueda conectarse al servidor. Sin embargo, la retransmisión ocurre cuando el servidor de correo recibe un mensaje de correo en el que ninguno de los destinatarios pertenecen a ninguno de sus dominios virtuales de correo gestionados, requiriendo por tanto su reenvío a otro servidor. La retransmisión de correo está restringida, de otra manera los spammers podrían usar el servidor para enviar spam en Internet. Zentyal permite la retransmisión de correo en dos casos: 1. Usuarios autenticados 2. Una dirección de origen que pertenezca a un objeto que tenga una política de retransmisión permitida. Configuración general A través de Correo ‣ General ‣ Opciones del servidor de correo ‣ Autenticacion podemos gestionar las opciones de autenticación. Están disponibles las siguientes opciones: TLS para el servidor SMTP: Fuerza a los clientes a usar cifrado TLS, evitando la interceptación del contenido por personas maliciosas. Exigir la autenticación: Este parámetro activa el uso de autenticación. Un usuario debe usar su dirección de correo y su contraseña para identificarse; una vez autenticado podrá retransmitir correo a través del servidor. No se puede usar un alias de la cuenta de correo para autenticarse. Configuración general del correo En la sección Correo ‣ General ‣ Opciones del servidor de correo ‣ Opciones se pueden configurar los parámetros generales del servicio de correo: Smarthost al que enviar el correo: Dirección IP o nombre de dominio del smarthost. También se puede establecer un puerto añadiendo el texto :[numero de puerto] después de la dirección. El puerto por defecto es el puerto estándar SMTP, 25. Si se establece esta opción Zentyal no enviará directamente sus mensajes sino que cada mensaje de correo recibido sera reenviado al smarthost sin almacenar ninguna copia. En este caso, Zentyal actuará como un intermediario entre el usuario que envía el correo y el servidor que enviará finalmente el mensaje. Autenticación del smarthost: Determina si el smarthost requiere autenticación y si es así provee un usuario y contraseña. Nombre del servidor de correo: Determina el nombre de correo del sistema; será usado por el servicio de correo como la dirección local del sistema. Dirección del postmaster: La dirección del postmaster por defecto es un alias del superusuario (root) pero puede establecerse a cualquier dirección, perteneciente a los dominios virtuales de correo gestionados o no. Esta cuenta está pensada para tener una manera estándar de contactar con el administrador de correo. Correos de notificación automáticos suelen usar postmaster como dirección de respuesta. Tamaño máximo permitido del buzón de correo: En esta opción se puede indicar un tamaño máximo en MiB para los buzones del usuario. Todo el correo que exceda el limite será rechazado y el remitente recibirá una notificación. Esta opción puede sustituirse para cada usuario en la página Usuarios y Grupos -> Usuarios. Tamaño máximo de mensaje aceptado: Señala, si es necesario, el tamaño máximo de mensaje aceptado por el smarthost en MiB. Esta opción tendrá efecto sin importar la existencia o no de cualquier límite al tamaño del buzón de los usuarios. Periodo de expiración para correos borrados: Si esta opción está activada el correo en la carpeta de papelera de los usuarios será borrado cuando su fecha sobrepase el límite de días establecido. Periodo para correos de spam: Esta opción se aplica de la misma manera que la opción anterior pero con respecto a la carpeta de spam de los usuarios. Para configurar la obtención de los mensajes, hay que ir a la sección Servicios de obtención de correo. Zentyal puede configurarse como servidor de POP3 o IMAP además de sus versiones seguras POP3S y IMAPS. En esta sección también pueden activarse los servicios para obtener correo de direcciones externas y ManageSieve, estos servicios se explicarán a partir de la sección Obtención de correo desde cuentas externas. También se puede configurar Zentyal para que permita reenviar correo sin necesidad de autenticarse desde determinadas direcciones de red. Para ello, se permite una política de reenvío con objetos de red de Zentyal a través de Correo ‣ General ‣ Política de retransmisión para objetos de red basándonos en la dirección IP del cliente de correo origen. Si se permite el reenvío de correos desde dicho objeto, cualquier miembro de dicho objeto podrá enviar correos a través de Zentyal. Política de retransmisión para objetos de red Advertencia Hay que tener cuidado con usar una política de Open Relay, es decir, permitir reenviar correo desde cualquier lugar, ya que con alta probabilidad nuestro servidor de correo se convertirá en una fuente de spam. Finalmente, se puede configurar el servidor de correo para que use algún filtro de contenidos para los mensajes [9]. Para ello el servidor de filtrado debe recibir el correo en un puerto determinado y enviar el resultado a otro puerto donde el servidor de correo estará escuchando la respuesta. A través de Correo ‣ General ‣ Opciones de Filtrado de Correo se puede seleccionar un filtro de correo personalizado o usar Zentyal como servidor de filtrado. En la sección Filtrado de correo electrónico se amplia este tema. Opciones del filtrado de correo Creación de cuentas de correo a través de dominios virtuales Para crear una cuenta de correo se debe tener un usuario creado y un dominio virtual de correo. Desde Correo ‣ Dominio Virtual, se pueden crear tantos dominios virtuales como queramos que proveen de nombre de dominio a las cuentas de correo de los usuarios de Zentyal. Adicionalmente, es posible crear alias de un dominio virtual de tal manera que enviar un correo al dominio virtual o a su alias sea indiferente. Dominios virtuales de correo Para crear cuentas de correo lo haremos de manera análoga a la compartición de ficheros, acudimos a Usuarios y Grupos ‣ Usuarios ‣ Crear cuenta de correo. Es ahí donde seleccionamos el dominio virtual principal del usuario. Si queremos asignar al usuario a más de una cuenta de correo lo podemos hacer a través de los alias. Indiferentemente de si se ha usado un alias o no, el correo sera almacenado una única vez en el buzón del usuario. Sin embargo, no es posible usar un alias para autenticarse, se debe usar siempre la cuenta real. Configuración del correo para un usuario Hay que tener en cuenta que se puede decidir si se deseas que a un usuario se le cree automáticamente una cuenta de correo cuando se le da de alta. Este comportamiento puede ser configurado en Usuarios y Grupos -> Plantilla de Usuario por defecto –> Cuenta de correo. De la misma manera, se pueden crear alias para grupos. Los mensajes recibidos por estos alias son enviados a todos los usuarios del grupo con cuenta de correo. Los alias de grupo son creados a través de Usuarios y Grupos ‣ Grupos ‣ Crear un alias de cuenta de correo al grupo. Los alias de grupo están sólo disponibles cuando, al menos, un usuario del grupo tiene cuenta de correo. Finalmente, es posible definir alias hacia cuentas externas. El correo enviado a un alias será retransmitido a la correspondiente cuenta externa. Esta clase de alias se establecen por dominio virtual de correo, no requieren la existencia de ninguna cuenta de correo y pueden establecerse en Correo ‣ Dominios Virtuales ‣ Alias a cuentas externas. Gestión de cola Desde Correo ‣ Gestión de cola podemos ver los correos que todavía no han sido enviados con la información acerca del mensaje. Las acciones que podemos realizar con estos mensajes son: eliminarlos, ver su contenido o volver a tratar de enviarlos (reencolarlos). También hay dos botones que permiten borrar o reencolar todos los mensajes en la cola. Gestión de cola Obtención de correo desde cuentas externas¶ Se puede configurar Zentyal para recoger correo de cuentas externas y enviarlo a los buzones de los usuarios. Para ello, deberás activar en la sección Correo ‣ General ‣ Opciones del servidor de correo ‣ Servicios de obtención de correo. Una vez activado, los usuarios tendrán sus mensajes de correo de sus cuentas externas recogido en el buzón de su cuenta interna. Cada usuario puede configurar sus cuentas externas a través del Rincón del Usuario [10]. Para ello debe tener una cuenta de correo. Los servidores externos son consultados periódicamente, así que la obtención del correo no es instantánea. Para configurar sus cuentas externas, un usuario debe entrar en el Rincón del Usuario y hacer clic en Recuperar correo de cuentas externas en el menú izquierdo. En la pagina se muestra la lista de cuentas de correo del usuario, el usuario puede añadir, borrar y editar cuentas. Cada cuenta tiene los siguientes parámetros: Cuenta externa: El nombre de usuario o dirección de correo requerida para identificarse en el servicio externo de recuperación de correo. Contraseña: Contraseña para autenticar la cuenta externa. Servidor de correo: Dirección del servidor de correo que hospeda la cuenta externa. Protocolo: Protocolo de recuperación de correo usado por la cuenta externa; puede ser uno de los siguientes: POP3, POP3S, IMAP o IMAPS. Puerto: Puerto usado para conectar al servidor de correo externo. Configuración del correo externo en el user corner [10] La configuración del rincón del usuario se explica en la sección Rincón del Usuario. Lenguaje Sieve y protocolo ManageSieve¶ El lenguaje Sieve [11] permite el control al usuario de cómo su correo es recibido, permitiendo, entre otras cosas, clasificarlo en carpetas IMAP, reenviarlo o responderlo automáticamente con un mensaje por ausencia prolongada (o vacaciones). ManageSieve es un protocolo de red que permite a los usuarios gestionar sus scripts Sieve. Para usarlo, es necesario que el cliente de correo pueda entender dicho protocolo [12]. Para usar ManageSieve en Zentyal debes activar el servicio en Correo‣ General ‣ Opciones de servidor de correo -> Servicios de obtención de correo y podrá ser usado por todos los usuarios con cuenta de correo. Si ManageSieve está activado y el módulo de correo web [13] en uso, el interfaz de gestión para scripts Sieve estará disponible en el correo web. La autenticación en ManageSieve se hace con la cuenta de correo del usuario y su contraseña. Los scripts de Sieve de una cuenta son ejecutados independientemente de si ManageSieve está activado o no. Servicio de correo web Introducción al servicio de correo web Zentyal integra Roundcube para implementar el servicio de webmail [1]. Roundcube está desarrollado con las últimas tecnologías web, ofreciendo una experiencia de usuario superior a la de los clientes de webmail tradicionales. http://roundcube.net/ Configuración del correo web con Zentyal El servicio de correo web se puede habilitar de la misma manera que cualquier otro servicio de Zentyal. Sin embargo, requiere que el módulo de correo esté configurado para usar IMAP, IMAPS o ambos además de tener el módulo webserver habilitado. Si no lo está, el servicio rehusará activarse. La configuración de correo en Zentyal se explica de manera extensa en la sección Servicio de correo electrónico (SMTP/POP3-IMAP4) y el módulo web se explica en la sección Servicio de publicación de páginas web (HTTP). Opciones del correo web Podemos acceder a las opciones pulsando en la sección Webmail de menú izquierdo. Se puede establecer el titulo que usará el correo web para identificarse. Este titulo se mostrará en la pantalla de entrada y en los títulos HTML de página. Configuración general de webmail Entrar en el correo web Para entrar en el correo web, primero necesitaremos que el tráfico HTTP desde la dirección usada para conectar esté permitido por el cortafuegos. La pantalla de entrada del correo web está disponible en http://[direccion del servidor]/webmail desde el navegador. A continuación, se debe introducir su dirección de correo y su contraseña. Los alias no funcionarán, por tanto se debe usar la dirección real. Acceso al correo web Filtros Sieve El correo web también incluye una interfaz para administrar filtros Sieve. Esta interfaz sólo está disponible si el protocolo ManageSieve está activo en el servicio de correo. Visita la sección Lenguaje Sieve y protocolo ManageSieve para obtener más información. Servicio de mensajería instantánea (Jabber/XMPP) Introducción al servicio de mensajería instantánea Zentyal usa Jabber/XMPP como protocolo de mensajería instantánea y el servidor XMPP ejabberd [3], integrando los usuarios de la red con las cuentas de Jabber. http://www.ejabberd.im/ Configuración de un servidor Jabber/XMPP con Zentyal Para configurar el servidor Jabber/XMPP en Zentyal, primero debemos comprobar en Estado del Módulo si el módulo Usuarios y Grupos está habilitado, ya que Jabber depende de él. Entonces marcaremos la casilla Jabber para habilitar el módulo de Zentyal de Jabber/XMPP. Para configurar el servicio, accederemos a Jabber en el menú izquierdo, definiendo los siguientes parámetros: Configuración general del servicio Jabber Dominio Jabber: Especifica el nombre de dominio del servidor. Esto hará que las cuentas de los usuarios sean de la forma usuario@dominio. Soporte SSL: Especifica si las comunicaciones (autenticación y mensajes) con el servidor serán cifradas o en texto plano. Podemos desactivarlo, hacer que sea obligatorio o dejarlo como opcional. Si lo dejamos como opcional será en la configuración del cliente Jabber donde se especifique si se quiere usar SSL. Conectarse a otros servidores: Para que nuestros usuarios puedan contactar con usuarios de otros servidores externos. Si por el contrario queremos un servidor privado, sólo para nuestra red interna, deberá dejarse desmarcada. Activar MUC (Chat Multi Usuario): Habilita las salas de conferencias (conversaciones para más de dos usuarios). Para crear cuentas de usuario de Jabber/XMPP iremos a Usuarios ‣ Añadir usuario si queremos crear una nueva cuenta o a Usuarios ‣ Editar usuario si solamente queremos habilitar la cuenta de Jabber para un usuario ya existente. Configuración de cuenta Jabber de un usuario Como se puede ver, aparecerá una sección llamada Cuenta Jabber donde podemos seleccionar si la cuenta está activada o desactivada. Además, podemos especificar si el usuario en cuestión tendrá privilegios de administrador. Los privilegios de administrador permiten ver los usuarios conectados al servidor, enviarles mensajes, configurar el mensaje mostrado al conectarse (MOTD, Message Of The Day) y enviar un anuncio a todos los usuarios conectados (broadcast). Servicio de Voz sobre IP Introducción a la Voz sobre IP Zentyal usa Asterisk [6] para implementar el módulo de Voz IP. Asterisk es una aplicación exclusivamente software que funciona sobre cualquier servidor habitual proporcionando las funcionalidades de una centralita o PBX (Private Branch eXchange): conectar entre sí distintos teléfonos, a un proveedor de Voz IP, o bien a la red telefónica. También ofrece servicios como buzón de voz, conferencias, respuesta interactiva de voz, etc. http://es.wikipedia.org/wiki/Asterisk Configuración de un servidor Voz IP con Zentyal El módulo de Voz IP de Zentyal permite gestionar un servidor Asterisk con los usuarios ya existentes en el servidor LDAP del sistema y con las funcionalidades más habituales configuradas de una forma sencilla. Esquema básico del funcionamiento de la Voz IP Como ya es habitual, en primer lugar deberemos habilitar el módulo. Iremos a la sección Estado del Módulo del menú de Zentyal y seleccionaremos la casilla Voz IP. Si no tenemos habilitado el módulo Usuarios y Grupos deberá ser habilitado previamente ya que depende de él. Pantalla de configuración de la Voz Ip en Zentyal A la configuración general del servidor se accede a través del menú Voz IP ‣ General. Una vez allí sólo necesitamos configurar los siguientes parámetros generales: Habilitar extensiones demo: Habilita las extensiones 400, 500 y 600. Si llamamos a la extensión 400 podremos escuchar la música de espera. Llamando a la 500 se realiza una llamada mediante el protocolo IAX a [email protected]. En la extensión 600 se dispone de una prueba de eco para darnos una idea de la latencia en las llamadas. En definitiva estas extensiones nos permiten comprobar que nuestro cliente esta correctamente configurado. Habilitar llamadas salientes: Habilita las llamadas salientes a través del proveedor SIP que tengamos configurado para llamar a teléfonos convencionales. Para realizar llamadas a través del proveedor SIP tendremos que añadir un cero adicional antes del número a llamar, por ejemplo si queremos llamar a las oficinas de Zentyal (+34 976733506, o mejor 0034976733506), pulsaríamos 00034976733506. Extensión de buzón de voz: Es la extensión donde podemos consultar nuestro buzón de voz. El usuario y la contraseña son la extensión adjudicada por Zentyal al crear el usuario o al asignársela por primera vez. Se recomienda cambiar la contraseña inmediatamente desde el Rincón del Usuario [11]. La aplicación que reside en esta extensión nos permite cambiar el mensaje de bienvenida a nuestro buzón, escuchar los mensajes en él y borrarlos. Esta extensión solamente es accesible por los usuarios de nuestro servidor, no aceptará llamadas entrantes de otros servidores por seguridad. El Rincón del Usuario se describe en la sección Rincón del Usuario. Dominio Voz IP: Es el dominio que se asignará a las direcciones de nuestros usuarios. Así pues un usuario usuario, que tenga una extensión 1122 podrá ser llamado a [email protected] o a [email protected]. En la sección de Proveedor SIP introduciremos los datos suministrados por nuestro proveedor SIP para que Zentyal pueda redirigir las llamadas a través de él: Proveedor: Si estamos usando Zentyal VoIP Credit [12], seleccionaremos esta opción que preconfigurará el nombre del proveedor y el servidor. En otro caso usaremos Personalizado. Nombre: Identificador que se da al proveedor dentro de Zentyal. Nombre de usuario: Nombre de usuario del proveedor. Contraseña: Contraseña de usuario del proveedor. Servidor: Nombre de dominio del servidor del proveedor. Destino de las llamadas entrantes: Extensión interna a la que se redirigen las llamadas realizadas a la cuenta del proveedor. Puedes comprar Zentyal VoIP credit en la tienda de Zentyal si dispones de subscripción Professional o Enterprise. En la sección de Configuración NAT definiremos la posición en la red de nuestra máquina Zentyal. Si tiene una IP pública la opción por defecto Zentyal está tras NAT: No es correcta. Si tiene una IP privada deberemos indicar a Asterisk cuál es la IP pública que obtenemos al salir a Internet. En caso de tener una IP pública fija simplemente la introduciremos en Dirección IP fija; si nuestra IP pública es dinámica tendremos que configurar el servicio de DNS dinámico (DynDNS) de Zentyal disponible en Red ‣ DynDNS (o configurarlo manualmente) e introduciremos el nombre de dominio en Nombre de máquina dinámico. En la sección de Redes locales podremos añadir las redes locales a las que accedemos desde Zentyal sin hacer NAT, como pueden ser redes VPN, u otra serie de segmentos de red no configurados desde Zentyal como pudiera ser una red wireless. Esto es necesario debido al comportamiento del protocolo SIP en entornos con NAT. A la configuración de las conferencias se accede a través Voz IP ‣ Conferencias. Aquí podemos configurar salas de reunión multiconferencia. La extensión de estas salas deberá residir en el rango 8001-8999 y podrán tener opcionalmente una contraseña de entrada, una contraseña administrativa y una descripción. A estas extensiones se podrá acceder desde cualquier servidor simplemente marcando [email protected]. Pantalla del listado de conferencias Cuando editemos un usuario, podremos habilitar o deshabilitar la cuenta de Voz IP de este usuario y cambiar su extensión. Hay que tener en cuenta que una extensión sólamente puede asignarse a un usuario y no a más, si necesitas llamar a más de un usuario desde una extensión será necesario utilizar colas. Gestión de la Voz IP para cada usuario Cuando editemos un grupo, podremos habilitar o deshabilitar la cola de este grupo. Una cola es una extensión donde al recibir una llamada, se llama a todos los usuarios que pertenecen a este grupo. Gestión de las colas de Voz IP por cada grupo Uso de las funcionalidades de Voz IP de Zentyal Transferencia de llamadas La transferencia de llamadas es muy sencilla. Durante el transcurso de una conversación, pulsando # y después introduciendo la extensión a dónde queremos reenviar la llamada podremos realizar una transferencia. En ese momento, podremos colgar ya que esta llamada estará marcando la extensión a donde ha sido transferida. Aparcamiento de llamadas El aparcamiento de llamadas se realiza sobre la extensión 700. Durante el transcurso de una conversación, pulsaremos # y después marcaremos 700. La extensión donde la llamada habrá sido aparcada, será anunciada a la parte llamada. Quien estaba llamando comenzará a escuchar la música de espera, si está configurada. Podremos colgar en ese momento. Desde un teléfono distinto u otro usuario distinto marcando la extensión anunciada podremos recoger la llamada aparcada y restablecer la conversación. En Zentyal, el aparcamiento de llamadas soporta 20 conversaciones y el periodo máximo que una llamada puede esperar son 300 segundos. http://taringa.net/posts/linux/8450763/Manual-completo-Instalacion-de-Zentyal-Firewall-de-Linux.html http://taringa.net/posts/linux/8451058/Manual-completo-Instalacion-de-Zentyal-Firewall-2-parte.html http://taringa.net/posts/linux/8451570/Manual-completo-Instalacion-de-Zentyal-Firewall-3-parte.html http://taringa.net/posts/linux/8452463/Manual-completo-Instalacion-de-Zentyal-Firewall-4-parte.html http://taringa.net/posts/linux/8461292/Manual-completo-Instalacion-de-Zentyal-Firewall-5-parte.html