Guía Práctica del Servidor Linux Editado por Conectiva S.A. Guía Práctica del Servidor Linux Editado por Conectiva S.A. 1.0 Edición Publicado en enero 2001 Copyright © 2001 por Conectiva S.A. (http://es.conectiva.com) Por Equipo Conectiva. Equipo Conectiva: Coordinación del equipo de portugués: Márcia Gawlak Autor: Roberto Selbach Teixeira; Coordinación del equipo de traducción Ivone Böhler Traducción Marcela Narváez Botero Revisión Roberto M. Lamela Roca, Jorge Carrasquilla Soares Imágenes: Artur T. Hara Cyro Mendes de Moraes Neto Maurício Marconssin dos Santos Desarrollo/Diagramación: Jorge Luiz Godoy Filho Cyro Mendes de Moraes Neto Colaboradores: Guilherme Hayashi, Gustavo Niemeyer, José Eloi de Carvalho Júnior, Luis Claudio R. Gonçalves, Marcelo Martins, Marcelo Tosatti, Marcos Polidoro, Moisés José Gonçalves dos Santos, Rodrigo Missiagia, Sandra Tibocha Roa. Copyright 2001 - Conectiva S.A. Linux es una marca registrada y concedida por Linus Torvalds, su creador y cedente. Windows, Windows NT e Internet Explorer son marcas registradas da Microsoft Corporation. Netware es una marca registrada de Novell, Inc. Macintosh y Appletalk son marcas registradas de Apple Computers. Netscape Communicator es una marca registrada de Netscape Communications Corporation. Todas las demás marcas registradas son de uso y derecho de sus respectivos propietarios. Las marcas registradas son de propiedad de sus autores. La presente publicación fue elaborada con el máximo de cuidado. No obstante, el editor, no se responzabilida sobre eventuales errores de interpretación, omisiones o daños que resulten del uso de la información descrita aquí, por terceros, de buena o mala fe. A los autores les gustaría que se les avisara sobre modificaciones, traducciones y versiones impresas. Agradecemos a todos los que han participado activamente en el desarrollo de los trabajos de traducción, internacionalización, divulgación y adaptación de Linux a la realidad latinoamericana, ya que gran parte de nuestro trabajo se basa en la participación de esta comunidad. Esperamos que esta guía sea de utilidad para todos los que busquen una herramienta que los ayude en sus actividades diarias, y que pueda enriquecer sus conocimientos y facilitar su trabajo. Datos Internacionales de Catalogación en la Publicación (CIP) (Câmara Brasileira do Livro, SP, Brasil) ISBN 85-87118-31-5 1. Linux (Sistema operativo de computador) 2. Equipo Conectiva. Conectiva S.A. Rua Tocantins, 89 - Cristo Rei - Curitiba - Paraná - Brasil CP 80.050.430 http://es.conectiva.com Tabla de contenidos Prefacio .......................................................................................................................... 19 Convenciones Tipográficas.................................................................................... 23 1. Servidor DNS............................................................................................................. 25 Presentación .......................................................................................................... 25 Instalación ............................................................................................................. 25 Configuración ........................................................................................................ 27 Registro de estaciones.................................................................................. 31 Configurando Mapas de IPs Reversos ......................................................... 37 Creación de alias.......................................................................................... 40 Dominios Virtuales usando DNS................................................................. 42 2. Apache........................................................................................................................ 45 Presentación .......................................................................................................... 45 Requisitos .............................................................................................................. 45 Instalación ............................................................................................................. 46 Configuración ........................................................................................................ 47 Instalación del módulo PHP3 ...................................................................... 53 7 Prueba de configuración ........................................................................................ 55 3. Dominios Virtuales.................................................................................................... 61 Presentación .......................................................................................................... 62 Requisitos .............................................................................................................. 63 Instalación ............................................................................................................. 63 Configuración ........................................................................................................ 64 4. Sendmail .................................................................................................................... 69 Presentación .......................................................................................................... 69 Requisitos .............................................................................................................. 69 Instalación ............................................................................................................. 70 Configuración ........................................................................................................ 71 Agregando E-mails a un dominio virtual..................................................... 78 Configurando filtros de Spam ...................................................................... 79 Pruebas .................................................................................................................. 84 5. Webmail ...................................................................................................................... 87 Presentación .......................................................................................................... 87 Requisitos .............................................................................................................. 87 8 Instalación ............................................................................................................. 88 Configuración ........................................................................................................ 89 6. Direcciones estándar de email................................................................................ 117 Presentación ........................................................................................................ 118 Requisitos ............................................................................................................ 120 Instalación ........................................................................................................... 121 Configuración ...................................................................................................... 122 Iniciación del Servicio......................................................................................... 125 7. Listas de Discusión.................................................................................................. 127 Presentación ........................................................................................................ 127 Requisitos ............................................................................................................ 127 Instalación ........................................................................................................... 128 Configuración ...................................................................................................... 129 Creando una lista de discusión .................................................................. 133 Comandos de Request................................................................................ 138 Referencias ................................................................................................ 141 8. Servidor Proxy ......................................................................................................... 143 9 Presentación ........................................................................................................ 144 Requisitos ............................................................................................................ 145 Instalación ........................................................................................................... 146 Configuración ...................................................................................................... 147 Configuración del servidor ........................................................................ 147 Opciones de seguridad ..................................................................... 150 Configuración de la estación ............................................................ 156 Netscape Communicator® ..................................................... 156 StarOffice®............................................................................. 160 Cómo iniciar Squid .................................................................................... 160 9. IP Masquerading ..................................................................................................... 163 Presentación ........................................................................................................ 164 Requisitos ............................................................................................................ 165 Instalación ........................................................................................................... 165 Configuración ...................................................................................................... 166 Configuración de las estaciones................................................................. 170 Conectiva Linux ............................................................................... 170 Windows®........................................................................................ 172 10 10. Servidor PPP ......................................................................................................... 175 Presentación ........................................................................................................ 175 Requisitos ............................................................................................................ 175 Instalación ........................................................................................................... 176 Configuración ...................................................................................................... 177 11. Radius y Portslave................................................................................................. 181 Presentación ........................................................................................................ 182 Requisitos ............................................................................................................ 183 Instalación de Radius .......................................................................................... 184 Configuración de Radius ..................................................................................... 184 El archivo clients ...................................................................................... 185 El archivo naslist ...................................................................................... 186 El archivo users.......................................................................................... 187 Instalación del Portslave...................................................................................... 190 Configuración del Portslave ................................................................................ 191 12. Recursos compartidos........................................................................................... 197 Presentación ........................................................................................................ 197 11 Requisitos ............................................................................................................ 197 NFS ............................................................................................................ 197 LPD............................................................................................................ 197 Instalación ........................................................................................................... 198 NFS ............................................................................................................ 198 LPD............................................................................................................ 199 Configuración ...................................................................................................... 200 NFS ............................................................................................................ 201 Exportando un directorio ................................................................. 201 Montando un directorio remoto ....................................................... 204 LPD............................................................................................................ 207 13. FreeS/WAN ............................................................................................................ 219 Presentación ........................................................................................................ 220 Requisitos ............................................................................................................ 223 Instalación ........................................................................................................... 224 Configuración ...................................................................................................... 224 El archivo ipsec.conf ................................................................................. 225 Archivo ipsec.secrets................................................................................ 230 12 Pruebas después de la instalación........................................................................ 234 14. Copias de seguridad ............................................................................................... 237 Presentación ........................................................................................................ 237 Requisitos ............................................................................................................ 238 Instalación ........................................................................................................... 239 Configuración ...................................................................................................... 240 Archivos de configuración ......................................................................... 242 Espacio en disco duro ...................................................................... 246 Tipos de cinta ................................................................................... 247 Tipos de Dump ................................................................................. 248 Listas de discos ................................................................................ 251 Iniciando las cintas........................................................................... 252 Creando tareas en el Cron ................................................................ 253 El comando amflush ........................................................................ 254 El comando amcheck ...................................................................... 255 Recuperación de datos ..................................................................... 255 Configurando los clientes .......................................................................... 257 Referencias .......................................................................................................... 259 13 A. Licencias generales................................................................................................. 261 Introducción ........................................................................................................ 261 BSD Copyright .................................................................................................... 262 X Copyright......................................................................................................... 263 B. Licencia de Uso y Garantía del Producto............................................................. 267 General ................................................................................................................ 267 Licencia limitada de productos ........................................................................... 268 Antes de la instalación......................................................................................... 270 Garantía Limitada................................................................................................ 271 Limitación de Reparación y Responsabilidad ..................................................... 272 General ................................................................................................................ 272 C. Licencia Pública General GNU............................................................................. 275 Introducción ........................................................................................................ 275 Términos y condiciones para copia, distribución y modificaciones.................... 277 ¿Cómo aplicar estos términos a nuevos programas?........................................... 284 Índice............................................................................................................................ 287 14 Lista de tablas 1. Convenciones de esta Guía ......................................................................................... 24 Tabla de figuras 1-1. Configurando el DNS .............................................................................................. 27 1-2. Configuración inicial del DNS ................................................................................ 28 1-3. Agregando/editando máquinas ................................................................................ 31 1-4. Seleccionando el dominio........................................................................................ 32 1-5. Inclusión de máquinas ............................................................................................. 33 1-6. Especificando el nombre de una máquina ............................................................... 34 1-7. Agregando/Editando máquinas................................................................................ 34 1-8. Máquinas registradas en el dominio ........................................................................ 36 1-9. Edición Rápida de Máquinas................................................................................... 36 1-10. Pantalla de edición de máquinas............................................................................ 37 1-11. Agregando un mapa de IP reverso......................................................................... 39 1-13. Agrega/edita dominios........................................................................................... 43 15 1-14. Agrega/edita dominios........................................................................................... 44 3-1. Dominios virtuales................................................................................................... 62 4-1. Activación del módulo de Sendmail de Linuxconf ................................................. 71 4-2. Configuración de Sendmail ..................................................................................... 72 4-3. Configuración básica de Sendmail .......................................................................... 73 4-4. Agregando un dominio virtual de e-mail................................................................. 76 4-5. Agregando direcciones de e-mail virtuales ............................................................. 78 4-6. Filtros anti-spam...................................................................................................... 80 5-12. Pantalla de login .................................................................................................. 115 6-1. Mensaje para [email protected] encaminada para diversos usuarios reales de la organización. .................................................................................... 118 6-2. Mensajes para diferentes direcciones virtuales dirigidas para un solo usuario real. 119 6-3. Configuración de Sendmail ................................................................................... 122 6-4. Definiendo direcciones estándar............................................................................ 123 6-5. Agregar/editar direcciones estándar ...................................................................... 123 7-1. Pantalla de administración de la lista Desarrollo................................................... 136 7-2. Pantalla de la lista Desarrollo. ............................................................................... 139 8-1. Funcionamiento de un servidor Proxy. .................................................................. 144 16 8-2. Configuración del servidor proxy en Netscape®................................................... 157 8-3. Configuración manual del servidor proxy en Netscape® ...................................... 159 8-4. Configuración del servidor proxy en StarOffice® ................................................. 160 9-1. Servidor compartiendo conexión........................................................................... 164 11-1. Servidor de acceso solicita permiso de ingreso al servidor de autenticación...... 182 13-1. Seguridad de conexiones ..................................................................................... 220 13-2. Seguridad entre dos modems ............................................................................... 221 13-3. Ejemplo de caso común de IPSec........................................................................ 225 14-1. Copias de seguridad ............................................................................................ 237 17 18 Prefacio La Guía Práctica del Servidor Linux es una publicación de Conectiva Linux Edición Servidor. Su objetivo es la practicidad, como el propio nombre lo determina. La guía no presenta teoría de servicios, sino, su implementación paso a paso, con el objetivo de facilitar el quehacer diario de los administradores que ya tienen nociones teóricas y quieren implementarlas en la práctica, como también orientar con seguridad a los administradores que no poseen conocimiento teórico y quieren implementar un servicio siguiendo un modelo. Lo ideal es conocer la teoría y luego aplicarla en la práctica para evitar posibles errores. Esta guía sigue una línea básica y presenta: soluciones y requisitos, continuando con la instalación y configuración del servidor y de las estaciones de trabajo. Todas las soluciones presentadas en la guía parten de la suposición que el administrador no tiene el paquete instalado en el servidor o en la estación de trabajo. De esta forma, damos prioridad al proceso de instalación con el comando rpm. Para el proceso de configuración utilizamos como estándar Linuxconf, que es donde están centralizadas todas las configuraciones, ya que es una herramienta ágil y fácil de utilizar para el proceso de administración de servidores. Pero no hay nada que le impida al administrador configurar las soluciones manualmente en los respectivos archivos; aunque esto puede ser un proceso más complicado para los que no conocen los caminos y los archivos de configuración. Aún sobre Linuxconf, vea que las imágenes que encuentra en la guía no son iguales a las imágenes originales de su Linuxconf instalado. El programa Linuxconf, que se utiliza en la guía, usa la interfaz de Gnome, que contiene una presentación y estética distinta de la que se instala automáticamente en su Conectiva Linux. No se preocupe con esto, a pesar que la interfaz es diferente, los caminos de configura- 19 Prefacio ción son iguales. Esto vale solamente para la interfaz gráfica, pues las interfaces texto y web son semejantes. El administrador puede usar el instalador de Conectiva Linux, para instalar automáticamente los paquetes de algunas soluciones, para ello utilice los perfiles de instalación. Para más información, consulte la Guía de Instalación del Servidor. Las soluciones que se presentan en la guía permiten que el administrador de sistemas o de redes configure una red de computadores para usar tareas básicas, tales como compartir recursos y archivos o montar un proveedor Internet, además de poder utilizar soluciones para hacer un backup de su servidor o, incluso, compilación del kernel. La Guía Práctica presenta, con detalles, la instalación de un servidor de nombres, cómo configurarlo y la manera como se registran las estaciones de la red. Muestra además, cómo crear dominios virtuales utilizando el propio servicio DNS, que el administrador ya tiene listo en su red. Describimos la importancia del uso de un servidor web en su empresa y lo que motiva la instalación de un servidor Apache. Los requisitos necesarios para la instalación de ese servidor, la instalación propiamente dicha, su configuración y además la instalación del módulo PHP3 con Apache. Después de configurar cada servicio es importante hacer una prueba de funcionamiento. El administrador puede generar el test propuesto en la guía. Como extensión al capítulo de Apache, demostramos cómo crear dominios virtuales utilizando el propio servidor web. En la actualidad la creación de dominios virtuales es un negocio rentable para muchos proveedores de Internet. Conectiva Linux facilita la creación de esa solución utilizando Apache y sus funcionalidades. En este capítulo el paso más importante es el de configuración, no por ser 20 Prefacio difícil sino por ser el más largo, pues exige que usted ponga mucha más atención en dicha configuración. El Capítulo Sendmail demuestra, en forma fácil, cómo instalar y configurar un servidor de e-mail. El Sendmail es un servidor para e-mail consagrado en el mundo Linux, y hay mucha documentación suya en Internet. Ponemos a disposición en esta guía una solución práctica de configuración usando Linuxconf. Otro capítulo comenta la sencillez para configurar un Webmail, Un sistema de e-mail que no precisa de un programa cliente para envío y chequeo de mensajes sino, un navegador. A través de la web el usuario puede enviar y recibir mensajes, independientemente del lugar en que esté. Para que el Webmail funcione correctamente, es necesario tener un servidor IMAP en operación normal, el servidor Apache con el módulo PHP3_IMAP y una entrada en su DNS. Con este capítulo el administrador facilitará la vida de muchas personas que precisan viajar y verificar sus e-mails. Direcciones estándar de e-mail es un capítulo que exhibe una solución práctica para empresas que necesitan crear varias cuentas de e-mail y al mismo tiempo centralizarlas en algunas personas. Utilizando el Sendmail y Linuxconf el administrador de sistemas o de redes soluciona este asunto en muy poco tiempo. Muchas empresas se han dado cuenta de lo importante que es facilitar la comunicación entre sus empleados. Para eso, Conectiva Linux ofrece el paquete Mailman que permite la creación de listas de discusión. La Guía Práctica explica paso a paso la creación de una lista de discusión. La Guía trae también una solución bastante importante para las empresas y proveedores de Internet, demuestra cómo configurar una solución de proxy. Un proxy es una forma alternativa de acceso a Internet, ya sea por WWW o FTP. En vez de 21 Prefacio que los clientes accedan a los archivos de Internet directamente, el cliente solicita las páginas al servidor proxy y éste accede a las páginas. Servidores proxy suministran una variedad de funciones esenciales para una red. Primero, un servidor proxy ofrece una barrera segura entre su red interna e Internet. Se pueden bloquear varios protocolos y direcciones IP que llegan a su red y al mismo tiempo controlar los protocolos que los usuarios internos de la red utilizan para acceder a Internet. Otra ventaja radica en que un servidor proxy puede compartir una conexión Internet entre varios o incluso todos los usuarios en red. El IP Masquerading se presenta en un capítulo propio que exhibe la instalación del paquete y la configuración en las estaciones de trabajo Conectiva Linux y Windows®. Es importante la implementación del IP Masquerading, pues, cuando se instala en una máquina Conectiva Linux con un modem, funciona como encaminador de una red de pequeño tamaño. Los capítulos "Servidor PPP" y "Radius y Portslave" presentan soluciones para conexión con Internet usando un protocolo de autenticación que es el Radius. Los Recursos Compartidos traen soluciones básicas para el uso en común de archivos e impresoras. Un Capítulo bastante interesante es el Boot Remoto, que exhibe una solución utilizada con éxito hace varios años en el ambiente Linux, demostrando robustez y una gran eficacia en la administración de recursos. El capítulo FreeS/WAN describe una solución importante para la seguridad de redes. Cuanto más crece Internet, más importancia se le da a la seguridad de las máquinas que hacen parte de ella, principalmente de los servidores de datos y servicios. Una técnica de seguridad muy usada actualmente es la criptografía de los datos transmitidos entre una y otra máquina, con una clave conocida solamente 22 Prefacio por los dos participantes del coloquio. Un nuevo protocolo llamado IPv6 ha sido desarrollado para sustituir el IPv4, usado hoy en día en Internet (en el TCP/IP más exactamente). Además de expandir la cantidad posible de direcciones IP de 32 bits para 128 bits, el IPv6 introduce una nueva tecnología de criptografía y autenticación de hosts, llamada IPSec. Como el IPv6 es un proyecto a largo plazo (las mejores expectativas dicen que los hosts estarán empezando a migrar hacia el año 2005), varios programadores están implementando la especificación de los IPSec sobre el IPv4, para que puedan utilizarse inmediatamente. El IPSec es un patrón, documentado, oficial y es independiente de la plataforma de hardware y sistema operativo. Se puede tener una máquina Conectiva Linux comunicándose con un encaminador Cisco, usando IPSec o un Conectiva Linux con un FreeBSD, etc. Terminaremos esta Guía con un proceso muy importante en la administración de sistemas, el proceso de Backup. Se describe utilizando la herramienta Amanda. Para finalizar esta guía, se presentan las licencias de uso generales, la licencia de uso del producto y la GPL. La Guía Práctica del Servidor de Linux llega para ayudar y presentar el nuevo Conectiva Linux. Aproveche al máximo sus conceptos y ejemplos. Convenciones Tipográficas Durante la elaboración de esta guía, tratamos de describir y estandarizar con uni- 23 Prefacio formidad los distintos términos utilizados. Ponemos a continuación las principales convenciones utilizadas. Tabla 1. Convenciones de esta Guía Convención Itálico Opciones de Menús y Submenús Letra courier (más fina y separada) Descripción Palabras en inglés. Letra en tamaño más grande que el cuerpo de texto. Los submenús están separados por flechas. Definida para nombres de archivos o extensiones de archivos. Conectiva espera, con este material, suministrar una base para los que deseen implantar soluciones avanzadas en un servidor, utilizando una plataforma Linux. Si encuentra algún error ortográfico o de concepto, por favor acceda al sitio (http://es.conectiva.com/doc/errata) y llene el formulario adecuado. 24 Capítulo 1. Servidor DNS Presentación El servicio de resolución de nombres y direcciones IP es fundamental en una red de computadores, principalmente en ambientes como Internet o en una Intranet. Su responsabilidad es traducir un nombre de máquina o dominio, por ejemplo, kepler.miorganizacion, para su respectiva dirección IP, por ejemplo, 10.0.0.1. La resolución de nombres también abarca la resolución reversa de nombres de máquinas, o sea, a partir de una dirección IP, retornar el nombre de la máquina o dominio. Debido a su importancia, se debe buscar su correcta configuración y protección. Los servidores de nombres son víctimas frecuentes de ataques de diversos tipos. Las descripciones a continuación se basan en el paquete BIND, que está reconocido como un modelo para servidores DNS, ampliamente utilizado, disponible para diversos sistemas operativos y de libre distribución. 25 Capítulo 1. Servidor DNS Instalación Para instalar BIND abra un terminal y: 1. Acceda al directorio de paquetes del CD 2 de Conectiva Linux: # cd /mnt/cdrom/conectiva/RPMS 2. Instale el paquete: # rpm -ivh bind-chroot-* bind-chroot ###################################### Observe que esta solución utiliza el paquete bind-chroot y no el paquete bind. Si ya tiene el paquete bind instalado, no podrá usar el bind-chroot. El bind-chroot es semejante al bind, con la diferencia de que ejecuta el proceso named como usuario común, o sea, sin ser superusuario; lo que muchas veces es preferible puesto que existen muchas cuestiones de seguridad involucradas. Si usted desea utilizar el bind-chroot, tendrá que desinstalar el bind antes. Para esto, basta teclear: # rpm -e bind 26 Capítulo 1. Servidor DNS 3. Quizás tenga que instalar el módulo de Linuxconf para configuración del servidor DNS. Para hacerlo, acceda al directorio de paquetes del CD 1 de Conectiva Linux e instale el módulo: # rpm -ivh linuxconf-dnsconf-* linuxconf-dnsconf #################################### Configuración La configuración del DNS puede hacerse a través de Linuxconf. Para configurar el servidor DNS, abra Linuxconf y pulse los botones en el orden: Configuración de Red→Tareas como Servidor→DNS - Servidor de Nombres de Dominio. 27 Capítulo 1. Servidor DNS Figura 1-1. Configurando el DNS Este es el menú inicial de configuración de Linuxconf. A partir de allí usted puede configurar todo el servidor de nombres de su empresa. Presione el botón dominios para configurar las opciones básicas del DNS. 28 Capítulo 1. Servidor DNS Figura 1-2. Configuración inicial del DNS En este cuadro de diálogo usted debe informar los datos referentes a su dominio. 29 Capítulo 1. Servidor DNS Dominio: Éste es el nombre del dominio; en este caso, estamos creando un dominio llamado miorganizacion. Servidor principal: Éste es el nombre de la máquina donde el servidor de nombres estará siendo ejecutado. En nuestro ejemplo, el dominio miorganizacion será controlado por la máquina kepler.miorganizacion. Observe que es necesario colocar el punto al final del nombre. Administrador de correo: Ésta es la dirección de correo electrónico del administrador del sistema. Si se presentan problemas, se podrá avisar a este administrador. Observe que en este campo se usa un punto (“.”) en vez de arroba (“@”). En este cuadro de diálogo pueden hacerse algunas otras configuraciones, pero que no trataremos en este libro. Entre ellas tenemos: Servidores de nombre (NS): En una configuración sencilla, basta el nombre del servidor principal. Además, usted deberá informar aquí cuáles serán los servidores secundarios de su dominio. Servidores de correo (MX): Aquí usted puede definir el servidor que encamina los mensajes de correo electrónico de su dominio para Internet. IPs por defecto: Aquí usted puede definir una o más direcciones IP de máquinas a las que se accederá a través del dominio. Es normal que las consultas a servidores de nombre se refieran sólo al dominio, pero los dominios no tienen IPs, sólo las máquinas los poseen; de esta manera, al definir IPs estándar, una consulta al dominio miorganizacion dará como resultado el IP estándar. Características: Aquí se pueden definir algunas funcionalidades del dominio. Por ejemplo, se puede definir cada cuánto tiempo se actualizarán los servidores secundarios. 30 Capítulo 1. Servidor DNS Control de acceso: Usted puede definir algunas opciones de seguridad para su servidor de nombres. Registro de estaciones Para registrar una máquina en la base de datos del DNS a partir del menú inicial de la configuración del servidor DNS, vaya a Agrega/edita y verá un cuadro de diálogo como el de la Figura 1-3: 31 Capítulo 1. Servidor DNS Figura 1-3. Agregando/editando máquinas Para seleccionar a qué dominio se agregará la máquina, haga clic en información de máquina por dominio. 32 Capítulo 1. Servidor DNS Figura 1-4. Seleccionando el dominio Simplemente, seleccione el dominio que desee para iniciar la adición/edición de máquinas: Figura 1-5. Inclusión de máquinas En la Figura 1-5 se puede ver que la lista de máquinas todavía está vacía. Haga clic en Agregar para escribir el nombre de la máquina que se va a agregar. En 33 Capítulo 1. Servidor DNS el cuadro de diálogo que aparece (Figura 1-6), ya viene informado el nombre del dominio; usted debe escribir el nombre de la máquina antes del ".". Figura 1-6. Especificando el nombre de una máquina Escriba el nombre de la máquina antes del punto y presione Aceptar para poner la información de la máquina. 34 Capítulo 1. Servidor DNS Figura 1-7. Agregando/Editando máquinas Básicamente, la única información que usted tiene que suministrar es la dirección IP. El resto es optativo. Después de colocar correctamente la dirección IP de la máquina, haga clic en Aceptar. De esta manera agregará la máquina a la base de datos del DNS. Observe que usted volverá siempre al cuadro de diálogo para agregar máquinas (Figura 1-6) y de esta manera permitir que se agreguen máquinas adicionales. Si no desea registrar otra máquina, haga clic en Cancelar. 35 Capítulo 1. Servidor DNS Tras terminar de registrar las máquinas, usted podrá ver las que están registradas en el dominio: Figura 1-8. Máquinas registradas en el dominio Además del modo presentado para agregar máquinas al DNS, usted puede utilizar la opción edición rápida. 36 Capítulo 1. Servidor DNS Figura 1-9. Edición Rápida de Máquinas Usted deberá escribir el nombre completo de la máquina que se agregará, o sea, el nombre y el dominio. Para agregar la máquina, haga clic en Aceptar. En el cuadro de diálogo siguiente se pueden teclear la información de la máquina. Observe que es el mismo cuadro de diálogo utilizado en la opción anterior. 37 Capítulo 1. Servidor DNS Figura 1-10. Pantalla de edición de máquinas Configurando Mapas de IPs Reversos 38 Capítulo 1. Servidor DNS Figura 1-11. Agregando un mapa de IP reverso La tarea principal del servidor de nombres es hacer la equivalencia entre nombres de máquinas y direcciones IP, pues realiza automáticamente la conversión 39 Capítulo 1. Servidor DNS de un nombre de máquina para una dirección IP. Con mapas de IPs reversos se puede hacer el camino inverso; o sea, convertir una dirección IP en un nombre de máquina. La configuración de un mapa de IP reverso es muy semejante a la configuración de dominios. La información de la pantalla de configuración es básicamente la misma de la de configuración de dominio. Usted informa el número de red de su servidor, el nombre del servidor, la dirección de correo electrónico del administrador y la lista de servidores de nombres. Creación de alias Es común la creación de alias de nombres de máquinas. Los alias permiten acceder a una misma máquinas mediante distintos nombres. El ejemplo más común es crear el alias "www" para el servidor HTTP. Cumpliendo los pasos puestos a continuación, creará el alias "www" para la máquina kepler.miorganizacion. Podrá usted fácilmente adaptar los pasos siguientes para crear otros alias. 1. Acceda a Linuxconf y vaya para Configuración de Red→Tareas como Servidor→DNS: servidor de nombres de dominio+Agrega/Edita+información de máquina por dominio. 2. Seleccione el dominio que vaya a utilizar. 40 Capítulo 1. Servidor DNS 3. Haga clic en Agregar; 4. Escriba el nombre del alias con el dominio. En nuestro ejemplo, teclee: www.miorganizacion. 5. En el cuadro siguiente (vea Figura 1-12), debe escribir el nombre real de la máquina en el espacio y un alias para (CNAME). 41 Capítulo 1. Servidor DNS Figura 1-12. Creación de un alias 42 Capítulo 1. Servidor DNS 6. Presione Aceptar. Dominios Virtuales usando DNS En el menú principal de configuración del DNS, haga clic en dominios para agregar un dominio virtual. Figura 1-13. Agrega/edita dominios Para ver el cuadro de diálogo de información de dominio, haga clic Agregar. 43 Capítulo 1. Servidor DNS Figura 1-14. Agrega/edita dominios Observe que éste es el mismo cuadro de diálogo utilizado para crear el dominio primario. Observe que, aunque el dominio creado sea miorganización, el servidor es el kepler.miorganizacion. Esto quiere decir que el dominio morganización es, en realidad, un dominio virtual que apunta hacia miorganizacion. 44 Capítulo 2. Apache Presentación Las empresas se preocupan por su imagen en Internet, y ella puede ser perjudicada no solamente por una mala elección del diseño de sus páginas, sino también debido a una mala calidad de los servicios que pretenden ofrecer. Por lo tanto, la buena implementación de un servidor web es uno de los factores que determinan el éxito de una empresa en esta área. EL Servidor web Apache es ampliamente utilizado en todo el mundo. Su liderazgo se debe al hecho de tener un excelente desempeño, alto nivel de personalización, confiabilidad, portabilidad, vasta documentación disponible y además a su bajo costo. Como la configuración de Apache está ampliamente documentada, en este capítulo lo presentaremos en forma breve (pero suficiente para realizar la instalación de un servidor web simple), además mostraremos cómo instalar el módulo de PHP3, un lenguaje de páginas dinámicas bastante popular. 45 Capítulo 2. Apache Requisitos Para implantar esta solución es necesario: • Que su red esté funcionando y que esté configurada correctamente. • Que su servicio de DNS esté correctamente instalado y configurado. Instalación Para instalar el Apache: 1. Acceda al CD de la distribución de Conectiva Linux: # cd /mnt/cdrom/conectiva/RPMS 2. Instale el paquete de Apache: # rpm -ivh apache-* apache ######################################## apache-devel ######################################## 46 Capítulo 2. Apache apache-doc ######################################## Configuración La configuración del servidor Apache puede hacerse a través del Linuxconf. Para configurar su Apache, entre en Linuxconf y siga los siguientes pasos: 1. Vaya a Configuración de Red→Tareas como Servidor→HTTP: Servidor Web Apache . Surgirá la pantalla de la Figura 2-1. 47 Capítulo 2. Apache Figura 2-1. Menú de configuración inicial de Apache 2. Ahora haga clic en Valores por definición: 48 Capítulo 2. Apache Figura 2-2. Menú de configuración inicial de Apache 3. En el campo E-mail del administrador escriba la dirección electrónica del administrador del sistema. 4. Escriba el nombre del servidor HTTP. Si el servicio de resolución de nombres funciona correctamente, o sea, si es capaz de determinar el nombre de la máquina a través de la dirección IP, no necesita (ni debe) poner nada en este espacio. Utilice 49 Capítulo 2. Apache solamente esta opción si el servicio de nombres es incapaz de solucionar el nombre del servidor. 5. Si desea que varios dominios virtuales compartan la misma dirección IP, escríbalo en el campo Dirección IP del dominio. 6. El campo Directorio root es el directorio en el que se almacenarán los archivos de las páginas. El valor estándar es /home/httpd/html, le recomendamos que no lo modifique. Existe un bug en el módulo de Apache para Linuxconf que puede añadir comillas extras al final del nombre del directorio. Antes de continuar, verifique que no existan comillas extras. 7. Haga clic en Aceptar. 8. Salga del Linuxconf y active la configuración cuando se le solicite. 9. Inicie Apache; abra un terminal y escriba: # cds 50 atalk functions keytable lpd network atd gpm killall mars-nwe nfs autofs halt kudzu mysql nfslock Capítulo 2. Apache crond httpd ldap named pcmcia dhcpd inet linuxconf-setup netfs portmap # ./httpd start Iniciando httpd: [ OK ] 10. Para probar la configuración, abra el Netscape (u otro navegador de su preferencia) y vaya a la dirección http://localhost. Si la configuración está correcta, verá una pantalla semejante a la de la Figura 2-3: 51 Capítulo 2. Apache 52 Figura 2-3. Página inicial de Apache Conectiva Linux en el Netscape® Capítulo 2. Apache Instalación del módulo PHP3 PHP3 es un lenguaje que se ha vuelto bastante popular en los servidores web de Internet. Con él se pueden crear páginas dinámicas directamente en el servidor. Conectiva Linux contiene un paquete llamado mod_php3, que hace que Apache pueda mostrar páginas dinámicas en PHP3. Para instalar el mod_php3 en su Apache, realice lo siguiente: • Acceda al directorio de paquetes del CD 1 de Conectiva Linux: # cd /mnt/cdrom/conectiva/RPMS • Instale el paquete: # rpm -ivh -force mod_php3-3.0.16-2cl.i386.rpm mod_php3 ######################################## • Use el editor de textos de su preferencia y abra el archivo /etc/httpd/conf/httpd.conf. 53 Capítulo 2. Apache • Inserte las siguientes líneas al final del archivo: LoadModule php3_module modules/libphp3.so AddModule mod_php3.c AddType application/x-httpd-php3 .php3 Observe que estas líneas ya están comentadas en el archivo (iniciadas con "#"). Así, usted puede optar por buscarlas en el archivo y descomentarlas; esta opción es más compleja, pero es preferible, ya que deja el archivo de configuración de Apache más organizado. • Reinicie Apache: # cds atalk functions keytable lpd network atd gpm killall mars-nwe nfs autofs halt kudzu mysql nfslock crond httpd ldap named pcmcia dhcpd inet linuxconf-setup netfs portmap # ./httpd restart 54 Desligando httpd: [ OK ] Iniciando httpd: [ OK ] Capítulo 2. Apache Prueba de configuración Para verificar si su instalación y configuración están correctas, siga los siguientes pasos: 1. Acceda al directorio de los archivos de Apache: # cd /home/httpd/html 2. Use su editor de textos para crear un archivo llamado contenido: fecha.php3 con el siguiente <html> <? setlocale ("LC_TIME", "es_ES"); ?> <body> Hoy es <b><? print(strftime ("%A, %d de %B de %Y")); ?><b> </body> </html> 3. Use el Netscape® para visualizar la página. Si el mod_php3 está funcionando, usted verá la página más o menos como 55 Capítulo 2. Apache en la Figura 2-4: 56 Capítulo 2. Apache Figura 2-4. Prueba con éxito de PHP3 57 Capítulo 2. Apache Si la configuración está incorrecta, probablemente verá la Figura 2-5: 58 Capítulo 2. Apache Figura 2-5. Página en PHP3 no visualizada correctamente 59 Capítulo 2. Apache Si éste es su caso, revise los pasos de la instalación para verificar qué hizo mal. Además, vea el archivo /var/log/httpd/error_log, que deberá tener información sobre el error. 60 Capítulo 3. Dominios Virtuales 61 Capítulo 3. Dominios Virtuales Presentación Figura 3-1. Dominios virtuales 62 Capítulo 3. Dominios Virtuales En muchos casos, es interesante mantener una gran cantidad de dominios virtuales. Por ejemplo, servicios de hospedaje de dominios es un negocio rentable y que está haciéndose bastante popular. En Apache la tarea de crear dominios virtuales es bastante sencilla y abarca sólo algunas inclusiones en los archivos de configuración del servidor web y en las configuraciones del servidor de nombres. Sin embargo, cuando el número de dominios aumenta, la cantidad extra de configuraciones en el archivo de configuración de Apache hace que el servicio se vuelva bastante lento para cargar. Requisitos Para utilizar esta solución se necesita: • Que la red esté configurada correctamente. • Que su servicio de DNS esté configurado y funcionando correctamente. • Que su servidor web (Apache) esté configurado y funcionando correctamente. 63 Capítulo 3. Dominios Virtuales Instalación Si actualmente se cumplen los requisitos, no será necesario instalar nada. Para instalar correctamente BIND y Apache, verifique la documentación sobre DNS y sobre Apache, que puede encontrarla en este libro. Configuración La configuración de Apache para utilizar esta solución es bastante sencilla. Siga los pasos siguientes: 1. Edite el archivo /etc/httpd/conf/apache.conf y agregue la siguiente línea después de la última línea de LoadModule: LoadModule vhost_alias_module modules/mod_vhost_alias.so 2. Para habilitar el módulo, agregue la siguiente línea después del último parámetro AddModule: AddModule mod_vhost_alias.c 64 Capítulo 3. Dominios Virtuales 3. Busque la línea UseCanonicalName y modifíquela para: UseCanonicalName Off 4. Para efectos de organización, será necesario crear un formato de log común a los dominios virtuales. Agregue la siguiente línea después del último parámetro LogFormat: LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon 5. Defina una dirección IP para ser utilizada por los dominios virtuales. En nuestro ejemplo, utilizaremos la dirección IP 10.0.0.2. Agregue la siguiente línea: NameVirtualHost 10.0.0.2:80 No estamos especificando el puerto 80. Como éste es el puerto estándar, no es necesario especificarlo, pero usted puede usar el ejemplo anterior para especificar otro puerto si fuera necesario en su configuración 65 Capítulo 3. Dominios Virtuales 6. Agregue las siguientes líneas en el archivo de configuración. Ellas especifican que los dominios serán colocados en el directorio /dominiosv. <VirtualHost 10.0.0.2> VirtualDocumentRoot /dominiosv/%0/html VirtualScriptAlias /dominiosv/%0/cgi-bin CustomLog logs/access_log.vhost vcommon </VirtualHost> 7. A través de un terminal reinicie Apache y teclee: # cds atalk crond gpm inet mars-nwe atd dhcpd halt keytable mysql autofs functions httpd killall named # ./httpd restart Apagando httpd: [ OK ] Iniciando httpd: [ OK ] # 66 Capítulo 3. Dominios Virtuales 8. El próximo paso es crear los directorios de los dominios. Estos directorios deben crearse abajo del directorio especificado en la configuración de VirtualHost, o, en nuestro caso, /dominiosv. Para mostrar un ejemplo, vamos a crear la estructura para el dominio www.miorganizacion.com.br: # mkdir /dominiosv/www.miorganizacion.com.br # mkdir /dominiosv/www.miorganizacion.com.br/html # mkdir /dominiosv/www.miorganizacion.com.br/cgi-bin Puede copiar los archivos HTML, imágenes y scripts para este directorio. 9. Agregue una entrada en el DNS para el nuevo dominio virtual. Vea la documentación sobre DNS para saber cómo hacer esto. 10. Repita los ítems 8 y 9 para cada dominio virtual que vaya a crear. Para probar la configuración, después de haber reiniciado el servidor Apache, usted puede simplemente acceder al dominio virtual a través de un navegador o con el comando ping: # ping nuevodominio.miorganizacion 67 Capítulo 3. Dominios Virtuales PING novodominio.miorganizacion (10.0.0.3): 56 data bytes 64 bytes from 10.0.0.3: icmp_seq=0 ttl=255 time=0.2 ms 64 bytes from 10.0.0.3: icmp_seq=1 ttl=255 time=0.1 ms 64 bytes from 10.0.0.3: icmp_seq=2 ttl=255 time=0.2 ms Usted también puede sencillamente intentar acceder al nuevo dominio utilizando un navegador. Si el dominio está correctamente instalado, verá la página creada para el dominio (o el listado del directorio, si usted no ha creado ninguna página). 68 Capítulo 4. Sendmail Presentación La configuración y mantenimiento de un servidor de correo electrónico es muy importante. Muchas empresas utilizan el correo electrónico para concretar negocios y la falta de disponibilidad de este servicio puede ocasionar perjuicios financieros a la institución. Si escogemos el método de configuración por Linuxconf encontraremos la limitación de direcciones IP, pues para cada dominio que se desee enviar e-mails es necesaria una dirección IP. Por otro lado, en este método, la configuración y la administración se facilitan muchísimo. También se puede configurar el mismo username para dominios diferentes. Requisitos Para implementar la solución presentada en este capítulo, usted necesitará: 69 Capítulo 4. Sendmail • Tener nociones sobre la configuración del servidor de nombres. • Una entrada en el DNS para el nombre MX asociado a la dirección IP del servidor de correo electrónico. En el caso de que se creen dominios virtuales, se necesitará una entrada MX y una dirección IP exclusiva para cada uno. Instalación Para utilizar esta solución usted debe instalar Sendmail. Para hacerlo, abra un terminal: 1. Acceda al directorio de paquetes del CD 1 de Conectiva Linux: # cd /mnt/cdrom/conectiva/RPMS 2. Instale los paquetes del Sendmail y del Servidor IMAP: # rpm -ivh sendmail-* imap-* sendmail ############################## sendmail-cf ############################## sendmail-doc ############################## 70 Capítulo 4. Sendmail imap ############################## imap-devel ############################## 3. Use el editor de textos de su preferencia para editar el archivo /etc/inetd.conf. Debe localizar y quitar el comentario (retirar el signo de # inicial) de las siguientes líneas: pop-2 stream tcp pop-3 stream tcp nowait nowait root root /usr/sbin/tcpd ipop2d /usr/sbin/tcpd \ /usr/lib/linuxconf/lib/vpop3d /usr/sbin/ipop3d imap stream tcp nowait root /usr/sbin/tcpd imapd Configuración Para configurar Sendmail usted debe abrir Linuxconf y presionar el botón de la opción Control→Controla archivos y sistemas →Configura módulos del Linuxconf . Asegúrese que la configuración del servidor de e-mail (Sendmail) esté activa como en la Figura 4-1. 71 Capítulo 4. Sendmail Figura 4-1. Activación del módulo de Sendmail de Linuxconf Realizado esto, usted debe volver al cuadro de diálogo inicial de Configuración de Linuxconf e ir para Configuración de red→Tareas como servidor→MTA: Transporte de correo (sendmail) . 72 Capítulo 4. Sendmail Figura 4-2. Configuración de Sendmail Pulse en Configura información básica: 73 Capítulo 4. Sendmail Figura 4-3. Configuración básica de Sendmail En esta pantalla (Figura 4-3) usted configurará el comportamiento de Sendmail. Los campos y opciones más utilizados son: • Presentar su sistema como: este campo se utiliza normalmente en la mayoría de las configuraciones y simplemente contiene el nombre oficial de su dominio. Por ejemplo: miorganizacion • Aceptar e-mail para "su dominio": seleccione esta opción para que Sendmail acepte mensajes de correo electrónico no sólo dirigidas al servidor, sino también a su dominio. Si no se selecciona esta opción y su servidor de correo electrónico se llama 74 Capítulo 4. Sendmail smtp.miorganizacion, Sendmail sólo aceptará mensajes destinados a usuarios como [email protected]. • Activar control de reenvío : es muy recomendable activar esta opción, pues permite decidir quién(es) tendrá(n) permiso para utilizar el servidor para enviar mensajes. • Tamaño máximo de mensajes: utilice esta opción si desea limitar el tamaño máximo de mensajes que son enviados y recibidos por el servidor. En este campo debe colocar el tamaño máximo (en bytes) de los mensajes que el servidor enviará. • Procesar la cola cada(min): permite definir el intervalo en el que Sendmail intentará enviar los mensajes que quedan en la fila. El intervalo estándar es de 15 minutos. • Esperar DNS: el Sendmail hace un uso bastante pesado del servicio de DNS. Cuando está activada, esta opción oblega a usar el servidor de nombres. Para crear usuarios de e-mail en el dominio real, basta agregar usuarios normales al sistema. Si lo desea, también puede utilizar la opción Cuentas POP (solamente e-mail) del cuadro de diálogo de cuentas de usuarios de Linuxconf, del menú Cuentas especiales . Estos usuarios son distintos de los normales y su diferencia se debe a que los usuarios POP no poseen un shell en el sistema. Quizás usted desee utilizar dominios virtuales para recibir y enviar mensajes. Para utilizar dominios virtuales con Sendmail, usted necesitará poner una entrada en el servicio DNS. Para saber cómo hacerlo, consulte la documentación del servidor de nombres. Además, usted también debe reiniciar el inetd y el Sendmail; para hacerlo, utilice los comandos siguientes: 75 Capítulo 4. Sendmail # cds # ./inet stop # ./inet start # ./sendmail restart Deberá tener una entrada MX apuntando a una dirección IP exclusiva. Por ejemplo, puede hacer que su dominio miorganizacion apunte MX para smtp.miorganizacion. En Linuxconf, vaya a Configuración de red→Tareas como servidor →MTA: Trasnporte de correo (sendmail)→dominio de correo virtual→Agregar . 76 Capítulo 4. Sendmail Figura 4-4. Agregando un dominio virtual de e-mail Los campos más utilizados en la creación de dominios virtuales de e-mail son: • Dominio virtual (fqdn): éste es el nombre oficial del dominio. Por ejemplo: miorganizacion. • Destino del correo (opc.): ésta es la dirección electrónica a la que se enviarán los mensajes que llegaron al dominio describiendo la razón por la cual Sendmail no encontró un usuario de destino válido. Si no se informa nada en esta opción y el Sendmail no encuentra el destinatario del mensaje que llegó a este dominio, se le enviará un mensaje de error al 77 Capítulo 4. Sendmail remitente avisando que la dirección de destino no es válida. Tamaño máximo (kb): tamaño máximo en kilobytes que cada buzón de correo de este dominio debe tener. • Si llega un mensaje y el buzón de correo del usuario ya tiene el tamaño definido en esta opción, el mensaje regresará al remitente. No confunda esta opción con el "Tamaño máximo de mensajes" del menú "Entrega", en "configura información básica". "El Tamaño máximo de mensajes" limita el tamaño de los mensajes que se envían o reciben. El límite del buzón del usuario limita el tamaño de su buzón. Dicho buzón de correo puede contener varios mensajes que generalmente el usuario borra después de leerlos. Agregando E-mails a un dominio virtual En Linuxconf, vaya a Cuentas de usuarios→Cuentas especiales→Cuentas virtuales POP (sólo correo). Verá una ventana con la lista de dominios virtuales configurados en su sistema; seleccione el dominio al que desee agregar direcciones: 78 Capítulo 4. Sendmail Figura 4-5. Agregando direcciones de e-mail virtuales Escriba el nombre de usuario, y también su nombre completo para agregar una cuenta de e-mail virtual. Observe que los usuarios creados en este cuadro de diálogo no tienen intérpretes de comandos, o sea, no pueden conectarse y ejecutar comandos en el servidor. Estos usuarios sólo pueden recibir y enviar mensajes de correo electrónico. 79 Capítulo 4. Sendmail Configurando filtros de Spam Se puede controlar quién puede utilizar el servidor para enviar mensajes de correo electrónico. Es muy importante hacer esta limitación para evitar que spammers utilicen mal el servidor. Para configurar los filtros ejecute Linuxconf y acceda a la opción Configuración de red→Tareas como servidor→MTA: Transporte de correo (sendmail)→Filtros anti-spam. 80 Capítulo 4. Sendmail Figura 4-6. Filtros anti-spam Pueden hacerse filtros anti-spam por: • Remitentes rechazados: 81 Capítulo 4. Sendmail Figura 4-7. Definiendo nombres de remitentes bloqueados Puede definir direcciones de correo electrónico que no podrán mandar mensajes a este servidor. Puede usar esto con direcciones de e-mail de spammers conocidos. usted también puede definir un mensaje para que sea devuelto al remitente. Por direcciones de IP autorizadas: • 82 Capítulo 4. Sendmail Figura 4-8. Definiendo direcciones de IP Sendmail acepta reenviar (relay) mensajes provenientes de las direcciones de IP definidas. • Por nombres de máquinas: Figura 4-9. Definiendo nombres de máquinas autorizadas Sendmail acepta reenviar (relay) mensajes provenientes de las máquinas definidas en este cuadro de diálogo. • Por dominios autorizados: 83 Capítulo 4. Sendmail Figura 4-10. Definiendo dominios autorizados Sendmail acepta reenviar (relay) mensajes provenientes de los dominios definidos en este cuadro de diálogo. Pruebas Para probar si la configuración está funcionando correctamente, basta enviar un e-mail a una dirección del servidor. Ejecute el siguiente comando: $ echo ’Prueba’ | mail -s ’Prueba de e-mail’ usuario@miorganizacion Donde usuario es un nombre de usuario de e-mail y miorganizacion es su dominio de e-mail. 84 Capítulo 4. Sendmail El mensaje deberá llegar a su destino después de algunos instantes. Si no sucede esto, debe verificar el archivo /var/log/maillog para obtener información sobre si existe algún problema y verificar si realmente usted siguió correctamente las instrucciones. Otra manera de probar si la configuración está correcta es utilizar el comando telnet: $ telnet kepler.miorganizacion 25 Trying 10.0.0.1... Connected to kepler.miorganizacion. Escape character is ’^]’. 220 kepler.miorganizacion ESMTP Sendmail 8.10.2/8.10.2; ... helo miorganizacion 250 kepler.miorganizacion, pleased to meet you mail from: usuario1@miorganizacion 250 2.1.0 usuario1@miorganizacion... Sender ok rcpt to: usuario2@miorganizacion 250 2.1.5 usuario2@miorganizacion... Recipient ok data 354 Enter mail, end with "." on a line by itself Mensaje de prueba . 250 2.0.0 e8TDKDa01366 Message accepted for delivery 85 Capítulo 4. Sendmail quit 221 2.0.0 kepler.miorganizacion closing connection Connection closed by foreign host. Donde usuario1 y usuario2 son dos usuarios de correo electrónico. Después de esta sesión SMTP, deberá entregarse un mensaje del usuario1 al usuario2. 86 Capítulo 5. Webmail Presentación Muchas veces interesa a la empresa que los empleados puedan acceder a sus cuentas de email desde fuera, sin que tengan que hacer configuraciones complejas. A través del webmail, se pueden acceder las cuentas de email sin necesidad de realizar ninguna configuración de clientes de email. El usuario sólo necesita un navegador con acceso a Internet. Conectiva Linux brinda el IMP, un paquete de webmail basado en el lenguaje PHP3. Esta solución presenta la instalación y configuración del IMP utilizando Apache y el mod_php3. Si desea obtener información sobre cómo instalarlos y configurarlos, consulte la documentación. Requisitos Para implementar la solución de webmail es necesario: • Que su servidor Apache esté configurado correctamente. 87 Capítulo 5. Webmail • Que su red esté configurada correctamente. • Que su Apache tenga soporte al lenguaje PHP3. Para obtener más información sobre cómo instalar el soporte a PHP3, consulte la documentación sobre Apache. • Que el lenguaje PHP3 tenga soporte a IMAP habilitado. En este capítulo presentaremos más información sobre cómo hacer esto. Instalación Para instalar el IMP haga lo siguiente: 1. Acceda al directorio de paquetes del CD 1 de Conectiva Linux: # cd /mnt/cdrom/conectiva/RPMS 2. Instale el servidor IMAP: # rpm -ivh imap-4* imap ############################### 88 Capítulo 5. Webmail 3. Recuerde que ya deberá haber instalado y configurado el módulo de PHP3 como se indicó en el capítulo sobre Apache: 4. Instale el paquete del Horde: # rpm -ivh horde-core-1* horde-core ########################## 5. Instale el paquete del IMP: # rpm -ivh imp-2* imp ################################ Configuración Antes de continuar, usted debe tener en su red, un servidor IMAP funcionando. Si aún no lo tiene, instálelo (de acuerdo con las instrucciones presentadas en la sección anterior) y siga los pasos siguientes para configurarlo: 89 Capítulo 5. Webmail 1. Acceda al directorio de configuraciones de Conectiva Linux: # cd /etc 2. Use el editor de textos de su preferencia para abrir el archivo inetd.conf. 3. Usted debe localizar las líneas correspondientes a los servicios POP-2, POP-3 e IMAP y descomentarlas (retirando el símbolo "#" del inicio de la línea). Las líneas son parecidas a: pop-2 stream tcp nowait root /usr/sbin/tcpd ipop2d pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d imap stream tcp nowait root /usr/sbin/tcpd imapd 4. Se debe reiniciar el inetd: # killall -HUP inetd Si aparece el mensaje "inetd: no process killed", usted debe iniciar el inetd: # /etc/rc.d/init.d/inet start Iniciando los servicios INET: 90 [ OK ] Capítulo 5. Webmail Vale resaltar que se debe tener Apache configurado con soporte al lenguaje PHP3. Para obtener más información, consulte el capítulo que trata sobre este asunto. Después de realizar todos los pasos necesarios, se debe garantizar que el lenguaje PHP3 tenga soporte a IMAP. Para hacerlo, ejecute los pasos que presentamos a continuación: 1. Acceda al directorio de paquetes del CD 1 de Conectiva Linux: # cd /mnt/cdrom/conectiva/RPMS 2. Instale los paquetes del PHP3: # rpm -ivh php3-cgi-3.0.16-2cl.i386.rpm php3-cgi ################################ # rpm -ivh php3-cgi-imap-3.0.16-2cl.i386.rpm php3-cgi-imag ################################ 3. Acceda al directorio de configuración del módulo de PHP3 de Apache: # cd /etc/php3/apache/ 91 Capítulo 5. Webmail 4. Utilice el editor de textos de su preferencia para abrir el archivo php3.ini. Localice la siguiente línea: ;extension=imap.so Retire el punto y coma inicial para descomentar la línea, guárdela y cierre el editor. Para configurar el IMP en su servidor Conectiva Linux, haga lo siguiente: 1. Vaya al directorio de instalación del IMP: # cd /usr/share/horde 2. Ejecute el script install.sh: # ./install.sh Your blank configuration files have been created, please go to the configuration utitlity at : your install path url/setup.php3 92 Capítulo 5. Webmail Este script prepara el ambiente de configuración del IMP y crea archivos de configuración vacíos. 3. Abra el Netscape® y acceda a la página /horde/setup.php3 de Apache (Figura 5-1). 93 Capítulo 5. Webmail 94 Figura 5-1. Pantalla de configuración del IMP Capítulo 5. Webmail Seleccione el lenguaje que desee (Spanish - [es-ES] para español) y presione Próxima. 4. El próximo paso es seleccionar el servidor IMAP (Figura 5-2). Ponga el nombre de la máquina y presione Próxima. 95 Capítulo 5. Webmail Figura 5-2. Selección del servidor IMAP 96 Capítulo 5. Webmail 5. Usted puede seleccionar un camino para los archivos y gráficos del webmail (Figura 5-3). Le recomendamos que deje los valores estándar y presione Próxima. 97 Capítulo 5. Webmail Figura 5-3. Directorios virtuales de los archivos del webmail 98 Capítulo 5. Webmail 6. Ahora usted debe suministrar las opciones estándar de su servidor IMAP (Figura 5-4). Cuando termine presione Próxima. 99 Capítulo 5. Webmail 100 Capítulo 5. Webmail 7. Usted puede alterar el tiempo máximo de espera de los cookies del navegador (Figura 5-5). El valor estándar es suficiente para la mayoría de los casos. 101 Capítulo 5. Webmail Figura 5-5. Tiempo máximo de espera de los cookies 102 Capítulo 5. Webmail 8. Se puede cambiar la configuración de los programas externos que el IMP utiliza. (Figura 5-6). 103 Capítulo 5. Webmail Figura 5-6. Programas binarios 104 Capítulo 5. Webmail 9. Puede cambiar algunas opciones que controlan el comportamiento del IMP (Figura 5-7). 105 Capítulo 5. Webmail 106 Capítulo 5. Webmail 10. Se puede definir si el IMP debe avisar cuando lleguen nuevos mensajes (Figura 5-8). 107 Capítulo 5. Webmail Figura 5-8. Aviso de nuevos mensajes 108 Capítulo 5. Webmail 11. El IMP permite que usted cambie los encabezamientos (headers) de email de todos los mensajes que se envían a partir de este servidor. Los mensajes de correo electrónico contienen algunos encabezamientos que son utilizados por software clientes de email y que contienen diversas informaciones sobre el mensaje, por ejemplo, el remitente, la hora en que se envió el mensaje y el asunto. Se puede alterar el contenido del archivo /usr/share/horde/config/headers.txt para definir algunos encabezamientos personalizados o para cambiar los que sean estándar. Para hacer que todos los mensajes originados en este servidor tengan un encabezamiento que los identifique, como por ejemplo el nombre de la empresa, debe agregar la siguiente línea al archivo header.txt: X-Company: Miorganización Ltda. En este cuadro de diálogo (Figura 5-9) usted podrá definir si desea que el archivo header.txt esté incluido en todos los mensajes. También puede definir si desea que éste se incluya al principio o al final de los mensajes y si partes MIME (formato de datos utilizados en anexos) debe aparecer en el cuerpo del mensaje. 109 Capítulo 5. Webmail 110 Figura 5-9. Encabezamientos de email modificados Capítulo 5. Webmail 12. El IMP ofrece la opción de soporte para bancos de datos (Figura 5-10) y se trata de una opción avanzada que no está incluida en este capítulo. Si no va a utilizar un banco de datos, presione Próxima. 111 Capítulo 5. Webmail 112 Capítulo 5. Webmail 13. Ahora debe confirmarse la configuración del IMP. En esta pantalla (Figura 5-11) podrá ver cómo será grabado todo el archivo de configuración. Para confirmar y grabar este archivo, presione Escribir Archivo. 113 Capítulo 5. Webmail Figura 5-11. Confirmación de la configuración 114 Capítulo 5. Webmail 14. Ahora usted debe abrir un terminal y acceder al directorio de instalación del IMP: # cd /usr/share/horde 15. Ejecute la finalización de la instalación: # ./secure.sh I have made your configuration files, and libraries mode 0555 which is read / execute for everyone. And the setup.php3 is mode 0000 which is no access period. Este comando finaliza la instalación y protege el archivo de configuración contra accesos. Para cambiar la configuración, usted tendrá que repetir nuevamente los pasos. Para acceder a la página de webmail abra el Netscape® y visite el directorio virtual /imp/ (Figura 5-12): 115 Capítulo 5. Webmail 116 Figura 5-12. Pantalla de login Capítulo 6. Direcciones estándar de email 117 Capítulo 6. Direcciones estándar de email Presentación 118 Capítulo 6. Direcciones estándar de email sos usuarios reales de la organización. El correo electrónico es una herramienta muy útil para las empresas, pues permite que haya un canal directo con sus clientes. Muchas veces, no es interesante que los clientes se comuniquen a través de la dirección de email de un empleado determinado, ya que éste puede ser transferido de puesto o incluso dejar la empresa. Por este motivo es necesario crear direcciones específicas de email que se enviarán a algún empleado, sin que por eso, se constituyan en el único medio de acceso a los mismos. Esto le permite a la empresa obtener mayor flexibilidad, ya que basta redireccionar el email correspondiente para que lo reciba otro empleado sin que los clientes noten el cambio. Algunas direcciones de email son bastante comunes: • webmaster: generalmente es un email que se redirecciona al administrador del sitio web de la empresa. • postmaster: generalmente se redirecciona al administrador de correo electrónico. • comercial: puede enviarse al representante de la empresa. 119 Capítulo 6. Direcciones estándar de email Figura 6-2. Mensajes para diferentes direcciones virtuales dirigidas para un solo usuario real. Requisitos Para implementar cuentas múltiples de email en su servidor Conectiva Linux: 120 Capítulo 6. Direcciones estándar de email • Su red debe estar configurada correctamente. • Su Sendmail ya deberá estar configurado correctamente. Instalación Para ejecutar esta solución, es necesario utilizar el Sendmail. Para instalar el Sendmail en Conectiva Linux: 1. Acceda al directorio de paquetes del CD 1 de Conectiva Linux: # cd /mnt/cdrom/conectiva/RPMS 2. Instale el paquete del Sendmail: # rpm -ivh sendmail-* sendmail ####################################### sendmail-cf ####################################### sendmail-doc ####################################### 121 Capítulo 6. Direcciones estándar de email Configuración La configuración de cuentas múltiples de email puede realizarse en Linuxconf. Acceda a Configuración de Red→Tareas como Servidor→MTAP: Transporte ce correo (sendmail) y verá el menú de la configuración de Sendmail: Figura 6-3. Configuración de Sendmail Para definir direcciones estándar de email, presione alias de usuarios. En la pantalla que aparece en la Figura 6-4 usted puede agregar o editar direcciones estándar para usuarios. 122 Capítulo 6. Direcciones estándar de email Figura 6-4. Definiendo direcciones estándar Haga clic en Agregar para añadir una dirección estándar. Verá en la pantalla de edición de direcciones: 123 Capítulo 6. Direcciones estándar de email Figura 6-5. Agregar/editar direcciones estándar En esta pantalla (Figura 6-5), puede informar las opciones referentes a la dirección estándar. Los campos disponibles son: • Nombre alias: es la dirección estándar que se utilizará. Es una dirección de usuario que no puede estar registrada o sea tiene que ser inédita. • Programa filtro: se puede hacer que un programa administre todos los mensajes. Este 124 Capítulo 6. Direcciones estándar de email programa, puede ser un script shell, un comando shell, además de programas ejecutables. Por ejemplo: cat » /var/log/mail.log Este ejemplo enviará una copia de cada mensaje para el archivo mail.log. • Archivo de lista: se puede permitir que la administración de una lista de discusión la realice un usuario sin privilegios. Se creará un archivo texto y un simple editor de textos será suficiente para administrar la lista. En el ejemplo de la Figura 6-5 se especificó que mensajes dirigidas a comercial se entregarán a los usuarios juan, arturo y liliana. Usted puede utilizar los campos restantes para informar nombres de usuarios que recibirán los mensajes enviados para direccionestandar@dominio. Podrá incluirse cualquier número de usuarios para recibir los mensajes. Iniciación del Servicio Para iniciar el Sendmail, abra un terminal y teclee: # cds 125 Capítulo 6. Direcciones estándar de email atalk dhcpd httpd mysql nfs postgresql atd functions inet named nfslock random autofs gpm keytable netfs pcmcia sendmail crond halt killall network portmap single # ./sendmail start Iniciando sendmail: 126 [ OK ] Capítulo 7. Listas de Discusión Presentación En este capítulo usted aprenderá cómo configurar una lista de discusión utilizando el software Mailman junto con el Sendmail. Una lista de discusión es una manera de permitir que distintas secciones de su empresa puedan comunicarse de una forma más eficaz. Se transforma entonces en una excelente herramienta de trabajo en grupo. Requisitos Para utilizar esta solución de listas de discusión, necesitará cumplir los siguientes requisitos: • Apache instalado y funcionando correctamente. • Sendmail instalado y funcionando correctamente. Se pueden utilizar otros servidores 127 Capítulo 7. Listas de Discusión SMTP para esta solución, pero tendrá que consultar la documentación de dichos servidores para conocer las diferencias de localizaciones de archivos de configuración, su sintaxis, etc. Instalación Para instalar la solución de listas de discusión realice lo siguiente: 1. Acceda al directorio de paquetes del CD 1 de Conectiva Linux: # cd /mnt/cdrom/conectiva/RPMS 2. Instale los paquetes de Python: # rpm -ivh python-1* python ######################### 3. Instale el paquete del Mailman: # rpm -ivh mailman-* 128 Capítulo 7. Listas de Discusión mailman ######################### Configuración Siga los pasos siguientes para configurar el Mailman y el Apache: 1. Vaya al directorio de configuración de Apache: # cd /etc/httpd/conf 2. Use el editor de textos de su preferencia para editar el archivo httpd.conf. 3. Añada las siguientes líneas: ScriptAlias /mailman/ /usr/lib/mailman/cgi-bin/ Alias /pipermail/ /usr/lib/mailman/archives/public/ 129 Capítulo 7. Listas de Discusión 4. Guarde el archivo, cierre el editor y (re)inicie Apache: # cds alsasound gated keytable netfs amd gpm killall network apmd halt kudzu nfs arpwatch hdparm ldap nfslock atalk heartbeat ldirectord nscd atd httpd linuxconf-setup pcmcia autofs icecast lpd portmap # ./httpd restart Interrumpiendo httpd: Iniciando httpd: [ [ OK OK ] ] 5. Cree un enlace para permitir el uso de Mailman por el shell del Sendmail: # ln -sf /usr/lib/mailman/mail/wrapper /etc/smrsh/wrapper 6. Use el editor de textos de su preferencia para editar el archivo /etc/aliases y añadir las siguientes líneas: mailman: "usuario@miorganizacion" 130 Capítulo 7. Listas de Discusión mailman-owner: mailman Observe que usuario@miorganizacion debe ser una dirección de e-mail válida. Éste debe ser el e-mail del administrador de las listas. El archivo /etc/aliases es específico del Sendmail. Si usted optó por utilizar otro MTA1 el archivo de aliases probablemente será otro. Consulte la documentación de su MTA para obtener más información. 7. Asegúrese que el Sendmail reconozca los nuevos aliases: # newaliases /etc/aliases: 38 aliases, longest 67 bytes, 1367 bytes total 8. Pruebe la configuración enviando un mensaje a mailman-owner@miorganizacion, donde miorganizacion es su dominio. Si todo está correcto, usted debe recibir un mensaje en la dirección de e-mail informada en el archivo /etc/aliases. Si usted no logra enviar el e-mail, verifique si realizó todos los pasos correctamente. Algunas razones por las cuales el procedimiento puede estar fallando 1. mail transport agent (agente de transporte de e-mail) 131 Capítulo 7. Listas de Discusión son: • El daemon del Sendmail no está corriendo. Si éste es el caso, inicie el Sendmail: # /etc/rc.d/init.d/sendmail start Iniciando sendmail: [ OK ] • La dirección informada en el /etc/aliases no existe o fue escrita de manera incorrecta. Verifique y corrija, si es necesario. • El enlace simbólico del comando wrappers no se hizo en /etc/smrsh. Verifique el procedimiento anterior para corregir el problema. • Por fin, edite el archivo /usr/lib/mailman/Mailman/Defaults.py y altere las líneas: DEFAULT_HOST_NAME = ’mapi2.distro.conectiva’ DEFAULT_URL = ’http://mapi2.distro.conectiva/mailman/’ Deberá modificar estas líneas para que reflejen la estructura de su red. Por ejemplo, en nuestro caso, podríamos dejar las líneas de la manera siguiente: 132 DEFAULT_HOST_NAME = ’miorganizacion’ DEFAULT_URL = ’http://miorganizacion/mailman/’ Capítulo 7. Listas de Discusión Si no logra solucionar el problema con base en las informaciones anteriores, verifique el archivo de registro /etc/log/maillog para obtener más información. Ahora el Mailman ya está instalado y usted ya puede crear listas de discusión. Creando una lista de discusión En esta sección usted verá cómo crear una lista de discusión llamada "desarrollo". Usted podrá utilizar este ejemplo para crear otras listas que pueden interesar a su empresa. En este ejemplo, asumimos que el dominio de su empresa es miorganizacion.com. Siga los pasos siguientes para crear la lista Desarrollo: 1. Abra un terminal y escriba el siguiente comando: # /etc/lib/mailman/newlist Usted verá el siguiente mensaje en la pantalla: Enter the name of the list: Usted debe, poner el nombre de su lista. En este caso, escriba "desarrollo". Tras pulsar en INTRO, el comando newlist le solicitará la siguiente infor- 133 Capítulo 7. Listas de Discusión mación: Enter the email of the person running the list: Escriba la dirección de e-mail de la persona responsable por la lista. Generalmente será el <mailman-owner@miorganizacion>. Escriba el e-mail y presione INTRO para pasar a la pregunta siguiente: Initial desarrollo password: Ponga una contraseña que se utilizará futuramente para realizar la manutención de la lista. 2. Después que se defina la contraseña, la lista estará creada. El comando newlist imprimirá el siguiente texto, que usted deberá pegar en el archivo /etc/aliases: Entry for aliases file: ## desarrollo mailing list ## created: 18-Sep-2000 root desarrollo: "|wrapper post desarrollo" desarrollo-admin: "|wrapper mailowner desarrollo" desarrollo-request: "|wrapper mailcmd desarrollo" desarrollo-owner: desarrollo-admin Hit enter to continue with desarrollo owner notification... 134 Capítulo 7. Listas de Discusión Observe que el trecho anterior se trata solamente de un ejemplo. El texto real mostrará la ruta completa del comando wrapper, generalmente /usr/lib/mailman/mail. Seleccione y ponga la información en el archivo /etc/aliases y asegúrese de que Sendmail reconozca la nueva información: # newaliases /etc/aliases: 38 aliases, longest 67 bytes, 1367 bytes total Dados los pasos anteriores, la lista "Desarrollo" ya estará creada. Para hacer una prueba de su creación, envíe un mensaje de correo electrónico para la dirección <desarrollo-request@miorganizacion>: $ echo ’help’ | mail desarrollo-request@miorganizacion Esto hará que le sea enviado un mensaje con información de ayuda de la lista. Si no recibiera dicho mensaje, verifique si usted ha efectuado todos los pasos correctamente. Si esto no lo ayuda, vaya a los archivos de registro del correo electrónico (/var/log/maillog) para más información. Abra un navegador y acceda a la página de administración de la lista. Esta página es (suponiendo que la máquina kepler.miorganizacion es el nombre de su servidor de listas). Ésta es la dirección de administración de la lista. Tendrá que digitar la contraseña definida http://kepler.miorganizacion/mailman/admin/desarrollo 135 Capítulo 7. Listas de Discusión para la lista durante su creación. La pantalla inicial de administración de la lista Desarrollo se parecerá con la Figura 7-1. 136 Capítulo 7. Listas de Discusión Figura 7-1. Pantalla de administración de la lista Desarrollo. 137 Capítulo 7. Listas de Discusión En esta pantalla se dejan disponibles distintas opciones que usted podrá utilizar para personalizar las listas de tal forma que ellas puedan adecuarse a sus necesidades. Verifique el sitio (http://www.list.org/) de Mailman para más información. Comandos de Request Todas las listas creadas y mantenidas por Mailman poseen una dirección de email en el formato <(lista)-request@>. Dicha dirección se utiliza para enviar comandos al propio Mailman para administración de usuarios de la lista. Con el <-request@>, el usuario puede inscribirse y borrarse de la lista, modificar su contraseña y sus opciones. Una lista completa de los comandos y su sintaxis se podrá obtener si envía el comando help para el <-request@>. El help le contestará a través de un mensaje de correo electrónico con la información. Los comandos más comunes son: • subscribe: inscribe la dirección de correo electrónico de donde se ha originado el mensaje en la lista. Se enviará un mensaje de confirmación. Se puede usar este comando para inscribir una dirección distinta de correo electrónico si utiliza la forma siguiente: subscribe address=otro_email@miorganizacion • unsubscribe: borra la dirección de correo electrónico de donde se ha originado el men- 138 Capítulo 7. Listas de Discusión saje en la lista. Se enviará un mensaje de confirmación. Se puede usar este comando para borrar una dirección electrónica distinta utilizando la forma siguiente: unsubscribe address=otro_email@miorganizacion • help: envía un mensaje con la sintaxis de todos los comandos aceptados. Las opciones que se pueden utilizar con el <-request> se pueden incluso alterar a través de la web en la dirección http://kepler.miorganizacion/mailman/listinfo/desarrollo. La pantalla de configuración aparece en la Figura 7-2. 139 Capítulo 7. Listas de Discusión 140 Figura 7-2. Pantalla de la lista Desarrollo. Capítulo 7. Listas de Discusión Sus usuarios pueden utilizar esta interfaz web para visualizar la información sobre la lista, bien como modificar sus propias opciones. Referencias Para más información sobre Mailman, visite el sitio (http://www.list.org/) en la web. 141 Capítulo 7. Listas de Discusión 142 Capítulo 8. Servidor Proxy 143 Capítulo 8. Servidor Proxy Presentación Figura 8-1. Funcionamiento de un servidor Proxy. 144 Capítulo 8. Servidor Proxy Actualmente es común el tráfico intenso de archivos WWW y FTP en redes conectadas a Internet, lo que muchas veces congestiona el link de acceso a la red externa y afecta su uso. Para evitar este problema, se utiliza el recurso de proxy+cache funcionando en un servidor común para todas las máquinas de la red. Muchos servidores proxy ofrecen la posibilidad de realizar cache de web, para asignar espacio a sitios web previamente visitados y suministrar acceso local a los usuarios que vuelven a visitar estos sitios web. Todas las herramientas disponibles tienen alguna ventaja/desventaja sobre las otras. Squid se destaca porque es una herramienta de libre distribución, de acuerdo con la GPL (GNU Public License), o sea, su costo es igual a cero. Apache, por ejemplo, también es libre, pero no es una herramienta especializada, sino un servidor web, que contiene un módulo para proxy. Squid es un servidor proxy muy utilizado en backbones y proveedores de acceso a Internet, lo que comprueba su seguridad y eficiencia. Requisitos Para instalar Squid en un servidor Conectiva Linux se deben cumplir los siguientes requisitos: • El acceso a la red externa (Internet) debe estar configurado correctamente. 145 Capítulo 8. Servidor Proxy • Se recomienda que el servidor tenga una buena cantidad de memoria. Recomendamos 128MB para obtener un mejor rendimiento. • Se recomienda un disco duro SCSI para permitir un acceso más rápido a los archivos almacenados en cache. Instalación Para instalar Squid: • Acceda al directorio de paquetes del CD 1 de Conectiva Linux: # cd /mnt/cdrom/conectiva/RPMS • Instale el paquete de Squid: # rpm -ivh squid-* squid 146 ################################################## Capítulo 8. Servidor Proxy Configuración La configuración del servidor se hará a través del archivo /etc/squid/squid.conf. En los clientes, la configuración se hace en los propios navegadores. Configuración del servidor El archivo /etc/squid/squid.conf contiene toda la configuración del servidor Squid. La gran mayoría de las opciones de configuración presentes en el archivo squid.conf están muy bien documentada en el propio archivo. Las opciones están comentadas (empiezan con "#") con sus valores estándar. Siempre que desee modificar los valores de estas opciones, puede agregar las líneas o descomentar las que ya existen, modificándolas de la manera que desee. Las opciones del archivo /etc/squid/squid.conf que más se usan, son: • http_port: el puerto en el que Squid atenderá las peticiones que se le hagan. El valor estándar es 3128; si necesita cambiar este valor, descomente la línea y cambie el puerto por otro que no se esté utilizando. • cache_mem: Para tener un buen rendimiento Squid utiliza bastante memoria. Demora mucho tiempo para leer algo del disco duro, por eso almacena las informaciones más utilizadas directamente de la memoria. De manera estándar, el servidor utiliza 8 MB de memoria. Observe que este valor no limita la cantidad de memoria máxima utilizada por el proceso de Squid, sino solamente la cantidad utilizada para cache. Probable- 147 Capítulo 8. Servidor Proxy mente el proceso de Squid será 2 ó 3 veces mayor que el que se ha expuesto aquí. El valor recomendado depende del perfil de su servidor. Normalmente, debería utilizar 1/4 de la memoria RAM disponible para uso de cache. Por ejemplo, si su servidor tiene 128MB de memoria, debería asignar 32MB para el cache. Si su servidor es exclusivamente un servidor cache, debería asignar la mitad de la memoria RAM para este fin. • cache_swap_low y cache_swap_high: estos valores definen el valor mínimo y el valor máximo para la reposición de objetos almacenados. Estos valores se expresan en porcentajes, cuanto más cerca esté del valor máximo, más objetos se descartarán del cache para la entrada de nuevos. Los valores estándar son 90 y 95 respectivamente. • maximum_object_size: medido en bytes, especifica el tamaño máximo de los archivos que se deben almacenar en cache. Cualquier objeto que sobrepase este tamaño no se guardará en disco. El valor estándar es 4MB. • cache_dir: directorio en el que Squid almacenará los objetos de cache. Se pueden especificar múltiples líneas diferentes particiones del disco duro. cache_dir para dividir el cache entre La sintaxis de esta línea es: cache_dir TIPO PATH MB N1 N2 Donde: • 148 TIPO: especifica el tipo de sistema de asignación de espacio que se usará. En el caso de Linux, el tipo es siempre ufs. Capítulo 8. Servidor Proxy • • PATH: especifica el directorio de Linux donde se almacenarán los archivos. Este directorio ya debe existir, pues el Squid no lo crea. observe que, si no se especifica ninguna entrada cache_dir, el sistema utilizará el directorio /var/spool/squid. MB: es la cantidad máxima de espacio que se utilizará en este directorio. • N1: especifica el número máximo de subdirectorios que podrán crearse abajo del directorio de cache. • N2: especifica el número máximo de subdirectorios que podrán crearse abajo de los subdirectorios creados en N1. • cache_access_log: archivo en el que se generará un registro de los accesos al servidor. El archivo estándar es /var/log/squid/access.log. • cache_log: archivo donde se guarda información general sobre el comportamiento de cache. El valor estándar es /var/log/squid/cache.log. • autenthicate_program: es común que los administradores le restrinjan a sus clientes el acceso al proxy. Para esto, puede pedirle al usuario el login y contraseña, para que pueda navegar utilizando el proxy. Este servicio se hace a través del autenthicate_program (programa autenticador). El paquete Squid incluye un programa autenticador llamado ncsa_auth, que utiliza archivos de contraseñas en formato htpasswd de Apache. Si quiere puede utilizar otro programa. El ejecutable del ncsa_auth está en el directorio /usr/doc/squid<versión>. Es 149 Capítulo 8. Servidor Proxy preferible copiarlo en un directorio de archivos binarios (/usr/bin por ejemplo). Una línea típica de configuración sería: autenthicate_program /usr/bin/ncsa_auth /etc/squid/squid_passwd El archivo /etc/squid/squid_passwd debe crearse y actualizarse con el comando htpasswd. Este archivo se utiliza para crear usuarios de Squid. Si el archivo aún no existe, use la opción -c. Por ejemplo, para agregar el usuario juan y crear el archivo squid_passwd: # htpasswd -c /etc/squid/squid_passwd juan Posteriormente, si quiere adicionar otro usuario, llamado fulano: # htpasswd /etc/squid/squid_passwd fulano De manera estándar, no se utiliza el programa autenticador. Si utiliza ncsa_auth (u otro autenticador), debe existir una lista de acceso del tipo proxy_auth para permitir el acceso o no. Las listas de acceso se documentan abajo. Opciones de seguridad La gran mayoría de los administradores de sistemas probablemente deseará definir una política de seguridad en Squid, es decir, definir quién accederá y a qué se podrá acceder. El primer paso para definir el control de acceso al proxy de Squid es el de crear 150 Capítulo 8. Servidor Proxy las listas de acceso. Las mismas de acceso solamente le dan nombre a los objetos. Estos objetos pueden ser dominios de origen, dominios de destino, direcciones de IP, etc. La forma general de una línea de lista de acceso es: acl NOMBRE TIPO OBJ1 OBJ2... Donde: • NOMBRE: es un nombre que se utilizará para identificar esa lista de acceso. • TIPO: indica cuál es el objeto al que nos referimos en esa línea. Puede ser: • src: Especifica un IP/máscara de origen, o sea, entran en esta categoría las peticiones que partieron de la red. Ejemplo: acl localhost src 127.0.0.1/255.255.255.255 Especifica una lista de acesso que se denomina localhost y se define como peticiones con origen en la máquina local (127.0.0.1). • dst: Especifica un IP/máscara de destino, o sea, entran en esta categoría todas las peticiones destinadas para ese par IP/máscara. • srcdomain: Especifica un dominio de origen, por lo tanto, entran en esta categoría las peticiones que partieron del dominio especificado. 151 Capítulo 8. Servidor Proxy • dstdomain: Especifica un dominio de destino, por lo que entran en esta categoría las peticiones de objetos localizados en aquel dominio. • time: Especifica una expresión que describe “tiempo”. Está formada por una expresión de fecha, que es una lista de abreviaciones de los días de la semana (S domingo, M - lunes, T - martes, W - miércoles, H - jueves, F - viernes y A - sábado), seguida por un intervalo de fechas con formato hh1:mm1-hh2:mm2. • ident: especifica uno o más nombres de usuario. Existen otras opciones posibles para las listas de control, pero como son menos utilizadas, no las analizaremos en esta sección. Para obtener más información sobre las otras opciones de seguridad, puede leer el archivo squid.conf. Squid define las listas de acceso estándar que presentamos a continuación: acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl SSL_ports port 443 563 acl Safe_ports port 80 21 443 563 70 210 1025-65535 152 acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker Capítulo 8. Servidor Proxy acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT 1. acl all src 0.0.0.0/0.0.0.0: esta acl define todas las máquinas de la red (0.0.0.0/0.0.0.0) con el nombre all. 2. acl manager proto cache_object: El campo proto en esta línea significa que la acl bloquea un protocolo específico, en este caso el protocolo cache_object. Podrían ser los protocolos FTP o HTTP. Si no conoce el protocolo cache_object, no se preocupe - es un protocolo particular del Squid que devuelve la información al servidor sobre cómo está configurada la cache o cómo está ejecutándose. 3. acl localhost src 127.0.0.1/255.255.255.255: Esta acl define la máquina localhost, y recibe el mismo nombre. 4. Las acls: acl SSL_ports port 443 563 acl Safe_ports port 80 21 443 563 70 210 1025-65535 acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http 153 Capítulo 8. Servidor Proxy Estas acls contienen los puertos considerados seguros para el proxy. Todos los otros puertos se consideran inseguros y se niega el acceso. 5. acl CONNECT method CONNECT: esta acl contiene el método de acceso a los archivos en la red (GET,POST). El método CONNECT vale tanto para GET como para POST. Podemos además crear otra lista de acceso que se refiere a los usuarios del sistema. acl password proxy_auth REQUIRED El nombre de la lista es password y es del tipo proxy_auth (autenticación de usuarios). El campo REQUIRED le informa a Squid que debe buscar el nombre y la contraseña en el archivo /etc/squid/squid_passwd. Después de definir las listas de acceso, se pueden definir las restricciones propiamente dichas. Esto puede hacerse con la directriz httpd_access. Las restricciones estándar de Squid son: http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access deny all Estas instrucciones significan: 154 Capítulo 8. Servidor Proxy 1. http_access allow manager localhost: da acceso al protocolo cache_object sólo al propio servidor (localhost). 2. http_access deny cache_object. manager: le niega a cualquier otra máquina el acceso al protocolo 3. http_access deny !Safe_ports: niega acceso a cualquier otro puerto diferente de los definidos en la acl Safe_ports. 4. http_access deny CONNECT !SSL_ports Es peligroso permitir que Squid se conecte a ciertos puertos. Por ejemplo, está demostrado que se puede utilizar Squid como relay de SMTP (email). El Relay de SMTP es una de las formas posibles de llenar (flood) los buzones de correo. Para prevenir el relay de emails, Squid niega peticiones cuando el número del puerto de la URL es 25 (puerto SMTP). Otros puertos también se bloquean. La regla 3 informará a Squid que debe negar el acesso a cualquier puerto que no esté en la lista Safe_ports. La regla 4 niega cualquier conexión que no provenga de puertos seguros. De manera estándar, Squid niega acceso a todo y a todos. Para permitir la utilización del proxy de Squid se lo debe configurar para que permita el acceso. Normalmente, sólo es necesario insertar una regla más: http_access allow all Obviamente, esto no restringe el acceso a su servidor proxy, al contrario, libera 155 Capítulo 8. Servidor Proxy el acceso a cualquier máquina en Internet. Para restringir el acceso sólo para usuarios de su sistema, puede insertar la siguiente instrucción: http_access allow password La ACL password exige que los usuarios suministren una contraseña para poder utilizar proxy. Observe que el orden de esas reglas es muy importante. Usted debe ponerlas en el mismo orden en el que se presentaron en esta sección. Configuración de la estación Como dijimos anteriormente, para utilizar el servidor proxy, sólo hay que configurar el navegador. Desafortunadamente, cada uno tiene su propio procedimiento de configuración. Analizaremos los 2 navegadores más utilizados. Para obtener información sobre cómo configurar otros navegadores, consulte la documentación de los mismos. 156 Capítulo 8. Servidor Proxy Netscape Communicator® Para configurar Netscape, se debe hacer clic en Editar→Preferencias. En el diálogo de Preferencias se debe hacer clic en Avanzado→Servidores Proxy. La Figura 8-2 muestra la pantalla de configuración del servidor proxy. Seleccione la opción Configuración manual de proxy y haga clic en Ver. 157 Capítulo 8. Servidor Proxy Figura 8-2. Configuración del servidor proxy en Netscape® Debe colocar los datos referidos a su servidor proxy. Si suponemos que su servi- 158 Capítulo 8. Servidor Proxy dor es el 8-3. kepler.miorganizacion, la configuración quedaría como la de la Figura Figura 8-3. Configuración manual del servidor proxy en Netscape® Observe que en este ejemplo utilizamos el servidor para FTP, HTTP y HTTPS. 159 Capítulo 8. Servidor Proxy Además, se le dan instrucciones al navegador para que no utilice proxy para direcciones locales (miorganizacion). StarOffice® Para configurar StarOffice® para que utilice el servidor proxy de Squid, haga clic en Herramientas→Opciones: Figura 8-4. Configuración del servidor proxy en StarOffice® Sólo necesita colocar los datos sobre su servidor proxy. En el ejemplo de la Figura 8-4, el servidor es la máquina kepler.miorganizacion y sirve de proxy para los protocolos FTP, HTTP y HTTPS. 160 Capítulo 8. Servidor Proxy Cómo iniciar Squid Para iniciar Squid en Conectiva Linux, abra un terminal y teclee: # cds atalk dhcpd httpd mysql nfs smb atd functions inet named nfslock snmpd autofs gpm keytable netfs pcmcia squid crond halt killall network portmap sshd # ./squid start Iniciando Squid [ OK ] Para que Squid se inicie siempre junto con el sistema, debe utilizar ntsysv # /usr/sbin/ntsysv 161 Capítulo 8. Servidor Proxy 162 Capítulo 9. IP Masquerading 163 Capítulo 9. IP Masquerading Presentación Figura 9-1. Servidor compartiendo conexión 164 Capítulo 9. IP Masquerading Una de las características más populares de los servidores Linux es el IP Masquerading. El IP Masquerading permite que una máquina Linux equipada con un modem pueda funcionar como encaminador de una red de tamaño pequeño. Eso le permite conectar estaciones a Internet por bajo costo. Requisitos Para implementar esta solución de IP Masquerading su red debe estar funcionando correctamente, o sea, usted debe poder acceder a otras máquinas en su red. Instalación Para instalar el IP Masquerading, haga lo siguiente: 1. Acceda al directorio de paquetes del CD 1 de Conectiva Linux: # cd /mnt/cdrom/conectiva/RPMS 165 Capítulo 9. IP Masquerading 2. Si no tiene instalado el PPPd, tendrá que instalarlo: # rpm -ivh ppp-2.3.11-5cl.i386.rpm ppp ########################### 3. Instale el ipchains: # rpm -ivh ipchains-1.3.9-4cl.i386.rpm ipchains ########################### Configuración Para configurar su servidor para IP Masquerading, haga lo siguiente: 1. Vaya al directorio /etc/rc.d/init.d. 2. Use el editor de textos de su preferencia y cree un archivo con el nombre que tenga el siguiente contenido: 166 ipchains Capítulo 9. IP Masquerading #! /bin/sh # description: Iniciación del ipchains # # chkconfig: 2345 80 30 # processname: ipchains # pidfile: /var/run/ipchains.pid . /etc/rc.d/init.d/functions . /etc/sysconfig/network if [ ${NETWORKING} = "no" ] then exit 0 fi case "$1" in start) gprintf "Iniciando el servicio de %s: " "IPChains" echo echo 1 > /proc/sys/net/ipv4/ip_forward /sbin/ipchains -A forward -s 10.0.0.0/24 -j MASQ 167 Capítulo 9. IP Masquerading /sbin/modprobe ip_masq_ftp /sbin/modprobe ip_masq_quake /sbin/modprobe ip_masq_irc /sbin/modprobe ip_masq_user /sbin/modprobe ip_masq_raudio ;; stop) gprintf "Parando el servicio de %s: " "IPChains" echo /sbin/ipchains --flush /sbin/rmmod ip_masq_ftp /sbin/rmmod ip_masq_quake /sbin/rmmod ip_masq_irc /sbin/rmmod ip_masq_user /sbin/rmmod ip_masq_raudio ;; *) gprintf "Uso: ipchains (start|stop)" hecho ;; esac 168 Capítulo 9. IP Masquerading exit 0 Observe que la línea /sbin/ipchains -A forward -s 10.0.0.0/24 -j MASQ especifica que su dirección de red es 10.0.0.0. Si usted utiliza otra dirección, cambie la línea anterior de acuerdo con la que 2 utiliza. 3. Dé permiso de escritura al archivo recién creado: # chmod a+x /etc/rc.d/init.d/ipchains 4. Use el comando ntsysv para hacer que el ipchains se cargue junto con el sistema: 169 Capítulo 9. IP Masquerading Figura 9-2. Marcando el ipchains para que se inicie automáticamente Configuración de las estaciones La configuración de las estaciones de trabajo para utilizar el IP Masquerading es bastante sencilla tanto para estaciones Conectiva Linux como para estaciones Windows®. 170 Capítulo 9. IP Masquerading Conectiva Linux Para configurar la estación Conectiva Linux con el fin de utilizar el servidor para conectarse a Internet, haga los siguiente: 1. Abra Linuxconf. 2. Vaya al Configuración de Red→Tareas como cliente→Rutas y gateways : Figura 9-3. Rutas y gateways 171 Capítulo 9. IP Masquerading 3. Haga clic en Valores por defecto e informe la dirección de IP de su servidor. Deje desactivada la opción Activando ruteo. Figura 9-4. Definiendo el encaminador 4. Salga de Linuxconf y active la configuración cuando se le solicite. No es necesario reiniciar la máquina. 172 Capítulo 9. IP Masquerading Windows® Para configurar una estación Windows® y hacer que ella utilice el servidor para conectarse a Internet, haga lo siguiente: 1. Vaya a Iniciar→Configuración→Panel de Control→Red. 2. haga clic en TCP/IP y presione el botón Propiedades. 3. Haga clic en Configuración DNS. 4. Haga clic en Activar DNS, en el campo Host escriba el nombre de su máquina y en el campo Dominio, el nombre de su dominio. 5. En Orden pesquisa servidor DNS escriba la dirección de IP de su servidor y haga clic en Agregar. 6. En Orden pesquisa sufijo dominio escriba el nombre de su dominio y haga clic en Agregar. 7. Haga clic en Gateway. 8. Haga clic en Ok y salga de la configuración de red. Tendrá que reiniciar el computador. Para probar la configuración, después de reiniciar la máquina intente acceder a alguna dirección de Internet. 173 Capítulo 9. IP Masquerading 174 Capítulo 10. Servidor PPP Presentación Usted puede permitir que sus usuarios accedan a su sistema remotamente a través de una conexión dial-up PPP. Con Conectiva Linux, se pueden configurar uno o más puertos para que permitan el acceso remoto de usuarios. En este capítulo le mostraremos cómo configurar su servidor para que permita el acceso remoto. Requisitos Para implementar esta solución de acceso remoto, usted necesitará: • Un puerto para utilizarlo con el PPP. • Una línea dedicada a acceso remoto. 175 Capítulo 10. Servidor PPP • Una conexión funcional a Internet, si desea permitir que los usuarios puedan acceder a ésta remotamente. Instalación Para instalar los paquetes necesarios para implementación de esta solución, realice los siguientes pasos: 1. Acceda al directorio de paquetes del CD 1 de Conectiva Linux: # cd /mnt/cdrom/conectiva/RPMS 2. Instale el paquete del ppp: # rpm -ivh ppp-2.3.11-5cl.i386.rpm ppp ############################## 3. Instale el paquete de mgetty: # rpm -ivh mgetty-1.1.21-2cl.i386.rpm 176 Capítulo 10. Servidor PPP mgetty ############################## Configuración Para configurar el acceso remoto en su servidor, realice los siguientes pasos: 1. Acceda al directorio de configuraciones de Conectiva Linux: # cd /etc 2. Use el editor de textos de su preferencia para abrir el archivo inittab. En el inittab, usted debe incluir una línea para cada puerto utilizado para el PPP. Por ejemplo, si pretende utilizar un modem en el puerto ttyS2. La línea correspondiente en el inittab debe ser: S2:2345:respawn:/sbin/mgetty ttyS2 -D /dev/ttyS2 Obviamente, si usted utiliza una tarjeta multiserie, el nombre del dispositivo será diferente. Por ejemplo, una tarjeta Cyclades® probablemente se llamará 177 Capítulo 10. Servidor PPP ttyCn, donde n es un número secuencial. 3. Para utilizar las nuevas configuraciones, después de grabar el archivo y salir del editor de textos, usted debe hacer que el init lea nuevamente el /etc/inittab. # init q 4. Acceda al directorio de configuraciones del mgetty: # cd /etc/mgetty+sendfax 5. Use el editor de textos de su preferencia para editar el archivo login.config. Al abrir el archivo, usted debe buscar una línea comentada (iniciada con "#") semejante a: #/AutoPPP/ - a_ppp /usr/sbin/pppd auth -chap +pap login debug Cuando la encuentre, debe editarla retirando el símbolo "#" inicial. Observe que en esta línea, usted puede definir las opciones del ppp. En este caso, el ppp utilizará autenticación PAP usando los usuarios del /etc/passwd. 178 Capítulo 10. Servidor PPP 6. Grabe el archivo y salga del servidor. 7. Acceda al directorio de configuraciones del ppp: # cd /etc/ppp 8. Usted debe crear un archivo para cada puerto utilizado para acceso remoto. Los nombres de esos archivos deben tener el formato options.PUERTO. Por ejemplo, para el puerto ttyS2, el archivo se llamará options.ttyS2. Este archivo debe incluir dos informaciones: la dirección de IP del servidor y la dirección de IP del cliente. Por ejemplo, si el archivo options.ttyS2 tiene el siguiente contenido: 203.120.219.12:203.120.220.2 Cuando un cliente se conecte a través del puerto ttyS2, tendrá la dirección IP 203.120.220.2 y la dirección IP del servidor será 203.120.219.12. 179 Capítulo 10. Servidor PPP 180 Capítulo 11. Radius y Portslave 181 Capítulo 11. Radius y Portslave Presentación Figura 11-1. Servidor de acceso solicita permiso de ingreso al servidor de autentica- 182 Capítulo 11. Radius y Portslave ción. Una de las dudas más frecuentes de los administradores de sistemas, especialmente de proveedores de acceso, se refiere a la instalación y configuración del Radius y del Portslave. Radius es un protocolo de autenticación de usuarios que permite más seguridad en los accesos remotos para su sistema. Cuando un usuario intenta acceder al sistema, un servidor de acceso hace una requisición al servidor de autenticación para que éste valide el intento de acceso, retornando el resultado al servidor de acceso. Eso permite centralizar el proceso de autenticación, ya que usted puede tener diversos servidores de acceso usando un solo servidor de autenticación central. Como servidor de acceso usted puede optar por la utilización de hardware específico (por ejemplo, Livingston Portmaster II, Total Control de 3Com y Pathras de Cyclades) o entonces una máquina Conectiva Linux ejecutando Portslave . El Portslave es una opción de software para servidores de acceso. El Portslave emula al Livingstone Portmaster II. En este capítulo le mostraremos cómo configurar un servidor Radius con Portslave. 183 Capítulo 11. Radius y Portslave Requisitos Para implementar un servidor Radius, se necesita: • Un modem. • Una tarjeta multiserie para permitir un mayor número de conexiones (optativo). • pppd correctamente configurado para aceptar conexiones. Instalación de Radius Para instalar Radius, haga lo siguiente: 1. Acceda al directorio de paquetes del CD 1 de Conectiva Linux: # cd /mnt/cdrom/conectiva/RPMS 2. Instale el paquete: # rpm -ivh radiusd-cistron-1.6.1-4cl.i386.rpm radiusd-cistron ############################### 184 Capítulo 11. Radius y Portslave Configuración de Radius La configuración de Radius debe hacerse a través de la edición de tres archivos de configuración: /etc/raddb/clients, /etc/rddb/naslist y /etc/rddb/users. El archivo clients Este archivo contiene una lista de clientes que tienen permiso para requerir autenticación y sus claves de criptografía. Específicamente, usted incluirá en este archivo los servidores de acceso y sus claves en el siguiente formato: CLIENTE CLAVE Donde: 1. CLIENTE: es el nombre del servidor de acceso que puede hacer una petición. 2. CLAVE: es una clave que debe usarse para descifrar las peticiones. Ejemplo: 185 Capítulo 11. Radius y Portslave es.miorganizacion.com qw28ue23 co.miorganizacion.com clave123 ar.miorganizacion.com 123clave En el ejemplo anterior el servidor Radius de la empresa hipotética Mi organización Ltda. centraliza la autenticación en un servidor que hace la autenticación para tres servidores de acceso localizados en lugares aislados (España, Colombia y Argentina). Cada uno de estos servidores de acceso debe utilizar una clave propia para codificar sus peticiones al servidor. El archivo naslist Este archivo contiene una lista de servidores de acceso conocidos. El archivo contiene información sobre el tipo de servidor de acceso. Su formato es el siguiente: SERVIDOR ALIAS TIPO Donde: • SERVIDOR: es el nombre del servidor de acceso. • ALIAS: es un nombre corto para identificar al servidor en archivos de registro. • TIPO: identifica el tipo de servidor de acceso. Puede ser livingston, cisco, multitech, 186 Capítulo 11. Radius y Portslave computone, max40xx, portslave, tc, pathras, usrhiper y other. Ejemplo: es.miorganizacion.com ES portslave co.miorganizacion.com CO portslave ar.miorganizacion.com AR livingstone El archivo users Este archivo define la forma como el servidor Radius autenticará a los usuarios. En nuestro ejemplo, usaremos el propio archivo de contraseñas de Conectiva Linux para autenticar usuarios, o sea, los usuarios del sistema podrán conectarse remotamente. Para permitir el acceso de los usuarios del sistema, siga los pasos siguientes: 1. Acceda al directorio de configuración de Radius: # cd /usr/raddb 2. Use su editor de textos favorito para editar el archivo users. 187 Capítulo 11. Radius y Portslave 3. El contenido del archivo deberá ser: DEFAULT Auth-Type = System Framed-IP-Address = 255.255.255.254, Framed-MTU = 576, Service-Type = Framed-User, Framed-Protocol = PPP, Framed-Compression = Van-Jacobson-TCP-IP 4. Inicie el servidor Radius: # cds atalk halt network radiusd sshd atd httpd nfs random syslog autofs inet nfslock sendmail unfs crond ipchains pcmcia single xfs dhcpd keytable portmap smb xfstt functions killall postgresql snmpd ypbind gpm kudzu radinit.sh squid yppasswdd [root@gnu init.d]# ./radiusd start Iniciando el servidor radiusd: 188 [ OK ] Capítulo 11. Radius y Portslave 5. Pruebe la instalación a través del comando radtest. Primero pruebe con un usuario que realmente esté registrado en su sistema, o sea, que debe recibir permiso de acceso. Por ejemplo, supongamos que queremos probar el intento del usuario "andres" para conectarse al puerto 21 con su contraseña "contraseña123". La petición viene del servidor de acceso ar.miorganizacion.com (observe que el último parámetro es la clave definida en el archivo clients): # radtest andres contraseña123 ar.miorganizacion.com 21 qw28ue23 Sending request. radrecv: Reply from host 100007f code=2, id=1, length=50 Framed-IP-Address = 255.255.255.254 Framed-MTU = 576 Service-Type = Framed-User Framed-Protocol = PPP Framed-Compression = Van-Jacobson-TCP-IP El usuario podría conectarse. Ahora pruebe nuevamente, pero informe una contraseña incorreta: # radtest andres contraseñaincorrecta ar.miorganizacion.com 21 qw28ue23 Sending request. radrecv: Reply from host 100007f code=3, id=72, length=20 Access denied. 189 Capítulo 11. Radius y Portslave El servidor de autenticación no permitiría el acceso. Otra posibilidad es que el servidor de acceso envíe al servidor Radius, una clave de codificación equivocada: ># radtest andres contraseña123 ar.miorganizacion.com 21 claveequivocada Sending request. Warning: Received invalid reply digest from server radrecv: Reply from host 100007f code=3, id=99, length=20 Access denied. Instalación del Portslave Para instalar el Portslave, siga los pasos siguientes: 1. Acceda al directorio de paquetes del CD 1 de Conectiva Linux: # cd /mnt/cdrom/conectiva/RPMS 190 Capítulo 11. Radius y Portslave 2. Instale el paquete: # rpm -ivh portslave-1.2.0pre12-2cl.i386.rpm portslave ################################ Configuración del Portslave La configuración del Portslave debe hacerse a través de la edición de un archivo de configuración denominado /etc/portslave/pslave.conf. A continuación presentaremos las opciones más útiles: • conf.hostname ar.miorganizacion.com Nombre de la máquina. • conf.ipno 192.168.42.21 Dirección de IP. Si no se informa esta opción, se utiliza la dirección de la máquina. Esta dirección se utiliza como dirección local de conexiones PPP y 191 Capítulo 11. Radius y Portslave SLIP. • conf.locallogins 1 Si usted especifica el valor "1" a esta opción, puede conectarse localmente colocando un signo de exclamación antes del nombre del usuario; esto es útil en emergencias cuando el servidor Radius está fuera del aire. • conf.syslog log.miorganizacion.com El Portslave puede utilizar un servicio de syslog remoto. Si usted desea utilizar el syslog local no defina esta opción. • all.authhost1 kepler.miorganizacion.com all.acchost1 kepler.miorganizacion.com all.radtimeout 3 all.authhost2 galileo.miorganizacion.com all.acchost2 galileo.miorganizacion.com Servidores de autenticación y contabilidad. Se pueden tener dos de cada tipo. Se intenta 3 veces el primero, antes de intentar el segundo. • all.secret qw28ue23 Es la clave utilizada para codificar las peticiones al servidor. Obviamente debe ser la misma que se ha informado en el archivo /etc/raddb/clients en el servidor Radius. • all.protocol rlogin all.host kepler.miorganizacion.com 192 Capítulo 11. Radius y Portslave Protocolo y máquinas estándar. En el caso anterior, el protocolo estándar es el rlogin y la máquina estándar kepler.miorganizacion.com. • all.ipno 192.168.42.65+ all.netmask 255.255.255.255 all.mtu 1500 Patrones de direccionamiento de IP. Definen el IP estándar, el patrón y el MTU. • all.issue \n\ Mi organización Ltda. \n\ Bienvenidos al servidor %h puerto %p\n Mensaje que aparece cuando se efectúa la conexión. • all.prompt Mi organización login: Prompt de login. • all.term vt100 Tipo de terminal para sesiones de rlogin y telnet. • all.porttype 0 Tipo del puerto. Puede ser: • 0 asíncrona; • 1 síncrona; 193 Capítulo 11. Radius y Portslave • • 2 ISDN; • 3 ISDN-V120; • 4 ISDN-V110 all.speed 115200 Velocidad del puerto. • all.initchat "" \d\l\dATZ OK\r\n-ATZ-OK\r\n all.waitfor RING all.answer "" ATA CONNECT@ all.aa 0 # auto-answer all.checktime 60 all.checkchat "" AT OK all.flow hard # hard(ware) o soft(ware) Opciones estándar del modem. • all.dcd 1 Indica si la sesión debe terminarse en caso de que el modem se desconecte. • all.autoppp proxyarp modem asyncmap 0 %i: \ noipx noccp login auth require-pap refuse-chap \ 194 Capítulo 11. Radius y Portslave mtu %t mru %t \ ms-dns 192.168.1.1 ms-dns 192.168.1.2 \ uselib /usr/lib/libpsr.so Opciones del pppd utilizadas si el Portslave detecta que pppd está siendo ejecutado. • all.pppopt proxyarp modem asyncmap 0 %i:%j \ noipx noccp mtu %t mru %t netmask %m \ idle %I maxconnect %T \ ms-dns 192.168.1.1 ms-dns 192.168.1.2 uselib /usr/lib/libpsr.so Opción utilizada para ejecutar el pppd. Además de editar el archivo pslave.conf, debe editar el /etc/inittab y agregar una línea para cada línea dialin que haya configurado. Las líneas deben ser algo parecido a: T0:23:respawn:/usr/bin/portslave 0 Después de editar el archivo, ejecute: # init q 195 Capítulo 11. Radius y Portslave 196 Capítulo 12. Recursos compartidos Presentación Compartir discos e impresoras en una red puede aumentar enormemente la productividad y economía en una empresa. Conectiva Linux ofrece una configuración fácil para compartir recursos mediante Linuxconf. Requisitos NFS Para implementar la solución basada en NFS, solamente necesita que su red esté funcionando correctamente. Se recomienda tener un servicio de nombres. 197 Capítulo 12. Recursos compartidos LPD Para implementar el LPD, necesita: • Una impresora conectada al servidor. • Red correctamente configurada. • Un servicio de nombres opcional. Instalación NFS Para instalar el NFS, realice los siguientes pasos: 1. Acceda al directorio de paquetes del CD 1 de Conectiva Linux: # cd /mnt/cdrom/conectiva/RPMS 198 Capítulo 12. Recursos compartidos 2. Instale los paquetes del NFS: rpm -ivh nfs-server-* nfs-server ################################## 3. Inicie el servicio: # cds atalk halt ldap network radiusd atd httpd linuxconf-setup nfs random autofs inet lpd nfslock sendmail crond ipchains mars-nwe pcmcia single dhcpd keytable mysql portmap smb functions killall named postgresql snmpd gpm kudzu netfs radinit.sh squid [root@gnu init.d]# ./nfs start Iniciando los servicios NFS: [ OK ] Iniciando quotas (NFS) [ OK ] Iniciando mountd (NFS) [ OK ] Iniciando statd (NFS) [ OK ] Iniciando nfsd (NFS) [ OK ] 199 Capítulo 12. Recursos compartidos LPD Para instalar el LPD, realice los siguientes pasos: 1. Acceda al directorio de paquetes del CD 1 de Conectiva Linux: # cd /mnt/cdrom/conectiva/RPMS 2. Instale el paquete: rpm -ivh lpr-* lpr ###################################### 200 Capítulo 12. Recursos compartidos Configuración NFS Exportando un directorio En esta sección mostraremos cómo exportar un directorio (en este caso, el /tmp). Siga los pasos que presentamos a continuación: • Acceda al directorio de paquetes del CD 1 de Conectiva Linux: # cd /mnt/cdrom/conectiva/RPMS • Instale el paquete del NFS: # rpm -ivh nfs-server-* nfs-server ############################### • Utilice Linuxconf y vaya a Configuración de Red→Tareas como Servidor→NFS: filesystems exportados (Figura 12-1): 201 Capítulo 12. Recursos compartidos Figura 12-1. Exportando sistemas de archivos • Presione Agregar. La pantalla siguiente le permite informar los datos que se refieren al directorio que será exportado (Figura 12-2). 202 Capítulo 12. Recursos compartidos Figura 12-2. Informaciones del directorio que se exportará Escriba el nombre del directorio en el primer campo. Si lo desea, puede poner un pequeño comentario en el segundo campo. Ahora puede definir quién podrá utilizar el directorio. Si no rellena nada, todos tendrán acceso. En el ejemplo anterior, definimos que todas las máquinas del dominio miorganizacion podrán montar el directorio. Observe que también definimos que los usuarios podrán grabar datos en este directorio. 203 Capítulo 12. Recursos compartidos • Presione Aceptar. Volverá a la pantalla anterior y podrá ver que se exportó del directorio /tmp (Figura 12-3). Figura 12-3. Confirmación de la exportación Montando un directorio remoto En esta sección montaremos el directorio /tmp que fue exportado en la sección anterior. Montaremos este directorio remoto en un directorio local llamado /mnt/tmp. Realice los siguientes pasos: 204 Capítulo 12. Recursos compartidos 1. Cree el directorio /mnt/tmp: # mkdir /mnt/tmp 2. Ahora, para montar el directorio temporalmente, escriba el siguiente comando: # mount -t nfs kepler.miorganizacion:/tmp /mnt/tmp 3. Para montar el directorio de tal forma que se monte siempre cuando se reinicie la máquina, entre en el Linuxconf y vaya a Sistemas de Archivos→Acceder un volumen NFS (Figura 12-4). Figura 12-4. Acceder volumen NFS 205 Capítulo 12. Recursos compartidos 4. Presione Agregar (Figura 12-5). Figura 12-5. Agregando un volumen NFS Simplemente escriba las informaciones sobre el directorio /tmp y su punto de montaje y presione Aceptar. 206 Capítulo 12. Recursos compartidos 5. Vuelva a la pantalla anterior donde puede verificar que se montó el directorio (Figura 12-6). Figura 12-6. Confirmación de montaje LPD Antes de proseguir, tendrá que incluir una impresora en el servidor de impresión. Para hacer eso, ejecute los pasos que presentamos a continuación: 207 Capítulo 12. Recursos compartidos 1. Abra Linuxconf y vaya a Servicios Misceláneos (Figura 12-7). Figura 12-7. Servicios misceláneos 208 Capítulo 12. Recursos compartidos 2. Presione el botón Impresora (Figura 12-8). Figura 12-8. Servicios diversos 3. Si ya tiene una impresora instalada, puede saltar el paso 10, si no presione Agregar/Editar impresoras. La próxima pantalla muestra las impresoras ya instaladas (Figura 12-9). 209 Capítulo 12. Recursos compartidos Figura 12-9. Agregar impresoras 4. Haga clic en Agregar (Figura 12-10). 210 Capítulo 12. Recursos compartidos Figura 12-10. Impresoras Instaladas Seleccione el nombre que se utilizará para la impresora, defina si es una impresora local o remota y presione Aceptar. 5. Volverá a la pantalla anterior. Pero ahora aparecerá la impresora añadida (Figura 12-11). 211 Capítulo 12. Recursos compartidos Figura 12-11. Confirmación de adición 6. Haga clic sobre la impresora para editar sus propiedades. En la pantalla siguiente, haga clic en Opciones de Filtros (Figura 12-12). 212 Capítulo 12. Recursos compartidos Figura 12-12. Opciones de filtros 7. Presione Seleccionar filtro para escoger el driver para su impresora (Figura 12-13). 213 Capítulo 12. Recursos compartidos Figura 12-13. Seleccionando un driver 8. De regreso a la pantalla anterior, presione Aceptar. 9. Continúe hasta retornar a la pantalla inicial de configuración de impresoras. 10. Presione Autorizaciones de Red (Figura 12-14). 214 Capítulo 12. Recursos compartidos Figura 12-14. Máquinas autorizadas para utilizar la impresora 11. Haga clic en Agregar para añadir clientes (Figura 12-15). 215 Capítulo 12. Recursos compartidos Figura 12-15. Agregando un cliente Simplemente escriba el nombre o dirección de IP de la máquina autorizada. 12. Presione Aceptar para volver a la pantalla anterior, donde podrá ver una lista de las máquinas añadidas (Figura 12-16). 216 Capítulo 12. Recursos compartidos Figura 12-16. Lista de máquinas autorizadas 217 Capítulo 12. Recursos compartidos 218 Capítulo 13. FreeS/WAN 219 Capítulo 13. FreeS/WAN Presentación 220 Capítulo 13. FreeS/WAN En este capítulo usaremos un paquete llamado FreeS/WAN, una implementación de IPSec de libre distribución para IPv4 del kernel de Conectiva Linux. IPSec está actualmente en la versión 1.3. Con esta herramienta debidamente configurada, estará creada una red segura entre dos gateways en Internet. Hay varias herramientas que funcionan en forma similar, a lo que hace FreeS/WAN. Podemos citar VTun, CIPE, STunnel, y el propio sistema de IP-IP del kernel de Linux, por ejemplo. Todas las herramientas disponibles presentan alguna ventaja o desventaja. Generalmente las características presentes o ausentes son: capacidad de codificar los datos, desempeño en el encapsulamiento, capacidad de compactación de los paquetes originales, implementación a nivel de kernel o de usuario. El IPSec sobresale entre todas las herramientas porque es una implementación a nivel de kernel (incluye un nuevo protocolo en el kernel), rápido, muy seguro (puede utilizar RSA para criptografía) y además realiza la autenticación solamente cuando la criptografía no es necesaria. El IPSec es la manera más genérica de proveer servicios de criptografía para Internet. Serviços de alto nivel protegen exclusivamente un solo protocolo. Por ejemplo, PGP protege solamente mail, SSH protege sólo sesiones de shell (con posibles extensiones), HTTPS protege sólo páginas de Internet y así sucesivamente. Servicios de bajo nivel protegen un solo medio. Por ejemplo, un par de codificadores en los extremos de una línea telefónica con un modem hará que la intercepción sea inútil a menos que el atacante sepa descifrar el código que se usó en 221 Capítulo 13. FreeS/WAN la criptografía (Figura 13-2). Figura 13-2. Seguridad entre dos modems La implementación IPSec, puede proteger cualquier protocolo y cualquier medio que corra en IP. Más específicamente, puede proteger diversos protocolos corriendo sobre una combinación compleja de medios. Esto es lo normal en Internet. IPSec es la única solución de uso general. Cabe mencionar que IPSec no realiza la criptografía de punto a punto. Es decir, 222 Capítulo 13. FreeS/WAN no hace que el paquete salga de la máquina ya codificado y llegue a su destino todavía codificado (esto exigiría cambios en las máquinas-clientes), sólo codifica los paquetes cuando éstos pasan por dentro de un gateway, y los lleva de esta forma hasta otro gateway que los decodificará. Se utilizan los propios IPs de las máquinas-cliente, sin que éstas tengan conocimiento de ello. Por eso, el nivel de seguridad que proporciona IPSec necesita otros requisitos: por sí, no podrá ofrecer garantías si la propia red interna no es segura (hasta el siguiente gateway). Si fuera necesario criptografiar end-to-end, se deben utilizar otras aplicaciones, como PGP para mail y SSH para shell, por ejemplo. Requisitos Para implementar esta solución, se deben cumplir los siguientes requisitos: • Los dos lados de la red deben tener direcciones IP diferentes. • El sistema debe tener preferentemente el kernel 2.2.14. • El DNS ya debe estar configurado correctamente. • El arquivo /etc/sysconfig/network debe contener la siguiente línea: FORWARD_IPV4 = "yes" 223 Capítulo 13. FreeS/WAN • El archivo /etc/sysconfig/cl-firewall debe contener la siguiente línea: RP_FILTER=0 Instalación Para instalar FreeS/WAN: • Acceda al directorio de paquetes del CD 1 de la distribución de Conectiva Linux: # cd /mnt/cdrom/conectiva/RPMS • Instale el paquete de FreeS/WAN: # rpm -ivh freeswan-* freeswan 224 ################################## Capítulo 13. FreeS/WAN Configuración No se necesita realizar ninguna configuración en las estaciones, sólo en los gateways. Toda la configuración se basa solamente en dos archivos: /etc/ipsec.conf y /etc/ipsec.secrets El primero guarda la configuración general de IPSec, y el segundo las claves de criptografías (para cualquiera de los dos casos, claves intercambiadas o claves RSA pública/privada). Por seguridad, ambos archivos deben tener permisos 600. El dueño y el grupo deben ser root:root. # chown root:root /etc/ipsec.conf # chmod 600 /etc/ipsec.conf # chown root:root /etc/ipsec.secrets # chmod 600 /etc/ipsec.secrets El archivo ipsec.conf A continuación presentaremos un ejemplo (para el caso más común). Sólo se colocaron las partes más importantes. Lo demás puede dejarse de la manera como está en el archivo original. 225 Capítulo 13. FreeS/WAN Imagínese el siguiente ejemplo (Figura 13-3): Figura 13-3. Ejemplo de caso común de IPSec A continuación presentamos un archivo de configuración que serviría para la red anterior. Observe que el archivo de configuración original es mucho más completo, aquí sólo se mostraron las partes más importantes, el resto del archivo puede dejarse tal como está, salvo nota específica. 226 Capítulo 13. FreeS/WAN config setup interfaces=%defaultroute \ klipsdebug=none plutodebug=none conn %default esp=3des-md5-96 authby=rsasig conn con123 left=192.168.255.213 leftsubnet=192.168.6.0/24 #leftnexthop=192.168.255.220 leftrsasigkey=0x01039d827220755... #leftfirewall=yes right=10.0.2.25 rightsubnet=192.168.7.0/24 #rightnexthop=10.0.0.1 rightrsasigkey=0x01034bd3e30995... #rightfirewall=yes auto=start En la primera sección tenemos config setup, que especifica la sección general 227 Capítulo 13. FreeS/WAN de configuración de IPSec. Esta sección normalmente no será modificada. Tenga cuidado para que por lo menos las líneas listadas existan y estén correctas. Enseguida, tenemos conn %default. Esta sección no indica una conexión específica, pero sirve para que usted pueda listar todos los parámetros que quiera que sean válidos para todas las conexiones. Listar alguna opción aquí equivale a listarla varias veces dentro de cada una de las conexiones. En el ejemplo anterior están listadas dos keywords interesantes (las otras pueden dejarse como están en el original). La opción esp=3des-md5-96 indica el tipo de criptografía que queremos usar. Le sugerimos como estándar 3des-md5-96 que es una buena opción. Las otras opciones están listadas en el manual de FreeS/WAN (debe usarlas con mucho cuidado y atención). authby=rsasig indica que queremos usar autenticación y criptografía tipo RSA (claves públicas y privadas). Las opciones son secret (default) para PSK (pre shared keys) y rsasig para claves RSA. Las claves RSA son más seguras y mejores en varios aspectos, por lo tanto son las que deben usarse normalmente. Por último, conn con123 es la conexión que estamos intentando establecer. Pueden existir varias conexiones, basta repetir esta parte con nuevos parámetros. En el ejemplo que presentamos, la palabra con123 representa el nombre de la conexión, y puede sustituirse por cualquier otra palabra que simbolice mejor la intención particular de esta conexión. Este nombre podrá usarse más tarde para parar/iniciar/reiniciar la conexión manualmente. Antes de empezar con los números en sí, presentaremos una breve explicación de lo que representan los dos lados de la conexión, left y right, sin importar su 228 Capítulo 13. FreeS/WAN orden, siempre que los dos estén listados. A través del IP indicado, FreeS/WAN descubre qué lado le ha sido asignado. Esto permite usar el mismo archivo de configuración, exactamente igual, para los dos lados, y facilita bastante la configuración. Sólo se debe tener cuidado para que la máquina que se considera left de un lado, lo sea del otro. Ahora veremos las keywords usadas en el ejemplo, una por una: indica el IP de la máquina gateway de uno de los lados. Asumimos aquí que left representa el GATEWAY A. En el caso de que la máquina tenga más de una interfaz, deberá usarse el IP de la interfaz donde está el gateway predefinido (o por donde saldrán los paquetes dirigidos a otra máquina gateway). left=192.168.255.213 leftsubnet=192.168.6.0/24 indica cuál es la red que está atrás del gateway, cuyos paquetes serán protegidos. Se debe indicar la netmask junto con la dirección de red. indica cuál es el IP del gateway que está sobre el GATEWAY A. Normalmente esta dirección se obtendrá automáticamente a través de la ruta del gateway predefinida (por eso existe la instrucción interfaces=%defaultroute en la primera sección). En esos casos comunes se pueden dejar las instrucciones nexthop comentadas, como en el ejemplo. leftnexthop=192.168.255.220 leftrsasigkey=0x01039d827220755... indica la clave pública RSA del otro lado. indica que la máquina firewall no está haciendo masquerading para la red que está protegiendo y esta red tiene IPs no ruteables que no deben pasarse al lado de afuera. Normalmente no se utilizará. leftfirewall=yes Todos estos conceptos se aplican igualmente al otro lado, sustituyendo sólo left por right. 229 Capítulo 13. FreeS/WAN auto=start indica que esta conexión debe empezarse durante el boot del computador. Otra opción sería auto=add para agregar solamente la conexión en la lista de conexiones pero no iniciarla en el boot. Podrá iniciarse más tarde manualmente (poco usado). Archivo ipsec.secrets Ahora es necesario configurar las claves que se usarán en la criptografía y autenticación. En primer lugar usted debe escoger qué tipo de clave se usará, PSK o RSA. Como se dijo anteriormente, se le debe dar preferencia al tipo RSA. A continuación explicaremos los dos tipos: Freeswan viene con una utilidad especial para generar las claves. Como prueba, solicite ipsec ranbits 256 y observe que el resultado será parecido a lo que aparece en la siguiente línea: 0x574d129e_bf2eca58_390e2457_2f788b88_... El número anterior es un ejemplo de una clave tipo PSK. Cuando usted quiera usar una clave de este tipo, ejecute este comando, inserte el resultado en el archivo de configuración en el lugar del número patrón que viene como ejemplo. NO USE EL EJEMPLO citado en el párrafo anterior, ni el ejemplo que viene dentro del archivo. Cree su propia clave. Esta clave deberá ser igual de los dos lados. 230 Capítulo 13. FreeS/WAN Después de sustituir el número, el archivo se parecerá a esto: 192.168.255.213 10.0.2.25: PSK "0x574... Por motivos estéticos, el número del ejemplo anterior se truncó, en vez de colocar los puntos suspensivos continúe el número hasta el final. Los dos IPs que aparecen listados antes del número son de las redes que están atrás de los gateways (los mismos listados en las keywords leftsubnet y rightsubnet del archivo ipsec.conf). La otra forma, ya bastante comentada, es usar claves RSA. ¿Cuál es la ventaja de usar RSA? Existen varios motivos, entre los cuales podemos citar: • Ningún problema de transmisión de claves. Cuando se trata de claves compartidas (PSK), usted debe, de algún modo, enviar la clave hacia el otro lado. Con el mecanismo de clave pública/privada, usted transmite hacia el otro lado sólo la clave pública. El sistema se desarrolló de tal forma que si alguien consigue su clave pública, no podrá hacer nada con ella (para decodificar lo que fue codificado con la clave pública, es necesario tener también la clave privada que no se transmitió). • Fácil mantenimiento. Si usted tiene más de una conexión, con más de un gateway diferente, puede dejar su clave pública en un lugar conocido para que todos la utilicen. No será necesario estar generando nuevas claves y estarlas enviando a cada uno de los nuevos gateways. ¡Usar la misma PSK para todos es imposible! • No requiere que los IPs de los extremos sean fijos, pues la clave garantizará la autenticidad de la otra máquina. Esto se usa en redes virtuales privadas con IPs móviles. Este 231 Capítulo 13. FreeS/WAN tema no se tratará en este libro. Si desea obtener más información consulte el manual de freeswan, en la web. Para generar el par de claves, ejecute el comando: ipsec rsasigkey 128 Esto generará un par de claves RSA de 128 bits. Le aconsejamos usar más bits, por ejemplo 1024. Para 128, la generación es rápida, pero para 1024 puede demorar algunos minutos dependiendo de la máquina en que se ejecute el comando. El comando 128 se usó aquí sólo como ejemplo. La salida de este comando será algo parecido a: # 128 bits, Tue Apr 25 21:08:09 2000 # for signatures only, UNSAFE FOR ENCRYPTION #pubkey=0x01039efb4e4a84f0026202cd872e41dfbce7 Modulus: 0x9efb4e4a84f0026202cd872e41dfbce7 PublicExponent: 0x03 # everything after this point is secret PrivateExponent: 0x69fcdedc58a001959e5053f6c7c6154b Prime1: 0xde02e368132d3ac9 Prime2: 0xb75225d40309622f Exponent1: 0x9401ecf00cc8d1db 232 Capítulo 13. FreeS/WAN Exponent2: 0x7a36c3e2acb0ec1f Coefficient: 0x7cc39b384223f7f3 Exceptuando los comentarios, y de la línea que empieza con #pubkey (que también está comentada), todo lo demás es la clave privada. El número contenido en la línea #pubkey debe enviarse a otra máquina gateway, para insertarlo en el archivo de configuración ipsec.conf en la keyword "leftrsasigkey=0x01039ef..." (o right, dependiendo del caso). Todo el resto deberá insertarse en ipsec.secrets de la máquina local (que generó la clave) como siendo su propia clave privada. El archivo de configuración será parecido a lo siguiente: 192.168.255.213 10.0.2.25: RSA { Modulus: 0x9efb4e4a84f0026202cd872e41dfbce7 PublicExponent: 0x03 PrivateExponent: 0x69fcdedc58a001959e5053f6c7c6154b Prime1: 0xde02e368132d3ac9 Prime2: 0xb75225d40309622f Exponent1: 0x9401ecf00cc8d1db Exponent2: 0x7a36c3e2acb0ec1f Coefficient: 0x7cc39b384223f7f3 } 233 Capítulo 13. FreeS/WAN La lista anterior contiene exactamente la tag de apertura (primera línea) y enseguida debe ponerse el contenido EXACTO de las claves generadas con el comando mencionado anteriormente, y por último, la tag de cierre. En la primera línea, los IPs son optativos. Usted puede empezar directamente a partir de los ": RSA {" si quiere. Lo importante es que en la primera línea, los IPs (o los ":") empiecen exactamente en la primera columna y en el resto del texto hasta el final del bloque, ninguna otra línea empiece en el primer carácter (sangrar todas las otras líneas). Siempre debe dejar espacios entre las tags (por ejemplo ":RSA{" no funciona). El otro lado debe hacer lo mismo: generar las claves, guardar sus claves privadas en el archivo secrets local y enviar la clave pública para que sea agregada al archivo ipsec.conf del lado de acá. Finalmente, para que todo esto funcione, habilite la autenticación vía RSA en el ipsec.conf de cada uno, con la instrucción authby=rsasig que ya explicamos. No se asuste con el tamaño de la cifra, ellos realmente serán enormes. El ejemplo de 128 bits es apenas ilustrativo, las claves de 1024 podrán tener incluso 4 ó 5 líneas de texto en una ventana texto de 80 columnas. Mantenga siempre cada uno de estos números en una sola línea, nunca deje que el editor divida la línea. Agregue "alias ipsec0 ipsec" en el archivo /etc/conf.modules. Al final, reinicie la máquina y deje que cargue todo automáticamente. Observe si hubo algún mensaje de error durante el período en el que ésta estuvo cargándose. 234 Capítulo 13. FreeS/WAN Pruebas después de la instalación En primer lugar, tenga siempre en mente que las máquinas gateway A y gateway B no pueden acceder a las máquinas que están atrás del otro gateway. Esto es imposible técnicamente. Un gateway accede al otro directamente (por los ips reales, sin criptografía) y a las máquinas host 1 y host 2 se accede normalmente (a través de un túnel codificado), pero el gateway A no accede a host 2 directamente, y el gateway B no accede a host 1 directamente. Esto será normal. Durante la etapa de pruebas, quizás sea interesante mantener la conexión como auto=add en el archivo ipsec.conf en vez de auto=start, pues así usted podrá iniciar y detener la conexión manualmente la cantidad de veces que lo desee. Al final, cambie nuevamente para auto=start de los dos lados para que todo vuelva a hacerse de forma automática. Revise siempre los archivos de registro. Además, si es posible mantenga abierta una ventana con los archivos de registro de todo lo que está sucediendo, así no perderá tiempo con cosas que pueden aclararse con los mensajes de error que el programa envía a esos archivos. El archivo estándar de registro es /var/log/messages. Para verificar si todo se realizó de manera correcta: • Verifique si en el directorio /proc/net existen archivos con el nombre ipsec*. • Verifique la relación entre el IPSec y si sus interfaces están correctas. Para esto debe hacer: 235 Capítulo 13. FreeS/WAN cat /proc/net/ipsec_tncfg • Ejecute el comando: ipsec look y verifique si existe una tabla con rutas y conexiones (debe indicar que la otra red está saliendo a través de un tunnel). En el momento en que sea necesario paralizar o iniciar una interface, se pueden usar los siguientes comandos (sustituya el nombre con123 por el nombre usado en la configuración): # ipsec auto -up con123 # ipsec auto -down con123 236 Capítulo 14. Copias de seguridad Presentación Figura 14-1. Copias de seguridad 237 Capítulo 14. Copias de seguridad Cualquier administrador de sistemas sabe que tiene un riesgo permanente de sufrir una pérdida de datos y sus consecuencias pueden variar desde una caída temporal del sistema hasta pérdidas irrecuperables de recursos para la empresa. Para evitar problemas, el administrador de sistemas debe tener una buena política de copias de seguridad. Para facilitar el trabajo a sus usuarios, Conectiva Linux pone a disposición el programa Amanda, un software que realiza copias de seguridad bastante popular. El programa Amanda puede operar en varios tipos de medios físicos de copias de seguridad (cintas DAT, discos CD-R). Para simplificar, en este capítulo nos referimos siempre a cinta, pero ésta puede sustituirse por otro medio. Requisitos Para instalar el software Amanda, usted necesita: • Tener noción sobre el sistema de archivos de Linux y los dispositivos. • Que la red esté configurada correctamente. • Un medio adecuado para hacer copias de seguridad, como lo es la unidad de cinta. • Una utilidad de copias de seguridad como GNU Tar o Dump+Restore. 238 Capítulo 14. Copias de seguridad • El programa Perl debe estar instalado para las herramientas de documentación del software Amanda. • El programa GNU readline debe estar instalado para poderlo usar con la utilidad de recuperación de datos. • GNU awk y gnuplot deben estar instalados para que se pueda utilizar la herramienta amplot. Instalación Para instalar el software Amanda: 1. Acceda al directorio de paquetes del CD 1 de Conectiva Linux: # cd /mnt/cdrom/conectiva/RPMS 2. Instale el paquete del software Amanda: # rpm -ivh amanda-2* amanda ################################################ 239 Capítulo 14. Copias de seguridad 3. Instale gnuplot si aún no está instalado: # rpm -ivh gnuplot-* gnuplot ############################################### 4. Instale Amanda Server: # rpm -ivh amanda-server-* amanda-server ######################################### 5. Si usted pretende utilizar el Dump+Restore en vez de GNU Tar, debe instalar el paquete: # rpm -ivh dump-* dump 240 ################################################## Capítulo 14. Copias de seguridad Configuración La configuración de Amanda debe hacerse a través de la edición de tres archivos de configuración. Antes de empezar la configuración del software, usted deberá decidir en cuál máquina instalará el servidor Amanda. Para tomar esa decisión, se debe tener en cuenta que el servidor Amanda puede consumir bastantes recursos de la CPU, especialmente si se configura para comprimir datos, y además consumirá bastantes recursos de red y E/S de disco. El servidor Amanda no utiliza una gran cantidad de memoria RAM, pero necesita tener acceso directo a una unidad de cinta (u otro medio equivalente) con espacio suficiente para copias de seguridad. Usted debe escoger un dispositivo que no se rebobine automáticamente. En Conectiva Linux, estos dispositivos generalmente contienen una letra n en el nombre, por ejemplo, /dev/nst0. Se puede hacer la compresión de datos directamente en el cliente o dejar que el hardware de la cinta lo haga. La compresión vía software permite que Amanda tenga control sobre el uso de las bandas de la cinta y haga mejores estimativas en relación a los tamaños de las imágenes. Sin embargo, la compresión a través de hardware es mucho más eficaz en lo que se refiere al uso de CPU. Si usted va a utilizar la compresión por software, deberá desactivar la compresión por hardware. Acceda a la documentación de su hardware de cinta para obtener informaciones sobre cómo activar o desactivar la compresión. Sería interesante intentar asignar espacio en el disco duro de su servidor Amanda para acelerar la copia de seguridad. Amanda puede utilizar este espacio en disco 241 Capítulo 14. Copias de seguridad para realizar dumps.1 mientras la unidad de cinta está ocupada con un dump anterior. Archivos de configuración Amanda puede tener cualquier cantidad de configuraciones. En este capítulo, crearemos una configuración llamada Diaria, que se utilizará para hacer una copia de seguridad diaria. Usted debe crear un usuario para Amanda. En este capítulo vamos a usar un usuario llamado amanda, que se puede crear así: # useradd amanda Observe que las configuraciones se guardan siempre en subdirectorios abajo de /etc/amanda. Pero ese directorio, no se crea durante la instalación. Usted debe crearlo antes de empezar a configurar Amanda: # mkdir /etc/amanda # chown amanda.amanda /etc/amanda Vea que además de crear el directorio, usted deberá permitir que el usuario creado para Amanda (obtenga más información sobre esto a continuación) pueda acceder 1. 242 Un dump es una copia de seguridad de los datos. Capítulo 14. Copias de seguridad a este directorio con permisos de escritura. Como el nombre de la configuración es Diaria, el archivo de configuración de Amanda será /etc/amanda/Diaria/amanda.conf. A continuación presentaremos las opciones más comunes del archivo amanda.conf seguidas de una breve explicación: org "Copia de seguridad diaria de mi organizacion" Esto identifica la configuración. Este texto se utilizará como asunto de los mensajes de correo electrónico que se enviarán a través de Amanda. mailto "soporte@miorganizacion" Este parámetro indica una o más (separadas por espacios) direcciones de correo electrónico para donde Amanda enviará sus informes. dumpuser "amanda" Indica que Amanda debe ejecutarse con los permisos de un usuario diferente del root. Quizás sea interesante para el administrador tener un usuario exclusivo para Amanda, pues esto puede ser útil con referencia a la seguridad, ya que mientras menos tenga que ejecutarlo como usuario root, será mejor. 243 Capítulo 14. Copias de seguridad Recuerde que, si usted decide que Amanda deberá ejecutarse como un usuario diferente del superusuario, el usuario escogido debe tener acceso a los dispositivos de cinta, bien como también a los archivos que se deban guardar. Para garantizar esto, puede colocar el usuario de Amanda en el grupo disk. Para hacerlo, es necesario que utilice Linuxconf, donde incluso podrá obtener más información en la documentación correspondiente. Si prefiriera no utilizar Linuxconf, podrá hacer lo siguiente: 1. Descubra cuáles son los grupos do usuario de Amanda: # id amanda uid=501(amanda) gid=501(amanda) grupos=501(amanda),50(ftp) 2. Use el comando usermod para agregar el usuario amanda al grupo disk. Recuerde que debe colocar este usuario en los mismos grupos a los que él pertenecía anteriormente, además del grupo disk. En el ejemplo, el usuario amanda ya pertenecía al grupo ftp: # usermod -G ftp,disk amanda dumpcycle 2 weeks 244 Capítulo 14. Copias de seguridad El parámetro dumpcycle especifica el ciclo de dumps. Este ciclo es el tiempo máximo de un ciclo de copias de seguridad e indica cada cuánto tiempo Amanda debe hacer una copia de seguridad completa2. runtapes 2 Amanda siempre asume que utilizará una sola cinta para cada ejecución de la copia de seguridad. Pero, si usted posee un dispositivo para cambiar cintas, puede especificar el número de cintas que se utilizarán. tapedev "/dev/nst0" Especifica el dispositivo de cinta que se utilizará para la copia de seguridad. Tenga en cuenta que éste debe ser un dispositivo que no rebobine automáticamente. tapetype SDT-9000 Especifica el tipo de dispositivo de cinta instalado. netusage 5000 Kbps Esta opción especifica un límite máximo de franja de red que será utilizada por 2. full dump 245 Capítulo 14. Copias de seguridad Amanda. El valor tiene que estar expresado en kilobits por segundo. labelstr "^Diaria[0-9][0-9]*$" La opción labelstr es una expresión regular que se utiliza para asegurar que todas las cintas estén asignadas para esta configuración. Espacio en disco duro Como mencionamos en este capítulo, se puede (y se recomienda) asignar espacio en el servidor de copia de seguridad para acelerar el proceso de backup. Además, este espacio en disco garantiza más seguridad, porque si la cinta falla, Amanda continúa la realización de la copia de seguridad, normalmente en disco, y éste puede mandarse posteriormente a la cinta a través del comando amflush (al final de este capítulo podrá encontrar más información sobre este comando). holdingdisk disco1 { comment "main holding disk" directory "/backup" # directorio que se utilizará use 2048 Mb # cuánto espacio utilizar } Usted puede tener varias secciones holdingdisk. En cada una de ellas, debe especificar un directorio para que Amanda lo utilice, también debe especificar la 246 Capítulo 14. Copias de seguridad cantidad máxima de espacio que se va a utilizar. Aunque no es indispensable, para obtener un desempeño mejor se recomienda utilizar un disco dedicado a Amanda. Tipos de cinta Usted debe especificar alguna información sobre la unidad de cinta que está utilizando. Para indicar qué tipo de unidad está usando debe usar la opción tapetype, que explicamos anteriormente en este capítulo. El parámetro para esa opción debe corresponder a una entrada definida en el archivo. define tapetype SDT-6000 { comment "SDT-6000 SONY" length 4000 mbytes # tamaño de la cinta filemark 100 kbytes # valor ideal para la mayoría de las cintas speed 366 kbytes # ídem } La única parte que usted probablemente tendrá que alterar es el parámetro length que señala el tamaño de la cinta. Normalmente no es necesario modificar los otros parámetros. 247 Capítulo 14. Copias de seguridad Tipos de Dump Usted debe definir los tipos de dumps que Amanda hará. Esa definición se realiza a través de bloques define dumptype. Por ejemplo: define dumptype siempre-completo { global comment "Siempre copias de seguridad completas" compress none priority high dumpcycle 0 } Los parámetros que se utilizan para definir un tipo de dump son: • • • • auth: es el tipo de autenticación que Amanda utilizará. Los parámetros pueden ser bsd y krb4. Estándar: auth bsd. comment: es sólo un comentario sobre este tipo de dump . comprate: es una estimativa sobre cuál será el tamaño de los datos después de la compresión. Se necesitan dos valores: el primero es la estimativa de un dump completo y el segundo de los dumps parciales. Estándar: comprate 0.5 0.5. compress: es el tipo de compresión que se utilizará. Los valores posibles son: 248 Capítulo 14. Copias de seguridad • • none: no comprimir. client best: compactar en el cliente utilizando la mejor compresión (y menor ve- locidad). • client fast: compactar en el cliente utilizando la compresión más rápida (y menos eficiente). • server best: compactar en la cinta utilizando la mejor compresión (y menor veloci- dad). • server fast: compactar en la cinta utilizando la compresión más rápida (y menos eficiente). Estándar: compress client fast. • dumpcycle: configura el número de días en un ciclo de dump, o sea, el número de días entre dumps completos. • exclude: lista de archivos y directorios que se suprimirán de la copia de seguridad. Sólo se utiliza cuando se hace la copia de seguridad a través de GNU Tar. Puede ser un patrón de archivos que serán ignorados o puede ser list "archivo", donde archivo es el nombre de un archivo en el cliente que contiene los nombres de los archivos y directorios que se excluirán. • holdingdisk: especifica si el espacio asignado en el disco duro debería utilizarse para este tipo de dump. Estándar: holdingdisk: yes. 249 Capítulo 14. Copias de seguridad • ignore: si aparece esta directriz, se ignorará el sistema de archivos al que ella se refiere (no hará parte de la copia de seguridad ). • index: especifica si Amanda debe crear y mantener un índice de los archivos en esta copia de seguridad. • kencrypt: especifica si los datos deben ser codificados entre el cliente y el servidor. Estándar: kencrypt no. • • • maxdumps: número máximo de dumps simultáneos. Estándar: maxdumps 1. priority: nivel de prioridad de Amanda. Puede ser low, medium o high. Estos valores sólo los utiliza Amanda cuando debido a algún error no tiene cómo grabar en ninguna de las cintas. Cuando Amanda se encuentra en este estado, comienza a realizar las copias de seguridad solamente en el área asignada en el disco duro y empieza con los dumps marcados como high, después los medium y, finalmente, si es posible, los low. program: especifica qué programa se utilizará para realizar los dumps. Puede ser para utilizar GNU Tar; o DUMPS para usar Dumps. Estándar: program DUMPS. GNUTAR • record: especifica si Amanda debe generar un registro en record yes. /etc/dumpdates. Estándar: • skip-full: especifica que este dump debe ser efectuado sólo durante dumps parciales. • skip-incr: especifica que este dump debe ser realizado solamente durante dumps completos. 250 Capítulo 14. Copias de seguridad • strategy: especifica la estrategia del dump. Puede ser: • • • • standard: utiliza la estrategia normal de Amanda. nofull: especifica que Amanda debe hacer sólo dumps parciales. Esto es útil cuando se trata de copias de seguridad de un pequeño sistema de archivos en el que se hacen pocas modificaciones, así se pueden grabar solamente las modificaciones. noinc: especifica que Amanda debe hacer sólo dumps completos. skip: especifica que este dump debe ignorarse. Esto es útil cuando se comparte un mismo archivo disklist con distintas configuraciones. Listas de discos En cada directorio de configuración de Amanda, usted deberá crear un archivo disklist. Este archivo controla los sistemas de archivos que se incluirán en la copia de seguridad. El archivo disklist contiene líneas que especifican sistemas de archivos. El formato de estas líneas es bastante sencillo: MAQUINA SISTARQ TIPODUMP 251 Capítulo 14. Copias de seguridad Donde: • MAQUINA: nombre de la máquina donde está el sistema de archivos. • SISTARQ: el sistema de archivos que se incluirá. Observe que éste puede ser un nombre de dispositivo o partición, o un directorio • TIPODUMP: tipo de dump que se hará en este sistema de archivos. Este tipo debe corresponder a un tipo creado en el archivo amanda.conf de acuerdo con las instrucciones que se presentaron anteriormente. Así, un ejemplo de archivo disklist podría ser: kepler.miorganizacion sda1 imp-mejor newton.miorganizacion hda1 imp-low newton.miorganizaccion /usr/local no-imp El ejemplo anterior indica que Amanda deberá hacer una copia de seguridad del sistema de archivos sda1 (primera partición del primer disco SCSI) de la máquina kepler utilizando el tipo de dump imp-mejor, que debe haberse definido en el archivo amanda.conf. Además, se definió que Amanda debe hacer una copia de seguridad de dos sistemas de archivos de la máquina newton: el hda1 y el directorio /usr/local (supuestamente localizado fuera de hda1). Ambos sistemas de archivos utilizan configuración de copia de seguridad diferentes. 252 Capítulo 14. Copias de seguridad Iniciando las cintas Antes de hacer la copia de seguridad, usted deberá iniciar las cintas. Para hacerlo, utilice el comando amlabel que debe ejecutarlo el usuario de Amanda o el root, si no se ha creado un usuario. amlabel Diaria Diaria-12 Este comando inicia la cinta Diaria-12. El primer parámetro es el nombre de la configuración que se utilizará y el segundo es el nombre (etiqueta) de la cinta. Creando tareas en el Cron Para utilizar Amanda, usted deberá programar tareas en el Cron. Para instalar una tarea en el Cron: 1. Realice el login con el usuario de Amanda, si usted creó uno, de lo contrario, ejecute como root. Suponiendo que usted haya creado un usuario llamado amanda: # su amanda Password: $ 253 Capítulo 14. Copias de seguridad 2. Edite crontab: $ crontab -e 3. Agregue una línea para ejecutar el amdump: * 23 * * 1-5 /usr/sbin/amdump Diaria Esto hará que el amdump sea ejecutado de lunes a viernes, a las 11:00 p.m, utilizando la configuración Diaria. Para obtener más información sobre cómo configurar crontab, consulte la documentación de la aplicación Cron. El comando amflush Si falla una cinta, Amanda puede utilizar el espacio asignado en disco para hacer la copia de seguridad. Para poder grabar en una cinta los datos que quedaron en el disco duro, usted debe utilizar el comando amflush. # amflush Diaria Este comando grabará en cintas los datos de la copia de seguridad quedaron en el disco duro. 254 Diaria que Capítulo 14. Copias de seguridad El comando amcheck El amcheck es un comando que debe utilizarse antes del amdump. Este comando verifica si los clientes están listos para la copia de seguridad. amcheck Diaria El comando anterior efectuará el chequeo para la copia de seguridad Diaria y enviará un informe vía e-mail para la dirección especificada en la configuración (usted puede definir un e-mail alternativo con la opción -m). Usted puede colocar este comando para que cron lo ejecute de modo automático três horas antes del momento de realizar la copia de seguridad, de modo que, si se presentan problemas, habrá tiempo para solucionarlos antes que empiece a efectuarse la copia de seguridad. Recuperación de datos No serviría de nada crear y mantener copias de seguridad, si usted no pudiera recuperar los datos perdidos. Para recuperar datos de una copia de seguridad creada por Amanda, usted debe utilizar el comando amrestore. El comando amrestore puede utilizarse para recuperar todos los datos en la copia de seguridad o solamente una parte de ella. 255 Capítulo 14. Copias de seguridad Por ejemplo, imagine que la máquina newton haya tenido un problema y perdido los datos. Para recuperar todos los datos de esa máquina, debe utilizarse el siguiente comando: # amrestore /dev/nst0 newton En el ejemplo anterior se asume que el dispositivo de cinta es el /dev/nst0. Con el amrestore se puede también recuperar sólo parte de la copia de seguridad de la máquina newton. Por ejemplo, para recuperar solamente los datos de /dev/hda1: # amrestore /dev/nst0 newton hda1 La sintaxis del amrestore es: amrestore DISPCINTA [ MAQUINA [ DISP [ FECHA ] ] ] Donde: • DISPCINTA: dispositivo de la unidad de cinta. • MAQUINA: expresión regular que identifica la máquina cuyos datos se quieren recuperar. Este parámetro es optativo. • DISP: expresión regular que identifica el sistema de archivos de la máquina especificada que se quiere recuperar. Este parámetro es optativo y sólo puede utilizarse con un 256 Capítulo 14. Copias de seguridad nombre de máquina. • FECHA: útil cuando se tienen múltiples dumps en la misma cinta. Identifica cuál dump debe recuperarse. Este parámetro sólo puede utilizarse en conjunto con un dispositivo que será recuperado. Configurando los clientes Para configurar las máquinas clientes, usted debe: 1. Acceder al directorio de paquetes del CD 1 de Conectiva Linux. # cd /mnt/cdrom/conectiva/RPMS 2. Instalar el paquete del cliente Amanda: # rpm -ivh amanda-client amanda-client ############################## 3. Crear un usuario para Amanda (debe ser el mismo creado en el servidor): 257 Capítulo 14. Copias de seguridad # useradd -G disk amanda 4. En el directorio home del usuario de Amanda, cree un archivo llamado con el siguiente formato: .amandahosts MAQUINA.DOMINIO USUARIO • MAQUINA.DOMINIO: es el nombre completo del servidor Amanda. • USUARIO: es el nombre del usuario de Amanda en el servidor. Este archivo crea una relación de confianza entre el cliente y el servidor y permite que el usuario de Amanda pueda conectarse sin contraseña, a la máquina cliente. 5. Edite el archivo /etc/inetd.conf e inserte la siguiente línea: amanda dgram udp wait amanda /usr/lib/amanda/amandad amandad Observe que si usted creó el usuario de Amanda con otro nombre, la segunda vez que amanda aparece, puede cambiar de nombre. O sea, si usted creó el usuario con el nombre otronombre, la línea sería: amanda dgram udp wait otronombre /usr/lib/amanda/amandad amandad 258 Capítulo 14. Copias de seguridad Referencias Para obtener más información sobre los apartados de este capítulo, visite los enlaces que presentamos a continuación: Amanda (http://www.cs.umd.edu/projects/amanda/) - ésta es la página oficial del software de copias de seguridad Amanda. Contiene documentación y enlaces. FAQ de Amanda (http://www.ic.unicamp.br/~oliva/snapshots/amanda/FAQ) - preguntas más frecuentes sobre Amanda. UNIX Backup & Recovery (http://www.backupcentral.com/thebook.html) - es un libro on-line con un capítulo dedicado a Amanda. 259 Capítulo 14. Copias de seguridad 260 Apéndice A. Licencias generales Introducción Prácticamente todo el software contenido en el CD-ROM de Conectiva Linux es de libre distribución. Pocos requieren algún tipo de autorización especial para su uso, obtenidos por Conectiva S.A. (http://es.conectiva.com) y algunos software desarrollados por la propia Conectiva, son puestos a disposición bajo licencia comercial de uso. La mayoría de los software se distribuye bajo una de las tres licencias presentadas en este capítulo. Por favor, verifique en cada software cuáles son sus componentes, así como los términos de su distribución. Todos el software de los CD-ROMs producidos por Conectiva es copyright de ® Conectiva S.A. (http://es.conectiva.com). A menos que exista manifestación expresa, el software contenido en los CDs es de libre distribución bajo los términos de la Licencia Pública GNU (GPL). Los términos Red Hat® y rpm® son marcas de propiedad de Red Hat Software, Inc. Los términos Conectiva y WebBatch son marcas de propiedad de Conectiva S.A. (http://es.conectiva.com). 261 Apéndice A. Licencias generales BSD Copyright Copyright ® 1991, 1992, 1993, 1994 The Regents of the University of California. Todos los derechos reservados. Se permite, dentro de las siguientes condiciones, la redistribución y uso en las formas de código fuente o binarios, con o sin modificación: 1. La redistribución del software debe contener toda la información sobre derechos de autor, esta lista de condiciones y el aviso de abajo.; 2. La redistribución de binarios o ejecutables debe contener toda la información sobre derechos de autor, listas de condiciones y el aviso de abajo. 3. Todos los comerciales y anuncios que mencionen funcionalidades de este software deben presentar el siguiente texto: Este producto incluye software desarrollado por la Universidad de California, Berkeley y sus contribuyentes; 4. El nombre de la Universidad, o de sus contribuyentes, no puede ser utilizado para endosar o promover productos derivados de este software sin expresa autorización por escrito. ESTE SOFTWARE SE DISTRIBUYE POR SUS MONITORES Y CONTRIBUYENTES EN LA FORMA EN QUE SE ENCUENTRA, Y CUALQUIER GARANTÍA EXPRESA O IMPLÍCITA, INCLUYENDO, PERO NO LIMITADAS A LAS GARANTÍAS COMERCIALES Y LA ATENCIÓN A DETERMINADOS PROPÓSITOS NO SON RECONOCIDAS. EN NINGUNA HIPÓTESIS LOS MONITORES O SUS CONTRIBUYENTES SE- 262 Apéndice A. Licencias generales RÁN RESPONSABLES POR NINGÚN DAÑO DIRECTO, INDIRECTO, ACCIDENTAL, ESPECIAL, INCLUYENDO, PERO NO LIMITANDO LA SUSTITUCIÓN DE MERCANCÍAS O SERVICIOS, IMPOSIBILIDAD DE USO, PÉRDIDA DE DATOS, LUCROS CESANTES O INTERRUPCIÓN DE ACTIVIDADES COMERCIALES, CAUSADOS EN CUALQUIER BASE POR EL USO DE ESTE SOFTWARE. X Copyright Copyright® 1987 X Consortium Se concede y garantiza a cualquier persona, libre de costos, la obtención de copia de este software y de los archivos de documentación asociados (el Software), pudiendo trabajar con el Software sin restricciones, incluyendo los derechos de uso, copia, modificación, unificación, publicación, distribución, sublicenciamiento o venta de copias del Software, y el permiso a las personas a las que se entregue el Software, dentro de las siguientes condiciones: Las informaciones de copyright presentadas a continuación deben estar presentes en todas las copias o partes sustanciales del Software: EL SOFTWARE SE PONDRÁ A DISPOSICIÓN EN LA FORMA EN QUE SE ENCUENTRE, SIN GARANTÍAS DE NINGUNA ESPECIE, EXPRESAS O IMPLÍCITAS, INCLUIDAS, PERO NO LIMITADAS A LAS GARANTÍAS COMERCIALES, Y A LA ATENCIÓN A DETERMINADOS 263 Apéndice A. Licencias generales FINES. DE NINGUNA MANERA EL CONSORCIO X (X CONSORTIUM) SERÁ RESPONSABLE POR NINGUNA RECLAMACIÓN, DAÑO U OTRAS PÉRDIDAS, A MENOS QUE SE EXPRESE EN CONTRATO, ACUERDO U OTRAS FORMAS, EN LO QUE SE REFIERE A LA UTILIZACIÓN, COMERCIALIZACIÓN, CONEXIÓN U OTROS CONTACTOS CON ESTE SOFTWARE. Excepto por el contenido en ese aviso, el nombre del Consorcio X (X Consortium) no podrá utilizarse en ningún comercial u otra forma de promoción de ventas, uso u otras negociaciones de este Software, sin la autorización expresa del X Consortium. Copyright ® 1987 Digital Equipment Corporation, Maynard, Massachusetts. Todos los derechos reservados. Está garantizado, el permiso de uso, copia, modificación y distribución de este software y su documentación con cualquier objetivo y sin costo, desde que el copyright abajo aparezca en todas las copias y que tanto el copyright, como este aviso y el nombre de Digital aparezcan, no pudiendo ser usados en anuncios o publicidad referente a la distribución del software sin autorización expresa por escrito. DIGITAL NO OFRECE NINGÚN TIPO DE GARANTíA EN EL USO DE ESTE SOFTWARE, INCLUYENDO TODAS LAS COMERCIALES Y DE ATENCIÓN A DETERMINADOS PROPÓSITOS, Y BAJO NINGÚN PUNTO DE VISTA, DIGITAL SERÁ RESPONSABLE POR ALGUNA RECLAMACIÓN, DAÑO U OTRAS PÉRDIDAS, A MENOS QUE SE EXPRESE EN CONTRATO, ACUERDO U OTRAS FORMAS, EN LA UTILIZACIÓN, COMERCIALIZACIÓN, CONEXIÓN U OTROS CONTACTOS CON ESTE 264 Apéndice A. Licencias generales SOFTWARE. 265 Apéndice A. Licencias generales 266 Apéndice B. Licencia de Uso y Garantía del Producto Antes de instalar Conectiva Linux en su computador, o cualquiera de los paquetes o programas incluidos en este producto, por favor, lea este documento cuidadosamente. Este documento contiene información importante sobre los derechos legales de este producto. Le recomendamos considerar los puntos presentados aquí, bien como conocer y entender los términos y condiciones por los que este programa está licenciado para usted. Cuando instala cualquier programa incluido en este producto, usted acepta automáticamente los términos y condiciones siguientes. General Los derechos de autor del Sistema Operativo Conectiva Linux se basan en la Licencia Pública General GNU (“GPL”). Consideramos que la GPL pone a disposición los mejores mecanismos para todos los beneficios y libertades de los programas de “libre distribución”. Usted puede encontrar una copia de la GPL en el manual de instalación de Conectiva Linux, en http://es.conectiva.com y en diversos sitios en Internet. Conectiva Linux es un sistema operativo modular, compuesto por centenas de programas, cada uno de ellos escrito por personas 267 Apéndice B. Licencia de Uso y Garantía del Producto diferentes y con su propio derecho de autor. En este documento, se les hace referencia, individual y colectivamente como “Programas”. Varios Programas tienen su derecho de autor basado en la GPL y otras licencias que permiten la copia, modificación y redistribución. Por favor, verifique la documentación on-line que viene con cada uno de los programas incluidos en Conectiva Linux, para verificar su licencia específica. Le sugerimos que lea estas licencias cuidadosamente, para entender sus derechos y utilizar mejor las ventajas que Conectiva Linux pone a su disposición. Licencia limitada de productos Además de los programas de libre distribución, Conectiva puede incluir en este producto distintos programas y aplicaciones que no están sujetos a la GPL u otras licencias que permiten modificación y redistribución. Algunos de estos programas se muestran a continuación: • AcrobatReader® • AcuCobol-4.3® • Aker® • Arkeia® 268 Apéndice B. Licencia de Uso y Garantía del Producto • BR® • Dataflex® • Domino® • FlagShip® • JRE® • Jade® • MZS® • Oracle8i® • SpoolBiew® • db2® • oss® • vmware® • xni® Generalmente cada uno de estos componentes tiene licencia únicamente en su forma binaria, de manera restringida, es decir que usted podrá instalarlos en un 269 Apéndice B. Licencia de Uso y Garantía del Producto único computador para su uso individual. Está prohibida la copia, redistribución, ingeniería reversa y/o modificación de los mismos . Cualquier violación de los términos de las licencias, cancelará inmediatamente su licencia individual. Para conocer los términos precisos de las licencias de estos componentes, por favor verifique la documentación on-line que viene con cada uno de ellos. Si usted no está de acuerdo en aceptar los términos de la licencia de estos componentes, no los instale en su computador. Si desea instalarlos en más de un computador, entre en contacto con el distribuidor de los programas o aplicaciones correspondientes para adquirir las respectivas licencias. Antes de la instalación ANTES DE INSTALAR CONECTIVA LINUX O CUALQUIERA DE LOS PROGRAMAS O APLICACIONES INCLUIDOS EN ÉL, LEA ATENTAMENTE LOS TÉRMINOS Y CONDICIONES SIGUIENTES. LA INSTALACIÓN DE CUALQUIERA DE ESTOS PROGRAMAS, INDICA SU ACEPTACIÓN DE LOS TÉRMINOS Y CONDICIONES SIGUIENTES. SI USTED NO ESTÁ DE ACUERDO CON ESTOS TÉRMINOS Y CONDICIONES NO INSTALE ESTOS PROGRAMAS. LOS PROGRAMAS, INCLUSO LOS CÓDIGOS FUENTE, DOCUMENTACIÓN, APARIENCIA, ESTRUCTURA Y ORGANIZACIÓN, SON PRODUCTOS DE PROPIEDAD DE CONECTIVA S.A., INC, ORACLE, SUN ENTRE OTROS, Y ESTÁN PROTEGIDOS POR EL DERECHO DE AUTOR, ADEMÁS 270 Apéndice B. Licencia de Uso y Garantía del Producto DE OTRAS LEYES. ESTOS PROGRAMAS ASÍ COMO CUALQUIER COPIA, MODIFICACIÓN O PARTE ORIGINADA A PARTIR DE ELLOS , DEBEN SIEMPRE PERMANECER CON LOS ANTERIORMENTE MENCIONADOS, SOMETIDOS A LOS TÉRMINOS Y CONDICIONES DE LA GPL U OTRAS LICENCIAS RELACIONADAS CON LOS MISMOS. Garantía Limitada EXCEPTO SI SE DICE ESPECIFICAMENTE EN ESTE ACUERDO, LOS PROGRAMAS PUESTOS A DISPOSICIÓN Y LICENCIADOS, “TAL Y COMO ESTÁN”, NO TIENEN GARANTÍA DE NINGÚN TIPO, NI EXPRESA NI IMPLÍCITA, LO CUAL INCLUYE, PERO NO LIMITA, LAS GARANTÍAS DE COMERCIALIZACIÓN Y CONVENIENCIA PARA UN PROPÓSITO PARTICULAR. Conectiva S.A. (http://es.conectiva.com) garantiza que el medio en el cual están grabados los programas está libre de defectos de fabricación y manufactura, en condiciones normales de uso, durante un período de 30 días a partir de la fecha de la compra. Conectiva S.A. (http://es.conectiva.com), no garantiza que las funciones que contienen los programas sean compatibles con los requisitos que usted espera de ellas o que el funcionamiento de los programas esté completamente libre de errores ni que aparezcan exactamente como están descritos en la documentación que se anexa al producto. 271 Apéndice B. Licencia de Uso y Garantía del Producto Limitación de Reparación y Responsabilidad Por el máximo permitido por las leyes aplicables, las reparaciones descritas a seguir, se aceptan como únicas y deben estar disponibles sólo si este producto fue registrado en Conectiva S.A. (http://es.conectiva.com), de acuerdo con las instrucciones disponibles en el mismo, hasta diez días después de que usted lo haya recibido. La responsabilidad de Conectiva S.A. (http://es.conectiva.com), y su reparación exclusiva, se limita a los casos en que el medio en el que se puso a disposición el programa está con defecto. En este caso usted podrá devolverlo, dentro de un plazo de 30 días a partir de la fecha de compra, adjuntando una copia de su factura. Conectiva S.A. de acuerdo con su criterio, lo cambiará o procederá a la devolución del dinero. POR EL MÁXIMO PERMITIDO POR LAS LEYES APLICABLES, EN NINGÚN CASO CONECTIVA S.A. SERÁ RESPONSABLE POR NINGÚN DAÑO. LO CUAL INCLUYE, LUCROS CESANTES, PÉRDIDAS ECONÓMICAS O DAÑOS ACCIDENTALES O CONSECUENTES DEL USO APROPIADO O INAPROPIADO DE LOS PROGRAMAS Y/O APLICACIONES. INCLUYENDO LOS DEBIDOS A LA INEPTITUD AL USAR LOS PROGRAMAS Y/O APLICACIONES, AUN EN EL CASO DE QUE CONECTIVA S.A. O UN DISTRIBUIDOR AUTORIZADO, NO HAYA EFECTUADO LAS ADVERTENCIAS CORRIENTES SOBRE ESTOS TIPOS DE PROBLEMAS. 272 Apéndice B. Licencia de Uso y Garantía del Producto General Si alguna cláusula de este Acuerdo no se considera válida, las otras cláusulas no se deberán afectar por este motivo. El acuerdo se establece según la legislación brasileña. En caso de conflicto de jurisdicción, para solucionar dudas, omisiones o cualquier otro asunto relacionado con el presente convenio, queda definida como competente la Cámara Arbitral del bloque comercial del cual estos países hacen parte u otra Cámara competente, según el arreglo comercial establecido entre estos mismos países, definiéndose en última instancia la OMC (Organización Mundial de Comercio) para solucionar cualquier asunto legal. Derechos de autor ®2000 Conectiva S.A. (http://es.conectiva.com). Todos los derechos reservados. Conectiva y Conectiva Linux son marcas registradas de Conectiva S.A. (http://es.conectiva.com). Linux es una marca registrada de Linus Torvalds en varios países. 273 Apéndice B. Licencia de Uso y Garantía del Producto 274 Apéndice C. Licencia Pública General GNU GNU GENERAL PUBLIC LICENSE Versión 2, Junio 1991 Esta es una traducción no oficial de la Licencia Pública General GNU al español. No ha sido publicada por la Free Software Foundation y no expresa legalmente los términos de distribución que usa la GNU GPL – sólo el texto original en Inglés de la misma lo manifiesta. No obstante, esperamos que esta traducción ayudará a los hispanohablantes a entender mejor la GNU GPL. Copyright \copyright 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA. Se le permite a cualquier persona copiar y distribuir copias inalteradas de este documento de licencia. Introducción Las licencias de muchos software se desarrollan para limitar la libertad de uso, intercambios y modificaciones. La Licencia Pública General de GNU, al contrario, 275 Apéndice C. Licencia Pública General GNU pretende garantizar la libertad de compartir y alterar software de libre distribución - haciéndolos de libre distribución también para cualquier usuario. La Licencia Pública General se aplica a la mayoría de los software de la Free Software Foundation y a cualquier autor que esté de acuerdo en utilizar sus normas (algunos software de la FSF son cubiertos por la GNU Library General Public License). Cuando nos referimos a software de libre distribución, nos referimos a la libertad y no al precio. Nuestra Licencia Pública General se creó para garantizar la libertad de distribución de copias de software de libre distribución (y cobrar por esto, si es de interés del distribuidor), la cual recibió los códigos fuente que pueden ser alterados o utilizados en parte, en los nuevos programas. Para asegurar los derechos de los programadores se hacen algunas restricciones y se prohíbe que las personas nieguen esos derechos o soliciten su derogación. Estas restricciones se aplican incluso a algunas responsabilidades sobre la distribución o modificación del software. Por ejemplo, cuando se distribuyen copias de determinado programa por una tasa determinada o gratuitamente, se debe informar sobre todos los derechos que inciden sobre ellas, asegurándose que los códigos fuentes estén disponibles, inclusive la Licencia Pública General GNU. La protección de los derechos involucra dos pasos: (1) copyright del software y (2) licencia que concede permiso legal para copia, distribución y modificación de software. Además para la protección de la FSF y del autor, es importante que todos entiendan que no existen garantías para software de libre distribución. Si alguien modifica y distribuye el software, no reflejará más el trabajo original del autor y en consecuencia, no podrá gozar de las garantías originales. Finalmente, cualquier programa de libre distribución está constantemente ame- 276 Apéndice C. Licencia Pública General GNU nazado por las patentes de software. Buscamos evitar el peligro de que los distribuidores de estos programas obtengan patentes individuales, convirtiéndose en sus dueños efectivos. Para evitarlo, se hicieron declaraciones expresas de que cualquier solicitación de patente, debe hacerse permitiendo la utilización a cualquier individuo, sin necesidad de la licencia de uso. Los términos y condiciones precisas para realizar copias, distribución y modificaciones se describen a continuación. Términos y condiciones para copia, distribución y modificaciones 1. Esta licencia se aplica a cualquier programa u otro trabajo que contenga un aviso colocado por el detentor de los derechos de autor, diciendo que puede ser distribuido bajo las condiciones de la Licencia Pública General. El programa se refiere a cualquier software, trabajo o a un trabajo basado en un programa. Significa tanto el propio programa, como cualquier trabajo derivado, de acuerdo con la ley de derechos de autor. Es decir, un trabajo que contenga el programa o una parte de éste, en su forma original, con modificaciones o traducido para otra lengua (la traducción está incluida sin limitaciones en el término modificación). 277 Apéndice C. Licencia Pública General GNU Actividades diferentes de efectuar copias, distribución y modificaciones, no están cubiertas por esta Licencia y quedan fuera de su alcance. El acto de ejecutar el programa no está restringido y su salida está cubierta solamente en caso de que el contenido tenga trabajos con base en el mismo (independientemente de que se hayan creado durante la ejecución del programa). Si esto es así, depende de las funciones ejecutadas por el programa. 2. El código fuente del Programa se puede copiar y distribuir de la forma como fue recibido, en cualquier medio, siempre que se coloque un aviso adecuado sobre los copyrights y la falta de garantías. Todos los avisos que se refieran a la Licencia Pública General y a la ausencia de garantías, deben estar inalterados y todos los productos oriundos del programa deben estar acompañados de esta Licencia Pública General. Está permitido el cobro de tasas por el acto físico de transferencia o grabación de copias. Se pueden dar garantías y soporte a cambio del cobro de valores. 3. Se puede modificar la copia o copias del programa de la forma que se desee o incluso crear un trabajo con base en el programa, copiarlo y distribuir tales modificaciones bajo los términos de la sección 1 anterior y de lo siguiente: [a.] Debe haber un aviso destacando que los datos originales fueron alterados en los archivos y las fechas correspondientes a los cambios. [b.] Debe haber un aviso de que el trabajo distribuido o publicado es, en forma total o parcial, derivado del programa o de alguna parte suya 278 Apéndice C. Licencia Pública General GNU y que puede ser licenciado totalmente sin costos para terceros según los términos de esta Licencia. [c.] Si el programa modificado se ejecuta en forma interactiva, es obligatorio, al iniciar su ejecución que presente la información de copyright y de ausencia de garantías (o de que la garantía es de responsabilidad de terceros) y que los usuarios pueden redistribuir el programa bajo estas condiciones, indicándole cómo acceder a esta Licencia completa. 4. Estos requisitos se aplican a trabajos de modificación en general. Si algunas secciones identificables no son derivadas del programa y pueden considerarse como partes independientes, entonces esta Licencia y sus Términos no se aplican a estas secciones cuando sean distribuidas separadamente. Pero si se distribuyen estas secciones como parte de un trabajo basado en el programa, la distribución, como un todo, debe contener los términos de esta Licencia, cuyos permisos se extienden al trabajo en su totalidad y no a cada una de las partes independientemente de quien las haya desarrollado. Más que tener la intención de refutar los derechos sobre la labor desarrollada por alguien, esta sección tiene por objetivo propiciar la correcta distribución de trabajos derivados del programa. Además, la mera inclusión en un volumen de almacenaje (medio de distribución) de trabajos que tengan como base el programa u otros trabajos basados en él, no obliga la aplicación de esta Licencia y de sus términos a dicho trabajo. 279 Apéndice C. Licencia Pública General GNU Están permitidas, la copia y la distribución del Programa (o un trabajo basado en éste) en la forma de código objeto o ejecutable, de acuerdo con los términos de las Secciones 1 y 2 anteriores, desde que se cumpla lo siguiente: [a.] Que se suministren los códigos fuente legibles, que se deben distribuir en la forma de las Secciones 1 y 2 ya mencionadas arriba, de la forma normalmente utilizada para el manejo del software. [b.] Que venga con una oferta escrita, válida por três años como mínimo, de poner a disposición de terceros, una copia completa de los códigos fuente en medio magnético, de acuerdo con las Secciones 1 y 2 arriba. Esto por un costo no superior al costo del medio físico de almacenaje. [c.] Que esté anexada la misma información recibida en relación con la oferta de la distribución del código fuente correspondiente. Esta alternativa solamente está permitida para distribuciones no comerciales y solamente si el programa recibido en la forma de objeto o ejecutable tiene tal oferta, de acuerdo con la sección 2 anterior. El código fuente de un trabajo es la mejor forma de que se produzcan alteraciones en ese trabajo. Cuando se habla de códigos fuente completos se habla de todos los fuentes, de todos los módulos, además de las definiciones de interfaces asociadas, archivos, scripts...utilizados en la compilación e instalación del ejecutable. Como una excepción, el código fuente distribuido podrá no incluir algunos componentes que no se encuentren en su campo de acción, como compilador, núcleo, etc... para el sistema operativo donde el 280 Apéndice C. Licencia Pública General GNU trabajo se ejecute. Si la distribución del ejecutable u objeto se realiza a través de acceso a un determinado punto, se debe hacer, a los códigos fuente oferta equivalente de acceso, aunque terceros no estén obligados a copiar los fuentes juntos con los objetos simultáneamente. 5. No se permite la copia, modificación, sublicenciamiento o distribución del programa, excepto bajo las condiciones expresas en esta Licencia. Cualquier intento de copia, modificación, sublicenciamiento o distribución del programa está prohibido, y los derechos descritos en esta Licencia cesarán inmediatamente. Los terceros, que hayan recibido copias o derechos bajo la forma de esta Licencia, no tendrán sus derechos retirados siempre y cuando permanezcan dentro de las cláusulas de la misma. 6. No es necesaria la aceptación formal de esta Licencia, a pesar de que no habrá documento o contrato que garantice permiso de modificación o distribución del programa o sus trabajos derivados. Esas acciones están prohibidas por ley, en el caso de que no se acepten las condiciones de esta Licencia. La modificación o distribución del programa, o cualquier trabajo basado en éste, implica la aceptación de esta Licencia y de todos los términos de ésta, para copia, distribución o modificación del programa o trabajos basados en éste. 7. Cada vez que el programa se distribuya (o cualquier trabajo basado en éste), el receptor automáticamente recibe una licencia del detentor original de los derechos de copia, distribución o modificación del programa objeto de estos términos y condiciones. No pueden imponerse otras restricciones a los receptores. 8. En caso que decisiones judiciales o alegaciones de uso indebido de patentes o dere- 281 Apéndice C. Licencia Pública General GNU chos de autor, impongan restricciones que contradigan esta Licencia, éstas no inhiben su aplicación. Si no es posible distribuir el programa de tal forma que garantice simultáneamente las obligaciones de esta Licencia y otras que sean necesarias, entonces el programa no podrá distribuirse. Si esta Sección se considera no válida por cualquier motivo particular o general, su resultado implicará en la no validación general de esta Licencia para la copia, modificación, sublicenciamiento o distribución del programa o trabajos basados en éste. El propósito de esta sección no es, de ninguna manera, incitar a nadie a infringir derechos reclamados en cuestiones válidas y procedentes, y sí proteger las premisas del sistema de libre distribución de software. Muchas personas han hecho contribuciones generosas al sistema, en la forma de programas, y es necesario garantizar la consistencia y credibilidad del sistema, cabiendo a éstos, y no a terceros, decidir la forma de distribución de los software. Esta sección pretende aclarar los motivos que generaron las demás cláusulas de esta Licencia. 9. Si la distribución del programa, dentro de los términos de esta Licencia, tiene restricciones en algún País, por patentes o derechos de autor, el detentor original de los derechos de autor del programa cobijado por esta Licencia puede adicionar explícitamente limitaciones geográficas de distribución, excluyendo esos países, haciendo que la distribución solamente pueda realizarse en los países no incluidos en esta limitación. 10. La Fundación de Software de Libre Distribución (FSF - Free Software Foundation) puede publicar versiones revisadas o nuevas versiones de esta Licencia Pública Ge- 282 Apéndice C. Licencia Pública General GNU neral periódicamente. Estas nuevas versiones mantendrán los mismos objetivos y el espíritu de la presente versión, pudiendo variar en detalles referidos a las nuevas situaciones en que se encuentren. A cada versión se le asigna un número distinto. Si el Programa menciona, un número de la versión específica de esta Licencia que tenga en su contenido la expresión “ versión más actualizada”, es posible optar por las condiciones de aquella versión o de cualquier versión más reciente publicada por la FSF. 11. Si se desea incorporar parte del programa a otros programas de libre distribución de software es necesario tener la autorización formal del autor. Para software de los cuales la FSF tenga los derechos de autor, pueden abrirse excepciones siempre que se mantenga el espíritu y objetivos originales de esta Licencia. 12. COMO EL PROGRAMA ESTÁ LICENCIADO SIN COSTO, NO EXISTE NINGUNA GARANTÍA PARA ÉL. EXCEPTO CUANDO TERCEROS SE EXPRESEN FORMALMENTE, EL PROGRAMA SE PONE A DISPOSICIÓN EN SU FORMATO ORIGINAL, SIN GARANTÍAS DE NINGUNA NATURALEZA, EXPRESAS O IMPLÍCITAS, INCLUYENDO, PERO NO LIMITADAS, LAS GARANTÍAS COMERCIALES Y DE ATENCIÓN PARA UN FIN DETERMINADO. LA CALIDAD Y EL RENDIMIENTO SON DE RIESGO EXCLUSIVO DE LOS USUARIOS. CORREN POR SU CUENTA LOS COSTOS DE EVENTUALES ALTERACIONES, CORRECCIONES Y REPARACIONES QUE SE JUZGUEN NECESARIOS. 13. EL AUTOR O TERCEROS QUE HUBIERAN MODIFICADO EL PROGRAMA, NO ASUMEN NINGUNA RESPONSABILIDAD POR LOS DAÑOS O PERJUICIOS QUE PROVENGAN DEL MAL USO O DE LA FALTA DE HABILIDAD EN 283 Apéndice C. Licencia Pública General GNU EL EMPLEO DEL MISMO (INCLUYENDO PERO NO LIMITADA A LA PÉRDIDA DE DATOS O DATOS ERRÓNEOS), AÚN CUANDO NO SE HAYA EMITIDO UN AVISO SOBRE LOS POSIBLES ERRORES O DAÑOS. EXCEPTO EN LOS CASOS QUE LO REQUIERA UNA DECISIÓN JUDICIAL O POR LIBRE VOLUNTAD DE LOS MISMOS. FIN DE LA LICENCIA ¿Cómo aplicar estos términos a nuevos programas? Si usted desarrolló un nuevo programa y desea su amplia difusión al público, la mejor forma de conseguirlo es convertirlo en un software de libre distribución que cualquiera pueda distribuir bajo las condiciones de esta Licencia. Para eso basta anexar este aviso al programa. Se recomienda indicar ya en el comienzo de cada archivo fuente, la ausencia de garantías y la anotación de un archivo que contenga el texto general de esta Licencia, por ejemplo: (una línea para colocar el nombre del programa y una breve descripción de lo que hace) 284 Apéndice C. Licencia Pública General GNU Copyright ® 19yy nombre del autor Este programa es un software de libre distribución que puede copiarse y distribuirse bajo los términos de la Licencia Pública General GNU, como la publica Free Software Foundation, versión 2 de la licencia o (a criterio del autor) cualquier versión posterior. Este programa se distribuye con el deseo de que sea útil a sus usuarios, sin embargo NO TIENE NINGUNA GARANTÍA, EXPLÍCITA O IMPLÍCITA, COMERCIAL O DE ATENCIÓN A UN FIN DETERMINADO. Para obtener mÁs detalles consulte la Licencia Pública General GNU. Junto con este software debe haber una copia de la Licencia Pública General GNU, en inglés o español, de no ser así, escriba a Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Incluya también el medio de entrar en contacto con usted, por correo electrónico, dirección comercial o residencial. Si el programa es interactivo, presente en su inicio un breve aviso, como por ejemplo: Gnomovision versión 69, Copyright nombre del autor Gnomovision 285 Apéndice C. Licencia Pública General GNU NO TIENE NINGUNA GARANTÍA; para obtener más detalles teclee “muestre garantía”. Éste es un software de libre distribución y usted está autorizado a distribuirlo siempre que cumpla ciertas condiciones. Para obtener más detalles, teclee “muestre condición” Los comandos hipotéticos “muestre garantía” y “muestre condición” presentarán las partes apropiadas de la Licencia Pública General GNU. Evidentemente los comandos pueden variar o ser accionados por otras interfaces como clic de ratón, etc. Esta Licencia Pública General no permite la incorporación de su programa en programas que no sean de libre distribución. Si su programa es una subrutina de biblioteca, tal vez a usted le parezca más interesante permitir la “implementación” de aplicaciones que no sean de libre distribución con su biblioteca. Si es eso lo que desea hacer, en vez de usar esta Licencia use la Licencia Pública General GNU para Bibliotecas. 286 Índice webmail servidor IMAP, 97 Símbolos A DNS configurando mapa de IPs reversos, 39 Amanda archivo /etc/inetd.conf, 258 IMAP, 97 archivo amanda.conf, 243 Servidor web comando amcheck, 255 Requisitos, 63 comando amflush, 246, 254 comando amrestore, 255 squid acls, 153 configurando, 241 archivo /etc/squid/squid.conf configurando máquinas clientes, 257 opciones, 152 editando crontab, 254 instalando, 146 espacio en disco duro, 246 opciones de seguridad, 151 iniciando las cintas, 253 requisitos, 145 instalando, 239 287 lista de discos, 251 reiniciando, 54, 66 recuperación de datos, 255 requisitos, 46 referencias, 259 aplicaciones requisitos, 238 Amanda, 238 tipos de cinta, 247 Apache, 45 tipos de dump, 248 Dump y Restore, 238 utilizando el cron, 253 GNU Tar, 238 Apache, 45 archivo /etc/inetd.conf, 258 archivo httpd.conf, 64 archivo httpd.conf, 64 configurando, 47, 64 archivo inittab, 177 configurando DNS, 67 archivo ipsec.secrets, 230 directorio de los dominios, 67 archivo login.config, 178 documentación, 64 autenticación, 228 iniciando, 51 instalando, 46 módulo php3, 53 B probando configuración, 67 prueba de configuración, 55 288 BIND, 25 configuración, 27 D instalación, 26 direcciones estándar de email, 118 agregando, 124 archivo de lista, 125 C configurando, 122 CIPE, 221 editando, 124 compartiendo recursos, 197 programa de filtros, 125 requisitos, 197 DNS, 25 copias de seguridad, 237 agregando dominios virtuales, 43 correo electrónico, 119 agregando máquinas, 34, 35 configurando mediante Linuxconf, 122 configuración, 27 configurando con Linuxconf, 27 criptografía, 223 configurando el dominio, 29 cron, 253 edición rápida de máquinas, 36 especificando nombre de máquina, 34 inclusión de dominios, 33 instalación, 26 registrando estaciones, 31 289 autenticación, 228 seleccionando un dominio, 32 configurando, 225 dominios virtuales, 62 configurando gateway, 229 instalando, 224 keywords, 228 E requisitos, 223 email configurando cuentas múltiples, 122 creando cuentas múltiples, 119 requisitos, 120 G encaminadores, 165 gateway, 229 exportando sistema de archivos, 202 GPL, 275 F I frees/wan IP masquerading archivo ipsec.conf, 225 archivo ipsec.secrets, 230 290 activando DNS, 173 archivo ipchains, 166 L configurando, 166 licencia configurando estaciones, 170 configurando mediante Linuxconf, 171 encaminamiento, 172 estaciones Windows, 173 GPL, 275 listas de discusión (Ver mailman) LPD iniciando automáticamente, 170 agregando volúmenes, 207 instalando, 165 configurando impresoras, 210 presentación, 164 instalando, 200 requisitos, 165 opciones de filtro, 213 IPSec seleccionando un driver, 214 criptografía, 223 generando claves RSA, 232 habilitando la autenticación, 234 M herramientas, 221 pruebas tras de la instalación, 235 mailman RSA, 221 291 comandos, 138 montando un directorio remoto, 204 configuración, 129 creando una lista, 133 instalación, 128 P presentación, 127 requisitos, 127 mapas de IPs reversos, 39 agregando, 40 php3, 53 pop, 90 Portslave, 182 archivo pslave.conf, 191 configurando, 191 N NFS accediendo volúmenes, 205 agregando volúmenes, 206 configurando, 201 iniciando, 199 instalando, 198 instalando, 190 opciones, 193 prueba de configuración, 195 servidor de autenticación y contabilidad, 192 PPP archivo inittab, 177 archivo login.config, 178 configurando, 177 292 configurando direcciones IP, 179 instalando, 184 instalando, 176 prueba de instalación, 189 requisitos, 175 requisitos, 184 tarjeta serie, 178 tipo de servidor de acceso, 187 protocolo de autenticación, 183 recuperación de datos, 255 proxy, 144 relay, 83 pslave.conf, 191 RSA ventajas, 231 R Radius, 182 archivo clients, 185 S seguridad archivo naslist, 186 servicios de alto nivel, 221 archivo users, 187 servicios de bajo nivel, 222 autenticación de usuarios, 187 seguridad de conexiones, 220 configurando, 185 sendmail iniciando el servidor, 189 configurando, 122 293 configurando mediante Linuxconf, 71 configurando relay, 83 control de envío de mensajes, 75 dominio virtual, 77 dominios autorizados, 83 filtros anti-spam, 80 iniciando, 125 instalando, 70, 121 intervalo de envío de mensajes, 75 presentación, 69 remitentes bloqueados, 82 requisitos, 69 tamaño del buzón de correo, -999 tamaño máximo de mensaje, 78 cache, 145 squid, 145 servidor web, 45, 63 configurando, 47 instalando, 46, 64 requisitos, 46 squid agregando usuarios, 150 archivo /etc/squid/squid.conf, 147 opciones, 147 archivo de registro, 149 autenticador, 150 configurando, 147 configurando el proxy a través de Netscape, 159 servidor de nombres, 63 configurando la estación, 156 servidor PPP, 175 configurando por StarOffice, 160 servidor proxy creando listas de acceso, 154 294 cómo iniciar, 161 V directorio de cache, 148 VTun, 221 directriz httpd_access, 154 FTP, 160 HTTP, 160 HTTPS, 160 memoria cache, 148 Netscape, 157 puerto para peticiones, 147 relay de SMTP, 155 restricción de acceso, 149 restricción de accesos, 156 tamaño máximo de archivos en cache, 148 valores para límite de cache, 148 STunnel, 221 W webmail, 87 acceder a página de webmail, 115 archivo inetd.conf, 90 configurando, 89 configurando IMP, 93 cookies, 101 encabezamientos de email, 111 IMP, 87 instalando, 88 lenguaje PHP3, 91 POP, 90 programas binarios, 103 295 requisitos, 87 suporte a base de datos, 113 seleccionando el idioma, 95 verificación de mensajes, 109