instalacion configuracion centos

467
FACULTAD DE INGENIERIA, ARQUITECTURA Y URBANISMO ESCUELA DE INGENIERÍA DE SISTEMAS CURSO : Redes de Computadoras II Linux DOCENTE : Ing. Carlos Rojas Ortiz. ALUMNOS : - Guerrero Clavo Jairo. - Monteza León Anyela. - Quintana Jaramillo, Silvia. - Sánchez Tejada, Mayra. - Vásquez Villalobos Joel. CICLO : VII SEMESTRE : 2009-II Chiclayo, Noviembre de 2009.

Transcript of instalacion configuracion centos

Page 1: instalacion configuracion centos

FACULTAD DE INGENIERIA, ARQUITECTURA Y URBANISMO

ESCUELA DE INGENIERÍA DE SISTEMAS

CURSO : Redes de Computadoras II

LinuxDOCENTE : Ing. Carlos Rojas Ortiz.

ALUMNOS:

- Guerrero Clavo Jairo.

- Monteza León Anyela.

- Quintana Jaramillo, Silvia.

- Sánchez Tejada, Mayra.

- Vásquez Villalobos Joel.

CICLO : VII

SEMESTRE : 2009-II

Chiclayo, Noviembre de 2009.

Page 2: instalacion configuracion centos

GRUPO LINUX REDES II

INTRODUCCIÓN

En la actualidad existen una gran cantidad de sistemas operativos

dependiendo del tipo de computadora en el que se va a ejecutar. Por ejemplo uno

de los sistemas operativos más difundidos es Microsoft Windows en sus distintas

98, 2000, XP,Vista, sin embargo cabe resaltar que existen otros posibles sistemas

operativos para diversos tipos de computadoras como son Solaris, OS/2, BeOS,

y uno de los sistemas operativos más poderosos y en rápida expansión para PC,

LINUX.

La mejor alternativa de siglo XXI para los usuarios que no solo desean

libertad, sino que también un sistema operativo estable, robusto y confiable, es

LINUX/GNU, ya que es un sistema operativo apto para utilizar en redes, como es

el caso de servidores, estaciones de trabajo y también para computadoras

personales.

Linux fue creado por Linus Torvalds a principios de los 90s, a partir de

Minix, un sistema operativo Unix pequeño para procesadores Intel, siendo el

impulso para reescribir el código desde cero con la ayuda de programadores de

todas partes del mundo. En 1992, el núcleo Linux fue combinado con el sistema

GNU. El Sistema Operativo formado por esta combinación se conoce como

GNU/Linux.

El futuro del Linux no depende de una sola persona, sino más bien de un

grupo abierto de desarrolladores a nivel mundial.

Una de las distribuciones para servidor actualmente empleadas es el

Centos 5.3, que por su puesto se puede conseguir de manera gratuita bajo la

licencia GNU FLP, se configurará distintas aplicaciones servicios: Servidor de

archivos, Servidor Web, Servidor DNS, Servidor DHCP, Servidor de correo, FTP,

etc.

Página 1

Page 3: instalacion configuracion centos

GRUPO LINUX REDES II

CAPITULO IGENERALIDADES

DE LINUX

1. ¿QUÉ ES GNU/LINUX?

GNU/Linux es el primer sistema operativo

basado en UNIX que es 100% Software Libre. Si bien

anteriormente había otros sistemas operativos de

Página 2

Page 4: instalacion configuracion centos

GRUPO LINUX REDES II

libre distribución (como MINIX), éstos no eran totalmente Software Libre, ya

que eran regidos por licencias más restrictivas.

GNU/Linux es un proyecto que lleva ya 20 años en desarrollo, y lo

estará por muchos más, ya que se asienta sobre una base de cientos de

programadores de todas partes del mundo. No existe una persona “que hace

Linux”. GNU/Linux es un conjunto de componentes desarrollados por muchas

personas que trabajan en muchos proyectos. No es un único paquete. Es

prácticamente imposible parar un proyecto de estas magnitudes.

Hablando técnicamente, GNU/Linux es un sistema operativo de

software libre basado en UNIX, que cumple las normas POSIX. Su base es un

núcleo monolítico llamado simplemente Linux, desarrollado originalmente por

Linus B. Torvalds a principios de la década de los noventa. Su estructura

general es la típica de cualquier sistema UNIX (núcleo – intérprete de

comandos – aplicaciones), aunque actualmente debe de ser el más

desarrollado de ellos. Cuenta con una interfaz gráfica llamada Xfree86

(versión libre del sistema de ventanas Xwindow original del MIT) y con

muchas aplicaciones para realizar las más diversas tareas, desde

procesamiento de textos hasta montaje de servidores de red, pasando por

aplicaciones multimedia y juegos.

Linux, en general, no es tan sencillo de emplear como otros sistemas

operativos, aunque, se están realizando grandes esfuerzos para facilitar su

uso. Pese a todo, la enorme flexibilidad, su gran estabilidad y el bajo costo

han hecho de este sistema operativo una opción adecuada por aquellos

usuarios que se dediquen a trabajar a través de redes, naveguen por Internet,

o se dediquen a la programación.

Además el futuro de Linux es brillante y cada vez más y más gente y

empresas como IBM, Intel, Corel, están apoyando este proyecto, con lo que

el sistema será cada vez más sencillo de emplear y los programas serán cada

vez mejores.

2. HISTORIA DE GNU/LINUX

Página 3

Page 5: instalacion configuracion centos

GRUPO LINUX REDES II

A principios de la década del ‘80, un científico del área de inteligencia

artificial del Instituto de Tecnología de Massachussets (MIT), llamado Richard

Stallman, decidió comenzar a desarrollar un sistema operativo libre, ya que en

esa época la única opción que tenían los usuarios de computadoras era

adquirir un software propietario. El nombre de este sistema es GNU, acrónimo

de las palabras “¡GNU No es Unix!”. La idea principal era que el sistema

mantuviera un grado de similitud con el ya conocido UNIX sin compartir una

sola línea de código fuente. Idea que, obviamente, fue hecha realidad en

algunos años.

Para finales de los ‘80, el sistema estaba prácticamente completo.

Disponía de editores de texto, de intérpretes de comandos, de compiladores,

de debuggers, etc. Sólo faltaba un componente: el núcleo (kernel).

Casualmente, en el otro lado del mundo (Finlandia), un estudiante

llamado Linus B. Torvalds desarrolló un núcleo compatible con UNIX, sin

saber que iba a formar parte del sistema operativo más revolucionario del

mundo de la informática. Así fue como apareció Linux, el núcleo del sistema

GNU. Y es así como hoy tenemos un sistema completo a nuestra disposición,

el sistema GNU/Linux.

Paralelamente con el desarrollo de este sistema operativo, surgió la

Fundación del Software Libre, la cual fomenta, entre otras cosas, la utilización

de herramientas de Software Libre en las computadoras de todo el mundo.

GNU es uno de los proyectos más grandes de Software Libre. En él

participan miles de personas de todo el mundo colaborando con el desarrollo

de aplicaciones para el sistema, documentación, mantenimiento del servidor

web y muchísimo más.

Cuando hablamos de Libertad, en el mundo del Software Libre lo

hacemos en el sentido más filosófico de la palabra. Hablamos de la libertad

de tener un programa completo (incluido su código fuente), de la libertad de

usarlo, copiarlo, modificarlo, venderlo, de la libertad de compartirlo con los

otros. Ése es el espíritu del sistema GNU/Linux.

El software libre presenta una innumerable cantidad de ventajas para el

desarrollador frente a otros sistemas desarrollados bajo modelos cerrados. La

Página 4

Page 6: instalacion configuracion centos

GRUPO LINUX REDES II

primera y principal ventaja es que el desarrollador obtendrá ayuda de parte de

personas que quizá ni siquiera conoce, gracias a la gran Red de redes.

Recordemos que los proyectos de Software Libre generalmente se

basan en la participación de miles de personas de alrededor del mundo que

poseen una sola cosa en común: el espíritu de colaboración. Después de este

nivel, casi no hay estructura jerárquica.

Existen muchas organizaciones con grandes estructuras que

comenzaron como pequeños proyectos de Software Libre. Ejemplos de ellas

son GNOME, KDE, Samba, etc.

Cuando el proyecto se inicia, la necesidad de invertir capital en él es

prácticamente nula. Los proyectos de Software Libre comienzan como un

pasatiempo para un desarrollador y, si van por el buen camino, terminan

convirtiéndose en proyectos masivos que mueven grandes cantidades de

capital.

Pero ¿de dónde proviene el capital si la gente no pagará por el

programa? Ésa es la pregunta que mucha gente se hace sin conocer a fondo

el sistema del Software Libre.

Como mencionamos al principio, el Software Libre nos da la libertad de

comprarlo y venderlo. ¡Vender un software es parte de la libertad! Ahora bien,

cuando se vende un producto de Software Libre, no se debe limitar al cliente

dándole un binario ejecutable y un contrato que le impida copiarlo a sus

amigos. Si es Software Libre, debe ir provisto del código fuente y se le debe

dar la posibilidad al cliente de copiarlo sin problemas, haciendo uso de alguna

de las licencias de software que hoy disponemos (GPL es una de ellas).

Otra forma de obtener capital para invertir en un proyecto de Software

Libre es distribuyendo el software en un medio físico y otorgando servicios

extra para los que lo adquieran. Un buen ejemplo de esto son las

distribuciones de GNU/Linux que actualmente existen en el mercado. Si aún

no tienen en claro qué es una distribución, podemos hacer una analogía con

una empresa productora de automóviles. Un auto está compuesto por muchas

partes; las empresas automotrices seleccionan los mejores componentes y

los ensamblan. Entonces, cuando uno compra un auto, confía en la empresa

Página 5

Page 7: instalacion configuracion centos

GRUPO LINUX REDES II

automotriz que mejor haya ensamblado esos componentes. Con las

distribuciones ocurre exactamente lo mismo: el sistema operativo GNU/Linux

está compuesto por muchos componentes (programas, librerías y

documentación). Cuando uno compra una distribución, adquiere un paquete

armado por una empresa que se ha tomado el trabajo de seleccionar los

mejores paquetes para un requerimiento dado.

Otra modalidad de conseguir capital para solventar un proyecto de

Software Libre son las inversiones de las grandes empresas. Existen

compañías como IBM, Hewlett-Packard y Sun Systems que apoyan muy

fuertemente los desarrollos de Software Libre realizando inversiones

millonarias en los proyectos. ¿Por qué hacen esto? Porque saben que las

herramientas son realmente de buena calidad.

3. DEFINICIÓN DE SOFTWARE LIBRE

El “Software Libre” es un asunto de libertad, no de precio. Para

entender el concepto, debes pensar en “libre” como en “libertad de expresión”,

no como en “barra libre”

“Software Libre” se refiere a la libertad de los usuarios para ejecutar,

copiar, distribuir, estudiar, cambiar y mejorar el software. De modo más

preciso, se refiere a cuatro libertades de los usuarios del software:

- La libertad de usar el programa, con cualquier propósito (libertad 0).

- La libertad de estudiar cómo funciona el programa, y adaptarlo a tus

necesidades (libertad 1). El acceso al código fuente es una condición

previa para esto.

- La libertad de distribuir copias, con lo que puedes ayudar a tu vecino

(libertad 2).

- La libertad de mejorar el programa y hacer públicas las mejoras a los

demás, de modo que toda la comunidad se beneficie (libertad 3). El

acceso al código fuente es un requisito previo para esto.

Página 6

Page 8: instalacion configuracion centos

GRUPO LINUX REDES II

Un programa es Software Libre si los usuarios tienen todas estas

libertades. Así, pues, deberías tener la libertad de distribuir copias, sea con

modificaciones o sin ellas, sea gratis o cobrando una cantidad por la

distribución, a cualquiera y en cualquier lugar. El hecho de ser libre de hacer

esto significa (entre otras cosas) que no tienes que pedir o pagar permisos.

También deberías tener la libertad de hacer modificaciones y utilizarlas

de manera privada en tu trabajo u ocio, sin siquiera tener que anunciar que

dichas modificaciones existen. Si publicas tus cambios, no tienes por qué

avisar a nadie en particular, ni de ninguna manera en particular.

4. CARACTERÍSTICAS DE LINUX

Linux contiene todas las características de un sistema operativo

moderno, como:

- Multitarea.

- Multiusuario.

- Multi-Arquitectura disponible para Intel y compatibles, PowerPC,

Macintosh, Amiga, Atari, DEC Alpha, Sun Sparc, ARM, etc..

- Memoria Virtual.

- TCP/IP nativo.

- Librerías compartidas.

- Kernel modulable, funciona en modo protegido.

- Soporte para multiprocesamiento simétrico.

- Soporte para hardware de 32 y 64 bits.

- Estable meses (inclusive años) de funcionamiento ininterrumpido.

- Seguro prácticamente sin virus, un proceso no puede acceder a áreas

de memoria ajenas, etc.

Página 7

Page 9: instalacion configuracion centos

GRUPO LINUX REDES II

- Compatible cumple el estándar POSIX como otros muchos UNIX, lo que

facilita la migración entre plataformas.

- Rápido maneja eficientemente los recursos: memoria, disco duro, CPU,

etc.

- Capacidad en red excepcional; fue desarrollado desde un principio para

la conexión en red.

- Elegante es un modelo de programación: pequeño, extensible, modular.

5. JERARQUÍA DE SISTEMA DE FICHEROS DE LINUX

El estándar de jerarquía de ficheros (FHS o Filesystem Hierarchy

Standard) define los principales directorios y sus contenidos en GNU/Linux y

otros sistemas operativos similares a Unix.

El FHS es mantenido por Free Standards Group, una organización sin

fines de lucro constituida por compañías que manufacturan equipamiento

físico (Hardware) y lógico (Software) como Hewlett Packard, Dell, IBM y Red

Hat. La mayoría de las distribuciones de Linux, inclusive las que forman parte

de Free Software Standards, no aplican de forma estricta el estándar. La

versión actual del FHS es la 2.3, anunciada en 29 de Enero de 2004.

En GNU/Linux, los datos se ordenan en archivos y directorios (como en

tantos otros sistemas operativos). La diferencia especial radica en que

(generalmente) los programas no son almacenados cada uno en su propio

directorio, sino que sus diferentes componentes.

Página 8

Page 10: instalacion configuracion centos

GRUPO LINUX REDES II

Estructura de directorios.

Todos los ficheros y directorios aparecen debajo del directorio

raíz “/”, aún si están almacenados en dispositivos físicamente

diferentes. El sistema de archivos se organiza en una estructura única

de tipo árbol.

Directorio Descripción

/bin/ Mandatos binarios esenciales (cp, mv, ls, rm, etc.),

/boot/ Ficheros utilizados durante el arranque del sistema (núcleo ydiscos RAM),

/dev/ Dispositivos esenciales,

/etc/ Ficheros de configuración utilizados en todo el sistema y que son específicos del anfitrión.

/etc/opt/ Ficheros de configuración utilizados por programas alojados dentro de /opt/

/etc/X11/ (opcional)

Ficheros de configuración para el sistema X Window.

/etc/sgml/ (opcional)

Ficheros de configuración para SGML.

/etc/xml/ (opcional)

Ficheros de configuración para XML.

/home/ (opcional)

Directorios de inicios de los usuarios.

/lib/ Bibliotecas compartidas esenciales para los binarios de /bin/, /sbin/ y

Página 9

Page 11: instalacion configuracion centos

GRUPO LINUX REDES II

el núcleo del sistema./mnt/ Sistemas de ficheros montados temporalmente.

/media/ Puntos de montaje para dispositivos de medios como unidades lectoras de discos compactos.

/opt/ Paquetes de aplicaciones estáticas.

/proc/ Sistema de ficheros virtual que documenta sucesos y estados del núcleo. Contiene principalmente ficheros de texto.

/root/ (opcional)

Directorio de inicio del usuario root (super-usuario).

/sbin/ Binarios de administración de sistema.

/tmp/ Ficheros temporales

/srv/ Datos específicos de sitio servidos por el sistema.

/usr/ Jerarquía secundaria para datos compartidos de solo lectura (Unix system resources). Este directorio debe poder ser compartido para múltiples anfitriones y no debe contener datos específicos del anfitrión que los comparte.

/usr/bin/ Mandatos binarios.

/usr/include/ Ficheros de inclusión estándar (cabeceras de cabecera utilizados para desarrollo).

/usr/lib/ Bibliotecas compartidas.

/usr/share/ Datos compartidos independientes de la arquitectura del sistema.Imágenes, ficheros de texto, etc.

/usr/src/ (opcional)

Códigos fuente.

/usr/X11R6/ (opcional)

Sistema X Window, versión 11, lanzamiento 6.

/usr/local/ Jerarquía terciaria para datos compartidos de solo lectura específicos del anfitrión.

/var/ Ficheros variables, como son bitácoras, bases de datos, directorio raíz de servidores HTTP y FTP, colas de correo, ficheros temporales, etc.

/var/account/ (opcional)

Procesa bitácoras de cuentas de usuarios.

/var/cache/ Cache da datos de aplicaciones.

/var/crash/ (opcional)

Depósito de información referente a estrellamientos del de sistema.

/var/games/ (opional)

Datos variables de aplicaciones para juegos.

/var/lib/ Información de estado variable. Algunos servidores como MySQL yPostgreSQL almacenan sus bases de datos en directorios subordinados de éste.

/var/lock/ Ficheros de bloqueo.

Página 10

Page 12: instalacion configuracion centos

GRUPO LINUX REDES II

/var/log/ Ficheros y directorios de bitácoras.

/var/mail/ (opcional)

Buzones de correo de usuarios.

/var/opt/ Datos variables de /opt/.

/var/spool/ Colas y carretes de datos de aplicaciones.

/var/tmp/ Ficheros temporales preservados entre reinicios.

Particiones recomendadas para instalar GNU/Linux.Como mínimo se requieren tres particiones:

Directorio Descripción

/boot Requiere al menos 75 MB. Asignar más espacio puede considerarse desperdicio.

/ Requiere de 512 a 1024 MB.

Swap Debe asignarse el doble del tamaño del RAM físico, esta será siempre la última partición del disco duro y no se le asigna punto de montaje.

Otras particiones que se recomienda asignar, son:

/usr Requiere al menos 1.5 GB en instalaciones básicas. Debe

considerarse el equipamiento lógico a utilizar a futuro. Para uso

general, se recomiendan no menos de 5 GB y, de ser posible,

considere un tamaño óptimo de hasta 8 GB en instalaciones

promedio.

/tmp Requiere al menos 350 MB y puede asignarse hasta 2 GB o más

dependiendo de la carga de trabajo y tipo de aplicaciones. Si por

Página 11

Page 13: instalacion configuracion centos

GRUPO LINUX REDES II

ejemplo el sistema cuenta con un grabador de DVD, será necesario

asignar a /tmp el espacio suficiente para almacenar una imagen de

disco DVD, es decir, al menos 4.2 GB.

/var Requiere al menos 512 MB en estaciones de trabajo sin servicios. En

servidores regularmente se le asigna al menos la mitad del disco

duro.

/home En estaciones de trabajo se asigna al menos la mitad del disco duro

a esta partición.

6. PARTICIÓN DE DISCO

Una partición de disco, es el nombre genérico que recibe cada

división presente en una sola unidad física de almacenamiento de datos. Toda

partición tiene su propio sistema de archivos (formato); generalmente, casi

cualquier sistema operativo interpreta, utiliza y manipula cada partición como

un disco físico independiente, a pesar de que dichas particiones estén en un

solo disco físico.

Vale aclarar entonces que cuando hablamos de formatear un disco

estamos hablando de crear una partición que ocupe todo el espacio

disponible de una unidad física de almacenamiento.

Las particiones pueden ser utilizadas para permitir a un equipo en

particular tener instalado varios sistemas operativos en un mismo disco físico;

vale añadir algunos sistemas operativos necesitan más de una partición para

funcionar, o bien, para aprovechar el rendimiento del equipo. Una partición

también puede ser útil para proporcionar al usuario un espacio para

almacenar copias de seguridad de tal manera que los archivos puedan quedar

protegidos de un sistema de archivos roto e irrecuperable o de un formateo

accidental hecho a la partición donde está el archivo original.

A algún tipo de partición se le da formato mediante algún sistema de

archivos como FAT, NTFS, ext3, ext2, FAT32, ReiserFS, Reiser4 u otro. En

Página 12

Page 14: instalacion configuracion centos

GRUPO LINUX REDES II

Windows, las particiones reconocidas son identificadas con una letra seguida

por un signo de doble punto (p.e C:\). En sistemas basados en linux, se le

asigna un archivo especial en la carpeta /dev a cada partición (p.e. hda1,

sda2, etc.); el archivo recibe un nombre compuesto de tres letras seguidas de

un número. Estos archivos especiales representan la partición, y gracias a

estos archivos, una partición puede montarse en cualquier carpeta del

sistema.

Un único disco físico puede contener hasta cuatro particiones

primarias; prácticamente todo tipo de discos magnéticos y memorias flash

(como pendrives) pueden particionarse. Sin embargo, para tener la posibilidad

de más particiones en un solo disco, se utilizan las particiones extendidas, las

cuales pueden contener un número ilimitado de particiones lógicas en su

interior. Para este último tipo de particiones, no es recomendado su uso para

instalar ciertos sistemas operativos, sino que son más útiles para guardar

documentos o ejecutables no indispensables para el sistema. Los discos

ópticos (DVD, CD) no soportan particiones.

Hay que tener en cuenta que solo las particiones primarias y lógicas

pueden contener un sistema de archivos propio. Las particiones extendidas

solo sirven para albergar particiones lógicas. Las particiones extendidas son

un tipo de partición primaria, pero a diferencia de otras particiones primarias,

en éstas solo puede haber una partición extendida en todo el disco.

Representación gráfica de un disco particionado. Cada recuadro

blanco representa algún sistema de archivos vacío. Los espacios en gris representan los espacios sin particionar del disco. Las particiones rodeadas

Página 13

Page 15: instalacion configuracion centos

GRUPO LINUX REDES II

por líneas moradas o violetas representan las particiones primarias. Las

particiones rodeadas por bordes rojos representan la partición extendida

(que es un tipo de partición primaria); y en su interior, se encuentran las

particiones lógicas, rodeadas por los bordes de color verde.

Es común que los sistemas basados o similares a UNIX generalmente

se usen hasta con 3 particiones: la principal, montada en el directorio raíz (/); a veces hay también una segunda que se usa para montar el directorio

/home, el cual contiene las configuraciones de los usuarios, y finalmente, una

tercera llamada swap, que se usa para la memoria virtual temporal. Sin

embargo, 2 particiones (/, y swap); es el mínimo suficiente en estos sistemas

operativos. Cabe decir además que las particiones de intercambio (swap)

pueden instalarse sin problemas dentro de una partición lógica. Las

particiones de intercambio, al igual que a la memoria RAM, no se les asigna

un directorio; este tipo de particiones se usa para guardar ciertas réplicas de

la memoria RAM, para que de esta forma la RAM tenga más espacio para las

tareas en primer plano, guardando las tareas en segundo plano dentro de la

partición de intercambio. Algunos sistemas tipo UNIX están diseñados para

funcionar con una sola partición, sin embargo, estos diseños no son muy

comunes.

6.1. Tipos de particiones

El formato o sistema de archivos de las particiones (p. ej. NTFS)

no debe ser confundido con el tipo de partición (p. ej. partición

primaria), ya que en realidad no tienen directamente mucho que ver.

Independientemente del sistema de archivos de una partición (FAT,

ext3, NTFS, etc.), existen 3 tipos diferentes de particiones:

Partición primaria: Son las divisiones crudas o primarias del disco,

solo puede haber 4 de éstas o 3 primarias y una extendida.

Depende de una tabla de particiones. Un disco físico

completamente formateado consiste, en realidad, de una partición

primaria que ocupa todo el espacio del disco y posee un sistema de

Página 14

Page 16: instalacion configuracion centos

GRUPO LINUX REDES II

archivos. A este tipo de particiones, prácticamente cualquier

sistema operativo puede detectarlas y asignarles una unidad,

siempre y cuando el sistema operativo reconozca su formato

(sistema de archivos).

Partición extendida: Es otro tipo de partición que actúa como una

partición primaria; sirve para contener infinidad de unidades lógicas

en su interior. Fue ideada para romper la limitación de 4 particiones

primarias en un solo disco físico. Solo puede existir una partición

de este tipo por disco, y solo sirve para contener particiones

lógicas. Por lo tanto, es el único tipo de partición que no soporta un

sistema de archivos directamente.

Partición lógica: Ocupa una porción de la partición extendida o la

totalidad de la misma, la cual se ha formateado con un tipo

específico de sistema de archivos (FAT32, NTFS, ext2,...) y se le

ha asignado una unidad, asi el sistema operativo reconoce las

particiones lógicas o su sistema de archivos. Puede haber un

máximo de 32 particiones lógicas en una partición extendida.

Particiones primarias

En los equipos PC, originales de IBM, estas particiones

tradicionalmente usan una estructura llamada Tabla de particiones, que

apunta al final del registro de arranque maestro (MBR, Master Boot

Record). Esta tabla, que no puede contener más de 4 registros de

particiones (también llamados partition descriptors), especifica para cada

una su principio, final y tamaño en los diferentes modos de

direccionamiento, así también como un solo número, llamado partition

type, y un marcador que indica si la partición está activa o no (sólo

puede haber una partición activa a la vez). El marcador se usa durante el

arranque; después de que el BIOS cargue el registro de arranque

maestro en la memoria y lo ejecute, el MBR de DOS comprueba la tabla

de partición a su final y localiza la partición activa. Entonces carga el

sector de arranque de esta partición en memoria y la ejecuta. A

Página 15

Page 17: instalacion configuracion centos

GRUPO LINUX REDES II

diferencia del registro de arranque maestro, generalmente independiente

del sistema operativo, el sector de arranque está instalado junto con el

sistema operativo y sabe cómo cargar el sistema ubicado en ese disco

en particular.

Notar que mientras la presencia de un marcador activo se

estandariza, éste normalmente no lo utiliza cualquier programa, aunque

sí el gestor de arranque para que no esté obligado a cargar la partición

que se marcó como activa. Algunos gestores usan esto para arrancar

sistemas operativos desde particiones no activas. Por ejemplo, los

gestores LILO, GRUB (muy comunes en el sistema Linux) y XOSL no

buscan por encima de la tabla de partición en total; simplemente carga

una segunda etapa (que puede ser contenida en el resto del cilindro 0 ó

en el sistema de archivos). Después de cargar la segunda etapa se

puede usar para cargar el sector de arranque desde cualquiera de las

particiones del disco (así habilitando al usuario cargar el sistema desde

éste), o si el gestor conoce cómo localizar el kernel (núcleo) del sistema

operativo en una de las particiones y cargarlo (para propósitos de

recuperación, puede permitir al usuario especificar opciones de kernel

adicionales).

Particiones extendidas y lógicas

Cualquier versión del DOS puede leer sólo una partición FAT

primaria en el disco duro. Esto unido al deterioro de la FAT con el uso y

al aumento de tamaño de los discos movió a Microsoft a crear un

esquema mejorado relativamente simple: una de las entradas de la

tabla de partición principal pasó a llamarse partición extendida y recibió

un número de tipo de partición especial (0x05). El campo inicio de

partición tiene la ubicación del primer descriptor de la partición

extendida, que a su vez tiene un campo similar con la ubicación de la

siguiente; así se crea una lista enlazada de descriptores de partición.

Los demás campos de una partición extendida son indefinidos, no

Página 16

Page 18: instalacion configuracion centos

GRUPO LINUX REDES II

tienen espacio asignado y no pueden usarse para almacenar datos.

Las particiones iniciales de los elementos de la lista enlazada son las

llamadas unidades lógicas; son espacios asignados y pueden

almacenar datos. Los sistemas operativos antiguos ignoraban las

particiones extendidas con número de tipo 0x05, y la contabilidad se

mantenía. Este esquema reemplaza al antiguo ya que todas las

particiones de un disco duro se pueden poner dentro de una sola

partición extendida. Por alguna razón, Microsoft no actualizó su sistema

operativo DOS para arrancar desde una partición extendida, debido a

que la necesidad para particiones primarias se preservaron. Por

encima de éstas todavía se habría permitido una partición FAT primaria

por unidad, significando todas las otras particiones FAT primarias

deben tener sus números de tipo de partición prior cambiando al

arranque DOS, para que ésta sea capaz de proceder. Esta técnica,

usada por varios administradores de arranque populares, se llama

ocultación de la partición. Sin embargo hay que tener en cuenta una

quinta partición que se puede comprimir pero no es muy recomendable

Razones para el uso de particiones

Algunos sistemas de archivos (p.e. versiones antiguas de

sistemas FAT de Microsoft) tienen tamaños máximos más

pequeños que los que el tamaño que proporciona un disco,

siendo necesaria una partición de tamaño pequeño, para que

sea posible el adecuado funcionamiento de este antiguo sistema

de archivos.

Se puede guardar una copia de seguridad de los datos del

usuario en otra partición del mismo disco, para evitar la pérdida

de información importante. Ésto es similar a un RAID, excepto

en que está en el mismo disco.

En algunos sistemas operativos aconsejan más de una partición

para funcionar, como por ejemplo, la partición de intercambio

(swap) en los sistemas operativos basados en Linux.

Página 17

Page 19: instalacion configuracion centos

GRUPO LINUX REDES II

A menudo, dos sistemas operativos no pueden coexistir en la

misma partición, o usar diferentes formatos de disco “nativo”. La

unidad se particiona para diferentes sistemas operativos.

Uno de los principales usos que se le suele dar a las particiones

(principalmente a la extendida) es la de almacenar toda la

información del usuario (entiéndase musica, fotos, vídeos,

documentos), para que al momento de reinstalar algún sistema

operativo se formatee únicamente la unidad que lo contiene sin

perder el resto de la información del usuario.

A lo largo de los años han aparecido numerosos sistemas de

particionamiento, para casi todas las arquitecturas de ordenadores

existentes. Muchos son relativamente transparentes y permiten la

manipulación conveniente de las particiones de disco; algunos, sin

embargo, son obsoletos.

Este esquema se considera obsoleto, porque sólo admite discos

duros de más de 8 gigabytes de espacio. Como la arquitectura IBM PC

es muy común, las tablas de partición probablemente subsistirán cierto

tiempo. Sin embargo, un proyecto reciente de Intel y Microsoft llamado

Extensible Firmware Initiative (EFI) tiene un componente llamado GUID

Partition Table.

Las ventajas del uso de particiones primarias

Las particiones extendidas se inventaron para superar el límite

de 4 particiones máximas por cada disco duro y poder crear un número

ilimitado de unidades lógicas, cada una con un sistema de archivos

diferente de la otra. Todos los sistemas modernos (Linux, cualquier

Windows basado en NT e incluso OS/2) son capaces de arrancar

desde una unidad lógica. Sin embargo, el MBR por defecto utilizado por

Windows y DOS sólo es capaz de continuar el proceso de arranque

con una partición primaria. Cuando se utiliza este MBR, es necesario

Página 18

Page 20: instalacion configuracion centos

GRUPO LINUX REDES II

que exista por lo menos una partición primaria que contenga un

cargador de arranque (comunmente el NTLDR de Windows). Otros

cargadores de arranque que reemplazan el MBR, como por ejemplo

GRUB, no sufren de esta limitación.

Aplicaciones para la edición de particiones

GParted es el editor de particiones de GNOME. Esta aplicación

es usada para crear, destruir, redimensionar, inspeccionar y copiar

particiones, como también sistemas de archivos. Esto es útil para crear

espacio para nuevos sistemas operativos, para reorganizar el uso del

disco y para crear imágenes de un disco en una partición. QtParted, es

la contraparte de GParted pero para entornos de escritorios KDE.

Gparted se encuentra disponible en un LiveCD, basado en

Slackware y construido sobre la última rama estable núcleo Linux (2.6).

El LiveCD es actualizado con cada lanzamiento de GParted. El LiveCD

de Ubuntu incluye esta aplicación entre sus utilidades. También se

encuentra disponible en una versión LiveUSB

Página 19

Page 21: instalacion configuracion centos

GRUPO LINUX REDES II

6.2. PARTICIONES EN CALIENTE6.2.1. Raid

Puede haber muchas buenas razones para usar RAID. Unas pocas son: la

posibilidad de combinar varios discos físicos en un único dispositivo virtual más

grande, o mejoras en el rendimiento y redundancia.

6.2.2. Detalles técnicos

El RAID de Linux puede funcionar sobre la mayoría de los dispositivos de

bloque. No importa si usa dispositivos IDE, SCSI o una mezcla de ambos. Incluso

algunas personas han usado dispositivo de bloque en red (Network Block Device,

NBD) con diferentes grados de éxito.

Asegúrese de que el bus (o buses) de los discos son lo suficientemente

rápidos. No debería tener 14 discos UW-SCSI en un único bus UW, si cada disco

puede dar 10MB/s y el bus sólo puede sostener 40MB/s. Además, sólo debería

tener un dispositivo por bus IDE. El uso de discos como maestro/esclavo es

funesto para el rendimiento. IDE es realmente ineficiente accediendo a más de un

disco por bus. Naturalmente, todas las placas madre modernas tienen dos buses

IDE, por lo que puede configurar dos discos en RAID sin comprar más tarjetas

controladoras.

La capa RAID no tiene absolutamente nada que ver con la capa del

sistema de ficheros. Puede poner cualquier sistema de ficheros sobre un

dispositivo RAID, tal y como haría con cualquier otro dispositivo de bloques.

6.2.3. Niveles RAID

Oficialmente los sistemas RAID se implementan en 7 configuraciones o

niveles: RAID 0 a RAID 6. También existen combinaciones de niveles de RAID,

las combinaciones más comunes son RAID 10 y RAID 0+1.

Modo Lineal (Linear mode) o Dos o más discos se combinan en un único dispositivo físico. Los discos

se adjuntan unos a otros de tal manera que las escrituras en el dispositivo

Página 20

Page 22: instalacion configuracion centos

GRUPO LINUX REDES II

RAID primero llenarán el disco 0, a continuación el disco 1 y así

sucesivamente. Los discos no tienen porqué ser del mismo tamaño. De

hecho, los tamaños no importan para nada aquí.

o No existe redundancia en este nivel. Si un disco falla perderá toda su

información con toda probabilidad. Sin embargo, puede tener suerte y

recuperar algunos datos, ya que el sistema de ficheros simplemente habrá

perdido un gran puñado de datos consecutivos.

o El rendimiento de las lecturas y las escrituras no se incrementará para

lecturas/escrituras individuales. Pero si varios usuarios usan el dispositivo,

puede tener la suerte de que un usuario use efectivamente el primer disco

y el otro usuario acceda a ficheros que por casualidad residan en el

segundo disco. Si esto ocurre, verá un aumento en el rendimiento.

RAID-0

o También llamado modo striping o de distribución por bandas. Como el

modo lineal salvo que las lecturas y escrituras se realizan en paralelo en

los dispositivos. Éstos deben tener aproximadamente el mismo tamaño.

Puesto que todos los accesos se realizan en paralelo, los discos se llenan

por igual. Si un dispositivo es mucho mayor que los otros demás, el

espacio extra se utilizará en el dispositivo RAID durante las escrituras en el

extremo superior, aunque sólo se accederá a este disco más grande.

Naturalmente, esto perjudica el rendimiento.

o Como en el modo lineal, tampoco hay redundancia en este nivel. A

diferencia del modo lineal, no será capaz de recuperar ningún dato si un

disco falla. Si elimina un disco de un grupo RAID-0, el dispositivo RAID no

perderá simplemente un bloque consecutivo de datos, sino que se llenará

con pequeños agujeros por todo el dispositivo. Probablemente, e2fsck no

sea capaz de recuperar gran cosa.

o El rendimiento de las lecturas y las escrituras se incrementará, ya que las

lecturas y las escrituras se realizan en paralelo sobre los dispositivos.

Página 21

Page 23: instalacion configuracion centos

GRUPO LINUX REDES II

Normalmente, ésta es la razón principal para usar RAID-0. Si los buses a

los discos son suficientemente rápidos, puede obtener casi N*P MB/seg.

RAID-1 o Este es el primer modo que realmente tiene redundancia. RAID-1 se

puede usar en dos o más discos con cero o más discos de reserva. Este

modo mantiene en un disco un duplicado exacto de la información del

otro(s) disco(s). Por supuesto, los discos deben ser del mismo tamaño. Si

un disco es mayor que otro, su dispositivo RAID será del tamaño del disco

más pequeño.

o Si se eliminan (o fallan) hasta N-1 discos, los datos permanecerán

intactos. Si existen discos de reserva disponibles y el sistema (es decir, las

controladoras SCSI o los chipsets IDE, etc.) sobreviven al desastre,

comenzará inmediatamente la reconstrucción de un duplicado en uno de

los discos de reserva, después de la detección del fallo del disco.

o Normalmente, el rendimiento de las lecturas aumenta hasta casi N*P,

mientras que el rendimiento de las escrituras es el mismo que el de un

único dispositivo o, tal vez, incluso menos. Las lecturas se pueden hacer

en paralelo pero, cuando se escribe, la CPU debe transferir N veces la

cantidad de datos que normalmente transferiría (recuerde, se deben enviar

N copias idénticas de todos los datos a los discos).

RAID-4 o Este nivel de RAID no se usa con mucha frecuencia. Se puede usar sobre

3 o más discos. En lugar de duplicar completamente la información, guarda

información de paridad en un único disco y escribe datos a los otros discos

de forma parecida a un RAID-0. Ya que uno de los discos se reserva para

información de paridad, el tamaño del array será (N-1)*S, donde S es el

tamaño del disco más pequeño del array. Como en un RAID-1, los discos

deben ser del mismo tamaño, o de lo contrario tendrá que aceptar que el

valor de S en la fórmula (N-1)*S anterior será el tamaño del disco más

pequeño del array.

Página 22

Page 24: instalacion configuracion centos

GRUPO LINUX REDES II

o Si un disco falla, y no es el de paridad, se puede usar la información de

paridad para reconstruir todos los datos. Si dos discos fallan, se perderá

toda la información.

o La razón por la que este nivel no se usa con mucha frecuencia es que la

información de paridad se guarda en un único disco. Esta información se

debe actualizar cada vez que se escribe en uno de los otros discos. Por

eso, el disco de paridad se convertirá en un cuello de botella si no es

mucho más rápido que los otros discos. Sin embargo, si por pura

casualidad tuviera muchos discos lentos y un disco muy rápido, este nivel

de RAID podría resultarle muy útil.

RAID-5

o Este es quizás el modo RAID más útil cuando uno desea combinar un

mayor número de discos físicos y todavía conservar alguna redundancia.

RAID-5 se puede usar sobre 3 o más discos, con cero o más discos de

reserva. El tamaño del dispositivo RAID-5 resultante será (N-1)*S, tal y

como sucede con RAID-4. La gran diferencia entre RAID-5 y RAID-4 es

que la información de paridad se distribuye uniformemente entre los discos

participantes, evitando el problema del cuello de botella del RAID-4.

o Si uno de los discos falla, todos los datos permanecerán intactos, gracias a

la información de paridad. Si existen discos de reserva disponibles, la

reconstrucción comenzará inmediatamente después del fallo del

dispositivo. Si dos discos fallan simultáneamente, todos los datos se

perderán. RAID-5 puede sobrevivir a un fallo de disco, pero no a dos o

más.

o Normalmente, el rendimiento de las lecturas y las escrituras se

incrementará, pero es difícil predecir en qué medida.

RAID-6. Este tipo es similar al RAID-5, pero incluye un segundo esquema

de paridad distribuido por los distintos discos y por tanto ofrece tolerancia

extremadamente alta a los fallos y las caídas de disco. Hay pocos

ejemplos comerciales en la actualidad.

Página 23

Page 25: instalacion configuracion centos

GRUPO LINUX REDES II

RAID-7. Este tipo incluye un sistema operativo incrustado de tiempo real

como controlador, haciendo las operaciones de caché a través de un bus

de alta velocidad y otras características de un ordenador sencillo. Un

vendedor ofrece este sistema.

RAID-10. Este tipo ofrece un conjunto de bandas en el que cada banda es

un grupo de discos RAID-1. Esto proporciona mejor rendimiento que el

RAID-1, pero a un costo mucho mayor.

RAID-53. Este tipo ofrece un conjunto de bandas en el cual cada banda es un

conjunto de discos RAID-3. Esto proporciona mejor rendimiento que el RAID-3,

pero a un costo mucho mayor.

6.2.4. Discos de reserva

Los discos de reserva son discos que no forman parte del grupo RAID

hasta que uno de los discos activos falla. Cuando se detecta un fallo de disco, el

dispositivo se marca como defectuoso y la reconstrucción se inicia

inmediatamente sobre el primer disco de reserva disponible.

De esta manera, los discos de reserva proporcionan una buena seguridad

extra, especialmente a sistemas RAID-5 que tal vez, sean difíciles de lograr

(físicamente). Se puede permitir que el sistema funcione durante algún tiempo con

un dispositivo defectuoso, ya que se conserva toda la redundancia mediante los

discos de reserva.

No puede estar seguro de que su sistema sobrevivirá a una caída de disco.

La capa RAID puede que maneje los fallos de dispositivos verdaderamente bien,

pero las controladoras SCSI podrían fallar durante el manejo del error o el chipset

IDE podría bloquearse, o muchas otras cosas.

Página 24

Page 26: instalacion configuracion centos

GRUPO LINUX REDES II

6.2.5. Espacio de intercambio (swap) sobre RAID

No hay ninguna razón para usar RAID a fin de aumentar el rendimiento del

sistema de paginación de memoria (swap). El propio núcleo puede balancear el

intercambio entre varios dispositivos si simplemente les da la misma prioridad en

el fichero /etc/fstab.

Un buen fstab se parece a éste:

/dev/sda2 swap swap defaults,pri=1 0 0/dev/sdb2 swap swap defaults,pri=1 0 0/dev/sdc2 swap swap defaults,pri=1 0 0/dev/sdd2 swap swap defaults,pri=1 0 0/dev/sde2 swap swap defaults,pri=1 0 0/dev/sdf2 swap swap defaults,pri=1 0 0/dev/sdg2 swap swap defaults,pri=1 0 0

Esta configuración permite a la máquina paginar en paralelo sobre siete

dispositivos SCSI. No necesita RAID, ya que esa ha sido una característica del

núcleo desde hace mucho tiempo.

Otra razón por la que podría interesar usar RAID para swap es la alta

disponibilidad. Si configura un sistema para arrancar desde, por ejemplo, un

dispositivo RAID-1, el sistema podría ser capaz de sobrevivir a un fallo de disco.

Pero si el sistema ha estado paginando sobre el ahora dispositivo defectuoso,

puede estar seguro de que se vendrá abajo. El intercambio sobre un dispositivo

RAID-1 solucionaría este problema.

Sin embargo, el intercambio sobre RAID-{1,4,5} NO está soportado. Puede

configurarlo, pero fracasará. La razón es que la capa RAID algunas veces reserva

memoria antes de realizar una escritura. Esto produce un bloqueo, quedando en

un punto muerto, ya que el núcleo tendrá que reservar memoria antes de que

pueda intercambiar, e intercambiar antes de que pueda reservar memoria.

Página 25

Page 27: instalacion configuracion centos

GRUPO LINUX REDES II

6.2.6. Asuntos hardware

Esta sección mencionará algunos de los asuntos hardware involucrados en

el funcionamiento de un RAID software.

Configuración IDE

En efecto, es posible hacer funcionar un RAID sobre discos IDE. También

se puede obtener un rendimiento excelente. De hecho, el precio actual de los

discos y las controladoras IDE hacen de IDE algo a tener en cuenta cuando se

montan nuevos sistemas RAID.

o Estabilidad física: tradicionalmente, los discos IDE han sido de peor

calidad mecánica que los discos SCSI. Incluso hoy en día, la garantía de

los discos IDE es típicamente de un año, mientras que, a menudo, es de 3

a 5 años en los discos SCSI. Aunque no es justo decir que los discos IDE

son por definición de menor calidad, uno debería ser consciente de que los

discos IDE de algunas marcas pueden fallar con más frecuencia que los

discos SCSI similares. Sin embargo, otras marcas usan exactamente la

misma estructura mecánica tanto para los discos SCSI como para los

discos IDE. Todo se reduce a: todos los discos fallan, tarde o temprano, y

uno debería estar preparado para ello.

o Integridad de los datos: al principio, IDE no tenía forma de asegurar que

los datos enviados a través del bus IDE eran los mismos que los datos

escritos realmente en el disco. Esto se debió a la falta total de paridad,

sumas de verificación (checksums), etc. Ahora, con el estándar UltraDMA,

los dispositivos IDE realizan una suma de verificación sobre los datos que

reciben y por eso es altamente improbable que los datos se corrompan.

o Rendimiento: no voy a escribir aquí sobre el rendimiento de IDE de forma

detallada. Una historia realmente breve sería:

Los dispositivos IDE son rápidos (12 MB/s y más)

Página 26

Page 28: instalacion configuracion centos

GRUPO LINUX REDES II

IDE tiene una mayor sobrecarga de CPU que SCSI (pero, ¿a quién le preocupa?)

Sólo usa un disco IDE por bus, los discos esclavos deterioran el rendimiento.

o Resistencia a los fallos: la controladora IDE normalmente sobrevive a un

dispositivo IDE que ha fallado. La capa RAID marcará el disco como

defectuoso y, si está trabajando con un RAID de nivel 1 o superior, la

máquina debería trabajar igual de bien hasta que la desconecte para su

mantenimiento.

Es muy importante que sólo use un disco IDE por bus IDE. Dos discos no

sólo arruinarían el rendimiento sino que, también, el fallo de un disco a menudo

garantiza el fallo del bus y, por tanto, el fallo de todos los discos de ese bus. En

una configuración RAID tolerante a fallos (RAID de niveles 1, 4, 5) el fallo de un

disco se puede manejar, pero el fallo de dos discos (los dos discos del bus que ha

fallado debido a uno de ellos) dejará el array inutilizable. También, el dispositivo

esclavo o la controladora IDE de un bus pueden confundirse de manera horrible

cuando el dispositivo maestro del bus falla. Un bus, un disco, esa es la regla.

Existen controladoras IDE PCI baratas. A menudo puede obtener 2 o 4

buses por unos 80 dólares. Considerando el precio mucho más bajo de los discos

IDE respecto a los discos SCSI, diría que un array de discos IDE podría ser una

solución realmente buena si uno puede vivir con los relativamente pocos discos

(unos 8 probablemente) que se pueden conectar a un sistema típico (a menos

que, naturalmente, tenga muchas ranuras PCI para dichas controladoras IDE).

6.2.7. Cambio de discos en caliente (Hot-Swap)

Éste ha sido un tema de actualidad en la lista linux-kernel durante algún

tiempo. Aunque el intercambio en caliente de los dispositivos está soportado hasta

cierto punto, todavía no es algo que se pueda hacer fácilmente.

Página 27

Page 29: instalacion configuracion centos

GRUPO LINUX REDES II

6.2.8. Intercambio en caliente de dispositivos IDE

IDE no soporta en modo alguno el intercambio en caliente. Seguro, puede

funcionar para usted si compila el soporte IDE como módulo (sólo posible en la

serie 2.2.x del núcleo) y lo vuelve a cargar después de que haya reemplazado el

dispositivo. Pero también puede terminar perfectamente con una controladora IDE

frita y observará que el período de dicho sistema fuera de servicio será mucho

mayor que habiendo reemplazado el dispositivo con el sistema apagado.

El principal problema, aparte de los aspectos eléctricos que pueden

destruir su hardware, es que se debe reexplorar el bus IDE después de que se

hayan intercambiado los discos. El manejador IDE actual no puede hacer eso. Si

el nuevo disco es 100% idéntico al antiguo (geometría, etc.) puede que funcione

incluso sin volver a explorar el bus pero, créame, aquí está caminando por el filo

de la navaja.

6.2.9. Intercambio en caliente (Hot-Swap) de dispositivos SCSI

El hardware SCSI normal tampoco es capaz de soportar intercambios en

caliente. Sin embargo, puede que funcione. Si su manejador SCSI soporta la

reexploración del bus y la conexión y desconexión de dispositivos, puede ser

capaz de intercambiar dispositivos en caliente. Sin embargo, en un bus SCSI

normal probablemente no debería desenchufar dispositivos mientras su sistema

esté todavía encendido. Pero, le repito, puede que funcione simplemente (y

también puede terminar con su hardware frito).

La capa SCSI debería sobrevivir si un disco muere, pero no todos los

manejadores SCSI soportan esto todavía. Si su manejador SCSI muere cuando

un disco cae, su sistema caerá con él y la conexión en caliente no será

verdaderamente interesante entonces.

Página 28

Page 30: instalacion configuracion centos

GRUPO LINUX REDES II

1.1.1. Intercambio en caliente con SCA

Con SCA debería ser posible conectar dispositivos en caliente. Sin

embargo, no poseo el hardware para probar esto y no he oído de nadie que lo

haya probado, por lo que verdaderamente no puedo dar ninguna receta de cómo

hacer esto.

De todos modos, si quiere jugar con esto, debería conocer los aspectos

internos de SCSI y de RAID. Por tanto, no voy a escribir aquí nada que no pueda

comprobar que funciona. En cambio, sí puedo proporcionarle algunas pistas:

Busque la cadena remove-single-device en linux/drivers/scsi/scsi.c

Eche un vistazo a raidhotremove y raidhotadd

No todos los manejadores SCSI soportan la conexión y desconexión de

dispositivos. En la serie 2.2 del núcleo, al menos los manejadores de la

controladoras Adaptec 2940 y Symbios NCR53c8xx parecen soportarlo.

7. SISTEMAS DE ARCHIVOS

El sistema de archivos especifica la forma física según la cual se

grabarán los datos en el Disco Duro. Para utilizar un Disco Duro, éste se

divide en particiones (que son como discos menores virtuales). Cada partición

puede formatearse con un sistema de archivos diferente. Linux maneja varios

sistemas de archivos:

El estándar se denomina Ext.

Ext2 (second extended filesystem o “segundo sistema de archivos

extendido”). Fue diseñado originalmente por Rémy Card. La principal

desventaja de ext2 es que no implementa el registro por diario o

Página 29

Page 31: instalacion configuracion centos

GRUPO LINUX REDES II

bitácora (en inglés Journaling) que sí implementa su sucesor ext3, el

cual es totalmente compatible. ext2 fue el sistema de ficheros por

defecto de las distribuciones de Linux Red Hat Linux, Fedora Core y

Debian hasta ser reemplazado por ext3.

La razón de algunos límites en el sistema de archivos ext2 son el

formato de archivo de los datos y el kernel del sistema operativo.

Mayormente estos factores se determinará una vez que cuando el

sistema de archivos es creado. El tamaño de bloque de 8 KB sólo son

posibles en arquitectura alfa por defecto.

El journaling (registro por diario) es un mecanismo por el cual

un sistema informático puede implementar transacciones. Se

basa en llevar un journal o registro de diario en el que se

almacena la información necesaria para restablecer los datos

afectados por la transacción en caso de que ésta falle. Las

aplicaciones más frecuentes de los sistemas de journaling se

usan para implementar transacciones de sistemas de bases

de datos y, más recientemente, para evitar la corrupción de

las estructuras de datos en las que se basan los sistemas de

archivos modernos.

Ext3 (third extended filesystem o “tercer sistema de archivos

extendido”) es un sistema de archivos con registro por diario

(journaling). Es el sistema de archivo más usado en distribuciones

Linux. La principal diferencia con ext2 es el registro por diario. Un

sistema de archivos ext3 puede ser montado y usado como un sistema

de archivos ext2. Tiene la ventaja de permitir actualizar de ext2 a ext3

sin perder los datos almacenados ni tener que formatear el disco. Tiene

un menor consumo de CPU y está considerado más seguro que otros

sistemas de ficheros en Linux dada su relativa sencillez y su mayor

Página 30

Page 32: instalacion configuracion centos

GRUPO LINUX REDES II

tiempo de prueba. El sistema de archivo ext3 agrega a ext2 lo

siguiente:

- Registro por diario.

- Índices en árbol para directorios que ocupan múltiples

bloques.

- Crecimiento en línea.

Ext4 (fourth extended filesystem o "cuarto sistema de archivos

extendido") es un sistema de archivos con registro por diario,

anunciado el 10 de octubre de 2006 por Andrew Morton, como una

mejora compatible de EXT3. Las principales mejoras son:

- Soporte de volúmenes de hasta 1024 PiB (250 bytes).

- Soporte añadido de extent.

- Menor uso del CPU.

- Mejoras en la velocidad de lectura y escritura.

- El sistema de archivos ext4 es capaz de trabajar con volúmenes de

hasta 1 exbibyte (EiB = 260 bytes)http://es.wikipedia.org/wiki/Ext4 -

cite_note-0 y ficheros de tamaño de hasta 16 TiB

Compatibilidad con Windows: Entre los sistemas de archivos que

GNU Linux es capaz de manejar se encuentra FAT (todas las

versiones). FAT es el sistema de archivos de MS-DOS y Windows

(hasta su versión 98), por tanto se puede leer y escribir de particiones

Windows sin problema. También maneja NTFS (sólo en modo lectura);

este sistema es el que utilizan Windows NT, XP, 2000, etc. por defecto.

Es decir, que podremos leer (no se recomienda ni asegura la escritura,

que además es limitada) este tipo de particiones de Windows.

SWAP: Linux, para asegurarse que nunca se queda sin memoria

virtual, aconseja crear una partición con este sistema de archivos para

memoria de intercambio. La swap del mismo tamaño que la RAM para

equipos con menos de 1GB. La swap de la mitad de RAM para equipos

Página 31

Page 33: instalacion configuracion centos

GRUPO LINUX REDES II

de entre 2GB y 4GB. La swap de 2GB para equipos con más de 4GB

de RAM.

Otras particiones: hay más sistemas propios de Linux como XFS (es

un sistema de archivos de 64 bits con journaling de alto rendimiento)

para su implementación de UNIX llamada IRIX) y ReiserFS (sistema

de archivos de propósito general). También es capaz de utilizar

sistemas de archivos de otras arquitecturas.

Soporta todos los sistemas de archivos de CDs y DVDs utilizados por

Windows y algunos más.

8. FUNCIONAMIENTO INTERNO DE LINUX

Linux es un núcleo de sistema operativo libre tipo Unix. Es utilizado por

la familia de sistemas operativos GNU/Linux. Lanzado bajo lalicencia pública

general de GNU y desarrollado gracias a contribuciones provenientes de todo

el mundo.

8.1.TIPOS DE NÚCLEOS

Hay cuatro grandes tipos de núcleos:

Página 32

Page 34: instalacion configuracion centos

GRUPO LINUX REDES II

- Los núcleos monolíticos facilitan abstracciones del hardware

subyacente realmente potentes y variadas.

- Los micronúcleos (en inglés microkernel) proporcionan un

pequeño conjunto de abstracciones simples del hardware, y usan las

aplicaciones llamadas servidores para ofrecer mayor funcionalidad.

- Los núcleos híbridos (micronúcleos modificados) son muy

parecidos a los micronúcleos puros, excepto porque incluyen código

adicional en el espacio de núcleo para que se ejecute más

rápidamente.

- Los exonúcleos no facilitan ninguna abstracción, pero permiten el

uso de bibliotecas que proporcionan mayor funcionalidad gracias al

acceso directo o casi directo al hardware.

8.2.ARQUITECTURA DEL KERNEL

Actualmente Linux es un núcleo monolítico híbrido.

Los controladores de dispositivos y las extensiones del núcleo

normalmente se ejecutan en un espacio privilegiado conocido como anillo

0 (ring 0), con acceso irrestricto al hardware, aunque algunos se ejecutan

en espacio de usuario. A diferencia de los núcleos monolíticos

tradicionales, los controladores de dispositivos y las extensiones al núcleo

se pueden cargar y descargar fácilmente como módulos, mientras el

sistema continúa funcionando sin interrupciones. También, a diferencia de

los núcleos monolíticos tradicionales, los controladores pueden ser

prevolcados (detenidos momentáneamente por actividades más

importantes) bajo ciertas condiciones. Esta habilidad fue agregada para

gestionar correctamente interrupciones de hardware, y para mejorar el

soporte de Multiprocesamiento Simétrico.

El hecho de que Linux no fuera desarrollado siguiendo el diseño de

un micronúcleo (diseño que, en aquella época, era considerado el más

apropiado para un núcleo por muchos teóricos informáticos) fue asunto de

Página 33

Page 35: instalacion configuracion centos

GRUPO LINUX REDES II

una famosa y acalorada discusión entre Linus Torvalds y Andy

Tanenbaum.

A diferencia de los núcleos monolíticos tradicionales, los

controladores de dispositivos son fácilmente configurables como módulos

del núcleo cargables, y se pueden cargar o descargar mientras se está

ejecutando el sistema.

8.3.VERSIONES

Más allá de haber desarrollado su propio código y de integrar los

cambios realizados por otros programas, Linus Torvalds continua lanzando

nuevas versiones del núcleo Linux. Estos son llamados núcleos “vanilla”, lo

que significa que no han sido modificados por nadie. Muchos desarrolladores

de distribuciones GNU/Linux modifican dicho núcleo en sus productos,

principalmente para agregarle soporte a dispositivos o herramientas que no

fueron oficialmente lanzadas como estables, mientras que algunas

distribuciones, como Slackware, mantienen el núcleo vanilla.

Numeración

La versión del núcleo Linux actualmente consta de cuatro números. Por

ejemplo, asumamos que el número de la versión está compuesta de esta

forma: A.B.C[.D] (ej.: 2.2.1, 2.4.13 ó 2.6.12.3).

El número A denota la versión del núcleo. Es el que cambia con menor

frecuencia y solo lo hace cuando se produce un gran cambio en el código o

en el concepto del núcleo. Históricamente sólo ha sido modificado dos

veces: en 1994 (versión 1.0) y en 1996 (versión 2.0).

El número B denota la subversión del núcleo.

Página 34

Page 36: instalacion configuracion centos

GRUPO LINUX REDES II

- Antes de la serie de Linux 2.6.x, los números pares indicaban la

versión “estable” lanzada. Por ejemplo una para uso de fabricación,

como el 1.2, 2.4 ó 2.6. Los números impares, en cambio, como la

serie 2.5.x, son versiones de desarrollo, es decir que no son

consideradas de producción.

- Comenzando con la serie Linux 2.6.x, no hay gran diferencia entre

los números pares o impares con respecto a las nuevas

herramientas desarrolladas en la misma serie del núcleo. Linus

Torvalds dictaminó que este será el modelo en el futuro.

El número C indica una revisión mayor en el núcleo. En la forma anterior de

versiones con tres números, esto fue cambiado cuando se implementaron

en el núcleo los parches de seguridad, bugfixes, nuevas características o

drivers. Con la nueva política, solo es cambiado cuando se introducen

nuevos drivers o características; cambios menores se reflejan en el

número D.

El número D se produjo cuando un grave error, que requiere de un arreglo

inmediato, se encontró en el código NFS de la versión 2.6.8. Sin embargo,

no habían otros cambios como para lanzar una nueva revisión (la cual

hubiera sido 2.6.9). Entonces se lanzó la versión 2.6.8.1, con el error

arreglado como único cambio. Con 2.6.11, esto fue adoptado como la

nueva política de versiones. Bug-fixes y parches de seguridad son

actualmente manejados por el cuarto número dejando los cambios

mayores para el número C.

También, algunas veces luego de las versiones puede haber algunas

letras como “rc1” o “mm2”. El “rc” se refiere a release candidate e indica un

lanzamiento no oficial. Otras letras usualmente (pero no siempre) hacen

referencia a las iniciales de la persona. Esto indica una bifurcación en el

desarrollo del núcleo realizado por esa persona, por ejemplo ck se refiere

aCon Kolivas, ac a Alan Cox, mientras que mm se refiere a Andrew Morton.

Página 35

Page 37: instalacion configuracion centos

GRUPO LINUX REDES II

El modelo de desarrollo para Linux 2.6 fue un cambio significativo

desde el modelo de desarrollo de Linux 2.5. Previamente existía una rama

estable (2.4) donde se habían producido cambios menores y seguros, y una

rama inestable (2.5) donde estaban permitidos cambios mayores. Esto

significó que los usuarios siempre tenían una versión 2.4 a prueba de fallos y

con lo último en seguridad y casi libre de errores, aunque tuvieran que

esperar por las características de la rama 2.5. La rama 2.5 fue eventualmente

declarada estable y renombrada como 2.6. Pero en vez de abrir una rama 2.7

inestable, los desarrolladores de núcleos eligieron continuar agregando los

cambios en la rama “estable” 2.6. De esta forma no había que seguir

manteniendo una rama vieja pero estable y se podía hacer que las nuevas

características estuvieran rápidamente disponibles y se pudieran realizar más

test con el último código.

Sin embargo, el modelo de desarrollo del nuevo 2.6 también significó

que no había una rama estable para aquellos que esperaban seguridad y bug

fixes sin necesitar las últimas características. Los arreglos solo estaban en la

última versión, así que si un usuario quería una versión con todos los bug

fixed conocidos también tendría las últimas características, las cuales no

habían sido bien testeadas. Una solución parcial para esto fue la versión ya

mencionada de cuatro números (y en 2.6.x.y), la cual significaba lanzamientos

puntuales creados por el equipo estable (Greg Kroah-Hartman, Chris Wright, y

quizás otros). El equipo estable solo lanzaba actualizaciones para el núcleo

más reciente, sin embargo esto no solucionó el problema del faltante de una

serie estable de núcleo. Distribuidores de GNU/Linux, como Red

Hat y Debian, mantienen los núcleos que salen con sus lanzamientos, de

forma que una solución para algunas personas es seguir el núcleo de una

distribución.

Como respuesta a la falta de un núcleo estable y de gente que

coordinara la colección de corrección de errores, en diciembre de 2005 Adrian

Bunk anunció que continuaría lanzando núcleos 2.6.16 aun cuando el equipo

Página 36

Page 38: instalacion configuracion centos

GRUPO LINUX REDES II

estable lanzara 2.6.17. Además pensó en incluir actualizaciones de

controladores, haciendo que el mantenimiento de la serie 2.6.16 sea muy

parecido a las viejas reglas de mantenimiento para las serie estables como

2.4. El núcleo 2.6.16 será reemplazado próximamente por el 2.6.27 como

núcleo estable en mantenimiento durante varios años.

Línea de tiempo del Linux

Página 37

Page 39: instalacion configuracion centos

GRUPO LINUX REDES II

8.4.FUNCIONES GENERALMENTE DEL NÚCLEO

Los núcleos tienen como funciones básicas garantizar la carga y la

ejecución de los procesos, las entradas/salidas y proponer un interfaz entre el

espacio núcleo y los programas del espacio del usuario.

Aparte de las funcionalidades básicas, el conjunto de las funciones de

los puntos siguientes (incluidos los pilotos materiales, las funciones de redes y

sistemas de ficheros o los servicios) necesariamente no son proporcionados

por un núcleo de sistema de explotación. Pueden establecerse estas

funciones del sistema de explotación tanto en el espacio usuario como en el

propio núcleo. Su implantación en el núcleo se hace en el único objetivo de

mejorar los resultados. En efecto, según la concepción del núcleo, la misma

función llamada desde el espacio usuario o el espacio núcleo tiene un coste

temporal obviamente diferente. Si esta llamada de función es frecuente,

puede resultar útil integrar estas funciones al núcleo para mejorar los

resultados.

9. REPOSITORIO

Un repositorio, depósito o archivo es un sitio centralizado donde se

almacena y mantiene información digital, habitualmente bases de

datos o archivos informáticos.

 Estos programas están almacenados en archivos de software

(“repositorios”) y están disponibles para ser instalados a través de internet.

Esto hace que sea muy fácil instalar nuevos programas. Es también muy

Página 38

Page 40: instalacion configuracion centos

GRUPO LINUX REDES II

seguro, ya que cada programa que instalas está probado a fondo y creado

específicamente para Ubuntu.

Los repositorios de software de Ubuntu se organizan en cuatro "componentes", en base al nivel de soporte que Ubuntu puede ofrecer de

ellos, y en base a si cumplen o no la Filosofía de Software Libre de Ubuntu.

Los componentes son llamados Main (software soportado

oficialmente), Restricted (software soportado que no está disponible bajo una

licencia completamente libre), Universe (mantenido por la comunidad, p.e.

software no soportado oficialmente) y Multiverse (software que “no es libre”).

Puedes encontrar más información sobre los repositorios de Ubuntu

en componentes de los repositorios.

9.1.RPM

RPM Package Manager, anteriormente conocido como Red Hat

Package Manager y que es más conocido por su nombre abreviado RPM, es

un poderoso administrador de paquetes, que puede ser utilizado para 

construir, instalar, consulta, verificar, actualizar y borrar  paquetes de software

individuales. RPM viene instalado de modo predeterminado en Red Hat Enterprise Linux, Fedora, CentOS,White Box Enterprise Linux, SuSE Linux, OpenSuSE, Mandriva y distribuciones derivadas de estas.

Para instalar el programa rpm en unbuntu:

Sudo apt-get install rpm

9.1.1. INSTRUCCIONES DE INSTALACIÓN PARA .RPM

- Haga clic en el enlace de descarga de .rpm. Aparecerá un cuadro de

diálogo en el que se solicita la ubicación en la que desea guardar el

archivo.

- Guarde el archivo .rpm en el escritorio y espere a que el archivo se

descargue por completo.Página 39

Page 41: instalacion configuracion centos

GRUPO LINUX REDES II

- En el terminal, navegue hasta el escritorio e introduzca # rpm -Uvh <rpm_package_file>. Haga clic en Intro. (Nota: Esto debe llevarse a cabo

como usuario origen). El programa de instalación solicitará que se cierre el

explorador.

- Cuando la instalación finalice, el plug-in se habrá instalado en el explorador

Mozilla. Para realizar una comprobación, inicie Mozilla y consulte la

información relativa a plug-ins en el menú Ayuda del explorador.

9.1.2. CONSULTA DE PAQUETERÍA INSTALADA EN EL SISTEMA

Si se desea conocer si está instalado un paquete en particular, se

utiliza el mandato rpm con la opción -q, que realiza una consulta (query)

en la base de datos por un nombre de paquete en particular. En el

siguiente mandato, donde como ejemplo se preguntara a RPM si está

instalado el paquete traceroute:

rpm -q tracerouteLo anterior debe devolver una salida similar a la siguiente:

traceroute-2.0.1-2.el5

Si se desea conocer que informacion incluye el paquete

traceroute, se utiliza el mandato rpm con las opciones -qi, para hacer la

consulta y solicitar informacion del paquete(query info). En el siguiente

ejemplo se consulta al mandato rpm por la informacion del paquete

traceroute:

rpm -qi traceroute

Lo anterior debe devolver una salida similar a la siguiente:

Name : traceroute Relocations: (not relocatable)Version : 2.0.1 Vendor: CentOS

Página 40

Page 42: instalacion configuracion centos

GRUPO LINUX REDES II

Release : 2.el5 Build Date: sab 06 ene 2007 04:02:13 CSTInstall Date: mie 30 abr 2008 11:46:09 CDT Build Host: builder5.centos.orgGroup : Applications/Internet Source RPM: traceroute-2.0.1-2.el5.src.rpmSize : 59726 License: GPLSignature : DSA/SHA1, mar 03 abr 2007 19:28:12 CDT, Key ID a8a447dce8562897URL : http://dmitry.butskoy.name/tracerouteSummary : Traces the route taken by packets over an IPv4/IPv6 networkDescription : The traceroute utility displays the route used by IP packets on their way to a specified network (or Internet) host. Traceroute displaysthe IP number and host name (if possible) of the machines along the route taken by the packets. Traceroute is used as a network debugging tool. If you're having network connectivity problems, traceroute will show you where the trouble is coming from along the route. Install traceroute if you need a tool for diagnosing network connectivity problems.

opciones -ql, donde se realiza una consulta listando los

componentes que lo integran (query list).Si se desea conocer que

componentes instalo el paquete traceroute, utilice el siguiente mandato:

rpm -ql traceroute

Lo anterior debe devolver una salida similar a la siguiente:

/bin/traceroute/bin/traceroute/bin/traceroute6/bin/tracert/usr/share/doc/traceroute-2.0.1/usr/share/doc/traceroute-2.0.1/COPYING/usr/share/doc/traceroute-2.0.1/CREDITS/usr/share/doc/traceroute-2.0.1/README/usr/share/doc/traceroute-2.0.1/TODO/usr/share/man/man8/traceroute.8.gz

Mandato rpm con las opciones -qf, que realizan una consulta por un

fichero en el sistema de archivos (query file). En el siguiente ejemplo se

consultara a la mandato rpm a que paquete pertenece el fichero

/etc/crontab:

rpm -qf /etc/crontab

Lo anterior debe devolver una salida similar a la siguiente:

Página 41

Page 43: instalacion configuracion centos

GRUPO LINUX REDES II

crontabs-1.10-8

Si desea consultar la lista completa de paquetes instalados en el

sistema, utilice el siguientemandato, donde -qa significa consultar todo

(query all):

rpm –qa

Debido a que lo anterior devuelve una lista demasiado grande para

poderla visualizar con comodidad, puede utilizarse less o more como

subrutina:

rpm -qa |less

Si se quiere localizar un paquete o paquetes en particular, se puede

utilizar el mandato rpm con las opciones -qa y utilizar grep como

subrutina. En el siguiente ejemplo se hace una consulta donde se quiere

conocer que paquetes estan instalado en el sistema y que incluyan la

cadena php en el nombre.

rpm -qa |grep php

Lo anterior pudiera devolver una salida similar a la siguiente:

php-5.1.6-15.el5php-mbstring-5.1.6-15.el5php-pear-1.4.9-4php-ldap-5.1.6-15.el5php-cli-5.1.6-15.el5php-mysql-5.1.6-15.el5php-odbc-5.1.6-15.el5php-common-5.1.6-15.el5php-pdo-5.1.6-15.el5

Si se quiere revisar en orden cronologico, de mas nuevos a mas

antiguos, que paquetes están instalados, se puede agregar a -qa la

opcion --last, y less o more como subrutina para visualizar con

comodidad la salida.

rpm -qa --last|less

Página 42

Page 44: instalacion configuracion centos

GRUPO LINUX REDES II

Lo anterior devuelve una salida extensa dentro con less como

visor. Pulse la teclas de arriba (↑) y abajo (↓) o Av. Pág. y Reg. Pág. para

desplazarse en la lista. Pulse la tecla q para salir.

Si se quiere verificar si los componentes instalados por un

paquete RPM han sido modificados o alterados o eliminados, se puede

utilizar el mandato rpm con la opcion -V, la cual realiza unaverificacion

de la integridad de los componentes de acuerdo a las firmas digitales de

cada componente (MD5SUM o suma MD5). En el siguiente ejemplo se

verificara si el paquete crontabs ha sido alterado:

rpm -V crontabs

Si algun componente fue modificado, puede devolverse una salida

similar a la siguiente, donde el fichero /etc/crontab fue modificado tras su

instalacion:

S.5....T c /etc/crontab

Si se desea realizar una verificacion de todos los componentes

del sistema, se puede utilizar el mandato rpm con las opciones -Va, que

hace una consulta, especifica todos los paquetes, y solicita se verifique

si hubo cambios (query all Verify).

rpm –Va

Lo anterior puede devolver una salida muy extensa, pero sin duda

alguna mostrara todos los componentes que fueron modificados o

alterados o eliminados tras la instalacion del paquete al que pertenecen.

Un ejemplo de una salida comun seria:

.......T c /etc/pki/nssdb/cert8.db

.......T c /etc/pki/nssdb/key3.db

..5....T c /etc/pki/nssdb/secmod.dbS.5....T c /etc/crontab.......T c /etc/inittabS.5....T c /etc/rc.d/rc.localS.5....T c /etc/mail/accessS.5....T c /etc/mail/local-host-namesS.5....T c /etc/mail/sendmail.cfS.5....T c /etc/mail/sendmail.mc

Página 43

Page 45: instalacion configuracion centos

GRUPO LINUX REDES II

9.1.3. INSTALACION DE PAQUETES MEDIANTE RPM

La mayoria de los distribuidores serios de equipamiento logico

en formato RPM siempre utilizan una firma digital PG/GnuPG para

garantizar que estos son confiables y como un metodo de evitar que

paquetes alterados pasen por el usuario administrador del sistema y

sistemas de gestion de paquetes como yum, up2date, Yast, Pup, etc.,

sin ser detectados. Las firmas digitales de los responsables de la

distribucion siempre incluyen firmas digitales en el disco de instalacion

o bien en alguna parte del sistema de archivos. En el caso de CentOS

y Red Hat Enterprise, las firmas digitales estan en /usr/share/doc/rpm-*/

o bien /usr/share/rhn/. Algunos distribuidores pueden tener estas firmas

en algun servidor HTTP o FTP. Para importar una firma digital, se

utiliza el mandato rpm con la opcion --import. Para ejemplificar, realice

el siguiente procedimiento:

rpm --import http://www.alcancelibre.org/al/AL-RPM-KEY

Lo anterior importa la firma digital de Alcance Libre y permitira

detectar si un paquete de Alcance Libre fue alterado o esta corrupto o

si fue danado. Si se utiliza yum para gestionar la paqueteria, este de

modo predeterminado impide instalar paquetes que si estos carecen de

una firma digital que este instalada en la base de datos de RPM.

Cuando se desee instalar un paquete con extension *.rpm,

siempre es conveniente revisar dicho paquete. Hay varias formas de

verificar su contenido antes de proceder a instalado. Para fines

demostrativos ingrese hacia http://www.alcancelibre.org/al/webapps/ y

descarge el paquete tnef.

Una vez descargado el paquete tnef, se puede verificar la

informacion de dicho paquete utilizando el mandato rpm con las

opciones -qp, para realizar la consulta especificando que se trata de un

paquete RPM (query package), y la opcion -i, para solicitar informacion.

Página 44

Page 46: instalacion configuracion centos

GRUPO LINUX REDES II

rpm -qpi tnef-1.2.3.1-1.1.el5.al.i386.rpm

Lo anterior debe devolver una salida similar a la siguiente:

Name : tnef Relocations: /usr

Version : 1.2.3.1 Vendor: Alcance Libre, Inc.

Release : 1.1.el5.al Build Date: mie 02 may 2007 14:06:59 CDT

Install Date: (not installed) Build Host: localhost.localdomain

Group : Mail/Encoders Source RPM: tnef-1.2.3.1-

1.1.el5.al.src.rpm

Size : 134695 License: GPL

Signature : DSA/SHA1, mie 02 may 2007 14:07:00 CDT, Key ID 91004df87c080b33

Packager : Joel Barrios <http://joel-barrios.blogspot.com/>

URL : http://tnef.sourceforge.net

Summary : Decodes MS-TNEF attachments.

Description : TNEF is a program for unpacking MIME attachments of type

"application/ms-tnef". This is a Microsoft only attachment.

Due to the proliferation of Microsoft Outlook and Exchange mail servers, more and

more mail is encapsulated into this format.

The TNEF program allows one to unpack the attachments which were encapsulated

into the TNEF attachment. Thus alleviating the need to use Microsoft Outlook to view

the attachment.

Si se desea conocer que componentes va a instalar un paquete

RPM en particular, se puede utilizar el mandato rpm con las opciones -qpl, para realizar la consulta, especificar que se trata de un paquete RPM y

para solicitar la lista de componentes (query package list). En el siguiente

ejemplo se realiza esta consulta contra el paquete tnef-1.2.3.1-1.1.el5.al.i386.rpm:

rpm -qpl tnef-1.2.3.1-1.1.el5.al.i386.rpm

Lo anterior debe devolver una salida similar a la siguiente:

/usr/bin/tnef

Página 45

Page 47: instalacion configuracion centos

GRUPO LINUX REDES II

/usr/man/man1/tnef.1.gz

/usr/share/doc/tnef-1.2.3.1

/usr/share/doc/tnef-1.2.3.1/AUTHORS

/usr/share/doc/tnef-1.2.3.1/BUGS

/usr/share/doc/tnef-1.2.3.1/COPYING

/usr/share/doc/tnef-1.2.3.1/ChangeLog

/usr/share/doc/tnef-1.2.3.1/NEWS

/usr/share/doc/tnef-1.2.3.1/README

/usr/share/doc/tnef-1.2.3.1/TODO

Para verificar si las firmas digitales de un paquete RPM son las mismas

y el paquete no ha sido alterado, se puede utilizar el mandato rpm con las

opcion -K, que solicita verificar firmas digitales de un paquete RPM (Keys):

rpm -K tnef-1.2.3.1-1.1.el5.al.i386.rpm

Si el paquete esta integro, debe devolver una salida similar a la

siguiente:

tnef-1.2.3.1-1.1.el5.al.i386.rpm: (sha1) dsa sha1 md5 gpg OK

Si el paquete RPM fue danado, alterado o esta corrupto, puede

devolver una salida similar a la siguiente:

tnef-1.2.3.1-1.1.el5.al.i386.rpm: (sha1) dsa sha1 MD5 GPG NOT OK

Para instalar un paquete, se utiliza el mandato rpm con las

opciones -ivh, que significa instalar,devolver una salida descriptiva y mostrar

una barra de progreso (install verbose hash). Si el paquete no hace conflicto

con otro y/o no sobreescribe componentes de otro paquete, se procedera a

instalar el mismo. En el siguiente ejemplo se instalara el paquete tnef-1.2.3.1- 1.1.el5.al.i386.rpm:

rpm -ivh tnef-1.2.3.1-1.1.el5.al.i386.rpm

Página 46

Page 48: instalacion configuracion centos

GRUPO LINUX REDES II

Lo anterior debe devolver una salida similar a la siguiente:

Preparing... ############################### [100%]1:tnef #################################### [100%]

Si hubiera una version de este paquete instalada en el sistema, rpm -ivh no realizara la instalacion y devolvera un mensaje respecto a que la esta

instalado dicho paquete. Repita el siguiente mandato:

rpm -ivh tnef-1.2.3.1-1.1.el5.al.i386.rpm

Al ya haber sido instalado el paquete tnef, el sistema debera devolver

una salida similar a la siguiente:

Preparing... ################################## [100%]

package tnef-1.2.3.1-1.1.el5.al is already installed

Hay circunstancias y escenarios donde se requiere reinstalar de nuevo

el paquete. Para lograr esto se agrega la opcion --force para forzar la

reinstalacion de un paquete. En el siguiente ejemplo se solicita al mandato

rpm forzar la reinstalacion de el paquete tnef-1.2.3.1-1.1.el5.al.i386.rpm:

rpm -ivh --force tnef-1.2.3.1-1.1.el5.al.i386.rpm

Lo anterior debe devolver una salida similar a la siguiente:

Preparing... ########################### [100%]

1:tnef ################################ [100%]

Para verificar las dependencias de un paquete descargado, se utiliza el

mandato rpm con las opciones -qp y --requires, la cual consulta las

dependencias del paquete. En el siguiente ejemplo, se ha descargado el

paquete joomla-1.0.15-2.9.el5.al.noarch.rpm desde

Página 47

Page 49: instalacion configuracion centos

GRUPO LINUX REDES II

http://www.alcancelibre.org/al/webapps/, y se procede a consultar sus

dependencias:

rpm -qp --requires joomla-1.0.15-2.9.el5.al.noarch.rpm

Lo anterior debe devolver una salida similar a la siguiente:

config(joomla) = 1.0.15-2.9.el5.alhttpdphp >= 5php-mysqlphp-xmlrpmlib(CompressedFileNames) <= 3.0.4-1rpmlib(PayloadFilesHavePrefix) <= 4.0-1

Pueden hacerse consultas a la inversa de lo anterior, es decir,

consultar al mandato rpm que paquete provee alguna dependencia en

particular. En el siguiente ejemplo se solicitara al mandato rpm que paquete

provee la dependencia php.rpm -q --whatprovides php

Lo anterior debe devolver una salida similar a la siguiente:

php-5.1.6-15.el5

Tambien puede consultarse que requiere de un paquete o componente

en particular. En el siguiente ejemplo se consulta al mandato rpm que

paquetes requieren al paquete httpd. rpm -q --whatrequires httpd Lo anterior

puede devolver una salida similar a la siguiente:

system-config-httpd-1.3.3.1-1.el5

squirrelmail-1.4.8-4.0.1.el5.centos.2

squirrelmail-1.4.8-4.0.1.el5.centos.2

gnome-user-share-0.10-6.el5

De ser necesario, se puede incluso hacer consultas respecto a ficheros

(como bibliotecas compartidas) para conocer que paquetes dependen de

estos. En el siguiente ejemplo se consulta la mandato rpm que paquetes

requieren a la biblioteca libbz2.so.1:

Página 48

Page 50: instalacion configuracion centos

GRUPO LINUX REDES II

rpm -q --whatrequires libbz2.so.1

Lo anterior debe devolver una salida similar a la siguiente, y que

consiste en una lista de paquetes RPM instalados en el sistema:

bzip2-libs-1.0.3-3

bzip2-1.0.3-3

python-2.4.3-19.el5

gnupg-1.4.5-13

elinks-0.11.1-5.1.0.1.el5

rpm-4.4.2-47.el5

rpm-libs-4.4.2-47.el5

rpm-python-4.4.2-47.el5

gnome-vfs2-2.16.2-4.el5

libgsf-1.14.1-6.1

php-cli-5.1.6-15.el5

php-5.1.6-15.el5

kdelibs-3.5.4-13.el5.centos

ImageMagick-6.2.8.0-4.el5_1.1

Para instalar o actualizar un paquete, se utiliza el mandato rpm con las

opciones -Uvh, que significa instalar o actualizar, devolver una salida

descriptiva y mostrar una barra de progreso (update verbose hash), y se

procede a instalar y/o actualizar el mismo:

rpm -Uvh joomla-1.0.15-2.9.el5.al.noarch.rpm

Si falta alguna de las dependencias, el sistema devolvera una salida

similar a la siguiente:

error: Failed dependencies: php-xml is needed by joomla-1.0.15-2.9.el5.al.noarch

Evidentemente se debe instalar el paquete php-xml para poder instalar

el paquete joomla-1.0.15-2.9.el5.al.noarch.rpm. Este puede estar incluido en

el disco de instalacion o bien estarincluido entre las actualizaciones del

sistema.

Página 49

Page 51: instalacion configuracion centos

GRUPO LINUX REDES II

Si el paquete php-xml hubiera estado instalado (yum -y install php-xml), la salida hubiera sido

similar a la siguiente:

Preparing... ########################### [100%]

1:joomla ############################## [100%]

Antes de la aparicion de yum, este era el talón de Aquiles de RPM.

Actualmente estos problemas se pueden resolver utilizando yum en los

sistemas que lo incluyen. La forma mas practica de instalar paqueteria RPM resolviendo dependencias automaticamente es a traves de yum. En el

siguiente ejemplo se realiza el procedimiento de instalacion del paquete

joomla-1.0.15- 2.9.el5.al.noarch.rpm utilizando yum:

yum -y localinstall joomla-1.0.15-2.9.el5.al.noarch.rpm

Lo anterior debe devolver una salida similar a la siguiente:

Loading "fastestmirror" plugin

Loading "skip-broken" plugin

Loading "installonlyn" plugin

Setting up Local Package Process

Examining joomla-1.0.15-2.9.el5.al.noarch.rpm: joomla - 1.0.15-

2.9.el5.al.noarch

Marking joomla-1.0.15-2.9.el5.al.noarch.rpm to be installed

Setting up repositories

Loading mirror speeds from cached hostfile

Reading repository metadata in from local files

Resolving Dependencies

--> Populating transaction set with selected packages. Please wait.

---> Package joomla.noarch 0:1.0.15-2.9.el5.al set to be updated

--> Running transaction check

--> Processing Dependency: php-xml for package: joomla

--> Restarting Dependency Resolution with new changes.

--> Populating transaction set with selected packages. Please wait.

---> Package php-xml.i386 0:5.1.6-15.el5 set to be updated

--> Running transaction check

Dependencies Resolved

Página 50

Page 52: instalacion configuracion centos

GRUPO LINUX REDES II

Package Arch Version Repository Size

=======================

Installing:

joomla noarch 1.0.15-2.9.el5.al joomla-1.0.15-

2.9.el5.al.noarch.rpm 6.3 M

Installing for dependencies:

php-xml i386 5.1.6-15.el5 base 93 k

Transaction Summary

=======================

Install 2 Package(s)

Update 0 Package(s)

Remove 0 Package(s)

Total download size: 6.4 M

Downloading Packages:

Running Transaction Test

Finished Transaction Test

Transaction Test Succeeded

Running Transaction

Installing: php-xml ######################### [1/2]

Installing: joomla ######################### [2/2]

Installed: joomla.noarch 0:1.0.15-2.9.el5.al

Dependency Installed: php-xml.i386 0:5.1.6-15.el5

Complete!

Algunos paquetes incluyen guiones que ejecutan procesos que pueden

ser requeridos previo o posterior a la instalacion. Si no se desea que se

ejecuten estos guiones, se anade a rpm -ivh o rpm -Uvh la opcion --noscripts. En el siguiente ejemplo, se instalara el paquete joomla-1.0.15- 2.9.el5.al.noarch.rpm sin la ejecucion de los guiones que pudieran estar

definidos en el paquete RPM:

rpm -Uvh --noscripts joomla-1.0.15-2.9.el5.al.noarch.rpm

9.1.4. RECUPERACIÓN DE PERMISOS ORIGINALES A PARTIR DE RPM

Página 51

Page 53: instalacion configuracion centos

GRUPO LINUX REDES II

En circunstancias en las cuales ser realizaron cambios en los permisos

en el sistema de archivos, es posible volver a dejarlos de acuerdo a los

especificados en el paquete RPM original utilizando el mandato rpm con la

opcion --setperms del siguiente modo:

rpm --setperms paquete

Vea el permiso de /usr/bin/passwd del siguiente modo:

ls -l /usr/bin/passwd

Lo anterior puede devolver una salida similar a la siguiente:

-rwsr-xr-x 1 root root 22984 ene 6 2007 /usr/bin/passwd

Cambie el permiso del siguiente modo:

chmod 700 /usr/bin/passwd

Vuelva a ver el permiso de /usr/bin/passwd del siguiente modo:

ls -l /usr/bin/passwd

Lo anterior debe devolver una salida similar a la siguiente:

-rwx------ 1 root root 22984 ene 6 2007 /usr/bin/passwd

El fichero /usr/bin/passwd pertence al paquete passwd, confirmelo del

siguiente modo:

rpm -qf /usr/bin/passwd

Lo anterior debe devolver una salida similar a la siguiente:

passwd-0.73-1

Para recuperar de nuevo el permiso original de /usr/bin/passwd, utilice

lo siguiente:

rpm --setperms passwd

Página 52

Page 54: instalacion configuracion centos

GRUPO LINUX REDES II

Vuelva a ver el permiso de /usr/bin/passwd del siguiente modo:

ls -l /usr/bin/passwd

Lo anterior debe devolver una salida similar a la siguiente y que

corresponde al permiso original del fichero /usr/bin/passwd:

-rwsr-xr-x 1 root root 22984 ene 6 2007 /usr/bin/passwd

9.1.5. DESISTANLACION DE PAQUETES

Para desinstalar paqueteria, se utiliza el mandato rpm con la opcion -e,

que se utiliza para eliminar, seguida del nombre del paquete. En el siguiente

ejemplo, se solicita al mandato rpm desinstalar los paquetes joomla y php-xml:

rpm -e joomla php-xml

Si no hay dependencias que lo impidan, el sistema solo devolvera el

simbolo de sistema. Si el paquete o alguno de sus componentes fuera

dependencia de otro u otros paquetes, el sistema informara que no es posible

desinstalar y devolvera la lista de paquetes que lo requieren. En el siguiente

ejemplo se tratara de desinstalar el paquete crontabs:

rpm -q crontabs

Como el paquete crontabs es requerido por anacron, el sistema

devolvera una salida similar a la siguiente:

error: Failed dependencies:crontabs is needed by (installed) anacron-2.3-45.el5.centos.i386

Si se desea des instalar cualquier paquete sin importar que otros

dependan de este, se puede utilizar agregar la opcion --nodeps. Esto es

contraindicado, y solo debe ser utilizado es situaciones muy particulares o

escenarios donde asi se requiere. Evite siempre desinstalar paquetes que

Página 53

Page 55: instalacion configuracion centos

GRUPO LINUX REDES II

sean dependencia de otros en el sistema a menos que vaya a reinstalar

inmediatamente un paquete que los sustituya.

9.2.DEPOSITOS YUM

Yum es una herramienta sumamente útil para el manejo de

paquetería RPM. Aprender a crear en el disco duro las bases de datos para

los depósitos yum resulta práctico puesto que no habrá necesidad de

recurrir hacia los depósitos localizados en servidores en Internet y consumir

innecesariamente ancho de banda en el proceso.

Uso de yum para instalar y desinstalar paquetería y actualizar sistema

Actualizar sistemaActualización del sistema con todas las dependencias que sean

necesarias:

yum update

BúsquedasRealizar una búsqueda de algún paquete o término en la base de datos en

alguno de los depósitos yum configurados en el sistema:

yum search cualquier-paquete

Ejemplo:

yum search httpd

Consulta de informaciónConsultar la información contenida en un paquete en particular:

yum info cualquier-paquete

Ejemplo:

yum info httpd

Instalación de paquetes

Página 54

Page 56: instalacion configuracion centos

GRUPO LINUX REDES II

Instalación de paquetería con resolución automática de dependencias:

yum install cualquier-paquete

Ejemplo:

yum install httpd

Desinstalación de paquetesDesinstalación de paquetes junto con todo aquello que dependa de los

mismos:

yum remove cualquier-paquete

Ejemplo:

yum remove httpd

10. DISTRIBUCIONES LINUX

Una distribución no es otra cosa que el núcleo Linux con un conjunto

de programas seleccionados, con herramientas específicas de configuración,

empaquetamiento, documentación, etc. Algunas son comerciales, mientras

que otras son totalmente gratuitas o de muy bajo costo. Hay muchísimas

distribuciones alrededor del mundo, pero sólo unas pocas son usadas

ampliamente.

Una distribución es una variante del sistema GNU/Linux que se enfoca

a satisfacer las necesidades de un grupo especifico de usuarios. De este

modo hay distribuciones para hogares, empresas y servidores. Algunas

distribuciones son completamente libres, pero muchas no lo son.

Las distribuciones son ensambladas por individuos, empresas u otros

organismos. Cada distribución puede incluir cualquier número

de software adicional, incluyendo software que facilite la instalación del

sistema. La base del software incluido con cada distribución incluye el

Página 55

Page 57: instalacion configuracion centos

GRUPO LINUX REDES II

núcleo Linux y las herramientas GNU, al que suelen añadirse también

varios paquetes de software.

Las herramientas que suelen incluirse en la distribución de

este sistema operativo se obtienen de diversas fuentes, y en especial de

proyectos de software libre, como: GNU , BSD, GNOME y KDE. También se

incluyen utilidades de otros proyectos como Mozilla,  Perl,  Ruby,  Python, 

PostgreSQL,  MySQL,  Xorg, casi todas con licencia GPL o compatibles con

ésta (LGPL, MPL).

A continuación podeis encontrar informacion sobre las distribuciones

más importantes de Linux (aunque no las únicas).

UBUNTU

Distribución basada en Debian, con lo que esto conlleva y centrada en el usuario final y facilidad de uso. Muy popular y con mucho soporte en la comunidad. El entorno de escritorio por defecto es GNOME.

REDHAT ENTERPRISE

Esta es una distribución que tiene muy buena calidad, contenidos y soporte a los usuarios por parte de la empresa que la distribuye. Es necesario el pago de una licencia de soporte. Enfocada a empresas.

FEDORA

Esta es una distribución patrocinada por RedHat y soportada por la comunidad. Facil de instalar y buena calidad.

Página 56

Page 58: instalacion configuracion centos

GRUPO LINUX REDES II

DEBIAN

Otra distribución con muy buena calidad. El proceso de instalacion es quizas un poco mas complicado, pero sin mayores problemas. Gran estabilidad antes que últimos avances.

OpenSuSE

Otra de las grandes. Facil de instalar. Version libre de la distribucion comercial SuSE.

SuSE LINUX ENTERPRISE

Otra de las grandes. Muy buena calidad, contenidos y soporte a los usuarios por parte de la empresa que la distribuye, Novell. Es necesario el pago de una licencia de soporte. Enfocada a empresas.

SLACKWARE

Esta distribución es de las primeras que existio. Tuvo un periodo en el cual no se actualizo muy a menudo, pero eso es historia. Es raro encontrar usuarios de los que empezaron en el mundo linux hace tiempo, que no hayan tenido esta distribucion instalada en su ordenador en algun momento.

GENTOO

Esta distribución es una de las unicas que incorporaron un concepto totalmente nuevo en Linux. Es una sistema inspirado en BSD-ports. Podeis compilar/optimizar vuestro sistema completamente desde cero. No es recomendable adentrarse en esta distribucion sin una buena conexion a internet, un ordenador medianamente potente (si quereis terminar de

Página 57

Page 59: instalacion configuracion centos

GRUPO LINUX REDES II

compilar en un tiempo prudencial) y cierta experiencia en sistemas Unix.

KUBUNTU

Distribución basada en Ubuntu, con lo que esto conlleva y centrada en el usuario final y facilidad de uso. La gran diferencia con Ubuntu es que el entorno de escritorio por defecto es KDE.

MANDRIVA

Esta distribución fue creada en 1998 con el objetivo de acercar el uso de Linux a todos los usuarios, en un principio se llamo Mandrake Linux. Facilidad de uso para todos los usuarios.

11. VENTAJAS Y DESVENTAJAS DE GNU/LINUX

Cada sistema operativo, sea GNU/Linux u otro, posee características

que lo hacen específico para un sector del mercado. Describiremos aquí

algunas ventajas y desventajas de las distribuciones GNU/Linux en relación

con el mercado y la ofimática.

VENTAJAS

Adaptación del sistema: Cada usuario puede cambiar el sistema de

acuerdo con sus necesidades.

Independencia del proveedor: Muchas son las empresas o universidades

que ofrecen distribuciones de GNU/Linux.

Página 58

Page 60: instalacion configuracion centos

GRUPO LINUX REDES II

Costes: Muchas distribuciones son gratuitas. Es posible bajarlas de internet

o copiarlas libremente.

Documentación: Cada distribución posee un conjunto de manuales que

viene con el CD de instalación. Además de eso, hay otros dos grupos

importante en la documentación de aplicaciones Linux, que son The Linux

Documentation Project y Free Software Foundation.

Mantenimiento: Por tratarse de un sistema con muchos desarrolladores de

todo el mundo, los programas son masivamente probados y

consecuentemente su reparación es más rápida.

Impulso de la economía local: Cualquier empresa puede ofrecer servicios o

aplicaciones utilizando tecnología GNU/Linux. Esa posibilidad fomenta la

creación de software para las empresas de la región como es el caso de

las distribuciones autonómicas, como Lliurex (C. Valenciana),Guadalinux

(Andalucía), Linex (Extremadura),Molinux (Castilla la Mancha), Max

(Madrid) y Augustux(Aragón),

DESVENTAJAS

• Necesidad de un cambio de mentalidad: Con el uso masivo de

aplicaciones ya consolidadas en el mercado, el cambio a nuevas

aplicaciones tiende a ser más difícil, por razones comunes como el coste

en formación de personal cualificado o el bajo rendimiento en los primeros

meses de utilización de nuevas herramientas, entre otras.

• Uso poco extendido en ofimática: El temor al cambio hace que esa

tecnología tarde más tiempo en llegar al mercado dificultando la adopción

de las herramientas por parte de los usuarios.

• Aplicaciones poco intuitivas: Muchas de las aplicaciones distribuidas en las

distribuciones no poseen una interfaz intuitiva y amigable, lo cual dificulta

su utilización.

Página 59

Page 61: instalacion configuracion centos

GRUPO LINUX REDES II

• Al no existir una empresa fuente en el mercado detrás de GNU/Linux, este

sistema no inspira la suficiente confianza a algunas empresas para

moverlas a trabajar en ese sentido, ya que el futuro parece incierto para

aquellos que no conocen ese trabajo.

12. LICENCIAMIENTO EN LINUX

El software que se publica debería ser software libre. Para que sea

libre tiene que publicarlo con una licencia de software libre. Generalmente

utilizamos la Licencia Pública General de GNU (GPL de GNU, por sus

siglas en inglés), pero eventualmente también utilizamos otras licencias de

software libre. Para el software de GNU únicamente usamos otras licencias

si son compatibles con la GPL de GNU.

La documentación del software libre debería ser documentación

libre, para que se pueda redistribuir y mejorar al igual que el software al

cual describe. Para que sea libre la documentación, tiene que publicarla

con una licencia de documentación libre. Generalmente utilizamos la

licencia de documentación libre de GNU (FDL de GNU, por sus siglas en

inglés), aunque en ocasiones también usamos otras licencias de

documentación libre.

El texto de la licencia pública general de Affero de GNU está en los

siguientes formatos: HTML, texto plano, Dobbook, Texinfo y LaTeX. Estos

documentos no están maquetados para publicarlos por sí solos, sino que

están pensados para incluirse en otro documento.

a) Licencia Pública General (GPL) de GNU

Página 60

Page 62: instalacion configuracion centos

GRUPO LINUX REDES II

La Licencia Pública General de GNU, llamada comúnmente GPL de

GNU, la usan la mayoría de los programas de GNU y más de la mitad de

los paquetes de software libre. La última versión es la 3.

Versiones: GPLv3 , GPLv2, GPLv1

b) Licencia Pública General Reducida (LGPL) de GNU

Versión 2.1, febrero de 1999

Se permite la copia y distribución de copias literales

de este documento, pero cambiando, no está permitido.

Esta licencia, la Licencia Pública General se aplica a algunos paquetes

de software especialmente designado - típicamente las bibliotecas - de

la Free Software Foundation y otros autores que deciden usarla.

0. Este Acuerdo de Licencia se aplica a cualquier biblioteca de

software o programa que contenga una nota colocada por el

tenedor del copyright o de otra parte autorizada diciendo que

puede ser distribuido bajo los términos de esta Licencia Pública

General. Cada concesionario se dirige como "usted".

Una "biblioteca" significa un conjunto de funciones de software y /

o datos preparados para ser convenientemente vinculados con los

programas de aplicación (que usan algunas de estas funciones y

datos) para formar ejecutables.

La "Biblioteca", a continuación, se refiere a cualquier biblioteca de

software o trabajo que ha sido distribuido bajo estos términos. Un

"trabajo basado en la Biblioteca" se entiende la Biblioteca o

cualquier trabajo derivado bajo la ley del copyright: es decir, un

trabajo que contiene la Biblioteca o una parte de ella, de forma

Página 61

Page 63: instalacion configuracion centos

GRUPO LINUX REDES II

literal o con modificaciones y / o traducido a otro idioma sin

rodeos. (En lo sucesivo, la traducción está incluida sin limitaciones

en el término "modificación".)

"Código fuente" para un trabajo significa la forma preferida del

trabajo para hacer modificaciones a la misma. Para una biblioteca,

el código fuente completo significa todo el código fuente de todos

los módulos que contiene, más cualquier fichero asociado de

definición de interfaces, más los guiones utilizados para controlar

la compilación e instalación de la biblioteca.

Actividades distintas de la copia, distribución y modificación no

están cubiertas por esta licencia y están fuera de su ámbito de

aplicación. El acto de ejecutar un programa utilizando la Biblioteca

no está restringido, y la producción de ese programa están

cubiertos únicamente si sus contenidos constituyen un trabajo

basado en la Biblioteca (independiente de la utilización de la

Biblioteca en una herramienta para escribirlo). Si eso es verdad

depende de lo que la Biblioteca hace y lo que el programa que

utiliza la Biblioteca hace.

1. Usted puede copiar y distribuir copias literales del código fuente

completo de la biblioteca como lo has recibido, en cualquier

medio, siempre que adecuada y bien visible publique en cada

copia un anuncio de copyright adecuado y un repudio de garantía,

mantenga intactos todos los avisos que se refieren a este Licencia

ya la ausencia de cualquier garantía, y distribuir una copia de esta

licencia junto con la Biblioteca.

Página 62

Page 64: instalacion configuracion centos

GRUPO LINUX REDES II

Usted puede cobrar una cuota por el acto físico de transferir una

copia, y puede a su albedrío, ofrecer garantía a cambio de una

cuota.

2. Puede modificar su copia o copias de la Biblioteca o cualquier

porción de él, formando de esta manera un trabajo basado en la

Biblioteca, y copiar y distribuir esa modificación o trabajo bajo los

términos de la Sección 1, antedicho, supuesto que además

cumpla las siguientes condiciones :

a) El trabajo modificado debe ser ella misma una biblioteca de

software.

b) Debe hacer que los ficheros modificados lleven anuncios

prominentes indicando que usted cambió los archivos y la

fecha de cualquier cambio.

Versión 3, 29 de junio 2007

Esta versión de la GNU Lesser General Public License incorpora los

términos y condiciones de la versión 3 de la GNU General Public

License, complementado por los permisos adicionales que figuran a

continuación.

0. Definiciones adicionales.

Como se usa aquí, "esta licencia" se refiere a la versión 3 de la GNU

Lesser General Public License, y la "GNU GPL" se refiere a la versión 3

de la GNU General Public License.

"La Biblioteca" se refiere a una obra amparada regulada por la presente

licencia, que no sea una aplicación o un trabajo combinado tal como se

definen a continuación.

Una "solicitud" es cualquier trabajo que hace uso de una interfaz que

proporciona la Biblioteca, pero que no esté basado en la Biblioteca. La

definición de una subclase de una clase definida por la Biblioteca se Página 63

Page 65: instalacion configuracion centos

GRUPO LINUX REDES II

considera un modo de uso de una interfaz que proporciona la Biblioteca.

Un "combinado el trabajo" es un trabajo producido por la combinación o

vinculación de una aplicación con la Biblioteca. La versión particular de

la Biblioteca con la que se hizo el trabajo conjunto también se llama el

"Linked versión".

El "mínimo correspondiente fuente" para un trabajo conjunto: la fuente

correspondiente para el trabajo conjunto, con exclusión de cualquier

código fuente de las porciones del trabajo conjunto que, considerados

aisladamente, se basan en la demanda, y no en la versión vinculada.

El "correspondiente código de aplicación" para un trabajo conjunto

significa que el código objeto y / o el código fuente de la aplicación,

incluidos los datos y programas utilitarios necesarios para la

reproducción de la obra combinada de la aplicación, pero con exclusión

de las bibliotecas del sistema del trabajo combinado.

c) Licencia Pública General de Affero (AGPL) de GNU

La licencia pública general de Affero esta basada en GPL de GNU,

pero añade una clausula adicional para permitir a los usuarios que

interactúan con el programa licenciado a través de una red, recibir el código

fuente de ese programa. Recomendamos que se considere utilizar la

licencia AGPL de GNU para cualquier programa que vaya a utilizarse a

través de una red. La última versión es la 3.

Versiones: AGPLv3 de GNU (La primera versión de la Affero General

Public License no es una licencia de GNU, pero se diseñó con una finalidad

muy similar a la licencia AGPL de GNU).

Página 64

Page 66: instalacion configuracion centos

GRUPO LINUX REDES II

d) Licencia de Documentación Libre (FDL) de GNU

Versión 1.3, 3 de noviembre 2008

El propósito de esta licencia es hacer un libro de texto manual, o

documento funcional y útil "libre" en el sentido de la libertad: asegurar a

todos la libertad efectiva de copiarlo y redistribuirlo, con o sin

modificaciones, ya sea comercial o no . En segundo lugar, esta licencia

preserva para el autor y el editor una manera de obtener crédito por su

trabajo, aunque no se considera responsable de las modificaciones hechas

por otros.

La Licencia de Documentación Libre de GNU es una forma de

copyleft para ser usada en un manual, libro de texto u otro documento que

asegure que todo elmundo tiene la libertad de copiarlo y redistribuirlo, con o

sin modificaciones, de modo comercial o no comercial. La última versión es

la 1.3.

e) ¿Qué es el Copyleft?

Copyleft es la forma general de hacer un programa software libre y

requerir que todas las modificaciones y versiones extendidas del programa

sean también software libre.

El modo más sencillo de hacer un programa libre es ponerlo en el

dominio público, es decir, sin copyright. Esto permitirá que la gente

comparta el programa y sus mejoras, si así lo desean. Pero también

permitirá que gente que no quiera cooperar pueda convertirlo en software

privativo. Pueden hacer cambios, tantos como deseen, y distribuir el

resultado como un producto privativo. Los que reciban el programa en su

forma modificada no poseerán libertad que el autor original les dio debido a

que el intermediario se la ha retirado.

Página 65

Page 67: instalacion configuracion centos

GRUPO LINUX REDES II

En el Proyecto GNU, nuestra intención es dar a todos los usuarios la

libertad de redistribuir y cambiar software de GNU. Si el intermediario

pudiera coartar la libertad, podríamos tener muchos usuarios, pero esos

usuarios no tendrían libertad. Así, en vez de poner software de GNU bajo

dominio público, lo hacemos «copyleft». Copyleft significa que cualquiera

que redistribuya el software, con o sin cambios, no podrá restringir a nadie

la libertad de copiarlo, redistribuirlo o modificarlo. Copyleft garantiza que el

usuario mantenga su libertad.

El copyleft también proporciona un incentivo a otros programadores

a unirse al software libre. Software libre importante como el compilador C++

de GNU existe sólo gracias a esto.

El copyleft también ayuda a los programadores que deseen

contribuir con mejoras al software libre a obtener permiso para hacerlo.

Estos programadores habitualmente trabajan para empresas o

universidades que casi harían cualquier cosa para obtener más dinero. Un

programador podría contribuir con sus cambios a la comunidad, pero su

superior puede querer hacer de esos cambios un producto de software

privativo.

Cuando nosotros le explicamos a ese superior que es ilegal distribuir

la versión mejorada del producto salvo como software libre, el empresario

normalmente decide liberarlo como software libre en lugar de tirarlo a la

basura.

Para hacer un programa copyleft, lo primero que hacemos proclamar

que está bajo los derechos de autor. Luego añadimos las cláusulas de

distribución, que son un instrumento legal que le da a cualquiera el derecho

de usar, modificar y redistribuir el código fuente del programa o de

cualquier programa derivado de éste; pero sólo si los términos de

distribución no se cambian. De este modo, el código y las libertades se

vuelven legalmente inseparables.

Página 66

Page 68: instalacion configuracion centos

GRUPO LINUX REDES II

Los desarrolladores de software privativo emplean el copyright para

quitar la libertad a los usuarios; nosotros empleamos ese copyright para

garantizar su libertad. Por esto cambiamos el nombre «copyright» por

«copyleft» [se trata de un juego de palabras en inglés. «copyright» puede

traducirse literalmente como «derecho de copia», mientras que «copyleft»

como «izquierdo de copia»].

Copyleft es un concepto general; hay muchos detalles distintos que

se pueden especificar. En el Proyecto GNU, las cláusulas específicas de

distribución que empleamos están contenidas en la Licencia Pública

General de GNU, la Licencia Pública General Reducida de GNU y la

Licencia de Documentación Libre de GNU.

La licencia apropiada está incluida en muchos manuales y en cada

distribución de código fuente GNU.

La GPL de GNU se diseñó para que pueda aplicarla fácilmente a sus

programas si es el titular de los derechos de autor. Para hacerlo no tiene

que modificar la GPL de GNU, sólo poner anuncios en su programa que

hagan la referencia apropiada a la GPL de GNU. Por favor, tenga en

cuenta que si usa la GPL de GNU debe conservar el texto íntegro de la

licencia. Es un todo en conjunto; las copias parciales no están permitidas

(de igual modo para la LGPL, la AGPL y la FDL).

Emplear los mismos términos de distribución para los diferentes

programas hace fácil compartir el código entre ellos. Como todos poseen

los mismos términos de distribución, no hay necesidad de pensar si los

términos son compatibles. La GPL reducida incluye una cláusula que le

permite alterar los términos de distribución de su programa adaptándolos a

la GPL, para así poder copiar código en otros programas que estén

cubiertos por la GPL.

f) Pronunciamiento PLUG - Acerca del Proyecto de Ley de Software Libre

Página 67

Page 69: instalacion configuracion centos

GRUPO LINUX REDES II

Software de Código Abierto y de Código Cerrado

El Software de Código Abierto es aquel programa (o grupo de

programas) que es entregado con su código fuente bajo los términos de su

licencia original. El código fuente puede ser incluido con el programa o ser

accesible remotamente por Internet, pero de ninguna manera puede ser

malintencionadamente modificado. Se usa mecanismos de seguridad para

la verificación de su integridad y autenticidad.

Existe libertad para su uso, copia, modificación, mejora y distribución

bajo los términos de su licencia original. La licencia no requiere un pago por

los derechos adquiridos y puede usarse el mismo programa en tantas

computadoras como se desee.

El Software de Código Cerrado es aquel programa (o grupo de

programas) que es entregado en formato binario o ejecutable. No se

entrega el código fuente original, por tanto no es posible su modificación o

mejora. Su copia y distribución está limitada por la licencia del fabricante,

que usualmente tiene un costo monetario. El único derecho disponible para

el usuario final es el de uso o ejecución del programa.

El Software de Código Abierto puede ser referenciado como "Software

Libre" y el Software de Código Cerrado, como "Software Comercial".

Software Libre: Free Software u OpenSource

En el mundo del Software Libre existen, por decirlo de alguna manera,

dos "políticas" o corrientes sobre cuyas definiciones de licenciamiento

están englobadas la mayoría de aplicaciones de Código Abierto. Estas dos

corrientes son: Free Software Foundation con la licencia GNU/GPL y la

Open Source Initiative con la licencia OpenSource.

En esencia los criterios de ambas posiciones son muy similares en lo

que respecta a la posesión del código fuente, la libertad de uso, copia,

modificación y distribución. Sin embargo es bueno conocer que la licencia

Página 68

Page 70: instalacion configuracion centos

GRUPO LINUX REDES II

de OpenSource incorpora definiciones que la hacen más aceptable para la

incorporación de empresas al desarrollo de Software Libre.

Este concepto es importante por el hecho de que la Ley de Uso de

Software Libre debe definir qué tipo de Software debe ser usado en la

administración pública, cuidando el no uso de las ambigüedades que luego

se presten a distintas interpretaciones. Asimismo es imprescindible hacer

uso del mejor Software Libre en el mercado por lo que las limitaciones no

deben ser por tipos de licencias.

g) Beneficios de uso del Software Libre en la Administración Pública.

Para un fácil entendimiento de los beneficios y consecuencias del uso del

Software Libre, se nos ocurrió relatar la analogía respecto al desarrollo de

la computación desde la aparición de la computadora personal PC.

¿Recuerdan cómo era la computación antes de la aparición de la

computadora personal PC?

Antes de la aparición de la computadora personal PC, el mundo de

la computación estaba dominado por una empresa y, por tanto, por su

tecnología: IBM.

En los años 80 cuando IBM desarrolla la PC y abre su tecnología

para que cualquiera la estudie y replique (no sabemos si intencionalmente

o no) marca el inicio de un espectacular cambio: La revolución de la

Computación que luego fue originó la revolución de la Información para

llegar a lo que ahora conocemos como la revolución Internet.

Aunque la PC no fue desarrollada siguiendo la filosofía de

OpenSource, el simple hecho de hacer la tecnología pública hizo que

aparezcan otras empresas que en principio clonaban la tecnología para

luego mejorarla y venderla con mejores características y a cada vez

menores precios. Este es ejemplo del desarrollo tecnológico al que se

puede llegar cuando se adquiere el conocimiento de manera irrestricta.

Página 69

Page 71: instalacion configuracion centos

GRUPO LINUX REDES II

El espíritu del Software Libre permite adquirir conocimiento

avanzado hoy, no es necesario crearlo desde cero. Es la primera vez que

se entrega todas las herramientas necesarias en forma democrática para

que la inventiva, creatividad y capacidad de las personas puedan mejorar la

tecnología e incluso superarla. Y hay muchos ejemplos que demuestran

que los peruanos tenemos justamente la inventiva y creatividad necesaria.

Sin embargo, es bueno sintetizar los beneficios propuestos en los

proyectos de ley:

Independencia Tecnológica , a partir de no depender de proveedores

únicos con los cuales casi siempre se tiene un poder de negociación

bajo a lo largo del tiempo. El Estado puede fijar sus propios

estándares de operación, tanto a nivel de aplicaciones como de

comunicación, así como contratar a distintos proveedores de

servicios ya sea nacionales o internacionales.

Fomento al desarrollo tecnológico nacional . El acceso al código

fuente alienta al conocimiento y a la innovación en el desarrollo de

software. Se pasa de ser simples usuarios de programas

prefabricados a posibles desarrolladores de programas adecuados a

nuestra aplicación y realidad particular.

Perennidad de la Información , al hacer uso de estándares abiertos y

la no dependencia de formatos propietarios. La información de los

ciudadanos no depende del desarrollo comercial de una empresa en

particular.

Seguridad Nacional y de los datos de los ciudadanos . Este es un

punto importante, puesto que la mayoría de datos confidenciales de

los ciudadanos está ahora en formato digital, lo que quiere decir que

depende de la fiabilidad de los programas comerciales. No es

posible saber si esos programas; ya sea por intereses comerciales,

de naciones, o simplemente por intereses particulares de un

empleado del proveedor de software, puedan ser manipulados

Página 70

Page 72: instalacion configuracion centos

GRUPO LINUX REDES II

ilegalmente. El Software Libre es transparente pues entrega el

código fuente que puede ser revisado exhaustivamente para

encontrar algún problema de seguridad o código malicioso. En este

sentido, el Software Libre es más seguro.

Ahorro en costes. Evidentemente la libertad de uso y copia de un

mismo programa cuantas veces se desee, trae un ahorro de costes

considerable. Una vez que los costes de cambio se han realizado,

los costes de mantenimiento y de mejora son bastante menores en

relación a un software comercial.

Entorno de Colaboración. Al existir la posibilidad de desarrollo propio

en todas las entidades del Estado, es posible que las mejoras de los

programas provengan de cualquiera de estos puntos y sean

aplicables rápidamente a otros sitios. Se crea un entorno de

desarrollo abierto que está demostrado funciona mejor que un

entorno de desarrollo cerrado.

h) ¿Cuáles son los costos del cambio?

Debe quedar bien en claro que hablar de Software Libre no implica

costo cero. Aún cuando es posible conseguir la mayoría de software a

través de Internet, existe un costo asociado al pasar de un esquema de

Software Comercial a uno de Software Libre.

Este costo es inicialmente alto, debido al proceso de aprendizaje,

cuya curva es relativamente plana, es decir puede ser necesario más

tiempo para dominar el Software Libre que un Software Comercial conocido

por versiones anteriores. Esto se refleja en la capacitación de las personas

encargadas de administrar los sistemas y de los instructores de usuarios

finales.

En lo que respecta al costo de aprendizaje de los usuarios finales,

este no es tan alto, al usar interfaces gráficas de fácil uso y configuración.

Página 71

Page 73: instalacion configuracion centos

GRUPO LINUX REDES II

Existe también un costo que podríamos llamar un coste hundido

respecto al software comercial actual sobre la cual ya se tiene licencias

compradas. Va a ser necesario un cambio paulatino hacia el Software Libre

para no causar dificultades financieras en las entidades que ya tengan un

contrato o licencia de Software Comercial.

Finalmente, si hablamos de costos, debemos considerar el Costo

Total de Propiedad, donde se analiza no sólo los costos iniciales de

implementación, sino también los costos de ejecución, mantenimiento,

conservación de equipos, y los llamados costos “ocultos” como los costos

administrativos, costos de actualización, costos de soporte técnico, etc. Ha

sido demostrado que el uso de Software Libre tiene un menor Costo Total

de Propiedad a lo largo del tiempo, respecto al Costo de otras plataformas.

i) ¿Por qué es necesario una ley para su uso en el Estado Peruano?

Algunos dudan sobre la necesidad de la Ley bajo el argumento de

que no es necesario una norma legal para que se use o no el Software

Libre. Si bien esta afirmación tiene sustento en lo que se refiere a la

potestad de elegir libremente entre varias opciones, en la práctica esta

potestad se ve limitada por la dificultad o la poca probabilidad de tener

acceso a todas las opciones, ya sea por cuestiones de presupuesto o por

falta de información. El ejemplo concreto es el uso de Software Comercial

de manera ilegal en muchas entidades del Estado, sobre todo en los

gobiernos locales y regionales.

El Estado tiene el deber de cumplir con su labor de fomento del

desarrollo tecnológico del País, así como, por derecho, definir sus propios

estándares de aplicación por ejemplo en el caso del Software y de permitir

que las mejores aplicaciones puedan llegar democráticamente a todas sus

instancias y hacer uso de estas de manera correcta y legal. Todo esto a

bajo coste.

Página 72

Page 74: instalacion configuracion centos

GRUPO LINUX REDES II

En la actualidad, la tecnología juega un papel preponderante en la

prestación de servicios del Estado a los ciudadanos. De allí la importancia

de que ésta cumpla con requisitos básicos como de independencia

tecnológica, seguridad, privacidad, perennidad, actualidad, y desarrollo

constante.

¿Qué debería contener una ley o que debería priorizar el Estado?

La Ley para el Uso de Software Libre debería contener los siguientes

puntos:

Definición de los requisitos por los cuales un software o programa es

considerado Software Libre. Los criterios centrales son: código fuente,

copia y uso irrestricto, modificación y redistribución libre. Es preferible

cumplir con los criterios centrales que con un tipo específico de licencia.

Una entidad técnica que fije los lineamientos generales para el uso

de software libre en el Estado, incluyendo la selección del software que

mejor se acomode a las aplicaciones administrativas, tecnológicas, y de

desarrollo e investigación. Además, que fije los estándares abiertos de

aplicación, comunicación y protocolos necesarios para la total

interoperatividad entre todas las entidades del Estado.

Una definición clara de las excepciones en las que, a falta de un

programa de Software Libre que cumpla con los requisitos para una

aplicación particular, sea necesario usar Software Comercial o Propietario.

En cualquier caso se debe elegir o priorizar al software que cumpla con los

estándares establecidos.

Definir el papel de las universidades respecto al desarrollo del

Software Libre en el Estado, estableciendo un compromiso mutuo entre la

administración pública y las universidades.

Definir que todos los proyectos de investigación del Estado, ya sea en

las universidades como en los institutos de investigación científica usen

Página 73

Page 75: instalacion configuracion centos

GRUPO LINUX REDES II

Software Libre con la finalidad de crear una red de colaboración mutua en

la cual los desarrollos o mejoras realizadas en un punto sean transferibles

rápidamente a los demás puntos.

j) Experiencias en otros países.

El Proyecto de Ley presentado en el Perú no es un caso aislado, se

enmarca dentro de una corriente a nivel mundial. Actualmente el Software

Libre es considerado como una tendencia del mercado, no se trata sólo de

un asunto de expertos o informáticos, es algo totalmente viable.

Como ejemplo podemos citar los proyectos en los países de la región

como Argentina, y Brasil, donde un gran número de Estados está haciendo

ya uso del Software Libre en la Administración Pública.

En México existe un proyecto similar, inclusive dentro del sector

Educación.

En Europa, la Comunidad Europea ha recomendado a sus países

integrantes el estudio e implementación de proyectos de Software Libre

dentro de la Administración Pública, dentro de la iniciativa “Europe An

information Society for all”

Países como Alemania, Francia, Dinamarca, Italia, España están

discutiendo la implementación del Software Libre en sus propios

congresos.

En conclusión:

- El Software Libre otorga mayores derechos a los usuarios que el

Software Comercial. Los beneficios del uso del Software Libre van más

allá del ahorro de costes, sobre todo en el tema de la independencia

tecnológica, seguridad de la información y el fomento al desarrollo

tecnológico nacional a nivel de software.

- El Costo Total de Propiedad es menor usando Software Libre.

Página 74

Page 76: instalacion configuracion centos

GRUPO LINUX REDES II

- El Estado debe asumir su rol de promotor del desarrollo tecnológico del

País.

- Es importante tener una entidad técnica que normalice el uso de

Software Libre, así como defina la reglamentación de la ley y defina los

estándares de aplicación y comunicación en el uso de Software en el

Estado.

- El uso de Software Libre en la Administración Pública es una tendencia

mundial, no se trata de un caso aislado en Perú.

13. COMPARACIÓN DE LINUX Y WINDOWS

Más sobre ventajas y desventajas de GNU/Linux y Windows

EULA o End User License Agreement, es una licencia

por la cual el uso de un producto sólo está permitido para

un único usuario (el comprador).

GNU GPL, (Licencia Pública General) es una licencia

creada por la Free Software Foundation a mediados de los 80, y está

orientada principalmente a proteger la libre distribución, modificación y uso de

software. Su propósito es declarar que el software cubierto por esta licencia

es software libre y protegerlo de intentos de apropiación que restrinjan esas

libertades a los usuarios.

En meses pasados se llevó a cabo un estudio para determinar las

diferencias entre la licencia utilizada por el sistema operativo Microsoft

Windows XP (EULA) y la licencia utilizada por el software de código abierto,

entre los que se incluyen Linux (GNU GPL)

El estudio fue llevado por Cybercurse, empresa líder en Australia que

provee servicios TI enfocados en Unix, Linux, TCP/IP y Windows.

Página 75

Page 77: instalacion configuracion centos

GRUPO LINUX REDES II

Entre los aspectos más destacados de este estudio podemos citar que se

reveló que mientras que la licencia EULA, pretende proteger a la empresa

Microsoft, la licencia GNU GPL se enfoca más hacia los derechos del usuario.

La licencia de Microsoft (EULA) tiene por objetivo limitar al usuario a tomar

acciones, elecciones u opciones sobre el software, entre tanto que la GNU

GPL se dedica a salvaguardar los derechos de los desarrolladores originales

para mantener la continuidad y la accesibilidad del código fuente para el

software.

Cabe hacer notar que la licencia utilizada para este estudio fue la EULA,

por que es representante del más nuevo sistema operativo que Microsoft tiene

al público para el usuario promedio.

De la conclusión del estudio se pueden citar los siguientes puntos de

interés para el debate:

La licencia EULA

Se prohíbe la copia.

Puede ser empleado en un único ordenador con un máximo de 2

procesadores.

No puede ser empleado como Web Server o File Server.

Registro necesario a los 30 días.

Puede dejar de funcionar si se efectúan cambios en el hardware.

Las actualizaciones del sistema pueden modificar la licencia, si la

compañía lo desea. *Sólo puede ser transferida una vez a otro usuario.

Impone limitación sobre la ingeniería inversa.

Página 76

Page 78: instalacion configuracion centos

GRUPO LINUX REDES II

Da a Microsoft derecho para en cualquier momento recoger

información del sistema y su uso, y también para entregar dicha

información a terceros.

La garantía es por los primeros 90 días.

Actualizaciones y parches sin garantía.

La licencia GPL

Permite la copia, modificación y redistribución del software.

Proporciona garantía de los derechos del usuario a la copia,

modificación y redistribución del software.

Como no tiene costo, tampoco ofrece garantías.

Puede ser vendido y se puede cobrar por los servicios sobre el

software.

Cualquier patente sobre el mismo debe ser licenciada para el beneficio

de todos.

El software modificado no debe tener costo por la licencia.

Tiene que incluir el código fuente.

Los cambios en la licencia deben mantener ciertos términos generales.

Página 77

Page 79: instalacion configuracion centos

GRUPO LINUX REDES II

14. DIFERENCIA WINDOWS Y LINUX:

Windows:

Es un grupo de sistemas operativos conocidos mundialmente fabricado por la empresa Microsoft, teniendo como fundadores a Bill Gates y Paul Allen.

Es el sistema operativo comercial más usado en el mundo, a pesar de que la mayoría de las distribuciones sean copias ilegales. Windows 7 es la última versión lanzada, destinada a computadoras de escritorio.

El sistema operativo más utilizado de la familia Windows es el Windows XP SP2 o SP3. Sin embargo hay algunos que lo rechazan.

Windows, tanto XP como los demás, están muy expuestos a recibir ataques de hackers, debidos a poseer programas vulnerables y ni hablar de la gran cantidad de virus que fueron creados para este sistema. Esto obliga al usuario a utilizar programas protectores, como firewalls, anti-virus, anti-spywares, anti-troyanos, etc.

Podemos decir que Windows es el Sistema Operativo más usado en lo mundo debido a la su aceptada interfaz y la gran cantidad de programas y juegos que son creados para su plataforma.

Linux:

Linux es cualquier sistema operativo que use el núcleo Linux. Fue desarrollado por el finlandés Linus Torvalds, inspirado en el sistema operativo Minix. Su código fuente está disponible bajo licencia GPL.

Actualmente el Ubuntu (la distribución Linux más usada en el mercado) cuenta con un arranque muy rápido y una interfaz muy amigable.

Se puede decir que su mayor contra es la falta de aplicaciones desarrolladas para la plataforma.

En términos de seguridad, estabilidad, rapidez e interfaz, Linux es por lejos, la mejor opción.

Actualmente hay espacio para ambos productos en el mercado, pero los que tenemos que estar conformes y satisfechos somos los

Página 78

Page 80: instalacion configuracion centos

GRUPO LINUX REDES II

usuarios. El crecimiento del software libre ayudó a que Microsoft invierta más en seguridad y en facilidad de uso.

DIFERENCIA ENTRE LA ESTABILIDAD DE LINUX Y WINDOWS:

1. Completo acceso VS el no acceso: Tener acceso al código fuente es

probablemente la diferencia mas significativa entre Linux y Window. El

hecho de que Linux posee una licencia pública GNU asegura que el

usuario de cualquier manera puede acceder y alterar el código, incluso

el kernel que le pertenece a la fundación del sistema operativo Linux.

¿Quieres hechar un vistazo al código fuente de Windows? Buena

suerte. A menos que seas mienbro de un selecto (elite) grupo, tus ojos

nunca verán una pieza del código fuente de Windows.

2. Libertad de licencias VS restricciones de licencias: El tener acceso

es la diferencia entre las licencias. Estoy seguro que cualquier experto

en tecnología e internet puede entender este rollo de licencias de

computadoras. Pero veamos lo que es la clave en el aspecto de las

licencias (sin inmiscuirnos en el ámbito legal). Con un Linux que este

con licencia GPL, tu eres libre de modificar el software, distribuirlo y

venderlo. Tambien con la licencia GPL tu eres libre de descargar una

copia de Linux e instalaro en cuantas máquinas desees. Con las

licencias de Microsoft no puedes hacer nada de lo ya mencionado. Tu

límite esta en cuantas licencias compres. Así que si compraste 10

licencias, legalmente puedes instalar ese sistema operativo en solo 10

máquinas.

Página 79

Page 81: instalacion configuracion centos

GRUPO LINUX REDES II

3. Soportes de conexiones en linea VS Soporte de escritorio bajo

tarifa: Este es un problema por el cual muchas empresas le dan la

espalda a Linux. Con Linux tú tienes soporte de una gran comunidad

en foros, busquedas en linea y muchas páginas webs. Por supuesto, si

sientes necesidad puedes adquirir contratos de soporte de algunas

grandes empresas que manejan Linux (RedHat o Novell por ejemplo).

Si tienes algún problema, exponlo en algun servicio de ayuda y en

pocos minutos estaras recibiendo ayuda y sugerencias. La mayoría de

los problemas en Linux son documentados asi que es probable que

encuentres una solución a tu problema. Por el otro lado de la manera

con Microsoft por supuesto que puedes tener este tipo de ayuda con

Windows dependiendo de que tantas fuentes tengas, al igual que Linux

existen miles de páginas/foros/listas que tienen soporte para Windows.

Puedes comprar soporte del Microsoft mismo. La mayoría de las

empresas que contratan soporte de Microsoft se han quejado de la

seguridad que esta carece, asi que puedes comprar soporte de Linux y

Windows. No he conocido a nadie que me diga que quede

completamente satisfecho con un tipo de soporte de este tipo. Asi que

si ninguno queda completamente satisfecho ¿por qué decir que el

soporte para Windows es mucho mejor que el de Linux?.

4. Completo VS soporte de hardware en solo una parte: Un problema

que se esta convirtiendo en un problema que poco a poco va

desapareciendo es el del hardware. Años atras si tu querías instalar

algun tipo de distribución de Linux tenías que estar completamente

seguro que tu hardware ajustara perfectamente a la distribución para

que trabajara al 100 porciento. Este no es el caso de ahora, hoy

puedes tomar cualquier pc o laptop y tener varias distribuciones Linux

para instalar y casi siempre funcionara al 100% . Claro existen algunas

Página 80

Page 82: instalacion configuracion centos

GRUPO LINUX REDES II

excepciones por ejemplo el hibernar/suspender algunas veces es un

problema en las laptops. Con Windows tu sabes que cada pieza

siempre funcionará con ese sistema operativo. Sin embargo existen

tambien casos en los que puedas encontrar algunos contratiempos.

5. La linea de comandos VS No linea de comandos: No importa lo lejos

que el sistema operativo Linux haya llegado o lo bonito que luzca, la

herramienta de linea de comandos siempre sera una invaluable

herramienta de administración para Linux. Puedes utilizar Linux por

años y no utilizar la linea de comandos al igual que con Windows pero

no tan crítico como lo es con Linux. Algunos usuarios de Windows ni

siquiera saben que el cmd existe.

6. La instalación de aplicaciones centralizadas VS las centralizadas:

El título de este punto tal vez no sea muy entendible. Con Linux tu

tienes (en casi todas las distribuciones) un punto centralizado donde

puedes buscar, agregar, borrar programas. Estoy hablando de un

paquete de gestión de programas como lo es Synaptic. Con Synaptic

puedes abrirlo buscar una aplicación instalarla y todo eso, sin hacer

ningun tipo de busqueda. Windows no tiene nada comparado con esto,

con Windows tu tienes que buscar el software/programa que quieras

utilizar o insertar el cd/dvd de el en el equipo y correr el setup.exe o

install.exe. Hasta ahora en Linux la instalación de programas es simple,

centralizada y sin dolores de jaquecas:p.

Página 81

Page 83: instalacion configuracion centos

GRUPO LINUX REDES II

7. Rigidez VS Flexibilidad: Siempre comparo a Linux y a Windows con

un cuarto donde el piso y el techo donde son movibles o no. Con Linux,

tienes un cuarto donde el techo y el piso pueden ser movidos tan altos

como tu quieras, tan altos o bajos como tu quieras. Con Windows, ese

piso y ese techo son inmovibles, no puedes ir mas allá de donde

Microsoft haya dicho que puedas ir. Por ejemplo los escritorios con

Linux puedes hacerlos lucir tal como tu quieras que luzcan existe la

experiencia Compiz, con Microsoft tu tienes que manejar el escritorio

que ellos han decidido que sea tu escritorio perfecto.

8. Fanaticos VS corporativos: Quiero agregar este punto por que creo

que Linux ha alcanzado el punto que ha llegado a ser mas allá que solo

proyectos escolares. Microsoft posee a administradores certificados

que tambien son fanaticos, al igual que con Linux ellos tambien son

fanaticos. De una u otra manera lo son.

9. Automatizado VS Contenido removible no automatizado: Recuerdo

los dias en que tu tenías que montar un floppy para usarlo y sacarlo

para dejarlo de usar, esos dias estan llegando a su fin de alguna

manera, pero no tanto. Un problema que altera a los nuevos usuarios

de Linux es como se utilizan los contenidos que son removibles. La

idea de montar un cd cada vez que lo vayamos a usar no queda muy

claro para esos usuarios que son nuevos en Linux. Sin embargo lo

pueden realizar igual que Windows, pero que cualquiera pueda

modificar o borrar la información que acabas de agregar a tus

contenidos es una idea que nos deja algo de inquietud.

Página 82

Page 84: instalacion configuracion centos

GRUPO LINUX REDES II

10.Correr a nivel multiple VS correr en una solo nivel: No pude

encontrar el nombre perfecto para este punto, asi que tratare de

explicarlo. En Linux nos da la posibilidad de detenernos a distintos

niveles. Con esto tu puedes trabajar desde la linea de comando (nivel

3) o desde la interfaz gráfica (nivel 5). Esto en realidad te puede salvar

cuando tienes X problema y no sabes que es. En Windows serás

afortunado si puedes trabajar en la linea de comandos en Modo a

pruebad e fallos, despues puede o puede que no tengas las

herramientas para arreglar el problema. En Linux aún en linea de

comandos a nivel 3, puedes instalar utilidades (apt-get install

NOMBRE). Trabajar en diferentes niveles es de alguna manera

benefico digamos que estas en un servidor donde necesitas la mayor

cantidad de memoria posible, trabajar en la linea de comandos puede

ayudar en esos casos un montón. Con Windows estas atorado siempre

con la interfaz gráfica a menos que tengas un grave problema.

Ventajas y desventajas entre Microsoft Windows y GNU Linux, mitos y realidades:

Los servidores de red con Software Libre dominan el 65% del mercado

mundial, mientras que Windows posee actualmente un 25%.

Según una encuesta realizada recientemente por IBM, el 83% de las

empresas planean realizar trabajos basados en GNU/Linux durante 2007,

mientras que sólo el 23% está planificando lo mismo en base a Windows.

Andrew Kutz es un experto en virtualización (técnica que permite correr un

sistema operativo dentro de otro, para aprovechar recursos de hardware), y

es además Microsoft Certified Solutions Developer (MCSD) y Certified

Página 83

Page 85: instalacion configuracion centos

GRUPO LINUX REDES II

Windows Security Administrator (CWSA) por SANS/GIAC, es decir, un

experto en desarrollos de Microsoft y en administración de seguridad en

Windows.

Kutz conoce muy bien el mundo del Software Libre y GNU/Linux, y declara lo

siguiente: "Lo cierto es que manejo tanto servidores Windows como Linux y

tengo que instalar muchos más parches en los servidores Windows que en

sus hermanos Linux.

Tal y como "sale de la caja", Linux da una paliza a Windows en lo que se

refiere a seguridad pre-configurada. Eso no equivale a decir que Windows no

puede ser hecho seguro. De hecho, un servidor Windows bien configurado es

mucho más fácil de manejar que un servidor Linux, pero eso no anula el

hecho de que si se instala un servidor con Windows y el de al lado con Linux,

se ponen ambos en la red y se abandona la habitación, el servidor Windows

va a ser el que resulte secuestrado."

Kutz reponde a la pregunta ¿Por qué si GNU/Linux es considerado por la gran mayoría de expertos en seguridad el sistema más seguro, el uso masivo entre los usuarios de PCs de escritorio aún no llega?

Respueta: Quizá porque la seguridad no es prioritaria en las computadoras de

uso doméstico o en las oficinas de los diversos tipos de instituciones, sean

estatales o privadas.

Las migraciones de los últimos tiempos (Ej.: 14.000 computadoras estatales

en Munich, Alemania) nos muestran que cuanto más profesional y seria es

una institución, más propensa es a usar GNU/Linux.

Se ha demostrado, además, que se valoran otros beneficios que brinda este

sistema. Por ejemplo: la independencia tecnológica, el bajo costo, las

libertades para adaptarlo a las necesidades de cada caso y, muchas veces, la

Página 84

Page 86: instalacion configuracion centos

GRUPO LINUX REDES II

posibilidad de contribuir con mejoras al software y así ayudar a otras personas

e instituciones.

Si me hablan de seguridad informática, debo decir que en mi sistema

operativo GNU/Linux no tuve ningún caso de vulnerabilidad (virus, spyware,

rootkits, troyanos, gusanos) en casi 3 años que lo llevo usando, para lo cual

no he tomado ninguna precaución.

En el Internet, los alojamiento de sitio Web, correo POP3, IMAP, y SMTP, el

78% se encuentran bajo la plataforma de GNU Linux, ya que este posee una

variedades de motores para servidores de correos y páginas Web, sin costo y

con una estabilidad confiable, por lo que no es tanto por lo Gratis sino por su

robustez y confiabilidad de este. en tanto Microsoft posee la combinación de

IIS (Internet Information Services), SQL Server, Exchange Server, los cuales

poseen un porcentaje mayor de vulnerabilidad a los ataque de hackers o

crackers, además de que deben ser pagados a Microsoft por cada usuario en

el servidor, a pesar de ser más vulnerable a los ataques.

Se dice que esto se debe a que es el sistema operativo más usado y

conocido, por consecuencia, al que más atacan, esto puede tener mucho de

cierto, pero no es tan real, en lo referente al más usado.

En realidad existe una estadística por zona donde en el Occidente y

Latinoamérica, el más utilizado es Microsoft Windows XP, Vista, y sus

aplicaciones; contrario al Oriente y Europa, donde se concentran la mayor

cantidad de Computadores personales con GNU Linux, esto

independientemente de la cantidad de servidor en la Mega Red (Internet).

En el enlace de más abajo podrá ver otra de la tantas ventajas entre Microsoft

y GNU Linux, teniendo en cuanta, que todo lo que esta debajo de la columna

Página 85

Page 87: instalacion configuracion centos

GRUPO LINUX REDES II

Windows, representa un costo por cada aplicación, lo contrario de la columna

de Linux (Open Source).

.Alternativas de Software Privativo y Software Libre

Categoria del Programa

Aplicaciones Privativas Aplicaciones Libres

Navegadores MS Internet Explorer, Opera, Avant Browse

Mozilla Firefox, Konqueror, Mozilla Suite, Epiphany, Galeon, Dillo

Clientes de Correo Electrónico

MS Outlook, Outlook Express, Eudora

Mozilla Thunderbird, Kmail, Evolution

Gestor de Descargas Flashget, Golzilla, Download Accelerator Plus, Getright

Prozilla, Downloader for X, Kget, wget

Cliente IRC mIRC, Xircon, Pircon Xchat, irssi, BitchX

Clientes de Mensajeria Instantánea

MSN Messenger, Yahoo Meneenger, ICQ, AIM

aMSN, Kopete, Gaim, Centericq, Everybuddy

Descargador de Sitios Web

Teleport Pro Httrack, wget, Downloader for X

Compartir archivos en la red P2P

Kazaa, Ares, Napter, WinMX

aMule, Limeware, GtK-Gnutella, xMule

Analizador de Red EtherPeek, MS Network Monitor, Iris

tcpdump, ethereal, ethertape

Videoconferencia Netmeeting Gnomemeeting, vlc

Editor de Texto Notepad, Wordpad, TextPad

Kedit, Gedit, vim, ed, nano, Emacs

Compresores de Archivos

Winzip, Winrar Gnozip, Ark, Gnochive, gzipm gzip2, tar, zip

Visor de PDFs Adobe Acrobar Reader xpdf, kpdf, kghostview, gv

Antivirus McAfee, Kaspersky, Norton, Panda

ClamAV, OpenAntivirus

Página 86

Page 88: instalacion configuracion centos

GRUPO LINUX REDES II

Configuracion del sistema

Mscofing Webmin, Linuxconf, Yast, sysinstall

Gestores de Arranque MS NTLDR, System Commander, Power Quest Boot Magic

GRUB, LILO, LOADLIN, SYSLINUX

Particionamiento de disco

Power Quest Partition Magic

parted, Gparted, fdisk, QTParted, fips, cfdisk

Reproductor de musica

Winamp, windoze media player

XMMS, amarok, noatun, moc

Grabadores de CD Nero Express, Roxio Easy Creator

K3B, XCDRoast, KonCD, GnomeBaker

Reproductores de CD Windoze CD player KsCD, Grip

Ripiadores de CD Nero, Virtual Drive, Virtual CD

Grip, Audacity, KaudioCreator, cdparanoia

Editores simples de graficos

MS Paint Kpaint, TuxPaint, Xpaint, Gpaint

Editores potentes de graficos

Adobe Photoshop, Paint Shop Pro

Gimp, Krita, ImageMagick

Editores de graficos vectoriales

Adobe Illustrator, Corel Draw, Freehand

Sodipodi, xfig, Karbon14, inkscape, Xara LX

Editores de Iconos Microangelo Gnome-iconedit, kiconedit

Creación de Peliculas Flash

Macromedia Flash DrawSWF, Ming, F4L, KToon

Suite Ofimática MS Office, StartOffice OpenOffice.org, koffice, Gnome Office

15. CERTIFICACIONES LINUX

¿POR QUE CERTIFICARSE EN LPI?

Página 87

Page 89: instalacion configuracion centos

GRUPO LINUX REDES II

Avance profesional. Las personas que obtienen una certificación gozan

de mayor credibilidad y reconocimiento por sus conocimientos y

experiencia en Linux.

Mejores expectativas laborales. La certificación comprueba a los clientes

y empleadores tus habilidades en el manejo y administración de Linux, lo

que te permitirá acceder a mejores oportunidades de trabajo y desarrollo

profesional.

Mayor confianza. Al participar en el proceso de certificación tendrás la

seguridad de contar con los conocimientos y habilidades necesarias para

realizar tu trabajo de manera eficiente y efectiva.

Actualización. El mercado de TI cambia rápidamente, asegúrate de estar

actualizado para satisfacer la demanda del exigente mercado laboral de

hoy.

Crecimiento de Linux. Compañías de todos tipos y tamaños por todo el

mundo están migrando a Linux. Estas empresas requieren de personal

capacitado. La certificación te permitirá aprovechar esas oportunidades

laborales.

Diferenciación. Distínguete de tus competidores. El mercado laboral de

hoy se vuelve cada vez más competitivo por lo que no basta solo con tu

experiencia. La certificación Linux te permita destacar como profesional

serio y capacitado.

15.1. Certificación LPI

Las certificaciones LPIC (LPI Certificación) han sido diseñadas para

certificar las competencias de los profesionales de TI que usan el

Sistema Operativo Linux y herramientas asociadas.

Página 88

Page 90: instalacion configuracion centos

GRUPO LINUX REDES II

LPIC han sido diseñadas para ser independiente de la distribución y

siguiendo el Linux

Standard Base (LSB) en conjunto con otros estándares

relacionados.

El programa LPI se basa en realización de encuestas para

establecer un nivel de certificación basado en el trabajo a

desempeñar utilizando para ello procesos de Psicometría para

garantizar la relevancia y calidad de la certificación.

Las preguntas de los exámenes cubren objetivos públicamente

conocidos y de uso masivo.

Niveles de lpic

LPIC-1”Profesional Junior en Linux” - LPIC 101 y LPIC 102

LPIC-2”Profesional Avanzado en Linux” - LPIC 201 y LPIC 202

LPIC-3”Professional Senior en Linux” - LPIC 301Core y LPIC 302

Mixed Environments

a)

Certificación Lpic-1

Objetivos

Ser capaz de trabajar en la línea de comandos

Realizar tareas sencillas de mantenimiento como ayudar a

usuarios, mantenimiento de usuarios, realización de copias

de seguridad y restauraciones, inicio y arranque de sistemas

Instalación y configuración de un equipo de trabajo y su

conectividad a la red.

Página 89

Page 91: instalacion configuracion centos

GRUPO LINUX REDES II

Tópicos

Hardware y arquitectura de sistemas

Instalación de Linux y gestión de paquetes

Comandos Unix

Dispositivos, Sistemas de ficheros, y la jerarquía de ficheros

estandard

Gestión/consulta de opciones del Kernel y módulos de Kernel

Servicios de Impresión

Documentación

Shells, Scripting, Programación y Compilación

El sistema X-Windows

Tareas administrativas (Gestión de Usuarios, Grupos,

Archivos, Syslog, etc)

Networking sobre Linux (Configuración, Optimización,

Resolución Problemas, PPP)

Seguridad básica (Tareas de administración de seguridad,

Seguridad del sistema, Seguridad a nivel de usuario)

b) Certificación Lpic - 2Objetivos

Administración de un site pequeño o mediano

Planificación, mantenimiento, securización de una red mixta

(Microsoft/Linux) incluyendo Servidor de red Samba,

Firewall, Proxy, Correo, News, Web y FTP.

Gestión y toma de decisiones en un departamento de TI con

Linux

Página 90

Page 92: instalacion configuracion centos

GRUPO LINUX REDES II

Tópicos

Kernel (Componentes, Compilación, Parches, Modificaciones

al Kernel)

Bootloader (Configuración del arranque de sistema y de

procesos de arranque, Recuperación del sistema)

Sistemas de Archivos/Filesystems (Gestión, Mantenimiento,

Opciones de uso de filesystems)

Hardware (Configuración de RAID, Añadir nuevo Hardware,

Gestión de Discos y LVM, PCMCIA)

Sistemas de Archivos en Red (Configuración Samba y

servidores NFS)

Mantenimiento del Sistema (Syslog, Gestión de paquetes,

Copias de seguridad)

Configuración de sistema y automatización de procesos

(Shell script avanzado)

Configuración avanzada de Red (iproute2, Enrutamiento

Avanzado, Resolución de problemas)

Servicios de Internet (Configuración Avanzada de Postfix,

Sendmail, Mailman, Apache 1 y 2, Proxy Squid, SSH)

DHCP (Configuración Avanzada)

Gestión Avanzada de Sistemas de Autenticación (PAM,

LDAP, NIS/NIS+)

c) Certificación Lpic - 3Objetivos

Gestión Avanzada de cualquier tipo de implementación de

servidores Linux

Integración de Linux en entornos heterogéneos

Exámenes Asociados

LPIC 302 Entornos mixtos (Integración)

Página 91

Page 93: instalacion configuracion centos

GRUPO LINUX REDES II

LPIC 303 Seguridad (Tópicos Avanzados de Seguridad:

Netfilter, ebfilter, Snort, tshark, entre otros)

LPIC 304 Alta disponibilidad y Virtualización (Linux-HA,

DRBD, Clusterización de Servicios, Xen)

LPIC 305 Web e Intranet (Configuración Avanzada de

Apache, Uso de módulos de Apache, LVS, ipvs entre otros)

LPIC 306 Correo y mensajería (Configuración Avanzada de

Sendmail/Postfix, Integración con LDAP entre otros)

Ventajas de lpic

Para Empleadores/Encargados de Áreas de TI

Certifica las competencias de cada profesional de TI Linux (”If

you don't know the subjects you won't pass”)

Permite saber cuál es el nivel exacto de los profesionales y así

orientar su trabajo según sus competencias

Obliga a los profesionales a mantenerse en continuo

aprendizaje ya que la certificación debe ser renovada

Los programas de certificación están desarrollados según las

necesidades actuales de la industria

Los programas de certificación están respaldados por grandes

empresas (IBM, Novell, SGI Linux Journal)

La certificación está desarrollada por profesionales para

profesionales

Es la certificación #1 a nivel mundial (más de 180.000

profesionales certificados)

Ventajas de lpic

Para Profesionales TI

Página 92

Page 94: instalacion configuracion centos

GRUPO LINUX REDES II

Es reconocida mundialmente, por lo tanto se puede trabajar

en cualquier lugar del mundo

Permite demostrar de manera formal que se poseen las

competencias técnicas necesarias

Gracias a su neutralidad, permite trabajar con cualquier

distribución Linux

Aumenta el valor profesional

Entrega las competencias necesarias para enfrentar problemas

reales en entornos reales

Está desarrollada por profesionales y validada por grandes

empresas según las necesidades de la industria

Existe una completa comunidad de apoyo

15.2. Diferencias de LPIC

Versus rhce

Programa LPIC

Enfocada a certificar las competencias reales

Neutral a cualquier distribución Linux

Basada en herramientas disponibles en cualquier

distribución Linux

Independiente deVendors de Software y Hardware

Sirve como base para cualquier otra certificación Linux

Programarhce

Orientada a la resolución de problemas

Desarrollada para administrar sistemas basados en Red

Hat

Página 93

Page 95: instalacion configuracion centos

GRUPO LINUX REDES II

Basada en herramientas de administración y software

existente en sistemas Red Hat

Basada en Vendors y soluciones de asociados a Red Hat Inc.

Aplicable sólo a certificaciones RedHat

(RHCE/RHCT/RHCA)

15.3. CERTIFICACIÓN DE RED HAT

Programa de Certificación de Red Hat

El Programa de certificación de Red Hat es un programa de

certificación profesional de Red Hat para habilidades tales como

administración de sistemas en Red Hat Linux y Red Hat Enterprise

Linux.

Las pruebas son completamente prácticas e involucran la

resolución de problemas, instalación y administración del sistema. No

hay preguntas de opción múltiple y todo se hace en un sistema en

vivo. Por lo general hay más de una manera de configurar un servicio

ó resolver un problema, el examen está enfocado en los resultados

finales, no en el proceso que se llevó a cabo para lograr el resultado.

La certificación más conocida y común es la de Red Hat Certified

Engineer.

Red Hat Certified Technician 

La certificación de inicio. La certificación Red Hat Certified

Technician (RHCT) se enfoca en la administración de un solo sistema.

Red Hat Certified Engineer 

Página 94

Page 96: instalacion configuracion centos

GRUPO LINUX REDES II

El programa de Red Hat Certified Engineer (RHCE) extiende el

RHCT, enfocándose en los servicios y seguridad informática.

Red Hat Certified Architect 

El Red Hat Certified Architect (RHCA) requiere de cinco endosos

adicionales al RHCE los cuales se enfocan a un nivel empresarial.

Desde clusters hasta el despliegue de sistemas, los cinco exámenes

se aseguran de que el estudiante pueda desplegar los sistemas a un

nivel empresarial. Red Hat ofrece cuatro días de clase por cada curso;

incluyendo un examen en el quinto día.

Red Hat Certified Security Specialist 

Red Hat Certified Security Specialist (RHCSS). Esta certificación

incluye dos endosos al RHCA y el examen SELinux.

15.4. CERTIFICACION UBUNTU

Ubuntu Certified Professional, Nueva Curriculum & Objetivos

del examen, 1 de mayo 2009

El Ubuntu Certified Professional (UCP) es una certificación de

capacitación basados en el nivel 1 de certificación LPI. Para ganar la

UCP, los candidatos están obligados a pasar la LPI 101, LPI 102 y los

199 exámenes de Ubuntu.

15.5. VENTAJAS DE UN PROGRAMA DE CERTIFICACIÓN EN NOVELL.

a) Beneficios para una universidad

Seminarios dicatados en la universidad por ingenieros

certificados.

Eventos de divulgación en conjunto

Página 95

Page 97: instalacion configuracion centos

GRUPO LINUX REDES II

Creación de un banco de empleo de Linux center, exclusivo para

alumnos de la universidad

Divulgación de casos de éxito de la universidad

Certificación más prestigiosa de Linux para los alumnos,

otorgándole un valor agregado a la universidad.

b) Beneficios para los alumnos

La posibilidad de obtener las Certificaciones CLP 10, la más

prestigiosa del mundo Linux, con importantes descuentos.

Articulación con carreras de grado de la universidad. Los

alumnos que seleccionen la plataforma Novell para realizar

sus trabajos de campo, investigaciones y tesis, recibirán:

Certificado de reconocimiento de Linux Center y novell.

Adquisición de conocimiento de más alto nivel de la industria.

Apertura del horizonte profesional y laboral.

16. SOLARIS

Dentro del sistema operativo UNIX se crearon otros sistemas operativos

como lo son Solaris, Linux, SCO, BSD, etc.

Dentro del contexto del siguiente trabajo se hablará sobre el ambiente

operativo de Solaris, el cual nos proporciona muchas razones para emigrar al

ambiente del sistema operativo Solaris debido a que provee Portabilidad,

Escalabilidad, Interoperabilidad y Compatibilidad. Además de esto también posee

una gran funcionalidad en áreas con simetría de multiprocesos con multithreads,

funcionalidad de tiempo real, mayor seguridad, y un Sistema de Administración

mejorado.

También se hablará sobre el kernel, algunos comandos, entre otras

especificaciones técnicas del mismo.

Página 96

Page 98: instalacion configuracion centos

GRUPO LINUX REDES II

16.1. CARACTERÍSTICAS

Entre las características de Solaris tenemos:

PORTABILIDAD.- El software conformado por una ABI aplicación

de interfaces binaria (Application Binary Interface) ejecuta con un

Shrinkwrapped (Contracción envuelta) el software en todos los

sistemas vendidos con la misma arquitectura del microprocesador. Esto

obliga a los desarrolladores de aplicaciones a reducir el costo del

desarrollo del software y traer productos al mercado rápidamente, y

obliga a los usuarios a actualizar el hardware mientras retienen sus

aplicaciones de software y minimizan sus costos de conversión.

ESCALABILIDAD: Las aplicaciones se usan con más frecuencia

en el sobre tiempo, y requiere sistemas más poderosos para

soportarlos. Para operar en un ambiente creciente, el software debe ser

capaz de ejecutar en un rango de ancho poderoso y debe ser capaz de

tomar ventajas del poder adicional que se está procesando.

INTEROPERATIBIDAD: La computación del ambiente heterogéneo

es una realidad hoy. Los usuarios compran de muchos vendedores

para implementar la solución que necesitan. La estandarización y una

clara interface son criterios para un ambiente heterogéneo, permitiendo

a los usuarios desarrollar estrategias para comunicarse por medio de

su red. El sistema operativo de Solaris puede interoperar con unos

sistemas muy populares hoy en el mercado, y aplicaciones que se

ejecutan en UNIX se pueden comunicar fácilmente.

COMPATIBILIDAD: La tecnología de la computación continúa ha

avanzando rápidamente, pero necesita permanecer en el ámbito

competitivo para minimizar sus costos y maximizar sus ingresos.

16.2. CARACTERISTICAS PARA LOS USUARIOS

Página 97

Page 99: instalacion configuracion centos

GRUPO LINUX REDES II

ESPACIO DE TRABAJO PARA EL ADMINISTRADOR (A

workspace manager).- cuenta con una ventana de manejo de servicios

rápidos (open, close, more, etc.), así como herramientas el cual le

permite al usuario entallar su espacio de trabajo a sus necesidades

personales.

INTEGRACION DE SERVICIOS DESKTOP (Desktop Integration

Services).- incluyen ToolTalk, Drag and Drop (arrastrar y soltar), y cut

and paste (cortar y pegar), proporcionando la base para que las

aplicaciones puedan integrarse unos con otros.

BIBLIOTECAS GRAFICAS (Graphics Libraries).- incluye XGL, Xlib,

PEX, y XIL, proporcionando soporte para aplicaciones de 2D y 3D.

ADMINISTRADOR DE CALENDARIO (Calendar Manager).- posee

una aplicación de administrador de tiempo que despliega citas y todos

los compromisos del día, semana, o un mes en una ojeada. También

contiene un Multibrowse que hace un programa de reuniones entre un

grupo de usuarios más fácil. Varios calendarios pueden ser cubiertos

simultáneamente para determinar la conveniencia de la hora de una

reunión en una ojeada.

HERRAMIENTA DE IMAGEN (Image Tool): permite cargar, ver y

salvar imágenes en 40 diferentes formatos incluyendo PICT, PostScript

(TM), TIFF, GIF, JFIF, y muchas más. Otras herramientas incluyen una

herramienta de impresión, audio, shell, reloj, y editor de texto.

16.3. CARACTERISTICAS PARA EL ADMINISTRADOR DEL SISTEMA

El Sistema Solaris ofrece una variedad de herramientas nuevas para

el administrador como lo son:

Dispositivo de Información: los administradores pueden usar

estos accesorios opcionales para obtener información sobre

dispositivos instalados incluyendo nombres, atributos, y accesibilidad.

Página 98

Page 100: instalacion configuracion centos

GRUPO LINUX REDES II

Sistema de Administración de Archivo: estos accesorios

permiten a los administradores crear, copiar, amontonar, depurar,

reparar y desmontar sistemas de archivos, crear y remover cadenas de

archivos y nombrar tuberías o pipes, y manejar volúmenes.

Manejo del Proceso: este controla la agenda de control del

sistema. Usando estos accesorios, administradores pueden generar

reportes sobre el desempeño, entrada de identificación, ubicación del

acceso a discos, y buscar la manera de afinar el desempeño del

sistema.

Usuarios y el manejo del grupo: con estos accesorios, un

administrador puede crear y eliminar entradas en grupos y entradas de

identificación del sistema, y asignar grupos y IDs de usuario.

Seguridad: El ASET (Automated Security Enhancement Tool)

es un accesorio que incrementa la seguridad porque permite a

los administradores de sistemas revisar archivos del sistema

incluyendo permisos, pertenencia, y contenido del archivo. El

ASET alerta a los usuarios acerca de problemas de seguridad

potencial y donde es apropiado colocar el sistema de archivos

automáticamente de acuerdo a los niveles de seguridad

especificados.

16.4. PAQUETES DE SOFTWARE Y CLUSTERS

El software del sistema de Solaris es entregado en unidades conocidos

como paquetes. Un paquete es una colección de archivos y directorios requeridos

para el producto de un software. Un cluster (racimo) es una colección de

paquetes.

Hay 4 tipos de clusters:

Página 99

Page 101: instalacion configuracion centos

GRUPO LINUX REDES II

Núcleo del Soporte del Sistema (Core System Support): es el software de

configuración mínima; contiene solo el software necesario para iniciar el

funcionamiento del computador y ejecutar el ambiente operativo de Solaris.

Sistema de Soporte para Usuarios Finales (End User System Support):

contiene el Núcleo del Soporte del Sistema más el Sistema de soporte para

usuarios finales, como lo es el Open Windows sistema de ventanas y

aplicaciones dearchivos DeskSet relacionados; este cluster incluye el

software comendado para un usuario final.

Soporte de Sistemas Desarrollados (Developer System Support):

contiene soporte de usuario final del sistema más librerías, incluye archivos

y herramientas que se necesitan para desarrollar el software en el sistema

de Solaris.

Distribución Entera (Entire Distribution): contiene todo el ambiente de

Solaris.

16.5. ADMINISTRACION DEL PAQUETE

El manejo de paquetes de software simplifica la instalación y actualización

del software. La administración es simplificada porque el método de manejo del

software del sistema y aplicaciones de terceros son ahora consistentes.

Las herramientas para crear paquetes de software están en un paquete de

aplicaciones de herramientas de biblioteca.

Hay 2 herramientas que se pueden utilizar para instalar y remover

paquetes:

Programa de Interface Gráfica (A graphical user interface program): se

puede instalar un software en un sistema local o en un sistema remoto con

Admintol (comenzando con el comando Admintol). Se utiliza Admintol para:

Ver el software instalado en un sistema local.

Página 100

Page 102: instalacion configuracion centos

GRUPO LINUX REDES II

Instalar o remover un software en un sistema local. El comando de

línea de accesorios (The command-line utilities): se utiliza para instalar,

remover, y revisar la instalación del paquete de software.

SERVICE ACCESS FACILITY (SAF) El SAF es una herramienta usada

para administrar terminales, modems, y otros dispositivos de red. En

particular, el SAF permite:

Añadir y administrar ttymon and listen monitores en puertos (usando el

comando sacadm)

Añadir y administrar ttymon servicios de monitores en puertos (usando

los comandos pmadm y ttyadm)

Añadir y administrar listen servicios de monitores en puerto (usando los

comandos pmadm y nlsadmin)

Administrar y troubleshoot de dispositivos TTY.

Administrar y troubleshoot entradas de requisitos de red para servicios

de impresión.

Administrar y troubleshoot el controlador de acceso al servicio (Service

Access Controller) usando el comando sacadm.

17. UNIX

Unix se trata de un sistema operativo de los mas utilizados y con

mas futuro debido a que son muchos organismos oficiales y particulares los

que defienden su utilización, así como muchas firmas de fabricación y

comercialización de computadoras que lo incorporan en sus productos.

Podemos citar el ejemplo de la Comunidad Económica Europea, que

impone el sistema operativo UNIX en todas las aplicaciones que se

desarrollan bajo sus auspicios.

Unix es un sistema operativo de tiempo compartido, controla los

recursos de una computadora y los asigna entre los usuarios. Permite a los

usuarios correr sus programas. Controla los dispositivos de periféricos

Página 101

Page 103: instalacion configuracion centos

GRUPO LINUX REDES II

conectados a la máquina. Además es un sistema multiusuario, en el que

existe la portabilidad para la implementación de distintas computadoras.

17.1. Características Generales

  Es un sistema operativo de tiempo compartido, controla los

recursos de una computadora y los asigna entre los usuarios. Permite a los

usuarios correr sus programas. Controla los dispositivos de periféricos

conectados a la máquina.

  Posee las siguientes características:

Es un sistema operativo multiusuario, con capacidad de simular

multiprocesamiento y procesamiento no interactivo.

Está escrito en un lenguaje de alto nivel: C.

Dispone de un lenguaje de control programable llamado SHELL.

Ofrece facilidades para la creación de programas y sistemas y el

ambiente adecuado para las tareas de diseños de software.

Emplea manejo dinámico de memoria por intercambio o paginación.

Tiene capacidad de interconexión de procesos.

Permite comunicación entre procesos.

Emplea un sistema jerárquico de archivos, con facilidades de protección

de archivos, cuentas y procesos.

Tiene facilidad para redireccionamiento de Entradas/Salidas.

Garantiza un alto grado de portabilidad.

El sistema se basa en un Núcleo llamado Kernel, que reside

permanentemente en la memoria, y que atiende a todas las llamadas del

sistema, administra el acceso a los archivos y el inicio o la suspensión de

las tareas de los usuarios.

La comunicación con el sistema UNIX se da mediante un programa

de control llamado SHELL. Este es un lenguaje de control, un intérprete, y

Página 102

Page 104: instalacion configuracion centos

GRUPO LINUX REDES II

un lenguaje de programación, cuyas características lo hacen sumamente

flexible para las tareas de un centro de cómputo.

Como lenguaje de programación abarca los siguientes aspectos:

Ofrece las estructuras de control normales: secuenciación, iteración

condicional, selección y otras.

Paso de parámetros.

Sustitución textual de variables y Cadenas.

Comunicación bidireccional entre órdenes de shell.

El shell permite modificar en forma dinámica las características con que

se ejecutan los programas en UNIX:

Las entradas y salidas pueden ser redireccionadas o redirigidas hacia

archivos, procesos y dispositivos;

Es posible interconectar procesos entre sí.

17.2. Estandarización de UNIX

Debido a las múltiples versiones en el mercado de UNIX, se

comenzaron a publicar estándares para que todas las s versiones fuesen

'compatibles'. La primera de ellas la lanzó AT&T llamada SVID (System V

Interface Definition) que definiría cómo deberían ser las llamadas al

sistema, el formato de los archivos y muchas cosas más, pero la otra

versión importante, la de Bekeley (Berkeley Software Distribution o BSD)

simplemente la ignoró.

Después la IEEE usó un algoritmo consistente en revisar las

llamadas al sistema de ambas versiones (System V y BSD) y aquellas que

eran iguales las definió como estándares surgiendo así la definición

'Portable Operating System for UNIX' o POSIX, que tuvo buen éxito y que

varios fabricantes adoptaron rápidamente.

El estándar de POSIX se llama 1003.1 Posteriormente los institutos

ANSI e ISO se interesaron en estandarizar el lenguaje 'C' y conjuntamente

se publicaron definiciones estándares para otras áreas del sistema

Página 103

Page 105: instalacion configuracion centos

GRUPO LINUX REDES II

operativo como la interconectividad, el intérprete de comandos y otras. En

la tabla 8.1 se muestran las definiciones de POSIX.

17.3. Filosofía de UNIX

Las ideas principales de UNIX fueron derivadas del proyecto

MULTICS (Multiplexed Information and Computing Service) del MIT y de

General Electric. Estas ideas son:

Todo se maneja como cadena de bytes: Los dispositivos periféricos, los

archivos y los comandos pueden verse como secuencias de bytes o

como entes que las producen. Por ejemplo, para usar una terminal en

UNIX se hace a través de un archivo (generalmente en el directorio /dev

y con nombre ttyX).

Manejo de tres descriptores estándares: Todo comando posee tres

descriptores por omisión llamados 'stdin', 'stdout' y 'stderr', los cuales

son los lugares de donde se leen los datos de trabajo, donde se envían

los resultados y en donde se envían los errores, respectivamente. El

'stdin' es el teclado, el 'stdout' y el 'stderr' son la pantalla por omisión

(default).

Capacidades de 'entubar' y 'redireccionar': El 'stdin', 'stdout' y el 'stderr'

pueden usarse para cambiar el lugar de donde se leen los datos, donde

se envían los resultados y donde se envían los errores,

respectivamente. A nivel comandos, el símbolo de 'mayor que' (>) sirve

para enviar los resultados de un comando a un archivo. Por ejemplo, en

UNIX el comando 'ls' lista los archivos del directorio actual (es lo mismo

que 'dir' en DOS). Si en vez de ver los nombres de archivos en la

pantalla se quieren guardar en el archivo 'listado', el redireccionamiento

es útil y el comando para hacer la tarea anterior es 'ls > listado'. Si lo

que se desea es enviar a imprimir esos nombres, el 'entubamiento' es

útil y el comando sería 'ls | lpr', donde el símbolo "|" ( pipe) es el

entubamiento y 'lpr' es el comando para imprimir en UNIX BSD.

Página 104

Page 106: instalacion configuracion centos

GRUPO LINUX REDES II

Crear sistemas grandes a partir de módulos: Cada instrucción en UNIX

está diseñada para poderse usar con 'pipes' o 'redireccionamiento', de

manera que se pueden crear sistemas complejos a través del uso de

comandos simples y elegantes. Un ejemplo sencillo de esto es el

siguiente. Suponga que se tienen cuatro comandos separados A,B,C y

D cuyas funcionalidades son:

o A: lee matrices checando tipos de datos y formato.

o B: recibe matrices, las invierte y arroja el resultado en forma

matricial.

o C: recibe una matriz y le pone encabezados 'bonitos'

o D: manda a la impresora una matriz cuidando el salto de página, etc.

Como se ve, cada módulo hace una actividad específica, si lo que se

quiere es un pequeño sistema que lea un sistema de ecuaciones y como

resultado se tenga un listado 'bonito', simplemente se usa el entubamiento

para leer con el módulo A la matriz, que su resultado lo reciba el B para

obtener la solución, luego esa solución la reciba el módulo C para que le

ponga los encabezados 'bonitos' y finalmente eso lo tome el módulo D y lo

imprima, el comando completo sería ' A | B | C | D '.

17.4. Sistema de Archivos en UNIX

El sistema de archivos de UNIX, desde el punto de vista del usuario,

tiene una organización jerárquica o de árbol invertido que parte de una raíz

conocida como "/" (diagonal).

Página 105

Page 107: instalacion configuracion centos

GRUPO LINUX REDES II

Es una diagonal al revés que la usada en DOS. Internamente se usa

un sistema de direccionamiento de archivos de varios niveles, cuya

estructura más primitiva se le llama 'information node' (i-node) cuya

explicación va más allá de este trabajo.

El sistema de archivos de UNIX ofreceun poderoso conjunto de

comandos y llamadas al sistema. En la tabla 8.2 se muestran los comandos

más útiles para el manejo de archivos en UNIX vs. VMS.

17.5. Manejo de Archivos en UNIX y VMS

La protección de archivos en UNIX se maneja por medio de una

cadena de permisos de nueve caracteres. Los nueve caracteres se dividen

en tres grupos de tres caracteres cada uno.

El primer grupo (1) especifica los permisos del dueño del archivo. El

segundo grupo especifica los permisos para aquellos usuarios que

pertenecen al mismo grupo de trabajo que el dueño y finalmente el tercer

grupo indica los permisos para el resto del mundo.

En cada grupo de tres caracteres pueden aparecer las letras RWX

en ese orden indicando permiso de leer (READ), escribir (WRITE) y

ejecutar (EXECUTE). Por ejemplo, la cadena completa RWXR-XR-- indica

que el dueño tiene los tres permisos (READ,,WRITE,EXECUTE), los

miembros de su grupo de trabajo tienen permisos de leer y ejecutar

(READ,EXECUTE) y el resto del mundo sólo tienen permiso de leer

(READ).

Página 106

Page 108: instalacion configuracion centos

GRUPO LINUX REDES II

Las llamadas al sistema más útiles en UNIX son 'open', 'close' e

'ioctl'. Sirven para abrir, cerrar archivos; y establecer las características de

trabajo.

Por ejemplo, ya que en UNIX las terminales se accesan a través de

archivos especiales, el 'ioctl' (input output control) sirve para establecer la

velocidad, paridad, etc; de la terminal.

17.6. El núcleo de UNIX

El núcleo de UNIX (kernel) se clasifica como de tipo monolítico, pero

en él se pueden encontrar dos partes principales [Tan92] el núcleo

dependiente de la máquina y el núcleo independiente.

El núcleo dependiente se encarga de las interrupciones, los

manejadores de dispositivos de bajo nivel (lower half) y parte del manejo de

la memoria.

El núcleo independiente es igual en todas las plataformas e incluye

el manejo de llamadas del sistema, la planificación de procesos, el

entubamiento, el manejo de centinelas, la paginación e intercambio, el

manejo de discos y del sistema de archivos.

17.7. Los procesos en UNIX

El manejo de procesos en UNIX es por prioridad y round robin. En

algunas versiones se maneja también un ajuste dinámico de la prioridad de

acuerdo al tiempo que los procesos han esperado y al tiempo que ya han

usado el CPU.

El sistema provee facilidades para crear 'pipes' entre procesos,

contabilizar el uso de CPU por proceso y una pila común para todos los

procesos cuando necesitan estarse ejecutando en modo privilegiado

(cuando hicieron una llamada al sistema). UNIX permite que un proceso

haga una copia de sí mismo por medio de la llamada 'fork', lo cual es muy

Página 107

Page 109: instalacion configuracion centos

GRUPO LINUX REDES II

útil cuando se realizan trabajos paralelos o concurrentes; también se

proveen facilidades para el envío de mensajes entre procesos.

Recientemente Sun Microsystems, AT&T, IBM, Hewlett Packard y

otros fabricantes de computadoras llegaron a un acuerdo para usar un

paquete llamado ToolTalk para crear aplicaciones que usen un mismo

método de intercambio de mensajes.

17.8. El manejo de memoria en UNIX

Los primeros sistema con UNIX nacieron en máquinas cuyo espacio

de direcciones era muy pequeño (por ejemplo 64 kilobytes) y tenían un

manejo de memoria real algo complejo. Actualmente todos los sistemas

UNIX utilizan el manejo de memoria virtual siendo el esquema más usado

la paginación por demanda y combinación de segmentos paginados, en

ambos casos con páginas de tamaño fijo.

En todos los sistemas UNIX se usa una partición de disco duro para

el área de intercambio. Esa área se reserva al tiempo de instalación del

sistema operativo. Una regla muy difundida entre administradores de

sistemas es asignar una partición de disco duro que sea al menos el doble

de la cantidad de memoria real de la computadora.

Con esta regla se permite que se puedan intercambiar flexiblemente

todos los procesos que estén en memoria RAM en un momento dado por

otros que estén en el disco. Todos los procesos que forman parte del

kernel no pueden ser intercambiados a disco. Algunos sistemas operativos

(como SunOS) permiten incrementar el espacio de intercambio incluso

mientras el sistema está en uso (en el caso de SunOS con el comando

'swapon').

También es muy importante que al momento de decidirse por un

sistema operativo se pregunte por esa facilidad de incrementar el espacio

de intercambio, así como la facilidad de añadir módulos de memoria RAM a

la computadora sin necesidad de reconfigurar el núcleo.

Página 108

Page 110: instalacion configuracion centos

GRUPO LINUX REDES II

17.9. El manejo de entrada/salida en UNIX

Derivado de la filosofía de manejar todo como flujo de bytes, los

dispositivos son considerados como archivos que se accesan mediante

descriptores de archivos cuyos nombres se encuentran generalmente en el

directorio '/dev'. Cada proceso en UNIX mantiene una tabla de archivos

abiertos (donde el archivo puede ser cualquier dispositivo de

entrada/salida).

Esa tabla tiene entradas que corresponden a los descriptores, los

cuales son números enteros [Deitel93] obtenidos por medio de la llamada a

la llamada del sistema 'open'.

17.10. Llamadas al sistema de entrada/salida

En UNIX es posible ejecutar llamadas al sistema de entrada/salida

de dos formas: sincronía y asíncrona. El modo síncrono es el modo normal

de trabajo y consiste en hacer peticiones de lectura o escritura que hacen

que el originador tenga que esperar a que el sistema le responda, es decir,

que le de los datos deseados.

A veces se requiere que un mismo proceso sea capaz de supervisar

el estado de varios dispositivos y tomar ciertas decisiones dependiendo de

si existen datos o no. En este caso se requiere una forma de trabajo

asíncrona. Para este tipo de situaciones existen las llamadas a las rutinas

'select' y 'poll' que permiten saber el estado de un conjunto de descriptores.

17.11. Conclusión

Unix es un sistema operativo apropiado para muchas aplicaciones,

ya que ofrece muchas facilidades para proceso de textos (en un marco

atractivo para programadores) y facilidades de comunicación entre usuarios

y máquinas.

Página 109

Page 111: instalacion configuracion centos

GRUPO LINUX REDES II

Unix es popular debido a que:

Es portátil, y por lo tanto, todo el software desarrollado en él es portátil

también.

Se puede cambiar de máquina sin cambiar de sistema operativo ni de

aplicaciones.

Es fácil de adaptar según los requerimientos del usuario.

Es muy fiable.

Es fácil de usar.

Tiene una amplia gama de utilidades.

Desde el punto de vista técnico, UNIX se refiere a una familia de

sistemas operativos que comparten unos criterios de diseño e

interoperabilidad en común. Esta familia incluye más de 100 sistemas

operativos desarrollados a lo largo de 20 años. No obstante, es importante

señalar que esta definición no implica necesariamente que dichos sistemas

operativos compartan código o cualquier propiedad intelectual.

18. PROTOCOLO LDAP

18.1. Cómo configurar OpenLDAP como servidor de autenticación

LDAP (Lightweight Directory Access Protocol) es un protocolo para

consulta y modificación de servicios de directorio que se desempeñan

sobre TCP/IP. LDAP utiliza el modelo X.500 para su estructura, es decir, se

estructura árbol de entradas, cada una de las cuales consiste de un

conjunto de atributos con nombre y que a su vez almacenan valores.

18.2. Equipamiento lógico necesario.

• openldap-2.2.13

• openldap-clients-2.2.13

Página 110

Page 112: instalacion configuracion centos

GRUPO LINUX REDES II

• openldap-servers-2.2.

• authconfig-4.6.10

• authconfig-gtk-4.6.10 (opcional)

Instalación a través de yum.Si utiliza CentOS 5, Red Hat Enterprise Linux 5 o White Box

Enterprise Linux 5, solo se necesita realizar lo siguiente para instalar

o actualizar el equipamiento lógico necesario:

yum -y install openldap openldap-clients openldap-servers authconfig authconfig-gtk

SELinux y el servicio ldap.Para que SELinux permita al servicio ldap funcionar normalmente,

haciendo que se pierda toda la protección que brinda esta implementación,

utilice el siguiente mandato:

setsebool -P slapd_disable_trans 1

Creación de directorios.Con fines de organización se creará un directorio específico para

este directorio y se configurará con permisos de acceso exclusivamente al

usuario y grupo ldap.

mkdir /var/lib/ldap/autenticar

chmod 700 /var/lib/ldap/autenticar

chown ldap:ldap /var/lib/ldap/autenticar

Página 111

Page 113: instalacion configuracion centos

GRUPO LINUX REDES II

Se requiere además copiar el fichero

/etc/openldap/DB_CONFIG.example dentro de /var/lib/ldap/addressbook/

como el fichero DB_CONFIG:

cp /etc/openldap/DB_CONFIG.example

/var/lib/ldap/autenticar/DB_CONFIG

Generación de claves de acceso para LDAP.Crear la clave de acceso que se asignará en LDAP para el usuario

administrador del directorio. Basta ejecutar desde una terminal:

Slappasswd

Lo anterior debe dar como salida un criptograma como lo mostrado a

continuación:

{SSHA}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Copie y respalde este criptograma. El texto de la salida será utilizado

más delante en el fichero /etc/openldap/slapd.conf y se definirá como

clave de acceso para el usuario dministrador, quien tendrá todos los

privilegios sobre el directorio.

Fichero de configuración /etc/openldap/slapd.conf.Se edita el fichero /etc/openldap/slapd.conf y se verifica que los

ficheros de esquema mínimos requeridos estén presentes. De tal modo, al

inicio del fichero debe haber algo similar a lo siguiente:

# See slapd.conf(5) for details on configuration options.

# This file should NOT be world readable.

include /etc/openldap/schema/core.schema

include /etc/openldap/schema/cosine.schema

include /etc/openldap/schema/inetorgperson.schema

Página 112

Page 114: instalacion configuracion centos

GRUPO LINUX REDES II

include /etc/openldap/schema/nis.schema

# Allow LDAPv2 client connections. This is NOT the default.

allow bind_v2

Se añade al fichero /etc/openldap/slapd.conf lo siguiente con el fin

de definir el nuevo directorio que en adelante se utilizará para autenticar a

toda al red local:

database bdb

suffix "dc=su-dominio,dc=com"

rootdn "cn=Administrador,dc=su-dominio,dc=com"

rootpw {SSHA}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

directory /var/lib/ldap/autenticar

# Indices to maintain for this database

index objectClass eq,pres

index ou,cn,mail,surname,givenname eq,pres,sub

index uidNumber,gidNumber,loginShell eq,pres

index uid,memberUid eq,pres,sub

index nisMapName,nisMapEntry eq,pres,sub

Inicio del servicio ldap.Inicie el servicio de LDAP y añada éste al resto de los servicios que

arrancan junto con el sistema:

service ldap start

chkconfig ldap on

Migración de cuentas existentes en el sistema.Edite el fichero /usr/share/openldap/migration/migrate_common.ph y

modifique los los valores de las variables $DEFAULT_MAIL_DOMAIN y

$DEFAULT_BASE a fin de que queden del

Página 113

Page 115: instalacion configuracion centos

GRUPO LINUX REDES II

siguiente modo:

# Default DNS domain

$DEFAULT_MAIL_DOMAIN = "su-dominio.com";

# Default base

$DEFAULT_BASE = "dc=su-dominio,dc=com";

A continuación hay que crear el objeto que a su vez contendrá el

resto de los datos en el directorio. Genere un fichero base.ldif del siguiente

modo:

/usr/share/openldap/migration/migrate_base.pl > base.ldif

Se utilizará ldapadd para insertar los datos necesarios. Las opciones

utilizadas con este mandato son las siguientes:

-x autenticación simple

-W solicitar clave de acceso

-D binddn Nombre Distinguido (dn) a utilizar

-h anfitrión Servidor LDAP a acceder

-f fichero fichero a utilizar

Una vez entendido lo anterior, se procede a insertar la información

generada en el directorio utilizando lo siguiente:

ldapadd -x -W -D 'cn=Administrador, dc=su-dominio, dc=com' -h 127.0.0.1 -f base.ldif

Una vez hecho lo anterior, se podrá comenzar a poblar el directorio

con datos. Lo primero será importar los grupos y usuarios existentes en el

sistema. Realice la importación de usuarios utilizando los guiones

correspondientes del siguiente modo:

/usr/share/openldap/migration/migrate_group.pl /etc/group group.ldif

Página 114

Page 116: instalacion configuracion centos

GRUPO LINUX REDES II

/usr/share/openldap/migration/migrate_passwd.pl /etc/passwd passwd.ldif

Lo anterior creará los ficheros group.ldif y passwd.ldif, los cuales

incluirán la información de los grupos y cuentas en el sistema, incluyendo

las claves de acceso. Los datos se podrán insertar en el directorio LDAP

utilizando lo siguiente:

ldapadd -x -W -D 'cn=Administrador, dc=su-dominio, dc=com' -h 127.0.0.1 -f group.ldif

ldapadd -x -W -D 'cn=Administrador, dc=su-dominio, dc=com' -h 127.0.0.1 –f passwd.ldif

18.3. Comprobaciones.

Antes de configurar el sistema para utilizar LDAP para autenticar, es

conveniente verificar que todo funciona correctamente.

El siguiente mandato verifica que directorios disponibles existen en

el servidor 127.0.0.1.

ldapsearch -h 127.0.0.1 -x -b '' -s base '(objectclass=*)' namingContexts

Lo anterior debe devolver una salida similar a lo siguiente:

# extended LDIF

# LDAPv3

# base <> with scope base

# filter: (objectclass=*)

# requesting: namingContexts

dn:

namingContexts: dc=su-dominio,dc=com

# search result

search: 2

result: 0 Success

Página 115

Page 117: instalacion configuracion centos

GRUPO LINUX REDES II

# numResponses: 2

# numEntries: 1

El siguiente mandato debe devolver toda la información de todo el

directorio solicitado (dc=sudominio,dc=com).

ldapsearch -x -b 'dc=su-dominio,dc=com' '(objectclass=*)'

18.4. Configuración de clientes.

Defina los valores para los parámetros host y base a fin de

establecer hacia que servidor y a que irectorio conectarse en el fichero

/etc/ldap.conf. Para fines prácticos, el valor del parámetro ost corresponde

a la dirección IP del servidor LDAP y el valor del parámetro base debe ser

el ismo que se especificó en el fichero /etc/openldap/slapd.conf para el

parámetro suffix.

Considerando que el servidor LDAP tiene la dirección IP

192.168.0.1, se puede definir lo siguiente n el fichero

/etc/openldap/slapd.conf:

# Your LDAP server. Must be resolvable without using LDAP.

# Multiple hosts may be specified, each separated by a

# space. How long nss_ldap takes to failover depends on

# whether your LDAP client library supports configurable

# network or connect timeouts (see bind_timelimit).

host 192.168.0.1

# The distinguished name of the search base.

base dc=su-dominio,dc=com

Página 116

Page 118: instalacion configuracion centos

GRUPO LINUX REDES II

Lo que sigue es utilizar ya sea authconfig, authconfig-tui o

authconfig-gtk para configurar elsistema a fin de que se utilice el servidor

LDAP para autenticar.

authconfig (modo-texto)Suponiendo que el servidor LDAP tiene la dirección IP 192.168.0.1,

utilice el siguiente mandato ara configurar al cliente remoto a fin de que

autentique en el directorio LDAP.

authconfig --useshadow --enablemd5 --nostart \

--enableldap --enableldapauth --ldapserver=ldap://192.168.0.1/ \

--ldapbasedn=dc=su-dominio,dc=com –update

authconfig-tui (modo texto)Habilite las casillas Utilizar LDAP y Utilizar Autenticación LDAP y

pulse la tecla Tab hasta iguiente y pulse la tecla Enter yverifique que los

datos del servidor y el directorio a utilizar sean los correctos.

authconfig-gtk (modo gráfico)Si se utiliza authconfig-gtk se deben habilitar las casillas de Soporte

LDAP. Antes de cerrar la ventana en la pestañas de Información del

usuario y Autenticación. Antes de dar clic en Aceptar, haga clic en

Configurar LDAP y verifique que los datos del servidor y el directorio a

utilizar sean los correctos.

18.5. Administración.

Hay una gran cantidad de programas para acceder y administrar

servidores LDAP, pero la mayoría solo sirven para administrar usuarios y

grupos del sistema como diradmin y el módulo de LDAP de Webmin. La

Página 117

Page 119: instalacion configuracion centos

GRUPO LINUX REDES II

mejor herramienta de administración de directorios LDAP que podemos

recomendar es PHP LDAP Admin.

18.6. Respaldo de datos.

Debe detenerse el servicio de LDAP antes de proceder con el

respaldo de datos.

service ldap stop

A continuación, se utiliza la herramienta slapcat, utilizando el fichero

de configuración

/etc/openldap/slapd.conf.

slapcat -v -f /etc/openldap/slapd.conf -l respaldo-$(date +%Y%m%d).ldif

Concluido el proceso de respaldo de datos, puede iniciarse de nuevo

el servicio de ldap.

service ldap start

18.7. Restauración de datos.

El procedimiento requiere detener el servicio.

service ldap stop

Debe eliminarse los datos del directorio a restaurar.

rm -f /var/lib/ldap/autenticar/*

A continuación, se utiliza la herramienta slapadd para cargar los

datos desde un fichero *.ldif de respaldo.

slapadd -v -c -l respaldo-20061003.ldif -f /etc/openldap/slapd.conf

Página 118

Page 120: instalacion configuracion centos

GRUPO LINUX REDES II

Se debe ejecutar la herramienta slapindex, que se utiliza para

regenerar los índices LDAP.

slapindex

Concluido el proceso de restauración de datos, puede iniciarse de

nuevo el servicio de ldap.

service ldap start

18.8. Modificaciones necesarias en el muro cortafuegos.

Si se utiliza un cortafuego con políticas estrictas, como por ejemplo

Shorewall, es necesario abrir el puerto 389 por TCP (LDAP).

Las reglas para el fichero /etc/shorewall/rules de Shorewall correspondería a algo similar a lo siguiente:

#ACTION SOURCE DEST PROTO DEST SOURCE

# PORT PORT(S)1

ACCEPT net fw tcp 389

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO

NOT REMOVE

18.9. Cómo configurar OpenLDAP como libreta de direcciones.18.9.1. Equipamiento lógico necesario.

• openldap-2.2.13

• openldap-clients-2.2.13

• openldap-servers-2.2.13

• evolution-data-server-1.x (o bien simplemente del fichero.

evolutionperson.schema que incluye dicho paquete)

Instalación a través de yum.

Página 119

Page 121: instalacion configuracion centos

GRUPO LINUX REDES II

Si utiliza CentOS 5, Red Hat Enterprise Linux 5 o White Box

Enterprise Linux 5, solo se necesita realizar lo siguiente para instalar o

actualizar el equipamiento lógico necesario:

yum -y install openldap openldap-clients openldap-servers evolution-data-server

18.9.2. Procedimientos. SELinux y el servicio ldap.Para que SELinux permita al servicio ldap funcionar normalmente,

haciendo que se pierda toda la protección que brinda esta implementación,

utilice el siguiente mandato:

setsebool -P slapd_disable_trans 1

Creación de directorios.Con fines de organización se creará un directorio específico para

este directorio y se configurará con permisos de acceso exclusivamente al

usuario y grupo ldap.

mkdir /var/lib/ldap/addressbook

chmod 700 /var/lib/ldap/addressbook

chown ldap:ldap /var/lib/ldap/addressbook

Se requiere además copiar el fichero

/etc/openldap/DB_CONFIG.example dentro de /var/lib/ldap/addressbook/

como el fichero DB_CONFIG:

cp/etc/openldap/DB_CONFIG.example/var/lib/ldap/addressbook/DB_CONFIG

Generación de claves de acceso para LDAP.Crear la clave de acceso que se asignará en LDAP para el usuario

administrador del directorio. Basta ejecutar desde una terminal:

Página 120

Page 122: instalacion configuracion centos

GRUPO LINUX REDES II

slappasswd

Lo anterior debe dar como salida un criptograma como lo mostrado a

continuación:

{SSHA}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Copie y respalde este criptograma. El texto de la salida será utilizado

más adelante en el fichero

/etc/openldap/slapd.conf y se definirá como clave de acceso para el

usuario Administrador, quien tendrá todos los privilegios sobre el directorio.

Fichero de esquemas.El texto de la salida será utilizado más adelante en el fichero

/etc/openldap/slapd.conf y se definirá al usuario Administrador para como el

utilizado para acceder con todos los privilegios al directorio.

Se copia el fichero de esquema de evolution-data-server dentro del

directorio

/etc/openldap/schema/:

cp /usr/share/evolution-data-server-*/evolutionperson.schema

/etc/openldap/schema/

Fichero de configuración /etc/openldap/slapd.conf.Edite el fichero /etc/openldap/slapd.conf y agregue entre las

primeras líneas del fichero el esquema de datos instalado con el paquete

evolution-data-server:

# See slapd.conf(5) for details on configuration options.

# This file should NOT be world readable.

include /etc/openldap/schema/core.schema

include /etc/openldap/schema/cosine.schema

Página 121

Page 123: instalacion configuracion centos

GRUPO LINUX REDES II

include /etc/openldap/schema/inetorgperson.schema

include /etc/openldap/schema/nis.schema

include /etc/openldap/schema/evolutionperson.schema

# Allow LDAPv2 client connections. This is NOT the default.

allow bind_v2

Independientemente de lo que ya se tenga configurado, y que no

será tocado, se añade al final del fichero /etc/openldap/slapd.conf lo

siguiente con el fin de definir el nuevo directorio que en adelante se utilizará

como libreta de direcciones, donde dc=su-dominio,dc=net corresponde al

nombre único y exclusivo para el nuevo directorio. Jamás utilice el mismo

nombre de otro directorio existente.

database bdb

suffix "dc=su-dominio,dc=net"

rootdn "cn=Administrador,dc=su-dominio,dc=net"

rootpw {SSHA}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

directory /var/lib/ldap/addressbook

# Indices to maintain for this database

index objectClass eq,pres

index ou,cn,mail,surname,givenname eq,pres,sub

index uidNumber,gidNumber,loginShell eq,pres

index uid,memberUid eq,pres,sub

index nisMapName,nisMapEntry eq,pres,sub

Inicio del servicio ldap.Inicie el servicio de LDAP y añada éste al resto de los servicios que

arrancan junto con el sistema:

service ldap start

chkconfig ldap on

Página 122

Page 124: instalacion configuracion centos

GRUPO LINUX REDES II

Añadir datos al directorio.A continuación hay que crear el objeto que a su vez contendrá el

resto de los datos en el directorio. Genere un fichero addressbook.ldif al

cual agregará el siguiente contenido, del cual solo reemplace la cadena de

texto su-dominio por el dominio deseado:

dn: dc=su-dominio, dc=net

objectclass: top

objectclass: dcObject

objectclass: organization

o: Nombre completo de su compañia

dc: su-dominio

dn: ou=Addressbook, dc=su-dominio, dc=net

ou: Addressbook

objectClass: top

objectClass: organizationalUnit

Es importante señalar que si se omite el renglón vacío entre dc: su-

dominio y dn: ou=Addressbook, dc=su-dominio, dc=net, ocurrirá un

irremediable error de sintaxis cuando se intente cargar los datos en el

directorio. Respete los espacios, signos de puntuación, las mayúsculas y

las minúsculas.

Se utilizará ldapadd para insertar los datos necesarios. Las opciones

utilizadas con este mandato son las siguientes:

-x autenticación simple

-W solicitar clave de acceso

-D binddn Nombre Distinguido (dn) a utilizar

-h anfitrión Servidor LDAP a acceder

-f fichero fichero a utilizar

Página 123

Page 125: instalacion configuracion centos

GRUPO LINUX REDES II

Una vez entendido lo anterior, se procede a insertar la información

generada en el directorio utilizando lo siguiente:

ldapadd -x -W -D 'cn=Administrador, dc=su-dominio, dc=net' -h 127.0.0.1 -faddressbook.ldif

Una vez hecho lo anterior, se podrá comenzar a poblar el directorio

con datos. Genere el fichero su-usuario.ldif con los siguientes datos, donde

reemplazará los valores por reales. Elimine los campos que queden vacíos

o sean de poca utilidad, porque de otra manera LDAP impedirá insertar

éstos. Es importante destacar que deben estar incluidas las clases

top,person, organizationalPerson, inetOrgPerson y evolutionPerson, ya que

de otro modo no será posible utilizar los campos de información necesarios

para que el directorio funcione como libreta de direcciones.

dn: cn=Nombre Completo, ou=Addressbook, dc=su-dominio, dc=net

objectClass: top

objectClass: person

objectClass: organizationalPerson

objectClass: inetOrgPerson

objectClass: evolutionPerson

cn: Nombre Completo

givenName: Nombre

sn: Apellidos

displayName: Apodo

title: Sr.

mail: su-cuenta-de-correo@ su-dominio .com

initials: I.N.I.C.I.A.L.E.S.

o: Nombre Completo de su compañía.

ou: Departamento o Sección a la que pertenece

businessRole: Puesto que desempeña en su empresa

homePostalAddress: Domicilio de su hogar.

Página 124

Page 126: instalacion configuracion centos

GRUPO LINUX REDES II

postalAddress: Domicilio de su empresa.

l: Ciudad

st: Estado

# Código postal

postalCode: 12345

# Telefono empresa

telephoneNumber: 55-5555-5555

# Teléfono principal

primaryPhone: 55-5555-5555

# Teléfono móvil

mobile: 55-5555-5555

# Telefono hogar

homePhone: 55-5555-5555

# Otro teléfono

otherPhone: 55-5555-5555

labeledURI: http://www.alcancelibre.org/

# Su fecha de nacimiento

birthDate: 1970-02-20

fileAs: Apellidos, Nombre

category: Cualquier-categoría-que-queira-crear

managerName: Nombre de su jefe, si lo tiene

assistantName: Nombre de su asistente, si lo tiene.

# Telefono de su asistente, si lo tiene

assistantPhone: 55-5555-5555

spouseName: Nombre de su esposa(o), si lo tiene.

# fecha en que celebra su aniversario de bodas, si aplica

anniversary: 2000-01-01

Los datos se podrán insertar utilizando lo siguiente:

Página 125

Page 127: instalacion configuracion centos

GRUPO LINUX REDES II

ldapadd -x -W -D 'cn=Administrador, dc=su-dominio, dc=net' -h 127.0.0.1 -f uusuario.ldif

18.9.3. Configuración de clientes.

Acceda hacia el directorio con cualquier cliente que tenga soporte

para acceder hacia directorios LDAP.

Novell Evolution.Hacer clic en Archivo . Nuevo. Libreta de direcciones.

Si en lugar de autenticar de manera anónima (modo de solo lectura)

lo hace con cn=Administrador, dc=su-dominio, dc=net (modo de lectura y

escritura), podrá realizar modificaciones y añadir fácilmente nuevos

registros en la libreta de direcciones.

Mozilla Thunderbird.Hacer clic en Archivo . Nuevo . Directorio LDAP

Al igual que con Novell Evolution, si en lugar de autenticar de

manera anónima (modo de solo lectura) lo hace con cn=Administrador,

dc=su-dominio, dc=net (modo de lectura y escritura), podrá realizar

modificaciones y añadir fácilmente nuevos registros en la libreta de

direcciones.

Squirrelmail.

Hay que editar el fichero /etc/squirrelmail/config.php y añadir/editar:

$ldap_server[0] = array(

'host' => '127.0.0.1',

'base' => 'ou=Addressbook,dc=su-dominio,dc=net',

Página 126

Page 128: instalacion configuracion centos

GRUPO LINUX REDES II

'name' >= 'Addressbook'

);

18.9.4. Administración.

Hay una gran cantidad de programas para acceder y administrar

servidores LDAP, pero la mayoría solo sirven para administrar usuarios y

grupos del sistema como diradmin y el módulo de LDAP de Webmin. La

mejor herramienta de administración de directorios LDAP que podemos

recomendar es PHP LDAP Admin.

18.9.5. Respaldo de datos.

Debe detenerse el servicio de LDAP antes de proceder con el

respaldo de datos.

service ldap stop

A continuación, se utiliza la herramienta slapcat, utilizando el fichero

de configuración /etc/openldap/slapd.conf.

18.9.6. Cómo configurar OpenLDAP con soporte SSL/TLS.

a) Acerca de LDAP en modo SSL/TLS.

El inicio de la operación StartTLS en un servidor LDAP,

establece la comunicación TLS (Transport Layer Security, o

Página 127

Page 129: instalacion configuracion centos

GRUPO LINUX REDES II

Seguridad para Nivel de Transporte) a través del mismo puerto 389

por TCP.

Provee confidencialidad en el transporte de datos e protección

de la integridad de datos. Durante la negociación, el servidor envía su

certificado con estructura X.509 para verificar su identidad.

Opcionalmente puede establecerse la comunicación. La conexión a

través del puerto 389 y 636 difiere en lo siguiente:

Al realizar la conexión por puerto 636, tanto el cliente como el

servidor establecen TLS antes de que se transfiera cualquier otro

dato, sin utilizar la operación StatTLS.

La conexión a través de puerto 636 debe cerrarse al terminar

TLS.

Acerca de RSA.RSA, acrónimo de los apellidos de sus autores, Ron Rivest,

Adi Shamir y Len Adleman, es un algoritmo para el cifrado de claves

públicas que fue publicado en 1977, patentado en EE.UU. en 1983

por el el Instituto Tecnológico de Michigan (MIT). RSA es utilizado

ampliamente en todo el mundo para los protocolos destinados para

el comercio electrónico.

Acerca de X.509.X.509 es un estándar ITU-T (estandarización de

Telecomunicaciones) para infraestructura de claves públicas (PKI, o

Public Key Infrastructure). Entre otras cosas, establece los

estándares para certificados de claves públicas y un algoritmo para

validación de ruta de certificación. Este último se encarga de verificar

que la ruta de un certificado sea válida bajo una infraestructura de

clave pública determinada. Es decir, desde el certificado inicial,

pasando por certificados intermedios, hasta el certificado de

Página 128

Page 130: instalacion configuracion centos

GRUPO LINUX REDES II

confianza emitido por una Autoridad Certificadora (CA, o Certification

Authority).

Acerca de OpenSSL.OpenSSL es una implementación libre, de código abierto, de

los protocolos SSL (Secure Sockets Layer o Nivel de Zócalo Seguro)

y TLS (Transport Layer Security, o Seguridad para Nivel de

Transporte). Está basado sobre el extinto proyecto SSLeay, iniciado

por Eric Young y Tim Hudson, hasta que éstos comenzaron a trabajar

para la división de seguridad de EMC Corporation.

b) Procedimientos. Generando clave y certificado.

cd /etc/openldap/cacerts

La creación de la llave y certificado para OpenLDAP requiere

utilizar una clave con algoritmo RSA de 1024 octetos y estructura

x509. En el ejemplo a continuación, se establece una validez por 730

días (dos años) para el certificado creado.

openssl req -x509 -nodes -newkey rsa:1024 \

-days 730 -out slapd.crt -keyout slapd.key

Lo anterior solicitará se ingresen varios datos:

• Código de dos letras para el país.

Página 129

Page 131: instalacion configuracion centos

GRUPO LINUX REDES II

• Estado o provincia.

• Ciudad.

• Nombre de la empresa o razón social.

• Unidad o sección.

• Nombre del anfitrión.

• Dirección de correo.

El certificado solo será válido cuando el servidor LDAP sea invocado

con el nombre definido en el campo Common Name. Es decir, solo podrá

utilizarlo cuando se defina midominio.org como servidor LDAP con soporte

SSL/TLS. No funcionará si se invoca al servidor como, por mencionar un

ejemplo, directorio.midominio.org.

Es indispensable que todos los ficheros de claves y certificados

tengan permisos de acceso de solo lectura para el usuario ldap:

chown ldap.ldap /etc/openldap/cacerts/slapd.*

chmod 400 /etc/openldap/cacerts/slapd.*

Parámetros de /etc/openldap/slapd.conf.Se deben descomentar los parámetros TLSCACertificateFile,

TLSCertificateFile y TLSCertificateKeyFile establecendo las rutas

hacia el certificado y clave. Opcionalmente se puede descomentar la

directiva referral para indicar el URI (Uniform Resource Identifier o

Identificador Uniforme de Recursos) del servicio de directorio

superior como ldaps en lugar de ldap.

TLSCACertificateFile /etc/openldap/cacerts/slapd.crt

TLSCertificateFile /etc/openldap/cacerts/slapd.crt

TLSCertificateKeyFile /etc/openldap/cacerts/slapd.key

Página 130

Page 132: instalacion configuracion centos

GRUPO LINUX REDES II

referral ldaps://midominio.org

A fin de que surtan efecto los cambios, es necesario reiniciar

el servicio ldap.

service ldap restart

c) Comprobación.

Configure cualquier cliente LDAP para utilizar SSL en el puerto

636. Tras aceptar el certificado, en el caso de que éste no haya sido

firmado por un RA (Registration Authority o Autoridad de Registro),

servidor LDAP deberá permitir completar la conexión y realizar

cualquier tipo de consulta y/o manipulación de registros.

Configuración de GNOME Evolution.

Se debe establecer el mismo nombre del servidor utilizado

para crear el certificado, y conexión por SSL.

Configuración de Mozilla Thunderbird.

Página 131

Page 133: instalacion configuracion centos

GRUPO LINUX REDES II

Se debe establecer el mismo nombre del servidor utilizado

para crear el certificado, y conexión por SSL.

Configuración LDAP Browser.

Se debe establecer el mismo nombre del servidor utilizado

para crearel certificado, y conexión por SSL.

Configuración LDAP Administration Tool.

Página 132

Page 134: instalacion configuracion centos

GRUPO LINUX REDES II

Se debe establecer el mismo nombre del servidor utilizado

para crear el certificado, y conexión por SSL.

d) Modificaciones necesarias en el muro cortafuegos.

Si se utiliza un cortafuego con políticas estrictas, como por

ejemplo Shorewall, además del puerto 389 por TCP, es necesario

abrir el puerto 636 por TCP (LDAPS). Las reglas para el fichero

/etc/shorewall/rules de Shorewall correspondería a algo similar a lo

siguiente:

#ACTION SOURCE DEST PROTO DEST SOURCE

# PORT PORT(S)1 ACCEPT net fw tcp 389,636

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO

NOT REMOVE

Página 133

Page 135: instalacion configuracion centos

GRUPO LINUX REDES II

18.10. Razones por las cuales usar LDAP

La mayor ventaja de LDAP es que se puede consolidar información

para toda una organización dentro de un repositorio central. Por ejemplo,

en vez de administrar listas de usuarios para cada grupo dentro de una

organización, puede usar LDAP como directorio central, accesible desde

cualquier parte de la red. Puesto que LDAP soporta la Capa de conexión

segura (SSL) y la Seguridad de la capa de transporte (TLS), los datos

confidenciales se pueden proteger de los curiosos.

LDAP también soporta un número de bases de datos back-end en

las que se guardan directorios. Esto permite que los administradores

tengan la flexibilidad para desplegar la base de datos más indicada para el

tipo de información que el servidor tiene que diseminar. También, ya que

LDAP tiene una interfaz de programación de aplicaciones (API) bien

definida, el número de aplicaciones acreditadas para LDAP son numerosas

y están aumentando en cantidad y calidad.

18.11. Características de OpenLDAP

OpenLDAP incluye un número de características importantes.

Soporte LDAPv3 — OpenLDAP soporta la Capa de autenticación

y seguridad (SASL), la Seguridad de la capa de transporte (TLS)

y la Capa de conexión segura (SSL), entre otras mejoras.

Muchos de los cambios en el protocolo desde LDAPv2 han sido

diseñados para hacer LDAP más seguro.

Soporte IPv6 — OpenLDAP soporta la próxima generación del

protocolo de Internet versión 6.

LDAP sobre IPC — OpenLDAP se puede comunicar dentro de

un sistema usando comunicación interproceso (IPC). Esto mejora

Página 134

Page 136: instalacion configuracion centos

GRUPO LINUX REDES II

la seguridad al eliminar la necesidad de comunicarse a través de

la red.

API de C actualizada — Mejora la forma en que los

programadores se conectan para usar servidores de directorio

LDAP.

Soporte LDIFv1 — Provee compatibilidad completa con el

formato de intercambio de datos, Data Interchange Format

(LDIF) versión 1.

Servidor Stand-Alone mejorado — Incluye un sistema de control

de acceso actualizado, conjunto de hilos, herramientas

mejoradas y mucho más.

18.12. Terminología LDAP

Cualquier discusión sobre LDAP requiere un entendimiento básico

del conjunto de términos específicos de LDAP:

entrada — una entrada es una unidad en un directorio LDAP.

Cada entrada se identifica por su único Nombre distinguido

(Distinguished Name (DN)).

atributos — Los atributos son piezas de información directamente

asociada con la entrada. Por ejemplo, una organización puede

ser representada como una entrada LDAP. Los atributos

asociados con la organización pueden ser su número de fax, su

dirección, etc. En un directorio LDAP las entradas pueden ser

también personas, con atributos comunes como el número de

teléfono y la dirección de e-mail.

Algunos atributos son obligatorios mientras que otros son

opcionales. Una definición objectclass determina qué atributos se

requieren y cuáles no para cada entrada. Las definiciones de

Página 135

Page 137: instalacion configuracion centos

GRUPO LINUX REDES II

objectclass se encuentran en varios archivos de esquema, dentro

del directorio /etc/openldap/schema/.

LDIF — El Formato de intercambio de datos de LDAP (LDIF) es una

representación de texto ASCII de entradas LDAP. Los archivos usados

para importar datos a los servidores LDAP deben estar en formato

LDIF. Una entrada LDIF se ve similar al ejemplo siguiente:

[<id>]dn: <distinguished name><attrtype>: <attrvalue><attrtype>: <attrvalue><attrtype>: <attrvalue>

Una entrada puede contener tantos pares <attrtype>: <attrvalue> como

sean necesarios. Una línea en blanco indica el final de una entrada.

Aviso

  Todas las parejas <attrtype> y <attrvalue> deben estar definidas en el archivo esquema correspondiente para usar esta información.

Cualquier valor comprendido dentro de < y > es una variable y

puede ser configurado cuando se cree una nueva entrada LDAP.

Sin embargo, esta regla no se aplica a <id>. El <id> es un

número determinado por la aplicación que se usa para modificar

la entrada.

18.13. Demonios y utilidades OpenLDAP

El grupo de bibliotecas y herramientas OpenLDAP están incluidas en

los paquetes siguientes:

openldap — Contiene las librerías necesarias para ejecutar las

aplicaciones del servidor y cliente OpenLDAP.

Página 136

Page 138: instalacion configuracion centos

GRUPO LINUX REDES II

openldap-clients — Contiene herramientas de línea de comandos

para visualizar y modificar directorios en un servidor LDAP.

openldap-server — Contiene los servidores y otras utilidades

necesarias para configurar y ejecutar un servidor LDAP.

Hay dos servidores contenidos en el paquete openldap-servers: el

Demonio independiente LDAP (/usr/sbin/slapd) y el Demonio independiente

de actualización de réplicas LDAP (/usr/sbin/slurpd).

El demonio slapd es el servidor independiente LDAP mientras que el

demonio slurpd es usado para sincronizar los cambios desde un servidor

LDAP a otro en la red. El demonio slurpd sólo es usado cuando se trabaja

con múltiples servidores LDAP.

Para llevar a cabo tareas administrativas, el paquete openldap-

server instala las utilidades siguientes en el directorio /usr/sbin/:

slapadd — Añade entradas desde un archivo LDIF a un directorio

LDAP. Por ejemplo, el comando /usr/sbin/slapadd -l ldif-input leerá en

el archivo LDIF, ldif-input, que contiene las nuevas entradas.

Importante

 

Debe ser usuario root para usar /usr/sbin/slapadd. Sin embargo, el servidor de directorio se ejecuta como usuario ldap. Por lo tanto, el servidor de directorio no podrá modificar ningún archivo creado por slapadd. Para corregir este problema, después que haya terminado de usar slapadd, escriba el comando siguiente:

chown -R ldap /var/lib/ldap

slapcat — Extrae entradas de un directorio LDAP en el formato

por defecto Sleepycat Software's Berkeley DB, y las guarda en

un archivo LDIF. Por ejemplo, el comando /usr/sbin/slapcat -l ldif-

Página 137

Page 139: instalacion configuracion centos

GRUPO LINUX REDES II

output tendrá como resultado un archivo LDIF llamado ldif-output

que contendrá las entradas para el directorio LDAP.

slapindex — Re-indexa el directorio slapd basado en el contenido

actual. Esta herramienta se debería ejecutar siempre que se

cambien las opciones de indexado dentro de

/etc/openldap/slapd.conf.

slappasswd — Genera un valor de contraseña encriptada de usuario para

ser usada con ldapmodify o el valor rootpw en el archivo de

configuración slapd, /etc/openldap/slapd.conf. Ejecute el comando

/usr/sbin/slappasswd para crear la contraseña.

Aviso

  Asegúrese de detener slapd ejecutando /sbin/service lapd stop antes de usar slapadd, slapcat o slapindex. De otro modo se pondrá en riesgo la integridad del directorio LDAP.

El paquete openldap-clients instala herramientas utilizadas para

agregar, modificar y borrar entradas en un directorio LDAP dentro de

/usr/bin/ Estas herramientas incluyen lo siguiente:

ldapadd — Agrega entradas a un directorio LDAP aceptando

entradas vía archivo o entrada estándar; ldapadd es en realidad

un enlace duro a ldapmodify -a.

ldapdelete — Borra entradas de un directorio LDAP al aceptar

instrucciones del usuario por medio de la entrada desde el

indicador de comandos o por medio de un archivo.

ldapmodify — Modifica las entradas en un directorio LDAP,

aceptando la entrada por medio de un archivo o entrada

estándar.

Página 138

Page 140: instalacion configuracion centos

GRUPO LINUX REDES II

ldappasswd — Configura una contraseña para un usuario LDAP.

ldapsearch — Busca por entradas en el directorio LDAP usando

un indicador de comandos shell.

Con la excepción de ldapsearch, cada una de estas utilidades se usa

más fácilmente haciendo referencia a un archivo que contiene los cambios

que se deben llevar a cabo, que escribiendo un comando para cada

entrada que se desea cambiar en un directorio LDAP. El formato de dicho

archivo está esquematizado en las páginas del manual sobre cada utilidad.

18.14. NSS, PAM, y LDAP

Además de los paquetes OpenLDAP, Red Hat Enterprise Linux

incluye un paquete llamado nss_ldap, el cual mejora la habilidad de LDAP

para integrarse en Linux y otros ambientes UNIX.

El paquete nss_ldap provee los siguientes módulos:

/lib/libnss_ldap-<glibc-version>.so

/lib/security/pam_ldap.so

El paquete nss_ldap provee los siguientes módulos para las

arquitecturas Itanium o AMD64.

/lib64/libnss_ldap-<glibc-version>.so

/lib64/security/pam_ldap.so

El módulo libnss_ldap-<glibc-version>.so permite a las aplicaciones

buscar usuarios, grupos, hosts y otra información utilizando un directorio

LDAP por medio de la interfaz de glibc Nameservice Switch (NSS)

Página 139

Page 141: instalacion configuracion centos

GRUPO LINUX REDES II

(reemplace <glibc-version> con la versión de libnss_ldap en uso). NSS

permite a las aplicaciones autenticarse usando LDAP junto con el servicio

de nombres de NIS y archivos de autenticación planos.

El módulo pam_ldap permite que las aplicaciones PAM puedan

validar usuarios utilizando la información almacenada en el directorio

LDAP. Las aplicaciones PAM incluyen conexiones desde la consola,

servidores de correo POP e IMAP y Samba. Al desarrollar un servidor

LDAP en una red, se pueden autentificar todas estas aplicaciones usando

la misma combinación de nombre de usuario y contraseña, simplificando en

gran medida la administración.

18.15. PHP4, LDAP y el Servidor Apache http

Red Hat Enterprise Linux incluye también un paquete que contiene

un módulo LDAP para el lenguaje de comandos del servidor PHP.

El paquete php-ldap añade soporte LDAP al lenguaje empotrado en

HTML, PHP4 a través del módulo /usr/lib/php4/ldap.so. Este módulo

permite a los scripts PHP4 accesar información almacenada en un

directorio LDAP.

Red Hat Enterprise Linux se entrega con el módulo mod_authz_ldap

para el Servidor Apache HTTP. Este módulo utiliza la forma corta del

nombre distinguido para un sujeto y el emisor de un certificado de cliente

SSL para determinar el nombre distinguido del usuario dentro de un

directorio LDAP. También es capaz de autorizar a los usuarios basados en

los atributos de la entrada de del directorio LDAP de ese usuario,

determinando el acceso a los activos basados en los privilegios de acceso

del usuario y grupo, y negando el acceso para los usuarios con

contraseñas caducadas. Se requiere el módulo mod_ssl cuando se utilice

el módulo mod_authz_ldap.

Página 140

Page 142: instalacion configuracion centos

GRUPO LINUX REDES II

Nota

 

El módulo mod_authz_ldap no autentica a un usuario automáticamente a un directorio LDAP usando un hash de contraseña encriptado. Esta funcionalidad es proporcionada con el módulo experimental mod_auth_ldap, el cual no está incluido con Red Hat Enterprise Linux.

18.16. Aplicaciones cliente LDAP

Existen clientes gráficos de LDAP que soportan la creación y

modificación de directorios, pero no se entregan con Red Hat Enterprise

Linux. Una de estas aplicaciones es LDAP Browser/Editor.

La mayoría de los otros clientes LDAP acceden a directorios como

sólo lectura, usándolos como referencia, pero sin alterar información a lo

largo de la organización. Algunos ejemplos de tales aplicaciones son

Sendmail, Mozilla, Evolution y Gnome Meeting.

18.17. Archivos de configuración de OpenLDAP

Los archivos de configuración OpenLDAP son instalados dentro del

directorio /etc/openldap/. A continuación aparece una lista breve marcando

los directorios y archivos más importantes:

/etc/openldap/ldap.conf — Este es el archivo de configuración

para todas las aplicaciones cliente que usan las bibliotecas

OpenLDAP tales como ldapsearch, ldapadd, Sendmail, Pine,

Balsa, Evolution, y Gnome Meeting.

Página 141

Page 143: instalacion configuracion centos

GRUPO LINUX REDES II

/etc/openldap/slapd.conf — Este es el archivo configuración para

el demonio slapd.

Directorio /etc/openldap/schema/ — Este subdirectorio contiene

el esquema usado por el demonio slapd.

Nota

  Si está instalado el paquete nss_ldap, creará un archivo llamado /etc/ldap.conf. Este archivo es usado por los módulos PAM y NSS proporcionados por el paquete nss_ldap.

19. PROTOCOLO SAMBA

19.1. Cómo configurar Samba básico. Acerca del protocolo SMB.

SMB (acrónimo de Server Message Block) es un protocolo, del Nivel

de Presentación del modelo OSI de TCP/IP, creado en 1985 por IBM.

Algunas veces es referido también como CIFS (Acrónimo de Common

Internet File System, http://samba.org/cifs/) tras ser renombrado por

Microsoft en 1998. Entre otras cosas, Microsoft añadió al protocolo soporte

para enlaces simbólicos y duros así como también soporte para ficheros de

gran tamaño. Por mera coincidencia esto ocurrió por la misma época en

que Sun Microsystems hizo el lanzamiento de WebNFS.

SMB fue originalmente diseñado para trabajar a través del protoclo

NetBIOS, el cual a su vez trabaja sobre NetBEUI (acrónimo de NetBIOS

Extended User Interface, que se traduce como Interfaz de Usuario

Extendida de NetBIOS), IPX/SPX (acrónimo de Internet Packet

Página 142

Page 144: instalacion configuracion centos

GRUPO LINUX REDES II

Exchange/Sequenced Packet Exchange, que se traduce como Intercambio

de paquetes interred/Intercambio de paquetes secuenciales) o NBT,

aunque también puede trabajar directamente sobre TCP/IP.

Acerca de Samba.SAMBA es un conjunto de programas, originalmente creados por

Andrew Tridgell y actualmente mantenidos por The SAMBA Team, bajo la

Licencia Publica General GNU, y que implementan en sistemas basados

sobre UNIX el protocolo SMB. Sirve como reemplazo total para Windows

NT,Warp, NFS o servidores Netware.

19.2. Equipamiento lógico necesario.

Los procedimientos descritos en este manual han sido probados

para poder aplicarse en sistemas con Red Hat™ Enterprise Linux 4, o

equivalentes o versiones posteriores, y al menos Samba 3.0.10 o versiones

posteriores.

Necesitará tener instalados los siguientes paquetes, que

seguramente vienen incluidos en los discos de instalación o depósitos de

equipamiento lógico de la distribución de GNU/Linux utilizada:

1. samba: Servidor SMB.

2. samba-client: Diversos clientes para el protoclo SMB.

3. samba- Ficheros necesarios para cliente y servidor.

4. common:

Instalación a través de yum.Si utiliza CentOS 4 y 5, Red Hat Enterprise Linux 5 o White Box

Enterprise Linux 4 y 5, y versiones posteriores, solo se necesita realizar lo

siguiente para instalar o actualizar el equipamiento lógico necesario:

Página 143

Page 145: instalacion configuracion centos

GRUPO LINUX REDES II

yum -y install samba samba-client samba-common

Instalación a través de up2date.Si se utiliza Red Hat Enterprise Linux 4, solo bastará realizar lo

siguiente para instalar o actualizar el equipamiento lógico necesario:

up2date -i samba samba-client samba-common

19.2.1. Procedimientos.

SELinux y el servicio smb.A fin de que SELinux permita al servicio smb funcionar como

Controlador Primario de Dominio (PDC, Primary Domain Controler), utilice

el siguiente mandato:

setsebool -P samba_domain_controller 1

A fin de que SELinux permita al servicio smb compartir los

directorios de inicio de los usuarios locales del sistema, utilice el siguiente

mandato:

setsebool -P samba_enable_home_dirs 1

Para definir que un directorio será compartido a través del servicio

smb, como por ejemplo /var/samba/publico, y que se debe considerar como

contenido tipo Samba, se utiliza el siguiente mandato:

chcon -t samba_share_t /var/samba/publico

Cada nuevo directorio que vaya a ser compartido a través de

Samba, debe ser configurado como acaba de describirse antes de ser

configurado en el fichero /etc/samba/smb.conf.

A fin de que SELinux permita al servicio smb compartir todos los

recursos en modo de solo lectura, utilice el siguiente mandato:

Página 144

Page 146: instalacion configuracion centos

GRUPO LINUX REDES II

setsebool -P samba_export_all_ro 1

A fin de que SELinux permita al servicio smb compartir todos los

recursos en modo de lectura y escritura, utilice el siguiente mandato:

setsebool -P samba_export_all_rw 1

Alta de cuentas de usuario.

Es importante sincronizar las cuentas entre el servidor Samba y las

estaciones Windows. Es decir, si en una máquina con Windows

ingresamos como el usuario paco con clave de acceso elpatito16, en el

servidor Samba deberá existir también dicha cuenta con ese mismo

nombre y la misma clave de acceso. Como la mayoría de las cuentas de

usuario que se utilizarán para acceder hacia Samba no requieren acceso al

interprete de mandatos del sistema, no es necesario asignar clave de

acceso con el mandato passwd y se deberá definir /sbin/nologin o bien

/bin/false como interpete de mandatos para la cuenta de usuario

involucrada.

useradd -s /sbin/nologin usuario-windows smbpasswd -a usuario-

windows No hace falta se asigne una clave de acceso en el sistema con el

mandato passwd puesto que la cuenta no tendrá acceso al interprete de

mandatos.

Si se necesita que las cuentas se puedan utilizar para acceder hacia

otros servicios como seríanTelnet, SSH, etc, es decir, que se permita

acceso al interprete de mandatos, será necesario especificar /bin/bash

como interprete de mandatos y además se deberá asignar una clave de

acceso en el sistema con el mandato passwd:

useradd -s /bin/bash usuario-windows

passwd usuario-windows

Página 145

Page 147: instalacion configuracion centos

GRUPO LINUX REDES II

smbpasswd -a usuario-windows

19.2.2. El fichero lmhosts

Es necesario empezar resolviendo localmente los nombres NetBIOS

asociándolos con direcciones IP correspondientes en el fichero lmhosts

(LAN Manager hosts). Para fines prácticos el nombre NetBIOS debe tener

un máximo de 11 caracteres. Normalmente se utiliza como referencia el

nombre corto del servidor o el nombre corto que se asigno como alias a la

interfaz de red. Si se edita el fichero /etc/samba/lmhosts, se encontrará un

contenido similar al siguiente:

127.0.0.1 localhost

Se pueden añadir los nombres y direcciones IP de cada uno de los

anfitriones de la red local.

Como mínimo debe encontrarse el nombre del anfitrión Samba y su

dirección IP correspondiente, y opcionalmente el resto de los anfitriones de

la red local. La separación de espacios se hace con un tabulador. Ejemplo:

127.0.0.1 localhost

192.168.1.1 servidor

192.168.1.2 joel

192.168.1.3 blanca

192.168.1.4 jimena

192.168.1.5 regina

192.168.1.6 isaac

192.168.1.7 finanzas

192.168.1.8 direccion

Parámetros principales del fichero smb.conf.

Página 146

Page 148: instalacion configuracion centos

GRUPO LINUX REDES II

Se modifica el fichero /etc/samba/smb.conf con cualquier editor de

texto. Este información que será de utilidad y que está comentada con un

símbolo # y varios ejemplos comentados con ; (punto y coma), siendo estos

últimos los que se pueden tomar como referencia.

Parámetro workgroup.Se establece el grupo de trabajo definiendo el valor del parámetro

workgroup asignando un grupo de trabajo deseado:

workgroup = MIGRUPO

Parámetro netbios name.Opcionalmente se puede establecer con el parámetro netbios name

otro nombre distinto para el servidor si acaso fuese necesario, pero

siempre tomando en cuenta que dicho nombre deberá corresponder con el

establecido en el fichero /etc/samba/lmhosts:

netbios name = maquinalinux

Parámetro server string.El parámetro server string es de carácter descriptivo. Puede

utilizarse un comentario breve que de una descripción del servidor.

server string = Servidor Samba %v en %L

Parámetro hosts allow.La seguridad es importante y esta se puede establecer

primeramente estableciendo la lista de control de acceso que definirá que

máquinas o redes podrán acceder hacia el servidor. El parámetro hosts

allow sirve para determinar esto. Si la red consiste en las máquinas con

dirección IP desde 192.168.1.1 hasta 192.168.1.254, el rango de

direcciones IP que se definirá en hosts allow será 192.168.1. De modo tal

que solo se permitirá el acceso dichas máquinas. En el siguiente ejemplo

se define la red 192.168.1.0/24 definiendo los tres primeros octetos de la

Página 147

Page 149: instalacion configuracion centos

GRUPO LINUX REDES II

dirección IP de red, así como cualquier dirección IP de la red 127.0.0.0/8

definiendo el primer octeto:

hosts allow = 192.168.1. 127.

Parámetro interfaces.El parámetro interfaces permite establecer desde que interfaces de

red del sistema se escucharán peticiones. Samba no responderá a

peticiones provenientes desde cualquier interfaz no especificada. Esto es

útil cuando Samba se ejecuta en un servidor que sirve también de puerta

de enlace para la red local, impidiendo se establezcan conexiones desde

fuera de la red local.

interfaces = lo eth0 192.168.1.254/24

Parámetro remote announce.La opción remote announce se encarga de que el servicio nmbd se

anuncie a si mismo de forma periódica hacia una red en particular y un

grupo de trabajo específico. Esto es particularmente útil si se necesita que

el servidor Samba aparezca no solo en el grupo de trabajo al que

pertenece sino también otros grupos de trabajo. El grupo de trabajo de

destino puede estar en donde sea mientras exista una ruta y sea posible la

difusión exitosa de paquetes.

Los valores que pueden ser utilizados son direcciones IP de difusión

(broadcast) de la red utilizada (es decir la última dirección IP del segmento

de red) y/o nombres de grupos de trabajo. En el siguiente ejemplo se define

que el servidor Samba se anuncie a través de las direcciones IP de difusión

192.168.1.255 (red 192.168.1.0/24) y 192.168.2.255 (red 192.168.2.0/24) y

hacia los grupos de trabajo DOMINIO1 y DOMINIO2.

remote announce = 192.168.1.255/DOMINIO1 192.168.2.255/DOMINIO2

Página 148

Page 150: instalacion configuracion centos

GRUPO LINUX REDES II

Impresoras en Samba.Las impresoras se comparten de modo predeterminado, así que solo

hay que realizar algunos ajustes. Si se desea que se pueda acceder hacia

la impresora como usuario invitado sin clave de acceso, basta con añadir

public = Yes en la sección de impresoras del siguiente modo:

[printers]

comment = El comentario que guste.

path = /var/spool/samba

printable = Yes

browseable = No

writable = no

printable = yes

public = Yes

Se pude definir también a un usuario o bien un grupo

(@grupo_que_sea) para la administración de las colas de las impresoras:

comment = All Printers

path = /var/spool/samba

browseable = no

guest ok = yes

writable = no

printable = yes

public = yes

printer admin = fulano, @opers_impresion

Con lo anterior se define que el usuario fulano y quien pertenezca al

grupo opers_impresion podrán realizar tareas de administración en las

impresoras.

Compartiendo directorios a través de Samba.Para los directorios o volúmenes que se irán a compartir, en el

mismo fichero de configuración encontrará distintos ejemplos para distintas

Página 149

Page 151: instalacion configuracion centos

GRUPO LINUX REDES II

situaciones particulares. En general, puede utilizar el siguiente ejemplo que

funcionará para la mayoría:

[Lo_que_sea]

comment = Comentario que se le ocurra

path = /cualquier/ruta/que/desee/compartir

El volumen puede utilizar cualquiera de las siguientes opciones:

Página 150

Page 152: instalacion configuracion centos

GRUPO LINUX REDES II

Página 151

Page 153: instalacion configuracion centos

GRUPO LINUX REDES II

En el siguiente ejemplo se compartirá a través de Samba el recurso

denominado datos, el cual está localizado en el directorio /var/samba/datos

del disco duro. Se permitirá el acceso a cualquiera pero será un recurso de

solo lectura salvo para los usuarios administrador y fulano.

Todo directorio nuevo que sea creado en su interior tendrá permiso

755 (drwxr-xr-x) y todo fichero que sea puesto en su interior tendrá

permisos 644 (-rw-r--r--.

Primero se crea el nuevo directorio /var/samba/datos, utilizando el

siguiente mandato:

mkdir -p /var/samba/datos

Página 152

Page 154: instalacion configuracion centos

GRUPO LINUX REDES II

Luego se define en SELinux que dicho directorio debe ser

considerado como contenido Samba.

chcon -t samba_share_t /var/samba/datos

Se edita el fichero /etc/samba/smb.conf y se añade hasta el final de

éste el siguiente contenido:

[datos]

comment = Directorio de de Datos

path = /var/samba/datos

guest ok = Yes

read only = Yes

write list = fulano, administrador

directory mask = 0755

create mask = 0644

Ocultando ficheros que inician con punto.Es poco conveniente que los usuarios puedan acceder o bien

puedan ver la presencia de ficheros ocultos en el sistema, es decir ficheros

cuyo nombre comienza con un punto, particularmente si acceden a su

directorio personal en el servidor Samba

(.bashrc, .bash_profile, .bash_history, etc.).Puede utilizarse el parámetro

hide dot files para mantenerlos ocultos.

hide dot files = Yes

Este parámetro es particularmente útil para complementar la

configuración de los directorios personales de los usuarios.

[homes]

comment = Home Directories

browseable = no

writable = yes

hide dot files = Yes

Página 153

Page 155: instalacion configuracion centos

GRUPO LINUX REDES II

19.2.3. Iniciar el servicio y añadirlo al arranque del sistema.

Para iniciar el servicio smb por primera vez realice lo siguiente:

/sbin/service smb start

Si va a reiniciar el servicio, realice lo siguiente:

/sbin/service smb restart

Para que Samba inicie automáticamente cada vez que inicie el

servidor solo utilice el siguiente mandato:

/sbin/chkconfig smb on

19.2.4. Comprobaciones. Modo texto

Herramienta smbclient

Indudablemente el método más práctico y seguro es el mandato

smbclient. Este permite acceder hacía cualquier servidor Samba o

Windows, similar al mandato ftp en modo texto.

Para acceder al cualquier recurso de alguna máquina Windows® o

servidor SAMBA determine primero que volúmenes o recursos compartidos

posee está. utilice el mandato smbclient del siguiente modo:

smbclient -U usuario -L alguna_maquina

Página 154

Page 156: instalacion configuracion centos

GRUPO LINUX REDES II

Lo cual le devolvería más menos lo siguiente:

Domain=[MI-DOMINIO] OS=[Unix] Server=[Samba 3.0.7-1.3E]

Sharename Type Comment

--------- ---- -------

homes Disk Home Directories

netlogon Disk Network Logon Service

datos Disk datos

IPC$ IPC IPC Service (Servidor Samba 3.0.7-1.3E en mi-servidor)

ADMIN$ IPC IPC Service (Servidor Samba 3.0.7-1.3E en mi-servidor)

epl5900 Printer Created by redhat-config-printer 0.6.x

hp2550bw Printer Created by redhat-config-printer 0.6.x

Anonymous login successful

Domain=[MI-DOMINIO] OS=[Unix] Server=[Samba 3.0.7-1.3E]

Server Comment

--------- -------

mi-servidor Servidor Samba 3.0.7-1.3E en mi-servidor

Workgroup Master

--------- -------

MI-DOMINIO MI-SERVIDOR

La siguiente corresponde a la sintaxis básica para poder navegar los

recursos compartidos por la máquina Windows o el servidor SAMBA:

smbclient //alguna_maquina/recurso -U usuario

Ejemplo:

smbclient //LINUX/DATOS -U fulano

Página 155

Page 157: instalacion configuracion centos

GRUPO LINUX REDES II

Después de ejecutar lo anterior, el sistema solicitará se proporcione

la clave de acceso del usuario fulano en el equipo denominado LINUX.

smbclient //LINUX/DATOS -U jbarrios

added interface ip=192.168.1.254 bcast=192.168.1.255 nmask=255.255.255.0

Password:

Domain=[miusuario] OS=[Unix] Server=[Samba 2.2.1a]

smb: >

Pueden utilizarse casi los mismos mandatos que en el intérprete de

ftp, como serían get, mget, put, del, etc.

Modo gráfico Desde el escritorio de GNOME.

Si utiliza GNOME 2.x o superior, éste incluye un módulo para

Nautilus que permite acceder hacia los recursos compartidos a través de

Samba sin necesidad de modificar cosa alguna en el sistema. Solo hay que

hacer clic en Servidores de red en el menú de GNOME.

Página 156

Page 158: instalacion configuracion centos

GRUPO LINUX REDES II

Desde Windows.Por su parte, desde Windows deberá ser posible acceder sin

problemas hacia Samba como si fuese hacia cualquier otra máquina con

Windows. Vaya, ni Windows ni el usuario notarán siquiera la diferencia.

19.3. Cómo configurar Samba denegando acceso a ciertos ficheros.

En algunos casos puede ser necesario denegar el acceso a ciertas

extensiones de ficheros, como ficheros de sistema y ficheros de

multimedios como MP3, MP4, MPEG y DivX. Este documento considera

que usted ya ha leído previamente, a detalle y en su totalidad el manual

«Cómo configurar Samba básico». y que ha configurado exitosamente

Samba como servidor de archivos.

19.3.1. Procedimientos.

El parámetro veto files se utiliza para especificar la lista, separada

por diagonales, de aquellas cadenas de texto que denegarán el acceso a

los ficheros cuyos nombres contengan estas cadenas. En el siguiente

ejemplo, se denegará el acceso hacia los ficheros cuyos nombres incluyan

la palabra «Security» y los que tengan extensión o terminen en «.tmp»:

[homes]

comment = Home Directories

browseable = no

writable = yes

hide dot files = Yes

veto files = /*Security*/*.tmp/

Página 157

Page 159: instalacion configuracion centos

GRUPO LINUX REDES II

En el siguiente ejemplo, se denegará el acceso hacia los ficheros

que tengan las extensiones o terminen en «.mp3», «.mp4», «.mpeg» y

«.avi» en todos los directorios personales de todos los usuarios del

sistema:

[homes]

comment = Home Directories

browseable = no

writable = yes

hide dot files = Yes

veto files = /*.mp3/*.mp4/*.mpg/*.avi/*.tmp/

19.3.2. Aplicando los cambios.

Para hacer que los cambios hechos surtan efecto tras modificar la

configuración, utilice:

service smb restart

19.3.3. Comprobaciones.

Con la finalizad de realizar pruebas, genere con el mandato echo del

sistema un fichero denominado prueba.mp3:

echo "fichero MP3 de pruebas" > prueba.mp3

Si aún no existiera, genere al usuario fulano:

useradd fulano

Utilice el mandato smbpasswd y asigne 123qwe como clave de

acceso al usuario fulano:

smbpasswd -a fulano

Página 158

Page 160: instalacion configuracion centos

GRUPO LINUX REDES II

Acceda con smbclient hacia el servidor Samba con el usuario fulano:

smbclient //127.0.0.1/fulano -Ufulano%123qwe

Lo anterior debe devolver una salida similar a la siguiente:

Domain=[M064] OS=[Unix] Server=[Samba 3.2.0rc1-14.9.el5.al]

smb: >

Utilizando el mandato put del intérprete SMB, suba el fichero

prueba.txt al directorio personal de fulano:

smb: > put prueba.mp3

Lo anterior debe devolver una salida similar a la siguiente indicando

el mensaje NT_STATUS_OBJECT_NAME_NOT_FOUND como respuesta,

lo cual indica que no fue permitido subir el fichero prueba.mp3:

smb: > put prueba.mp3

NT_STATUS_OBJECT_NAME_NOT_FOUND opening remote file

prueba.mp3

smb: >

Para salir del intérprete SMB utilice el mandato exit:

smb: > exit

19.4. Cómo configurar Samba con Papelera de Reciclaje

En algunas circunstancias, es necesario añadir una Papelera de

Reciclaje (Recycle Bin) para evitar la eliminación permanente del contenido

de un directorio compartido a través de Samba. Es particularmente útil para

los directorios personales de los usuario.

Página 159

Page 161: instalacion configuracion centos

GRUPO LINUX REDES II

Este documento considera que usted ya ha leído previamente, a

detalle y en su totalidad el manual «Cómo configurar Samba básico». y que

ha configurado exitosamente Samba como servidor de archivos.

19.4.1. Procedimientos

La Papelera de Reciclaje se activa añadiendo al recurso a compartir

los parámetros vfs objects y recycle:repository del modo ejemplificado a

continuación:

[homes]

comment = Home Directories

browseable = no

writable = yes

vfs objects = recycle

recycle:repository = Recycle Bin

Lo anterior creara el objeto recycle, que almacenará los contenidos

eliminados desde el cliente en un subdirectorio denominado Recycle Bin, el

cual es creado si éste no existiera. Si el contenido de Recycle Bin es

eliminado, éste se hará de forma permanente.

En el caso de directorios compartidos que sean accedidos por

distintos usuarios, el subdirectorio Recycle Bin se crea con permisos de

acceso solo para el primer usuario que elimine contenido. Lo correcto es

solo utilizarlo en directorios compartidos que solo sean utilizados por un

solo usuario. De ser necesario, se puede cambiar el permiso de acceso del

subdirectorio Recycle Bin con el mandato chmod de 0700 a 1777 para

permitir a otros usuarios utilizar éste, tomando en cuenta que de esta forma

el contenido conservará los privilegios de cada usuario y los contenidos

solo podrán ser eliminados permanentemente por sus propietarios

correspondientes.

Página 160

Page 162: instalacion configuracion centos

GRUPO LINUX REDES II

Se pueden añadir más opciones para lograr un comportamiento más

similar al de una Papelera de Reciclaje normal en Windows. El parámetro

recycle:versions define que si hay dos o más ficheros con el mismo

nombre, y estos son enviados a la Papelera de Reciclaje, se mantendrán

todos donde los fichero más recientes tendrán un nombre con el esquema

«Copy #x of nombre- fichero» (es decir, Copia #x del nombre-fichero). El

parámetro recycle:keeptree define que si se elimina un directorio con

subdirectorios y contenido, se mantendrá la estructura de éstos.

[homes]

comment = Home Directories

browseable = no

writable = yes

vfs objects = recycle

recycle:repository = Recycle Bin

recycle:versions = Yes

recycle:keeptree = Yes

Se puede definir además que se excluyan ficheros (recycle:exclude)

y directorios (recycle:exclude_dir) de ser enviado a la Papelera de Reciclaje

cierto tipo de contenido y sea eliminado de forma permanente de

inmediato. Las listas para ficheros y directorios son separada por tuberías

(|), y aceptan comodines (* y ?). En el siguiente ejemplo se excluyen los

ficheros con extensiones *.tmp, *.temp, *.o, *.obj, ~$*, *.~??, *.log, *.trace y

*.TMP, y los directorios/tmp, /temp y /cache.

[homes]

comment = Home Directories

browseable = no

writable = yes

vfs objects = recycle

recycle:repository = Recycle Bin

Página 161

Page 163: instalacion configuracion centos

GRUPO LINUX REDES II

recycle:versions = Yes

recycle:keeptree = Yes

recycle:exclude = *.tmp|*.temp|*.o|*.obj|~$*|*.~??|*.log|*.trace|*.TMP

recycle:excludedir = /tmp|/temp|/cache

Si no se quiere que se guarden versiones distintas de ficheros con el

mismo nombre, para algunas extensiones, es posible hacerlo definiendo el

parámetro recycle:noversions y una lista de extensiones de ficheros

separados por tuberías (|). En el siguiente ejemplo, se indica que no se

guarden diferentes versiones de ficheros con el mismo nombre que tengan

las extensiones *.doc, *.ppt, *.dat y *.ini.

[homes]

comment = Home Directories

browseable = no

writable = yes

vfs objects = recycle

recycle:repository = Recycle Bin

recycle:versions = Yes

recycle:keeptree = Yes

recycle:exclude = *.tmp|*.temp|*.o|*.obj|~$*|*.~??|*.log|*.trace|*.TMP

recycle:excludedir = /tmp|/temp|/cache

recycle:noversions = *.doc|*.ppt|*.dat|*.ini

También es posible definir un mínimo y un máximo de tamaño en

bytes a través de los parámetros recycle:minsize, que define un tamaño

mínimo, y recycle:maxsize, que define un tamaño máximo. Cualquier

fichero que esté fuera de estos límites establecidos, será eliminado

permanentemente de forma inmediata. En el siguiente ejemplo se define

que solo podrán ser enviados a la Papelera de Reciclaje los ficheros que

Página 162

Page 164: instalacion configuracion centos

GRUPO LINUX REDES II

tengan un tamaño mínimo de 10 bytes y un tamaño máximo de 5120 bytes

(5 MB)

[homes]

comment = Home Directories

browseable = no

writable = yes

hide dot files = Yes

vfs objects = recycle

recycle:repository = Recycle Bin

recycle:versions = Yes

recycle:keeptree = Yes

recycle:exclude = *.tmp|*.temp|*.o|*.obj|~$*|*.~??|*.log|*.trace|*.TMP

recycle:excludedir = /tmp|/temp|/cache

recycle:noversions = *.doc|*.ppt|*.dat|*.ini

recycle:minsize = 10

recycle:maxsize = 5120

19.4.2. Aplicando los cambios.

Para hacer que los cambios hechos surtan efecto tras modificar la

configuración, utilice:

service smb restart

19.4.3. Comprobaciones.

Con la finalizad de realizar pruebas, genere con el mandato echo del

sistema un fichero denominado prueba.txt:

echo "fichero de pruebas" > prueba.txt

Página 163

Page 165: instalacion configuracion centos

GRUPO LINUX REDES II

Si aún no existiera, genere al usuario fulano:

useradd fulano

Utilice el mandato smbpasswd y asigne 123qwe como clave de

acceso al usuario fulano:

smbpasswd -a fulano

Acceda con smbclient hacia el servidor Samba con el usuario fulano:

smbclient //127.0.0.1/fulano -Ufulano%123qwe

Lo anterior debe devolver una salida similar a la siguiente:

Domain=[M064] OS=[Unix] Server=[Samba 3.2.0rc1-14.9.el5.al]

smb: >

Utilizando el mandato put del intérprete SMB, suba el fichero prueba.txt al

directorio personal de fulano:

smb: > put prueba.txt

Lo anterior debe devolver una salida similar a la siguiente:

smb: > put prueba.txt

putting file prueba.txt as prueba.txt (0,4 kb/s) (average 0,4 kb/s)

smb: >

Visualice el contenido del directorio actual desde el intérprete SMB

utilizando el mandato dirpara verificar que se ha subido el fichero

prueba.txt:

smb: > dir

Página 164

Page 166: instalacion configuracion centos

GRUPO LINUX REDES II

Lo anterior debe devolver una salida similar a la siguiente:

smb: > dir

. D 0 Wed Jun 18 20:44:39 2008

.. D 0 Wed Jun 18 20:04:14 2008

.bashrc H 124 Wed Jun 18 20:04:14 2008

.bash_profile H 176 Wed Jun 18 20:04:14 2008

.bash_logout H 24 Wed Jun 18 20:04:14 2008

prueba.txt A 19 Wed Jun 18 20:44:39 2008

34173 blocks of size 524288. 12143 blocks available

smb: >

Elimine el fichero prueba.txt utilizando el mandato del desde el intérprete

SMB:

smb: > del prueba.txt

smb: >

Visualice de nuevo el contenido del directorio con el mandato dir, lo cual

debe devolver una salida similar a la siguiente donde ha desaparecido el

fichero prueba.txt y ahora aparece el directorio Recycle Bin:

smb: > dir

. D 0 Wed Jun 18 20:52:49 2008

.. D 0 Wed Jun 18 20:04:14 2008

.bashrc H 124 Wed Jun 18 20:04:14 2008

.bash_profile H 176 Wed Jun 18 20:04:14 2008

.bash_logout H 24 Wed Jun 18 20:04:14 2008

.zshrc H 658 Wed Jun 18 20:04:14 2008

.kde DH 0 Wed Jun 18 20:04:14 2008

.emacs H 515 Wed Jun 18 20:04:14 2008

Recycle Bin D 0 Wed Jun 18 20:52:49 2008

34173 blocks of size 524288. 12143 blocks available

smb: >

Página 165

Page 167: instalacion configuracion centos

GRUPO LINUX REDES II

Acceda al directorio Recycle Bin utilizando el mandato cd:

smb: > smb: > cd "Recycle Bin"

Visualice el contenido con el mandato dir, lo cual debe devolver una salida

similar a la siguiente donde se muestra que el fichero prueba.txt, que fue

eliminado con el mandato del, ahora está dentro del directorio Recycle Bin.

smb: Recycle Bin> dir

. D 0 Wed Jun 18 20:52:49 2008

.. D 0 Wed Jun 18 20:52:49 2008

prueba.txt A 19 Wed Jun 18 20:44:39 2008

34173 blocks of size 524288. 12141 blocks available

Para salir del intérprete SMB utilice el mandato exit:

smb: Recycle Bin> exit

19.5. Cómo instalar y configurar Samba-Vscan en CentOS 5.

19.5.1. Acerca de Samba-Vscan.

Samba-Vscan es un interesante módulo desarrollado por

OpenAntivirus, como una prueba de concepto de módulo para el sistema

de ficheros virtual de Samba. Su desarrollo aún está en fase experimental,

pero es lo suficientemente estable para el uso diario, con un mínimo de

fallas. Además de ClamAV, incluye soprote para otros antivirus como

H+BEDV AntiVir (versión servidor), F-Prot Daemon, Symantec AntiVirus,

Kaspersky AntiVirus, Trend Micro FileScanner/InterScan VirusWall,

NAI/McAfee uvscan y F-Secure AntiVirus.

Este documento describe el procedimiento de instalación y

configuración de Samba-Vscan utilizando ClamAV y requiere haber

Página 166

Page 168: instalacion configuracion centos

GRUPO LINUX REDES II

realizado primero los procedimientos descritos en el documento de Alcance

Libre titulado «Cómo configurar Clamd».

Es importante señalar que samba-vscan 0.3.6cBeta5 es

incompatible con Samba 3.2.x y versiones posteriores (Nota usuarios

equipamiento lógico de Alcance Libre: samba-vscan 0.3.6cBeta5 es

compatible con AL Server, pero es incompatible con AL Desktop).

19.5.2. Instalación de equipamiento lógico necesario.

Instalar primero los paquetes gcc, glibc-devel, clamav-devel, pcre-

devel y rpm-build. Este último será utilizado para crear la estructura de

directorios de rpmbuild y que solo serán necesarios para instalar y preparar

los fuentes RPM.

yum -y install gcc glibc-devel rpm-build clamav-devel pcre-devel

19.5.3. Procedimientos.

Se debe descargar el paquete de fuentes de Samba de la siguiente forma:

wget http://mirrors.kernel.org/centos/5/updates/SRPMS/samba-3.0.28-.el5_2.1.src.rpm

Instalar el código fuente:

rpm -ivh samba-3.0.28-1.el5_2.1.src.rpm

Cambiarse al directorio de ficheros de especificación:

cd /usr/src/redhat/SPECS/

Utilizar rpmbuild con las opciones -bp para descomprimir las fuentes de

Samba.

rpmbuild -bp samba.spec

Página 167

Page 169: instalacion configuracion centos

GRUPO LINUX REDES II

Cambiarse al subdirectorio samba-3.0.28/source/ que se encuentra

dentro del directorio de compilación:

cd /usr/src/redhat/BUILD/samba-3.0.28/source/

Ejecutar./configure dentro del directorio

/usr/src/redhat/BUILD/samba-3.0.28/source/.

./configure

Ejecutar el mandato make proto para compilar lo mínimo necesario

para posteriormente compilar Samba-Vscan:

make proto

Cambiarse al directorio ../examples/VFS/:

cd ../examples/VFS

Descargar la versión 0.3.6cBeta5 de Samba-Vscan.

wget http://www.openantivirus.org/download/samba-vscan-0.3.6c-beta5.tar.gz

Descomprimir samba-vscan-0.3.6c-beta5.tar.gz:

tar zxvf samba-vscan-0.3.6c-beta5.tar.gz

Cambiarse al directorio samba-vscan-0.3.6c-beta5/:

cd samba-vscan-0.3.6c-beta5/

Ejecutar dentro de este directorio ./configure:

./configure

Ejecutar make clamav:

make clamav

Instalar vscan-clamav.so en /usr/lib/samba/vfs/:

Página 168

Page 170: instalacion configuracion centos

GRUPO LINUX REDES II

install vscan-clamav.so /usr/lib/samba/vfs/

Instalar clamav/vscan-clamav.conf en /etc/samba/:

install -m 0644 clamav/vscan-clamav.conf /etc/samba/

Es importante mencionar que el procedimiento de compilación de

samba-vscan debe repetirse cada vez que se actualice Samba, de otra

manera este servicio dejará de funcionar.

Si se siguió al pie de la letra la configuración de Clamd en el

documento de Alcance Libre titulado «Cómo configurar Clamd», editar

/etc/samba/vscan-clamav.conf y definir /var/run/clamd.localhost/clamd.sock

como zócalo en el parámetro clamd socket name.

; socket name of clamd (default: /var/run/clamd). Setting will be ignored if

; libclamav is used

clamd socket name = /var/run/clamd

También es importante definir un directorio para cuarentena de

ficheros infectados a través del parámetro quarantine directory. La

recomendación es utilizar cualquier otro directorio distinto de /tmp y que

haya sido creado específicamente para este fin.

; where to put infected files - you really want to change this!

quarantine directory = /tmp

; prefix for files in quarantine

quarantine prefix = vir-

Para utilizar samba-vscan en la configuración de Samba, se añaden

las siguientes dos líneas a cada recurso compartido, definido en el

fichero /etc/samba/smb.conf, donde se desee utilizar protección con

antivirus:

Página 169

Page 171: instalacion configuracion centos

GRUPO LINUX REDES II

vfs object = vscan-clamav

vscan-clamav: config-file = /etc/samba/vscan-clamav.conf

Ejemplos:

[homes]

comment = Home Directories

browseable = yes

writable = yes

hide dot files = Yes

vfs object = vscan-clamav

vscan-clamav: config-file = /etc/samba/vscan-clamav.conf

[publico]

comment = Directorio público

path = /var/samba/publico

writable = no

printable = no

browseable = yes

public = yes

vfs object = vscan-clamav

vscan-clamav: config-file = /etc/samba/vscan-clamav.conf

Para probar, puede utilizarse el fichero de prueba Eicarcom2 a

través de smbclient o bien interfaz gráfica desde Linux con Nautilus o bien

desde Windows con Explorador de Windows, sobre cualquier recurso

compartido que haya sido configurado con Samba-Vscan.

19.6. Cómo configurar Samba como cliente o servidor WINS.

Página 170

Page 172: instalacion configuracion centos

GRUPO LINUX REDES II

WINS (Windows Internet Name Service) es un servidor de nombres

de para NetBIOS, que se encarga de mantener una tabla con la

correspondencia entre direcciones IP y nombres NetBIOS de los equipos

que conforman la red local. Esta lista permite localizar rápidamente a otro

equipo dentro de la red. Al utilizar un servidor WINS se evita el realizar

búsquedas innecesarias a través de difusión (broadcast) reduciendo

sustancialmente el tráfico de red. La resolución de nombres em Sambase

lleva a cabo realizando consultas en el siguiente orden:

5. Servidor WINS

6. Información del fichero /etc/samba/lmhosts

7. Información del fichero /etc/hosts

8. Difusión (broadcast)

Este documento considera que usted ya ha leído previamente, a

detalle y en su totalidad el manual «Cómo configurar Samba básico». y que

ha configurado exitosamente Samba como servidor de archivos.

19.6.1. Procedimientos.

Todos los parámetros descritos a continuación, se definen en la

sección [global] del fichero /etc/samba/smb.conf.

Parámetros wins server y wins support.

Se puede definir que el servidor Samba recién configurado se

convierta en un servidor WINS o bien utilizar un servidor WINS ya

existente. No es posible ser cliente y servidor al mismo tiempo. Los

parámetros wins server y wins support, que se definen en la sección

[global] del fichero /etc/samba/smb.conf, son mutuamente excluyentes.

Página 171

Page 173: instalacion configuracion centos

GRUPO LINUX REDES II

Si el sistema va ser utilizado como servidor WINS, debe habilitarse

el parámetro wins support con el valor yes:

wins support = Yes

Si el sistema va a utilizar un servidor WINS existente, debe

habilitarse el parámetro wins server y como valor se especifica la dirección

IP que utilice el servidor WINS. En el siguiente ejemplo se define al sistema

con dirección IP 192.168.1.1 como servidor WINS:

wins server = 192.168.1.1

Parámetro name resolve order

Define en Samba el orden de los métodos a través de los cuales se

intentará resolver los nombres NetBIOS. Pueden definirse hasta hasta

cuatro valores: wins, lmhosts, hosts y bcast, como se muestra en el

siguiente ejemplo.

name resolve order = wins lmhosts hosts bcast

Parámetro wins proxy.Cuando su valor es yes, permite a Samba como servidor

intermediario (proxy) para otro servidor WINS.

wins proxy = yes

El valor predeterminado de este parámetro es no.

Parámetro dns proxy.

Página 172

Page 174: instalacion configuracion centos

GRUPO LINUX REDES II

Cuando su valor es yes, permite a Samba realizar búsquedas en un

servidor DNS si le es imposible determinar un nombre a través de un

servidor WINS.

dns proxy = yes

El valor predeterminado de este parámetro es no.

Parámetro max ttl.

El parámetro max ttl define el máximo tiempo de vida en segundos

para los nombres NetBIOS que han sido consultados como cliente WINS

en un servidor WINS. su valor predeterminado es 259200, que corresponde

a tres días. Por lo general no es necesario modificar este parámetro. Si las

direcciones IP de los equipos que integran la red local cambian demasiado

frecuentemente, puede reducirse este tiempo. En el siguiente ejemplo, se

definen 48 horas como tiempo máximo de vida para los nombres NetBIOS:

max ttl = 86400

Parámetros max wins ttl y min wins ttl.Los parámetros max wins ttl y min wins ttl los tiempos máximo y

mínimo en segundos que tendrán de vida los nombres NetBIOS que han

sido asignados por el servidor Samba. El valor predeterminado de max

wins ttl es 518400, es decir, 6 días, y el valor predeterminado de min wins

ttl es 21600, es decir, 6 horas. Por lo general no es necesario modificar

estos parámetros. Si las direcciones IP de los equipos que integran la red

local cambian muy frecuentemente, pueden modificarse estos tiempos. En

el siguiente ejemplo se redundan los valores predeterminados:

max wins ttl = 518400

min wins ttl = 21600

Página 173

Page 175: instalacion configuracion centos

GRUPO LINUX REDES II

19.6.2. Aplicando los cambios.

Para hacer que los cambios hechos surtan efecto tras modificar la

configuración, utilice:

service smb restart

CAPITULO IISERVICIOS EN

CENTOS

Página 174

Page 176: instalacion configuracion centos

GRUPO LINUX REDES II

1. ¿Qué es CentOS?

CentOS (Community ENTerprise Operating System) es una

distribución de clase empresarial de Linux basada

en las fuentes libremente disponibles de Red Hat

Enterprise Linux, es decir es un sistema operativo

libre.

CentOS es desarrollado por un pequeño pero creciente grupo de los

principales desarrolladores. A su vez los desarrolladores centrales están

apoyados por una activa comunidad de usuarios incluidos los administradores

del sistema, los administradores de red, los usuarios de la empresa, gerentes,

principales contribuyentes de Linux y los entusiastas de Linux de todo el

mundo. 

CentOS tiene numerosas ventajas con respecto a algunos de los otros

proyectos, incluyendo el clon: una activa y creciente comunidad de usuarios,

rápidamente reconstruido, probado y QA'ed paquetes de erratas, un amplio

espejo de red, desarrolladores que están continuada y sensible, libre de

múltiples vías de apoyo incluyendo IRC Chat, listas de correo, foros, una

dinámica de preguntas frecuentes. Comercial se ofrece apoyo a través de un

número de proveedores. 

2. VENTAJAS:

La principal ventaja de CentOS con respecto a la empresa RedHat es el

hecho de que es gratis. Mientras que una licencia de servidor para RHEL (Red

Hat Enterprise) puede costarle algo, CentOS es completamente gratis. Se

basa en RHEL y es casi totalmente compatible con sus productos.

Básicamente este sistema operativo de servidor es lo mismo que RHEL pero

Página 175

Page 177: instalacion configuracion centos

GRUPO LINUX REDES II

sin la etiqueta de precio. No falta ninguna de las características de la empresa

de software RHEL, además del hecho de que no es oficialmente el apoyo de

RHEL, y tiene muchas ventajas adicionales y modificaciones desde su

creación inicial.

CentOS tiene claras ventajas frente a otras distribuciones de Linux

como SO de servidor a causa de una gran activa y creciente comunidad de

usuarios de soporte, actualizaciones de seguridad rápida mantenida por

CentOS, dedicado equipo de desarrolladores, y el apoyo de respuesta rápida

a través de chat IRC, manuales en línea, FAQ, listas de correo y foros.

CentOS siempre tiene una ventaja clara entre el personal de apoyo de

alojamiento web. Por término medio, los administradores de servidores Linux y

personal de apoyo están más familiarizados con la distribución CentOS que

cualquier otra distribución y los problemas se resuelven más rápido, ya que es

muy probable que ellos incurran en algún mismo problema. CentOS también

está siendo constantemente actualizado con nuevos parches de seguridad, los

parches y mejoras en el desempeño. El tiempo necesario para parchar

CentOS es mejor que el tiempo necesario para los parches de cualquier otro

servidor de OS.

Al igual que antes de que la empresa Red Hat, CentOS es

increíblemente estable y eficaz de los recursos. A través de sus cinco

iteraciones, se ha optimizado para correr Apache, PHP, MySQL, Ruby on

Rails, y una variedad de otros marcos de desarrollo con la máxima eficacia. Si

estás buscando alojarte a ti mismo, CentOS es probablemente el sistema

operativo que usted desea utilizar como se hace desde el suelo hasta que sea

fácil de mantener y muy apto para el uso a largo plazo.

Grupos de Interés Especial

CentOS consta de diferentes grupos de interés especial (SIGs) que reúnen a

personas con intereses similares. Ya existen los siguientes SIGs:

Página 176

Page 178: instalacion configuracion centos

GRUPO LINUX REDES II

Artwork - Crear y mejorar el arte gráfico de las entregas de CentOS y

del material de promoción

Promotion - ayudar a promover CentOS en-línea o en eventos

Virtualization - reunir a las personas entorno a la virtualización

disponible en CentOS

3. CARACTERÍSTICAS DE CENTOS

- Fácil mantenimiento.

- Idoneidad para el uso a largo plazo en entornos de producción.

- Entorno favorable para los usuarios y mantenedores de paquetes.

- Desarrollo activo.

- La infraestructura de la comunidad.

- Modelo de negocio abierto.

- Apoyo comercial - ofrecido por un socio proveedor 

4. REQUERIMIENTOS DE SISTEMA

Hardware recomendado para operar:

- Memoria RAM: 64 MB (mínimo).

- Espacio en Disco Duro: 1GB (mínimo) - 2 GB (recomendado).

Arquitecturas 

CentOS soporta casi todas las mismas arquitecturas que el original Red Hat

Enterprise Linux.

- Intel x86-compatible (32 bit) (Intel Pentium I/II/III/IV/Celeron/Xeon, AMD

K6/II/III, AMD Duron, Athlon/XP/MP).

- Intel Itanium (64 bit).

Página 177

Page 179: instalacion configuracion centos

GRUPO LINUX REDES II

- Advanced Micro Devices AMD64(Athlon 64, etc) e Intel EM64T (64 bit).

- PowerPC/32 (Apple Macintosh PowerMac corriendo sobre

procesadores G3 o G4 PowerPC).

- IBM Mainframe (eServer zSeries y S/390).

Además tiene soporte para dos arquitecturas no soportadas por su original.

- Alpha procesador (DEC_Alpha)

- SPARC

5. EVOLUCIÓN DE CENTOS

CentOS 2

El 14 de mayo de 2004 CentOS 2 fue liberado. Esta versión está

basada en la versión 2.1 de Red Hat Enterprise Linux.

CentOS 3 

El 19 de marzo de 2004 CentOS 3.1 (fue liberado. El 18 de septiembre

de 2004. CentOS 3.3 para las arquitecturas i386 y AMD64. CentOS 3.2

nunca fue liberado.

El 10 de enero de 2005 CentOS 3.4 para i386 fue oficialmente liberado

en conjunto con una nueva versión de CentOS 3.4 i386 de un CD para

servidores

El 13 de febrero de 2005 CentOS 3.4 para procesadores de la

arquitectura ia64 fue liberado. También fue liberado el 13 de febrero del

2005 CentOS 3.4 para la arquitectura s390, y CentOS 3.4 para la

arquitectura s390x.

El 10 de junio de 2005 CentOS 3.5 para i386 fue liberado.

Sobre el 13 de octubre, 2005, CentOS 3.6 fue liberado. Diferente a las

otras versiones de CentOS 3 releases, éste no fue anunciado en las

listas de correo de CentOS. Su anuncio ocurrió el 1 de noviembre,

Página 178

Page 180: instalacion configuracion centos

GRUPO LINUX REDES II

2005.

El 11 de abril, 2006, CentOS 3.7 fue liberado.

El 25 de agosto, 2006, CentOS 3.8 fue liberado.

CentOS 4 

CentOS 4.0 está basado en la versión 4 de Red Hat Enterprise Linux.

El 1 de marzo de 2005, CentOS 4.0 para la arquitectura i386 fue

liberado. El equipo de CentOS también liberó CentOS 4.0 para la

arquitectura ia64 ese mismo día.

El 9 de marzo de 2005, la versión final, CentOS 4.0 para la arquitectura

x86_64

El 12 de juniode 2005 CentOS 4.1 para i386.

El 17 de junio de 2005 la versión 4.1 de CentOS para la arquitectura

x86_64 fue liberada en conjunto con la versión final para la arquitectura

ia64.

El 12 de octubre de 2005 CentOS versión 4.2 fue liberado.

El 21 de marzo de 2006 CentOS versión 4.3 para las arquitecturas i386,

x86_64 e ia64.

El 31 de agosto de 2006 fue liberado Centos 4.4

El 17 de mayo de 2007 CentOS versión 4.5 para las arquitecturas i386

x86_64 e ia64. Incluye soporte para ser instalado como domU en Xen.

CentOS 5

CentOS 5.0 está basado en la versión 5 de Red Hat Enterprise Linux.

Fue liberado el 12 de abril de 2007. CentOS 5.3 es la tercera

actualización para la serie de distribuciones CentOS 5. Contiene una

Página 179

Page 181: instalacion configuracion centos

GRUPO LINUX REDES II

gran cantidad de correcciones, actualizaciones y nuevas

funcionalidades.

SERVICIOS EN CENTOS

1.SERVIDOR DHCP

DHCP (Dynamic Host Configuration Protocol - Protocolo de

configuración dinámica de servidores) es un protocolo que permite a

dispositivos individuales en una red de direcciones IP obtener su propia

información de configuración de red (dirección IP; máscara de sub-red, puerta

de enlace, etc.) a partir de un servidor DHCP. Su propósito principal es hacer

más fáciles de administrar las redes grandes. DHCP existe desde 1993 como

protocolo estándar y se describe a detalle en el RFC 2131.

Sin la ayuda de un servidor DHCP, tendrían que configurarse de forma

manual cada dirección IP de cada host que pertenezca a una Red de Área

Local. Si un host se traslada hacia otra ubicación donde existe otra Red de

Área Local, se tendrá que configurar otra dirección IP diferente para poder

unirse a esta nueva Red de Área Local. Un servidor DHCP entonces supervisa

y distribuye las direcciones IP de una Red de Área Local asignando una

dirección IP a cada host que se una a la Red de Área Local. Cuando, por

mencionar un ejemplo, una computadora portátil se configura para utilizar

DHCP, a ésta le será asignada una dirección IP y otros parámetros de red

necesarios para unirse a cada Red de Área Local donde se localice.

Existen tres métodos de asignación en el protocolo DHCP:

• Asignación manual: La asignación utiliza una tabla con direcciones

MAC (Media Access Control Address - dirección de Control de Acceso

Página 180

Page 182: instalacion configuracion centos

GRUPO LINUX REDES II

al Medio). Sólo los host con una dirección MAC definida en dicha tabla

recibirá el IP asignada en la misma tabla.

• Asignación automática: Una dirección de IP disponible dentro de un

rango determinado se asigna permanentemente al host que la requiera.

• Asignación dinámica: Se determina arbitrariamente un rango de

direcciones IP y cada host conectado a la red está configurada para

solicitar su dirección IP al servidor cuando se inicia el dispositivo de red,

utilizando un intervalo de tiempo controlable (parámetros default-lease-time y maxlease- time) de modo que las direcciones IP no son

permanentes y se reutilizan de forma dinámica.

1.1. DHCP POR INTERNET SOFTWARE CONSORTIUM, INC.

Fundado en 1994, Internet Software Consortium, Inc., distribuye un

conjunto de herramientas para el protocolo DHCP, las cuales consisten en:

o Servidor DHCP: Este software se encarga de asignarnos los

datos de configuración ip al equipo que conectamos a la red

o Cliente DHCP: Es el que solicita una dirección ip al servidor

DHCP

o Agente de retransmisión: Es el que escucha las peticiones

DHCP

1.2. FUNCIONAMIENTO DE UN DHCP

Antes que nada hay que tener en cuenta que nuestro servidor DHCP

debe contar con una dirección IP fija, por lo tanto en nuestra red solo

existirá un equipo que dispondrá de una IP fija, o sea, nuestro servidor

DHCP.

Página 181

Page 183: instalacion configuracion centos

GRUPO LINUX REDES II

El paso siguiente es cuando la maquina cliente se conecta a la red,

en este fase, la maquina cliente hace uso del sistema básico de

comunicación BOOTP. El BOOTP (Bootstrap Protocol) es un protocolo de

red UDP utilizado para obtener la dirección IP automáticamente y

usualmente es iniciado cuando se realiza en el proceso de boteo de una

computadora o sistema operativo. Cuando la maquina cliente se inicia esta

no cuenta con información sobre la configuración de red a la cual está

conectada, en este momento la maquina cliente inicia una técnica llamada

transmisión la cual busca, encuentra y se comunica con el servidor DHCP

solicitándole los parámetros de configuración de la red. Cuando el DHCP

recibe el paquete de transmisión este contestará con otro paquete de

transmisión que contiene toda la información solicitada por el maquina

cliente.

Algunos de esos paquetes que se transmiten del cliente al servidor

DHCP y viceversa son los siguientes:

DHCP Discovery. La maquina cliente enviá este paquete para ubicar

los servidores DHCP disponibles en la red interna, una vez recibido este

paquete, el servidor DHCP almacena la dirección Ethernet de quien

genera la petición.

DHCP Offer. Respuesta del servidor DHCP al paquete DHCP Discover

la cual contiene los parámetros de red interna.

DHCP Request. El cliente selecciona la configuración de los paquetes

recibidos de DHCP Offer. Una vez más, el cliente solicita una dirección

IP específica que indicó el servidor

DHCP Acknowledge. Cuando el servidor DHCP recibe el mensaje

DHCP Request del cliente, este inicia la fase final del proceso de

configuración .Esta fase implica el reconocimiento DHCP Pack el envío

Página 182

Page 184: instalacion configuracion centos

GRUPO LINUX REDES II

de un paquete al cliente. En este punto, la configuración TCP/IP se ha

completado. El servidor reconoce la solicitud y se lo enviá al cliente.

DHCP Release.La maquina cliente enviá una petición al servidor DHCP

informándole sobre la liberación de su dirección IP

DHCP Ack. Respuesta del Servidor DHCP al la maquina cliente la cual

enviá los parámetros de red como por ejemplo la dirección IP que le

corresponde a la misma.

DHCP Inform. El cliente envía una petición al servidor de DHCP para

solicitar más información que la que el servidor ha enviado con el DHCP

Ask o para repetir los datos para un uso particular.

DHCP Nak. Respuesta del servidor DHCP a la maquina cliente la cual

le indica que su dirección IP ha vencido o que su configuración es

errónea

DHCP Decline. La maquina cliente le informa el servidor DHCP que la

dirección IP ya está en uso

1.3.EQUIPAMIENTO LÓGICO NECESARIO.

a) Instalación a través de yum.

Página 183

Page 185: instalacion configuracion centos

GRUPO LINUX REDES II

Para CentOS 5, Red Hat™ Enterprise Linux 5 o White Box

Enterprise Linux 5, solo se necesita realizar lo siguiente para instalar o

actualizar el equipamiento lógico necesario:

yum -y install dhcp

1.4. PARAMETROS DE CONFIGURACIÓN

ignore/allow client-updates

Permite la actualización de las asignaciones de un cliente a requerimiento de este, o bien las asignaciones se actualizan cuando el servidor así lo requiera (ignore).

shared-network redLocalParámetro que describe las subredes que compartirán la misma red física las cuales se especifican dentro de esta declaración

subnet Segmento de subred sobre el cual actuara el dhcp

netmask Mascara de red de la subred

option routersParámetro que especifica mediante IP la ubicación del router

option subnet-mask Mascara de red de la subred

option broadcast-address Parámetro que especifica la IP de broadcast

option domain-name

"tuDominio.com";

Parámetro que describe el nombre de tu dominio

option domain-name-serversParámetro que especifica mediante IP la ubicación del DNS

rangeRango sobre el cual el DHCP asignara direcciones IP

default-lease-timeParámetro que indica el tiempo entre cada nueva asignación de IP a los equipos

max-lease-timeParámetro que indica el tiempo de vigencia de la dirección IP para cada equipo

host nombreDeLaMaquina Parámetro que describe el nombre del equipo

Página 184

Page 186: instalacion configuracion centos

GRUPO LINUX REDES II

option host-name

"nombreDeLaMaquina.tuDominio.com"

Parámetro que describe el nombre de la computadora y el nombre de dominio asociado a la misma

hardware ethernetParámetro que describe la dirección MAC asociada a la tarjeta ethernet del equipo

fixed-addressParámetro que describe la dirección IP destinada a un equipo

authoritative

La configuración correcta para la red es la definida en el servidor DHCP. Poner este parámetro al comienzo del archivo de configuración supone que el servidor DHCP reasignará direcciones a los clientes mal configurados por el motivo que sea, incluida una configuración nueva del servidor.

not authoritative

La función de este parámetro es justo la contraria del anterior. Es decir: la configuración del servidor de DHCP no es concluyente y los clientes mal configurados que sean detectados por el servidor, seguirán con su configuración intacta.

ddns-domainname <nombre>

Mediante el uso de este parámetro, se añadirá <nombre> al final del nombre de la máquina cliente, para formar un nombre de dominio totalmente cualificado (FQDN).

ddns-hostname <nombre>

Por defecto, el servidor DHCP utiliza como nombre para la solicitud el nombre que el cliente tiene asignado a su máquina. Mediante este parámetro se asigna un nombre concreto a una máquina o a todas en general. Porejemplo, para asignar un nombre a una dirección MAC concreta, utilizaremos el código siguiente:

host "nada" {

hardware ethernet 00:60:30:3f:2d:4a;

ddnshostname

"nombre_del_host";

}

Y para asignar, por ejemplo, la dirección MAC como parte del nombre del

maquina cliente, podemos usar lo siguiente:

Página 185

Page 187: instalacion configuracion centos

GRUPO LINUX REDES II

ddnshostname

= binarytoascii

(16,8, "",

substring (hardware, 1, 6));

ddns-updates <on|off> Activa la actualización DNS mediante los valores asignados por DHCP.

group Inicia la declaración de Grupo.

min-lease-time <duración>Especifica la cantidad mínima de tiempo, en segundos, que será mantenida una asignación de direcciones.

one-lease-per-client <on/off>

Cuando la opción se iguala a on y un cliente solicita una asignación de dirección (DHCPREQUEST), el servidor libera de forma automática cualquier otra asignación asociada a dicho cliente. Con esto se supone que si el cliente solicita una nueva asignación es porque ha olvidado que tuviera alguna, luego tiene un sólo interfaz de red. No dándose esta situación entre los clientes no es muy aconsejable el uso de esta opción.

range ip-menor ip-mayor

En una declaración de subred, este parámetro define el rango de direcciones que serán asignadas. Pueden darse dos instrucciones range seguidas del modo:

range 192.168.0.11 192.168.0.100;

range 192.168.0.125 192.168.0.210;

server-identifier <IP>

Identifica la máquina donde se aloja el servidor de DHCP.

Su uso se aplica cuando la máquina en cuestión tiene varias direcciones asignadas en un mismo interfaz de red.

server-name <nombre>Nombre del servidor que será suministrado al cliente que solicita la asignación.

1.5.PROCEDIMIENTOS.

Página 186

Page 188: instalacion configuracion centos

GRUPO LINUX REDES II

a) SELinux y el servicio DHCPD.

Para que SELinux permita al servicio dhcpd funcionar normalmente

y sin protección alguna, utilice el siguiente mandato.

setsebool -P dhcpd_disable_trans 1

b) Fichero de configuración /etc/dhcpd.conf.El primer paso para configurar el servidor de DHCP será editar el

fichero dhcp.conf al cual le añadiremos la información de nuestra LAN.

El archivo de configuración puede contener tabulaciones o líneas en

blanco adicionales para facilitar el formato. Las palabras clave no

distinguen entre mayúsculas y minúsculas. Las líneas que empiezan

con el símbolo numeral (#) se consideran comentarios.

Ejemplo 1: Se requiere implementar un servidor DHCP que

implemente los tres métodos de asignación de direcciones IP. El

servidor DHCP contara con dos tarjetas de red, las cuales tendrán

asignadas las direcciones 192.168.1.5 y 192.168.2.5 , el segmento de

red sobre el cual actuara el servidor DHCP es el 192.168.1.0, la

submascara de red asignada será la 255.255.255.0, así mismo el

servidor DHCP servirá como gateway el cual tendrá asignada la misma

dirección IP que el DHCP (192.168.1.5), la dirección de broadcast

asignada sera la 192.168.1.255, el rango de direcciones IP que

asignara el servidor DHCP estará entre el rango de 192.168.1.7 á 192.168.1.100

Página 187

Page 189: instalacion configuracion centos

GRUPO LINUX REDES II

Editaremos el fichero /etc/dhcpd.conf de tres maneras diferentes,

esto con el fin de ejemplificar los tres métodos de asignación de

direcciones IP.

Asignación manualAbriremos una terminal y con la ayuda de “vi” editaremos el fichero

dhcpd.conf

[localhost@localdomain ~]#vi /etc/dhcpd.conf

Una vez abierto el fichero deberemos añadir el siguiente contenido:

# DHCP Server Configuration file.# see /usr/share/doc/dhcp*/dhcpd.conf.samplednsupdatestyle interim;ignore clientupdates;sharednetwork redLocal{subnet 192.168.2.0 netmask 255.255.255.0{

option routers 192.168.2.5;option subnetmask 255.255.255.0;option broadcastaddress 192.168.2.255;option domainname "redLocal.com.";option domainnameservers 192.168.2.5;

}host maquina1{

option hostname "maquina1.redLocal.com";hardware ethernet 00:1b:24:e2:d7:41;fixedaddress 192.168.2.10;

}host maquina2{

option hostname "maquina2.redLocal.com";hardware ethernet 00:2c:212:ef5:a7:13; fixedaddress 192.168.2.11;

}}

Lo hecho anteriormente hace que el servidor DHCP asigne a dos

equipos de la red, las direcciones IP que fueron anexadas en el fichero

dhcp.conf

Página 188

Page 190: instalacion configuracion centos

GRUPO LINUX REDES II

Asignación AutomáticaAbriremos una terminal y con la ayuda de “vi” editaremos el

fichero dhcpd.conf

[localhost@localdomain ~]#vi /etc/dhcpd.conf

Una vez abierto el fichero deberemos añadir el siguiente

contenido:

# DHCP Server Configuration file.# see /usr/share/doc/dhcp*/dhcpd.conf.sample

ddnsupdatestyleinterim;ignore clientupdates;sharednetworkfactorcentos{

subnet 192.168.2.0 netmask 255.255.255.0{option routers 192.168.2.5;option subnetmask 255.255.255.0;option broadcastaddress 192.168.2.255;option domainname "factorcentos.com.mx";option domainnameservers 192.168.2.5;range 192.168.2.1 192.167.2.100;

}}

Lo hecho anteriormente hace que el servidor DHCP asigne a

dos equipos de la red, dos direcciones IP aleatorias dentro del rango

de 192.168.2.10 al 192.168.1.200

Página 189

Page 191: instalacion configuracion centos

GRUPO LINUX REDES II

Asignación dinámicaAbriremos una terminal y con la ayuda de “vi” editaremos el fichero

dhcpd.conf

[localhost@localdomain ~]#vi /etc/dhcpd.confUna vez abierto el fichero deberemos añadir el siguiente contenido:

# DHCP Server Configuration file.# see /usr/share/doc/dhcp*/dhcpd.conf.sample

ddnsupdatestyleinterim;ignore clientupdates;sharednetworkfactorcentos{

subnet 192.168.2.0 netmask 255.255.255.0{option routers 192.168.2.5;option subnetmask 255.255.255.0;option broadcastaddress 192.168.2.255;option domainname "factorcentos.com.mx";option domainnameservers 192.168.2.5;range 192.168.2.1 192.167.2.100;defaultleasetime 21600;maxleasetime 43200;

}}

Lo hecho anteriormente hace que el servidor DHCP asigne a

dos equipos de la red, dos direcciones IP aleatorias dentro del rango

de 192.168.2.10 al 192.168.1.200 las cuales serán renovadas cada

cierto tiempo asignado de nuevo direcciones IP aleatorias dentro del

rango de 192.168.2.10 al 192.168.1.200

Ejemplo 2: El diagrama de la red quedara de la siguiente manera

Página 190

Page 192: instalacion configuracion centos

GRUPO LINUX REDES II

Considerando como ejemplo que se tiene una red local con las

siguientes características:

• Número de red 192.168.0.0

• Máscara de sub-red: 255.255.255.0

• Puerta de enlace: 192.168.0.1

• Servidor de nombres: 192.168.0.1, 148.240.241.42 y 148.240.241.10

• Rango de direcciones IP a asignar de modo dinámico: 192.168.0.11

- 192.168.0.199

• Dos direcciones IP se asignarán como fijas (192.168.1.252,

192.168.0.253 y 192.168.0.254) para las tarjetas de red con

direcciones MAC (Media Access Control o Control de Acceso de

Medios) 00:24:2B:65:54:84, 00:50:BF:27:1C:1C y

00:01:03:DC:67:23.

Puede utilizar el siguiente contenido de ejemplo para adaptar y crear desde cero un nuevo fichero /etc/dhcpd.conf que se ajuste

a una red y conjunto de sistemas en particular.server-identifier proxy.redlocal.net;ddns-update-style interim;ignore client-updates;authoritative;option ip-forwarding off;default-lease-time 21600;max-lease-time 43200;

shared-network miredlocal {subnet 192.168.0.0 netmask 255.255.255.0 {

option routers 192.168.0.1;option subnet-mask 255.255.255.0;option broadcast-address 192.168.0.255;option domain-name "redlocal.net";option domain-name-servers 192.168.0.1, 148.240.241.42,148.240.241.10;option netbios-name-servers 192.168.0.1;option ntp-servers 200.23.51.205, 132.248.81.29, 148.234.7.30;range 192.168.0.11 192.168.0.199;}

host impresora-laser {option host-name "epl5900.redocal.net";

Página 191

Page 193: instalacion configuracion centos

GRUPO LINUX REDES II

hardware ethernet 00:24:2B:65:54:84;fixed-address 192.168.1.252;}

host servidor {option host-name "servidor.redlocal.net";hardware ethernet 00:50:BF:27:1C:1C;fixed-address 192.168.0.253;}

host proxy {option host-name "proxy.redlocal.net";hardware ethernet 00:01:03:DC:67:23;fixed-address 192.168.0.254;}

}

c) Fichero de configuración /etc/sysconfig/dhcpd.Una buena medida de seguridad es hacer que el servicio dhcpd

solo funcione a través de la interfaz de red utilizada por la LAN, esto en

el caso de tener múltiples dispositivos de red. Edite el fichero

/etc/sysconfig/dhcpd y agregue como argumento del parámetro

DHCPDARGS el valor eth0, eth1, eth2, etc., o lo que corresponda.

Ejemplo, considerando que eth0 es la interfaz correspondiente a la

LAN:

# Command line options hereDHCPDARGS=eth0

d) Iniciar el servicio dhcpd.Para iniciar por primera vez el servicio dhcpd, utilizar:

/sbin/service dhcpd start

Para hacer que los cambios hechos a la configuración del servicio

dhcpd surtan efecto, utilizar:

/sbin/service dhcpd restart

Para detener el servicio dhcpd:

/sbin/service dhcpd stop

e) Agregar el servicio dhcpd al arranque del sistema.

Página 192

Page 194: instalacion configuracion centos

GRUPO LINUX REDES II

Para hacer que el servicio de dhcpd esté activo con el siguiente

inicio del sistema, en todos los niveles de corrida (2, 3, 4, y 5), se utiliza

lo siguiente:

/sbin/chkconfig dhcpd on

1.6.COMPROBACIONES DESDE CLIENTE DHCP.

Ahora sigue configurar como interfaces DHCP las estaciones de

trabajo que sean necesarias sin importar que sistema operativo utilicen.

Después de configurado e iniciado el servicio, desde una terminal

como root en otro sistema que será utilizado como cliente, considerando

que se tiene una interfaz de red denominada eth0, utilice los siguientes

mandatos para desactivar la interfaz eth0 y asignar una nueva dirección IP a través del servidor dhcp.

/sbin/ifdown eth0/sbin/dhclient eth0

Lo anterior deberá devolver el mensaje «Determinando la

información IP para eth0...» y el símbolo de sistema. Para corroborar,

utilice el mandato ifconfig para visualizar los dispositivos de red activos en

el sistema.

La configuración del dispositivo de red, considerando como ejemplo

la interfaz eth0 con dirección MAC 00:01:03:DC:67:23, solicitando los

datos para los servidores DNS, correspondiente al fichero

/etc/sysconfig/network-scripts/ifcfg-eth0, sería con el siguiente contenido:

DEVICE=eth0ONBOOT=yesUSERCTL=yesBOOTPROTO=dhcpPEERDNS=yesHWADDR=00:01:03:DC:67:23TYPE=Ethernet

Página 193

Page 195: instalacion configuracion centos

GRUPO LINUX REDES II

1.7.MODIFICACIONES NECESARIAS EN EL MURO CORTAFUEGOS.Si se utiliza un cortafuegos con políticas estrictas, como por ejemplo

Shorewall, es necesario abrir los puerto 67 y 68 por UDP (BOOTPS y

BOOTPC, respectivamente).

Las reglas para el fichero /etc/shorewall/rules de Shorewall en un

sistema con una zona (net), correspondería a lo siguiente:#ACTION SOURCE DEST PROTO DEST SOURCE

# PORT PORT(S)1

ACCEPT net fw udp 67,68

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Las reglas para el fichero /etc/shorewall/rules de Shorewall en un

sistema con dos zonas (net y loc), donde solo se va a permitir el acceso al

servicio dhcpd desde la red local, correspondería a lo siguiente:#ACTION SOURCE DEST PROTO DEST SOURCE

# PORT PORT(S)1

ACCEPT loc fw udp 67,68

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

2.SERVIDOR WEBUn servidor web es un programa que implementa el protocolo HTTP

que se encarga de suministrar páginas Web en respuesta a las peticiones de

los navegadores Web. La petición de una página se genera cuando un

visitante hace clic en un vínculo de una página Web en el navegador, elige un

marcador en el navegador o introduce un URL.

2.1.PROTOCOLO HTTP.HTTP (Hypertext Transfer Protocol, o Protocolo de Trasferencia de

Hipertext), es el método utilizado para transferir o transportar información

en la Red Mundial (WWW, World Wide Web). Su propósito original fue el

proveer una forma de publicar y recuperar documentos HTML.

El desarrollo del protocolo fue coordinado por World Wide Web

Consortium y la IETF (Internet Engineering Task Force, o Fuerza de

Trabajo en Ingeniería de Internet), culminando con la publicación de varios

RFC (Request For Comments), de entre los que destaca el RFC 2616,

Página 194

Page 196: instalacion configuracion centos

GRUPO LINUX REDES II

mismo que define la versión 1.1 del protocolo, que es el utilizado hoy en

día.

HTTP es un protocolo de solicitud y respuesta a través de TCP,

entre agentes de usuarios (Navegadores, motores de índice y otras

herramientas) y servidores, regularmente utilizando el puerto 80. Entre la

comunicación entre éstos puede intervenir como servidores Intermediarios

(Proxies), puertas de enlace y túneles.

2.2. APACHE.Apache es un servidor HTTP, de código abierto y

licenciamiento libre, que funciona en Linux, sistemas

operativos derivados de Unix™, Windows, Novell Netware y otras

plataformas. Ha desempeñado un papel muy importante en el crecimiento

de la red mundial, y continua siendo el servidor HTTP más utilizado, contra

el cual se realizan las pruebas comparativas y de desempeño para otros

productos competidores. Apache es desarrollado y mantenido por una

comunidad de desarrolladores auspiciada por Apache Software

Foundation.

Actualmente el servidor web apache se encuentra en su versión 2 e

incluye notables mejoras con respecto a versiones anteriores, algunas de

ellas son:

Modo Híbrido

Nuevo sistema de configuración y compilación

Soporte nativo para Ipv6

Mensajes de error en diferentes idiomas

Mejoras adicionales.

Como dato adicional, cabe menciona que apache es el servidor web

numero uno a nivel mundial el cual abarca cerca de un 52.26 % del

mercado total de Internet desbancando a servidores web como el IIS

(Internet Information Server) de Microsoft.

Página 195

Page 197: instalacion configuracion centos

GRUPO LINUX REDES II

La fundación Apache Software Foundation, la cual actualmente está

conformada por una comunidad de desarrolladores quienen día a día

contribuyen a la expansión y mejora de proyectos relacionados con apache.

Entre los proyectos más destacados de esta fundación podemos

encontrar los siguientes:

Http Server.- Servidor Web Apache

http://www.apache.org/

Jakarta.-Proyectos en el lado del servidor basados en Java

http://tomcat.apache.org/

mod_perl.- Modulo de apache para la programación dinámica en Perl

http://perl.apache.org/

SpamAssin.-Sistema de detección de Spam

http://spamassassin.apache.org/

2.3. INSTALACIÓN A TRAVÉS DE YUM.

Si se utiliza CentOS 4, Red Hat Enterpirse Linux 5 o White Box

Enterprise Linux 4 o versiones posteriores de éstos, solo se necesita utilizar

lo siguiente:

Página 196

Page 198: instalacion configuracion centos

GRUPO LINUX REDES II

yum -y install httpd

Si se desea que Apache incluya soporte para PHP/MySQL, Perl,

Python y SSL/TLS, solo bastará ejecutar:

yum -y install php php-mysql mod_perl mod_python mod_ssl

2.4. INICIAR SERVICIO Y AÑADIR EL SERVICIO AL ARRANQUE DEL SISTEMA.

Apache es un servicio que por fortuna solo es necesario instalar e

iniciar. No requiere modificaciones adicionales para su funcionamiento

básico. Para añadir el servicio a los servicios que inician junto con el

sistema, solo se necesita ejecutar:

chkconfig httpd on

Para iniciar el servicio por primera vez, solo se necesita utilizar:

service httpd start

Para reiniciar el servicio, considerando que se interrumpirán todas

las conexiones establecidas en ese momento, solo se necesita utilizar:

service httpd restart

Si el servicio ya está trabajando, también puede utilizar reload a fin

de que Apache vuelva a leer y cargar la configuración sin interrumpir el

servicio, y, por ende, las conexiones establecidas.

service httpd reload

Para detener el servicio, solo se necesita utilizar:

service httpd stop

start Inicia el servicio

stop Detiene el servicio

Página 197

Page 199: instalacion configuracion centos

GRUPO LINUX REDES II

restart Reinicia el servicio.-La diferencia con reload radica en

que al ejecutar un restart este mata todos los procesos

relacionado con el servicio y los vuelve a generar de

nueva cuenta

reload Recarga el servicio.-La diferencia con restart radica en

que al ejecutar un reload este solamente carga las

actualizaciones hechas al fichero de configuración del

servicio sin necesidad de matar los procesos

relacionados con el mismo, por lo que podría

entenderse que hace el cambio en caliente.

condrestart Reinicio Condicional.- Solamente se inicia si el servicio

se encuentra ejecutándose.

status Da a conocer el estado en el que se encuentra el

servicio

2.5.PROCEDIMIENTOS.

2.5.1. SELinux y Apache.

Si utiliza alguna distribución con núcleo 2.6 basada sobre Red

Hat™ Enterprise Linux 4.0, como serían CentOS 4.0 o White Box

Enterprise Linux 4.0 en adelante, éstas incluyen SELinux que añade

seguridad adicional a Apache, sin embargo algunas opciones

impedirán utilizar ciertas funciones en Apache, como directorios

virtuales.

Para permitir a Apache poder enviar correo electrónico desde

alguna aplicación, utilice el siguiente mandato:

setsebool -P httpd_can_sendmail 1

Página 198

Page 200: instalacion configuracion centos

GRUPO LINUX REDES II

CGI (Common Gateway Interface) es una tecnología que se

usa en los servidores web, su función principal es la de añadir una

mayor interacción a los documentos web que por medio del HTML

se presentan de forma estática. Es utilizado comúnmente para

contadores, bases de datos, motores de búsqueda, formularios,

generadores de email automático, foros de discusión, chats,

comercio electrónico, rotadores y mapas de imágenes, juegos en

línea y otro. Esta tecnología tiene la ventaja de correr en el servidor

cuando el usuario lo solicita por lo que es dependiente del servidor y

no de la computadora del usuario.

Para permitir a Apache poder ejecutar guiones CGI, utilice:

setsebool -P httpd_enable_cgi 1

Para permitir las inclusiones del lado del servidor (SSI, Server Side

Includes), utilice:

setsebool -P httpd_ssi_exec 1

Para permitir que Apache se pueda conectar a través de red hacia

un servidor de bases de datos, utilice:

setsebool -P httpd_can_network_connect_db 1

Para permitir a Apache realizar conexiones de red hacia otro

servidor, utilice:

setsebool -P httpd_can_network_connect 1

Para permitir que los usuarios locales puedan utilizar un directorio

público (public_html), utilice:

setsebool -P httpd_enable_homedirs 1

Para desactivar la ejecución de PHP y otros lenguajes de

programación para HTTP a través de Apache, utilice:

setsebool -P httpd_builtin_scripting 0

Página 199

Page 201: instalacion configuracion centos

GRUPO LINUX REDES II

Para consultar que otras políticas disponibles existen para Apache,

utilice:

getsebool -a |grep httpd

Para definir que un directorio o fichero fuera de /var/www/html, como

por ejemplo /var/www/dominio/html se debe considerar como

contenido HTTP, se utiliza el siguiente mandato:

chcon -t httpd_sys_content_t /var/www/dominio/html

Para definir que se permite ejecutar un guión CGI en particular,

como por ejemplo /var/www/dominio/cgi-bin/formulario.pl, se utiliza el

siguiente mandato:chcon -t httpd_sys_script_exec_t /var/www/dominio/cgi-bin/formulario.pl

Para definir que un programa, que por ejemplo puede estar escrito

en PHP como /var/www/dominio/html/leer.php, solo pueda realizar

procedimientos de lectura de datos y nunca de escritura, utilice el

siguiente mandato:

chcon -t httpd_sys_script_ro_t /var/www/dominio/html/leer.php

Para definir que un programa, que por ejemplo puede estar escrito

en PHP como /var/www/dominio/html/escribir.php, pueda realizar

procedimientos de lectura y escritura de datos, utilice el siguiente

mandato:

chcon -t httpd_sys_script_rw_t /var/www/dominio/html/leer.php

Para definir que se desactive la protección de SELinux para Apache,

haciendo que todo lo anteriormente descrito pierda sentido, utilice el

siguiente mandato:

setsebool -P httpd_disable_trans 1

2.5.2. Ficheros de configuración.

Página 200

Page 202: instalacion configuracion centos

GRUPO LINUX REDES II

Cualquier ajuste que se requiera realizar, ya sea para configurar

Sitios de Red virtuales u otra funcionalidad adicional, se puede realizar

sin tocar el fichero principal de configuración, utilizando cualquier

fichero con extensión *.conf dentro del directorio /etc/httpd/conf.d/.

2.5.3. Creación de Directorios virtuales.

Si, por ejemplo, se quisiera añadir el alias para un directorio

localizado en /var/contenidos/varios/ y el cual queremos visualizar

como el directorio /varios/ en Apache, lo primero será crear el

directorio:

mkdir -p /var/contenidos/varios

A continuación se configura el contexto en SELinux de dicho

directorio a fin de que sea tratado como un objeto (object_r) creado

por usuario de sistema (system_u) y que es contenido de Apache

(https_sys_content_t):chcon -u system_u /var/contenidos/varios

chcon -r object_r /var/contenidos/varios

chcon -t https_sys_content_t /var/contenidos/varios

Y se crea un fichero que se denominará arbitrariamente como

/etc/httpd/conf.d/aliases.conf con el siguiente contenido:

Alias /varios /var/contenidos/varios

Si trata de acceder hacia este nuevo directorio virtual con el

navegador, notará que no está permitido el acceso. Para poder

acceder deberá haber un documento índice en el interior (index.html,

index.php, etc) o bien que dicho directorio sea configurado para

mostrar el contenido del siguiente modo:

Página 201

Page 203: instalacion configuracion centos

GRUPO LINUX REDES II

Alias /varios /var/contenidos/varios

<Directory "/var/contenidos/varios">

Options Indexes</Directory>

El parámetro Indexes indica que se deberá mostrar el índice de

contenido del directorio. Si se requiere que este directorio tenga mayor

funcionalidad, se pueden añadir más opciones, como por ejemplo:

Alias /varios /var/contenidos/varios

<Directory "/var/contenidos/varios">

Options Indexes Includes FollowSymLinksAllowOverride all

</Directory>

El parámetro FollowSymLinks posibilita poder colocar enlaces

simbólicos dentro del directorio los cuales se seguirán. El parámetro

Includes especifica que se permite la utilización de los SSI (Server

Side Includes) que posibilitan utilizar funciones como autenticación. El

parámetro AllowOverride all posibilita utilizar ficheros .htaccess.

Reinicie o recargue Apache y acceda hacia

http://127.0.0.1/varios/ con cualquier navegador de red y visualice el

resultado.

NOTA:

La directiva Options indica varias posibles opciones de

comportamiento y estas pueden ser aplicadas a un directorio concreto.

En el cuadro se detallan las opciones:

All Todas las opciones salvo MultiViews

ExecCGI Se permite la ejecución de scripts CGI.

FollowSymLinks El servidor seguirá los enlaces simbólicos. Tener esta opción activa aumenta el rendimiento ya que el servidor no comprueba si un fichero o directorio es un enlace simbólico y es más rápido, pero en algunos

Página 202

Page 204: instalacion configuracion centos

GRUPO LINUX REDES II

casos puede presentar problemas de inseguridad.

Includes Se permiten incluir Server-side.

Indexes Si una URL solicita un directorio y no existe DirectoryIndex (v.g., index.html) en ese directorio, el servidor devolverá una lista del contenido del directorio.

MultiViews Se permite mostrar contenido negociado en función de diversos valores.

SymLinksIfOwnerMatch Se sigue un enlace simbólico sólo si los propietarios del enlace y del destino coinciden.

La directiva AllowOverride controla qué directivas se pueden

situar el los ficheros .htaccess y estas pueden ser aplicadas

igualmente a un directorio concreto. Los valores de AllowOverride

pueden ser "All", "None", o una combinación de:

AuthConfig Permitir el uso de directivas de autorización (AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, etc).

FileInfo Permitir el uso de directivas de control de tipo de documentos (DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, etc).

Indexes Permitir el uso de directivas que controlan los índices de directorios (AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, etc).

Limit Permitir el uso de directivas de acceso de hosts (Allow, Deny y Order).

Options Permitir el uso de las opciones antes vistas en

Página 203

Page 205: instalacion configuracion centos

GRUPO LINUX REDES II

la directiva Options

2.5.4. Redirección de directorios.

Cuando sea necesario, es posible configurar un directorio en

particular para Apache redirija de modo transparente éste y su

contenido hacia cualquier otra dirección.

Redirect 301 /webmail http://mail.su-dominio.net/

En el ejemplo anterior, se indica que si se trata de acceder

hacia el subdirectorio /webmail en el servidor, Apache deberá redirigir

hacia http://mail.su-dominio.net/. El número 301 corresponde al

mensaje del protocolo HTTP para indicar que la redirección es

permanente. Si por ejemplo hubiese un objeto en /webmail, como por

ejemplo /webmail/estadisticas/estadisticas.php, Apache realizará el

re-direccionamiento transparente hacia http://mail.sudominio.

net/estadisticas/estadisticas.php.

2.5.5. Tipos de MIME.

MIME (Multipurpose Internet Mail Extensions, Extensiones de

Correo de Internet Multipropósito), son una serie de convenciones o

especificaciones dirigidas a que se puedan intercambiar a través de

Internet todo tipo de archivos (texto, audio, vídeo, etc.) de forma

transparente para el usuario. Una parte importante del MIME está

dedicada a mejorar las posibilidades de transferencia de texto en

distintos idiomas y alfabetos. En sentido general las extensiones de

MIME van encaminadas a soportar:

Texto en conjuntos de caracteres distintos de US-ASCII.

Adjuntos que no son de tipo texto.

Cuerpos de mensajes con múltiples partes (multi-part).

Página 204

Page 206: instalacion configuracion centos

GRUPO LINUX REDES II

Información de encabezados con conjuntos de caracteres

distintos de ASCII.

Prácticamente todos los mensajes de correo electrónico

escritos por personas en Internet y una proporción considerable de

estos mensajes generados automáticamente son transmitidos en

formato MIME a través de SMTP. Los mensajes de correo electrónico

en Internet están tan cercanamente asociados con el SMTP y MIME

que usualmente se les llama mensaje SMTP/MIME.

Los tipos de contenido definidos por el estándar MIME tienen

gran importancia también fuera del contexto de los mensajes

electrónicos. Ejemplo de esto son algunos protocolos de red tales

como HTTP de la Web. HTTP requiere que los datos sean

transmitidos en un contexto de mensajes tipo e-mail aunque los datos

pueden no ser un e-mail propiamente dicho.

En la actualidad ningún programa de correo electrónico o

navegador de Internet puede considerarse completo si no acepta

MIME en sus diferentes facetas (texto y formatos de archivo).

Si por ejemplo se quisiera añadir algún tipo de extensión y tipo

MIME, como por ejemplo Ogg (formato de archivo contenedor

multimedia) se podría generar un fichero que denominaremos

arbitrariamente como el fichero /etc/httpd/conf.d/extensiones.conf con el siguiente contenido:

AddType application/ogg .ogg

AddDescription "Ogg Vorbis Audio" .ogg

AddIcon /icons/sound2.png .ogg

2.5.6. Soporte para CGI con extensión *.cgi

Página 205

Page 207: instalacion configuracion centos

GRUPO LINUX REDES II

Si se quisiera añadir que se reconociera la extensión *.cgi como un guión CGI (Common Gateway Interface), solo bastará añadir

un fichero que denominaremos, arbitrariamente,

/etc/httpd/conf.d/cgi.conf con el siguiente contenido:

AddHandler cgi-script .cgi

Probando la configuración.

Utilice el editor de texto de su preferencia para crear el fichero

/var/www/cgi-bin/tiempo.cgi. Este deberá llevar lo siguiente como

contenido:

#!/usr/bin/perl

print "content-type: text/htmlnn";

print scalar localtime;

print "n";

Deberemos de cambiar el permiso del archivo anterior con la

siguiente línea de mandato:

chmod 755 /var/www/cgi-bin/tiempo.cgi

Utilice el navegador de red que prefiera y apunte éste hacia

http://127.0.0.1/cgi-bin/tiempo.cgi. Si el navegador nos da una salida

similar a la siguiente, se habrá configurado exitosamente Apache®

para ejecutar guiones CGI:

Tue Jul 05 22:10:41 2005

2.6.MODIFICACIONES NECESARIAS EN EL MURO CORTAFUEGOS.

Si se utiliza un cortafuegos con políticas estrictas, como por ejemplo

Shorewall, es necesario abrir el puerto 80 por TCP (HTTP).

Página 206

Page 208: instalacion configuracion centos

GRUPO LINUX REDES II

Las reglas para el fichero /etc/shorewall/rules de Shorewall correspondería a algo similar a lo siguiente:

#ACTION

#

SOURCE DEST PROTO DEST

PORT

SOURCE

PORT(S)1

ACCEPT net fw tcp 80

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT

REMOVE

2.7.CONFIGURACIÓN DE SITIOS DE RED VIRTUALES EN APACHE.

Puede generarse cualquier fichero con extensión *.conf dentro del

directorio /etc/httpd/conf.d/ de Apache® 2.0.x. Puede incluirse contenido

como el siguiente:

# Definición del Sitio de Red principal

NameVirtualHost 192.168.1.254

<VirtualHost 192.168.1.254>

ServerAdmin [email protected]

DocumentRoot /var/www/html/

ServerName www.dominio.com</VirtualHost>

# Web virtual con definición de directorio para CGI

<VirtualHost 192.168.1.254>

ServerName www.algun-dominio.comServerAlias algun-dominio.comServerAdmin [email protected] /var/www/algun-dominio/logs/error_log

CustomLog /var/www/algun-dominio/logs/access_log

combined

ScriptAlias /cgi-bin/ "/var/www/algun-dominio/cgi-bin/"Página 207

Page 209: instalacion configuracion centos

GRUPO LINUX REDES II

<Directory "/var/www/algun-dominio/cgi-bin">

AllowOverride None

Options None

Order allow,deny

Allow from all

</Directory>

AddHandler cgi-script .cgi

</VirtualHost>

Más Sitios de Red virtuales:<VirtualHost 192.168.1.254>

ServerAdmin [email protected] /usr/share/squirrelmail/

ServerName webmail.dominio.com

ErrorLog logs/webmail.dominio.com-error_log

CustomLog logs/webmail.dominio.com-access_log combined

</VirtualHost>

<VirtualHost 192.168.1.254>

ServerAdmin [email protected] /var/www/beta/

ServerName beta.dominio.comErrorLog /var/www/beta/logs/beta.dominio.com-error_log

CustomLog /var/www/beta/logs/beta.dominio.com-access_log

combined

</VirtualHost>

<VirtualHost 192.168.1.254>

ServerAdmin [email protected]

DocumentRoot /usr/share/squirrelmail/

ServerName mail.dominio.comErrorLog logs/mail.dominio.com-error_log

CustomLog logs/mail.dominio.com-access_log combined

</VirtualHost>

Página 208

Page 210: instalacion configuracion centos

GRUPO LINUX REDES II

<VirtualHost 192.168.1.254>

ServerAdmin [email protected] /var/www/mi-dominio/

ServerName www.dominio.netErrorLog /var/www/mi-dominio/logs/www.dominio.net-

error_log

CustomLog /var/www/mi-dominio/logs/www.dominio.net-

access_log combined

</VirtualHost>

NOTALos principales parámetros usados son descritos en la siguiente tabla:

VirtualHost La función de esta directiva sirve para indicar la

dirección IP en la que se está brindando el servicio.

ServerAdmin Esta directiva especifica la persona a la que se le debe

notificar los problemas referentes al portal web, esto a

través de su cuenta de correo.

DocumentRoot Esta directiva indica al servidor web la ruta en donde se

encuentran almacenados los ficheros web de tu sitio

principal

ServerName Esta directiva especifica el nombre y puerto que el

servidor utiliza para identificarse. Con una correcta

configuración, este valor se puede determinar

automáticamente, pero es recomendable especificarlo

explíciatamente para evitar problemas durante el

arranque.

ServerAlias Esta directiva sirve para que el mismo sitio web sea

accesible desde distintos nombres de dominio. Ejemplo:

algun-dominio.com --> www.algun-dominio.com

Página 209

Page 211: instalacion configuracion centos

GRUPO LINUX REDES II

ErrorLog Indica la ubicación del fichero de registro de errores en

las consultas. Es conveniente especificar un fichero de

registro en cada VirtualHost con el nombre asociado a

ese servidor. De esta forma podemos separar los

registros de los distintos dominios que tengamos

albergados en el servidor web.

2.8.CÓMO HABILITAR LOS FICHEROS .htaccess Y SSI (SERVER SIDE INCLUDES) EN APACHE 2.X.

Apache® 2.x tiene mejores medidas de seguridad que las versiones

anteriores, debido a que su configuración predeterminada viene de tal

modo que deshabilita muchas cosas que podrán considerarse de cierto

riesgo. Parte de esa seguridad incluye deshabilitar los SSI (Server Side

Includes o Inclusiones del Lado del Servidor) y el uso de los ficheros

.htaccess. Estos últimos sirven para modificar o agregar funciones a

directorios.

Básicamente solo se necesita agregar las siguientes líneas a

cualquier definición del directorio que se desee utilizar:

Options IncludesAllowOverride All

2.8.1. Procedimientos.a) Autenticación de directorios.

La autenticación para un directorio, contra un fichero que incluye

claves de acceso, se realiza a través de la siguiente sintaxis en

cualquier fichero .htaccess.

AuthName "Acceso solo usuarios autorizados"

AuthType Basic

require valid-user

AuthUserFile /cualquier/ruta/hacia/fichero/de/claves

Página 210

Page 212: instalacion configuracion centos

GRUPO LINUX REDES II

Ejemplo.Se procede a crear un directorio que será visto desde cualquier

navegador como http://127.0.0.1/privado/.

Genere el fichero /etc/httpd/conf.d/ejemplo-autenticar.conf con el

siguiente contenido:

Alias /privado /var/www/privado<Directory "/var/www/privado">

Options IncludesAllowOverride All

Allow from all

</Directory>

Genere el directorio /var/www/privado/ realizando lo siguiente:

mkdir -p /var/www/privado

Genere el fichero /var/www/privado/.htaccess realizando lo siguiente:

touch /var/www/privado/.htaccess

Edite el fichero /var/www/privado/.htaccess y agregue el siguiente

contenido:

AuthName "Solo usuarios autorizados"

AuthType Basic

require valid-user

AuthUserFile /var/www/claves

Genere el fichero de claves de acceso como /var/www/claves,

utilizando el siguiente procedimiento:

touch /var/www/claves

Con el fin de establecer la seguridad necesaria, cambie los atributos de

lectura y escritura solo para el usuario apache:

chmod 600 /var/www/claves

chown apache:apache /var/www/claves

Agregue algunos usuarios virtuales al fichero de claves,

/var/www/claves, utilizando el siguiente procedimiento con el mandato

htpasswd:

htpasswd /var/www/claves fulano

Página 211

Page 213: instalacion configuracion centos

GRUPO LINUX REDES II

htpasswd /var/www/claves mengano

Reinicie el servicio httpd:

service httpd restart

Acceda con cualquier navegador de red hacia http://127.0.0.1/privado/

y compruebe que funciona el acceso con autenticación en dicho

subdirectorio utilizando cualquiera de los dos usuarios virtuales que

generó con el mandato htpasswd, es decir fulano o mengano.

lynx http://127.0.0.1/privado/

b) Asignación de directivas para PHP.

Suelen darse los casos donde una aplicación, escrita en PHP,

requiere algunas directivas de PHP en particular. En muchos casos se

llegan a necesitar variables que pueden comprometer la seguridad de

otras aplicaciones hospedadas en el servidor. Para tal fin es que se

puede evitar modificar el fichero /etc/php.ini utilizando el parámetro

php_flag en un fichero .htaccess. La siguiente sintaxis es la siguiente:

php_flag directiva_php valor

EjemploSe procederá a asignar las directivas register_globals,

magic_quotes_runtime, magic_quotes_gpc, y upload_max_filesize al directorio en la ruta /var/www/aplicacion, mismo que será

visualizado desde Apache como http://127.0.0.1/aplicacion/. El valor

para register_globals será On, el valor para magic_quotes_runtime será On, el valor para magic_quotes_gpc será On y el valor para

upload_max_filesize será 4M.

Genere el fichero /etc/httpd/conf.d/ejemplo-directivas-php.conf con

el siguiente contenido:

Alias /aplicacion /var/www/aplicacion<Directory "/var/www/aplicacion">

Página 212

Page 214: instalacion configuracion centos

GRUPO LINUX REDES II

Options IncludesAllowOverride All

Order allow,deny

Allow from all

</Directory>

Genere el fichero /var/www/aplicacion/.htaccess realizando lo

siguiente:

touch /var/www/aplicacion/.htaccess

Edite el fichero /var/www/aplicacion/.htaccess y agregue el siguiente

contenido:

php_flag register_globals On

php_flag magic_quotes_gpc On

php_flag magic_quotes_runtime On

php_value upload_max_filesize 4M

Genere el fichero /var/www/aplicacion/info.php, una función que

muestra toda la información acerca de PHP en el servidor, a fin de

corroborar los valores de las directivas de PHP en relación al directorio,

con el siguiente contenido:

<?phpinfo()?>

Reinicie el servicio httpd:

service httpd restart

Acceda con cualquier navegador de red hacia

http://127.0.0.1/aplicacion/info.php y corrobore que los valores para las

variables de PHP para el directorio involucrado realmente han sido

asignadas.

En la sub-sección PHP Core de la sección Configuration, hay tres

columnas: Directive, el cual corresponde a la directivas PHP, Local Value, el cual corresponde a los valores de las directivas de PHP para

Página 213

Page 215: instalacion configuracion centos

GRUPO LINUX REDES II

el directorio actual, y Master Value, que corresponde a los valores de

las directivas generales como están definidas en el fichero /etc/php.ini.

2.9.CÓMO CONFIGURAR APACHE CON SOPORTE SSL/TLS

2.9.1. INTRODUCCIÓN

SSL (Secure Sockets Layer - Protocolo de Capa de Conexión

Segura) y su sucesor TLS (Transport Layer Security - Seguridad en la

Capa de Transporte) son protocolos criptográficos que proporcionan la

seguridad de las comunicaciones a través de redes como la Internet.

Un protocolo de seguridad (protocolo de cifrado o protocolo de

cifrado) es un protocolo abstracto o concreto que realiza una seguridad

relacionados con la función y aplica los métodos de cifrado.

Los protocolos criptográficos son ampliamente utilizados para la

aplicación segura de datos a nivel de transporte. Un protocolo criptográfico

suele incorporar al menos algunos de estos aspectos:

Acuerdo de clave o establecimiento de ellas.

Autenticación de entidades.

Cifrado simétrico y autenticación de mensajes.

Transporte de datos en forma segura a nivel de aplicación.

Métodos de no repudio.

2.9.1.1. HTTPS.HTTPS es la versión segura del protocolo HTTP. No es un

protocolo separado de HTTP. Se trata de una combinación de este

último con un mecanismo de transporte SSL o TLS, garantizando una

Página 214

Page 216: instalacion configuracion centos

GRUPO LINUX REDES II

protección razonable durante la comunicación cliente-servidor. Es

ampliamente utilizado en la red mundial (WWW o World Wide Web)

para comunicaciones como transacciones bancarias y pago de bienes

y servicios.

El servicio utiliza el puerto 443 por TCP para realizar las

comunicaciones (la comunicación normal para HTTP utiliza el 80 por

TCP). El esquema URI (Uniform Resource Identifier o Identificador

Uniforme de Recursos) es, comparando sintaxis, idéntico al de HTTP

(http:), utilizándose como «https:» seguido del subconjunto

denominado URL (Uniform Resource Locator o Localizador Uniforme

de Recursos). Ejemplo: https://www.dominio.org/

2.9.1.2. RSA.RSA, acrónimo de los apellidos de sus autores, Ron Rivest, Adi

Shamir y Len Adleman, es un algoritmo para el ciframiento de claves

públicas que fue publicado en 1977, patentado en EE.UU. en 1983 por

el Instituto Tecnológico de Michigan (MIT). RSA es utilizado

ampliamente en todo el mundo para los protocolos destinados para el

comercio electrónico.

El sistema criptográfico con clave pública RSA es un algoritmo

asimétrico cifrador de bloques, que utiliza una clave pública, la cual se

distribuye (en forma autenticada preferentemente), y otra privada, la

cual es guardada en secreto por su propietario.

Una clave es un número de gran tamaño, que una persona

puede conceptualizar como un mensaje digital, como un archivo

binario o como una cadena de bits o bytes.

Cuando se quiere enviar un mensaje, el emisor busca la clave

pública de cifrado del receptor, cifra su mensaje con esa clave, y una

Página 215

Page 217: instalacion configuracion centos

GRUPO LINUX REDES II

vez que el mensaje cifrado llega al receptor, éste se ocupa de

descifrarlo usando su clave oculta.

Los mensajes enviados usando el algoritmo RSA se

representan mediante números y el funcionamiento se basa en el

producto de dos números primos grandes (mayores que 10100)

elegidos al azar para conformar la clave de descifrado. Emplea

expresiones exponenciales en aritmética modular.

La seguridad de este algoritmo radica en que no hay maneras

rápidas conocidas de factorizar un número grande en sus factores

primos utilizando computadoras tradicionales.

Cifrado de mensajes

Ejemplo: Bob quiere enviar a Alicia un mensaje secreto que solo ella

pueda leer.

Alicia envía a Bob una caja con una cerradura abierta, de la

que solo Alicia tiene la llave. Bob recibe la caja, escribe el mensaje,

lo pone en la caja y la cierra con su cerradura (ahora Bob no puede

leer el mensaje). Bob envía la caja a Alicia y ella la abre con su llave.

En este ejemplo, la caja con la cerradura es la clave pública de

Alicia, y la llave de la cerradura es su clave privada.

Supongamos que Bob desea enviar un mensaje M a Alicia. Él

cambia M en un número m<n, usando un protocolo reversible

conocido como padding scheme.

Bob ahora tiene m. Alicia envía su clave pública (n,e) a Bob.

Él entonces calcula el texto cifrado c correspondiente a m: Esto

Página 216

Page 218: instalacion configuracion centos

GRUPO LINUX REDES II

puede ser rápido usando el método de exponentiation by squaring

(llamado también exponenciación binaria). Bob transmite c a Alicia.

1. Cada usuario elige n = p·q2. Los valores p y q NO se hacen públicos

3. Cada usuario calcula φ(n) = (p-1)(q-1)4. Cada usuario elige una clave pública e de forma que 1 < e <

φ(n) y que cumpla con la condición: mcd [e, ϕ(n)] = 15. Cada usuario calcula la clave privada d = inv [e, φ(n)]6. Se hace público el grupo n y la clave e7. Se guarda en secreto la clave d

Cifra: C = NeR mod nR

Firma: C = h(M)dE mod nE

Ejemplo:

Aquí tenemos un ejemplo de cifrado/descifrado con RSA. Los

parámetros usados aquí son pequeños y orientativos con respecto a

los que maneja el algoritmo, pero podemos usar también OpenSSL

para generar y examinar una par de claves reales.

p=61 1º nº primo Privado

q=53 2º nº primo Privado

n=pq=3233 producto p*q

e=17 exponente Público

d=2753 exponente Privado

La clave pública (e, n). La clave privada es d. La función de

cifrado es:

encrypt(m) = me(mod n) = m17(mod 3233)

Página 217

Page 219: instalacion configuracion centos

GRUPO LINUX REDES II

Donde m es el texto sin cifrar. La función de descifrado es:

decrypt(c) = cd(mod n) = c2753(mod 3233)

Donde c es el texto cifrado. Para cifrar el valor del texto sin cifrar 123,

nosotros calculamos:

encrypt(123) = 12317(mod 3233) = 855

Para descifrar el valor del texto cifrado, nosotros calculamos:

decrypt(855) = 8552753(mod 3233) = 123

Ambos de estos cálculos pueden ser eficientemente usados por el

algoritmo de multiplicación cuadrática para exponenciación modular.

2.9.1.3. Triple DES.Triple DES, o TDES, es un algoritmo que realiza un triple

cifrado DES, desarrollado por IBM en 1978. Su origen tuvo como

finalidad el agrandar la longitud de una clave sin necesidad de cambiar

el algoritmo de ciframiento, lo cual lo hace más seguro que el

algoritmo DES, obligando a un atacante el tener que triplicar el número

de operaciones para poder hacer daño. A pesar de que actualmente

está siendo reemplazado por el algoritmo AES (Advanced Encryption

Standard, también conocido como Rijndael), sigue siendo estándar

para las tarjetas de crédito y operaciones de comercio electrónico.

a) AlgoritmoLa variante más simple del Triple DES funciona de la

siguiente manera:

Donde M es el mensaje a cifrar y k1, k2 y k3 las respectivas

claves DES. En la variante 3TDES las tres claves son diferentes; en

la variante 2TDES, la primera y tercera clave son iguales.

Página 218

Page 220: instalacion configuracion centos

GRUPO LINUX REDES II

b) SeguridadCuando se descubrió que una clave de 56 bits no era

suficiente para evitar un ataque de fuerza bruta, TDES fue elegido

como forma de agrandar el largo de la clave sin necesidad de

cambiar de algoritmo de cifrado. Este método de cifrado es inmune

al ataque por encuentro a medio camino, doblando la longitud

efectiva de la clave (112 bits), pero en cambio es preciso triplicar el

número de operaciones de cifrado, haciendo este método de cifrado

muchísimo más seguro que el DES. Por tanto, la longitud de la clave

usada será de 192 bits, aunque como se ha dicho su eficacia solo

sea de 112 bits.

c) AESAES puede llegar a ser hasta 6 veces más rápido que TDES y

a la fecha no se ha encontrado ninguna vulnerabilidad.

También conocido como Rijndael, es un esquema de cifrado

por bloques adoptado como un estándar de cifrado por el gobierno

de los Estados Unidos. El AES fue anunciado por el Instituto

Nacional de Estándares y Tecnología (NIST) como FIPS PUB 197

de los Estados Unidos (FIPS 197) el 26 de noviembre de 2001

después de un proceso de estandarización que duró 5 años. Se

transformó en un estándar efectivo el 26 de mayo de 2002. Desde

2006, el AES es uno de los algoritmos más populares usados en

criptografía simétrica.

El cifrador fue desarrollado por dos criptólogos belgas, Joan

Daemen y Vincent Rijmen, ambos estudiantes de la Katholieke

Universiteit Leuven, y enviado al proceso de selección AES bajo el

nombre "Rijndael".

Descripción del Cifrado

Página 219

Page 221: instalacion configuracion centos

GRUPO LINUX REDES II

Estrictamente hablando, AES no es precisamente Rijndael

(aunque en la práctica se los llama de manera indistinta) ya que

Rijndael permite un mayor rango de tamaño de bloques y longitud de

claves; AES tiene un tamaño de bloque fijo de 128 bits y tamaños de

llave de 128, 192 ó 256 bits, mientras que Rijndael puede ser

especificado por una clave que sea múltiplo de 32 bits, con un

mínimo de 128 bits y un máximo de 256 bits.

La mayoría de los cálculos del algoritmo AES se hacen en un

campo finito determinado.

AES opera en una matriz de 4×4 bytes, llamada state (algunas versiones de Rijndael con un tamaño de bloque mayor

tienen columnas adicionales en el state).

Pseudo-código

Expansión de la clave usando el esquema de claves de Rijndael.

Etapa inicial

1. AddRoundKey Rondas:

1. SubBytes — en este paso se realiza una sustitución no

lineal donde cada byte es reemplazado con otro de

acuerdo a una tabla de búsqueda.

2. ShiftRows — en este paso se realiza una transposición

donde cada fila del «state» es rotada de manera cíclica un

número determinado de veces.

3. MixColumns — operación de mezclado que opera en las

columnas del «state», combinando los cuatro bytes en

cada columna usando una transformación lineal.

4. AddRoundKey — cada byte del «state» es combinado

con la clave «round»; cada clave «round» se deriva de la

clave de cifrado usando una iteración de la clave.

Página 220

Page 222: instalacion configuracion centos

GRUPO LINUX REDES II

Etapa final:

1. SubBytes

2. ShiftRows

3. AddRoundKey

Etapa SubBytes - Substitución de bits

En la etapa SubBytes, cada byte en la matriz es actualizado

usando la caja-S de Rijndael de 8 bits. Esta operación provee la no

linealidad en el cifrado. La caja-S utilizada proviene de la función

inversa alrededor del GF(28), conocido por tener grandes

propiedades de no linealidad. Para evitar ataques basados en

simples propiedades algebraicas, la caja-S se construye por la

combinación de la función inversa con una transformación afín

inversible. La caja-S también se elige para evitar puntos estables (y

es por lo tanto un derangement), y también cualesquiera puntos

estables opuestos.

En la fase de SubBytes, cada byte en el state es reemplazado con

su entrada en una tabla de búsqueda fija de 8 bits, S; bij = S(aij).

Página 221

Page 223: instalacion configuracion centos

GRUPO LINUX REDES II

Etapa ShiftRows - Desplazar filas

El paso ShiftRows opera en las filas del state; rota de manera

cíclica los bytes en cada fila por un determinado offset. En AES, la

primera fila queda en la misma posición. Cada byte de la segunda

fila es rotado una posición a la izquierda. De manera similar, la

tercera y cuarta filas son rotadas por los offsets de dos y tres

respectivamente. De esta manera, cada columna del state resultante

del paso ShiftRows está compuesta por bytes de cada columna del

state inicial. (variantes de Rijndael con mayor tamaño de bloque

tienen offsets distintos).

En el paso ShiftRows, los bytes en cada fila del state son

rotados de manera cíclica hacia la izquierda. El número de lugares

que cada byte es rotado difiere para cada fila.

Etapa MixColumns - Mezclar columnas

En el paso MixColumns, los cuatro bytes de cada columna del

state se combinan usando una transformación lineal inversible. La

función MixColumns toma cuatro bytes como entrada y devuelve

cuatro bytes, donde cada byte de entrada influye todas las salidas de

cuatro bytes. Junto con ShiftRows, MixColumns implica difusión en

el cifrado. Cada columna se trata como un polinomio GF(28) y luego

se multiplica el módulo x4 + 1 con un polinomio fijo c(x). El paso

MixColumns puede verse como una multiplicación matricial en el

campo finito de Rijndael.

Página 222

Page 224: instalacion configuracion centos

GRUPO LINUX REDES II

En el paso MixColumns, cada columna del state es

multiplicada por un polinomio constante c(x).

Etapa AddRoundKey - Cálculo de las subclaves

En el paso AddRoundKey, la subclave se combina con el state.

En cada ronda se obtiene una subclave de la clave principal, usando

la iteración de la clave; cada subclave es del mismo tamaño del state.

La subclave se agrega combinando cada byte del state con el

correspondiente byte de la subclave usando XOR.

Página 223

Page 225: instalacion configuracion centos

GRUPO LINUX REDES II

En el paso AddRoundKey, cada byte del state se combina con

un byte de la subclave usando la operación XOR ().

Optimización del cifrado

En sistemas de 32 bits o de mayor tamaño de palabra, es

posible acelerar la ejecución de este algoritmo mediante la

conversión de las transformaciones SubBytes, ShiftRows y MixColumn en

tablas. Se tienen cuatro tablas de 256 entradas de 32 bits que

utilizan un total de 4 kilobytes (4096 bytes) de memoria, un Kb cada

tabla. De esta manera, una ronda del algoritmo consiste en 16

búsquedas en una tabla seguida de 16 operaciones XOR de 32 bits

en el paso AddRoundKey. Si el tamaño de 4 kilobytes de la tabla es

demasiado grande para una plataforma determinada, la operación

de búsqueda en la tabla se puede realizar mediante una sola tabla

de 256 entradas de 32 bits mediante el uso de rotaciones circulares.

2.9.1.4. X.509.

X.509 es un estándar ITU-T (estandarización de

Telecomunicaciones de la International). Entre otras cosas,

establece los estándares para certificados de claves públicas y un

algoritmo para validación de ruta de certificación. Este último se

encarga de verificar que la ruta de un certificado sea válida bajo una

infraestructura de clave pública determinada. Es decir, desde el

certificado inicial, pasando por certificados intermedios, hasta el

certificado de confianza emitido por una Autoridad Certificadora (CA,

o Certification Authority).

2.9.1.5. OpenSSL.

Página 224

Page 226: instalacion configuracion centos

GRUPO LINUX REDES II

OpenSSL es una implementación libre, de código abierto, de

los protocolos SSL (Secure Sockets Layer o Nivel de Zócalo Seguro)

y TLS (Transport Layer Security, o Seguridad para Nivel de

Transporte). Está basado sobre el extinto proyecto SSLeay, iniciado

por Eric Young y Tim Hudson, hasta que éstos comenzaron a

trabajar para la división de seguridad de EMC Corporation.

2.9.1.6. Acerca de mod_ssl.Mod_ssl es un módulo para el servidor HTTP Apache, el cual

provee soporte para SSL versiones 2 y 3 y TLS versión 1. Es una

contribución de Ralf S. Engeschall, derivado del trabajo de Ben

Laurie.

2.9.2. REQUISITOS.

Es necesario disponer de una dirección IP pública para cada sitio de

red virtual que se quiera configurar con soporte SSL/TLS. Debido a la

naturaleza de los protocolos SSL y TLS, no es posible utilizar múltiples

sitios de red virtuales con soporte SSL/TLS utilizando una misma dirección

IP. Cada certificado utilizado requerirá una dirección IP independiente en el

sitio de red virtual.

El paquete mod_ssl instala el fichero /etc/httpd/conf.d/ssl.conf, mismo que no es necesario modificar, puesto que se utilizarán ficheros de

inclusión, con extensión *.conf, dentro del directorio /etc/httpd/conf.d/, a fin

de respetar la configuración predeterminada y podre contar con la misma,

que es funcional, brindando un punto de retorno en el caso de que algo

saliera mal.

2.9.3. Equipamiento lógico necesario.

Instalación a través de yum.

Página 225

Page 227: instalacion configuracion centos

GRUPO LINUX REDES II

Si se utiliza de CentOS 4 y 5 o White Box Enterprise Linux 4 y 5,

ejecute lo siguiente:

yum -y install mod_ssl

2.9.4. Procedimientos.

Acceda al sistema como el usuario root. Se debe crear el

directorio donde se almacenarán los certificados para todos los sitios

SSL. El directorio, por motivos de seguridad, debe ser solamente

accesible para el usuario root.mkdir -m 0700 /etc/ssl

A fin de mantener cierta organización, y un directorio dedicado

para cada sitio virtual SSL, es conveniente crear un directorio

específico para almacenar los certificados de cada sitio virtual SSL.

Igualmente, por motivos de seguridad, debe ser solamente

accesible para el usuario root.mkdir -m 0700 /etc/ssl/midominio.org

Acceder al directorio que se acaba de crear.

cd /etc/ssl/midominio.org

a) Generando clave y certificado.

Se debe crear una clave con algoritmo RSA de 1024 octetos y

estructura x509, la cual se cifra utilizado Triple DES (Data

Encryption Standard), almacenado en formato PEM de modo que

sea interpretable como texto ASCII. En el proceso descrito a

continuación, se utilizan 5 ficheros comprimidos con gzip, que se

utilizan como semillas aleatorias que mejoran la seguridad de la

clave creada (server.key).

openssl genrsa -des3 -rand

Página 226

Page 228: instalacion configuracion centos

GRUPO LINUX REDES II

fichero1.gz:fichero2.gz:fichero3.gz:fichero4.gz:fichero5.gz -out server.key 1024

Si se utiliza este fichero (server.key) para la configuración del

sitio virtual, se requerirá de interacción del administrador cada vez

que se tenga que iniciar, o reiniciar, el servicio httpd, ingresando la

clave de acceso de la clave RSA. Este es el procedimiento más

seguro, sin embargo, debido a que resultaría poco práctico tener que

ingresar una clave de acceso cada vez que se inicie el servicio httpd,

resulta conveniente generar una clave sin Triple DES, la cual

permita iniciar normalmente, sin interacción alguna, al servicio httpd.

A fin de que no se sacrifique demasiada seguridad, es un requisito

indispensable que esta clave (fichero server.pem) solo sea accesible

para root. Ésta es la razón por la cual se crea el directorio

/etc/ssl/midominio.org con permiso de acceso solo para root.

openssl rsa -in server.key -out server.pem

Opcionalmente se genera un fichero de petición CSR (Certificate Signing Request) que se hace llegar a una RA (Registration Authority o Autoridad de Registro), como Verisign,

quienes, tras el correspondiente pago, envían de vuelta un

certificado (server.crt) firmado por dicha autoridad.

openssl req -new -key server.key -out server.csr

Lo anterior solicitará se ingresen varios datos:

• Código de dos letras para el país.

• Estado o provincia.

• Ciudad.

• Nombre de la empresa o razón social.

• Unidad o sección.

• Nombre del anfitrión.

Página 227

Page 229: instalacion configuracion centos

GRUPO LINUX REDES II

• Dirección de correo.

• Opcionalmente se puede añadir otra clave de acceso y

nuevamente el nombre de la empresa.

La salida devuelta sería similar a la siguiente:You are about to be asked to enter information that will be incorporated into your

certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [GB]:MXState or Province Name (full name) [Berkshire]:Distrito FederalLocality Name (eg, city) [Newbury]:MexicoOrganization Name (eg, company) [My Company Ltd]:

Mi empresa, S.A. de C.V.Organizational Unit Name (eg, section) []:Direccion Comercial

Common Name (eg, your name or your server's hostname) []:

www.midominio.orgEmail Address []:[email protected] enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

Si no se desea un certificado firmado por un RA, puede

generarse uno certificado propio utilizando el fichero de petición CSR (server.csr). En el ejemplo a continuación, se crea un certificado con

estructura X.509 en el que se establece una validez por 730 días

(dos años).

openssl x509 -req -days 730 -in server.csr -signkey server.key -out server.crt

Página 228

Page 230: instalacion configuracion centos

GRUPO LINUX REDES II

Con la finalidad de que solo el usuario root pueda acceder a

los ficheros creados, se deben cambiar los permisos de éstos a solo

lectura para root.chmod 400 /etc/ssl/midominio.org/server.*

b) Configuración de Apache.

Crear la estructura de directorios para el sitio de red virtual.

mkdir -p /var/www/midominio.org/{cgi-bin,html,logs,etc,var}

De todos directorios creados, solo /var/www/midominio.org/html,

/var/www/midominio.org/etc, /var/www/midominio.org/cgi-bin y

/var/www/midominio.org/var pueden pertenecer al usuario, sin

privilegios, que administrará éste sitio de red virtual. Por motivos de

seguridad, y a fin de evitar que el servicio HTTPD no sea trastornado

en caso de un borrado accidental de algún directorio, tanto

/var/www/midominio.org/ como /var/www/midominio.org/logs, deben

pertenecer al usuario root.

Crear el fichero /etc/httpd/conf.d/midominio.conf con el siguiente

contenido, donde a.b.c.d corresponde a una dirección IP, y

midominio.org corresponde al nombre de dominio a configurar para

el sitio de red virtual:

### midominio.org ###

NameVirtualHost a.b.c.d:80

<VirtualHost a.b.c.d:80>

ServerAdmin [email protected] /var/www/midominio.org/html

ServerName www.midominio.orgServerAlias midominio.orgRedirect 301 / https://www.midominio.org/

CustomLog /var/www/midominio.org/logs/access_log combined

Errorlog /var/www/midominio.org/logs/error_log

Página 229

Page 231: instalacion configuracion centos

GRUPO LINUX REDES II

</VirtualHost>

NameVirtualHost a.b.c.d:443

<VirtualHost a.b.c.d:443>

ServerAdmin [email protected] /var/www/midominio.org/html

ServerName www.midominio.orgScriptAlias /cgi-bin/ /var/www/midominio.org/cgi-bin/

<Directory "/var/www/midominio.org/cgi-bin">

SSLOptions +StdEnvVars

</Directory>

SSLEngine on

SSLProtocol all -SSLv2

SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:

+MEDIUM:+LOW

SSLCertificateFile /etc/ssl/midominio.org/server.crtSSLCertificateKeyFile /etc/ssl/midominio.org/server.pemSetEnvIf User-Agent ".*MSIE.*" \

nokeepalive ssl-unclean-shutdown \

downgrade-1.0 force-response-1.0

CustomLog /var/www/midominio.org/logs/ssl_request_log \"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

Errorlog /var/www/midominio.org/logs/ssl_error_log

TransferLog /var/www/midominio.org/logs/ssl_access_log

LogLevel warn

</VirtualHost>

A fin de que surtan efecto los cambios, es necesario reiniciar el

servicio httpd.

service httpd restart

c) Comprobación.

Solo basta dirigir cualquier navegador HTTP hacia

https://www.midominio.org/ a fin de verificar que todo esté

Página 230

Page 232: instalacion configuracion centos

GRUPO LINUX REDES II

trabajando correctamente. Tras aceptar el certificado, en el caso de

que éste no haya sido firmado por un RA, deberá poderse observar

un signo en la barra de estado del navegador, el cual indica que se

trata de una conexión segura.

d) Modificaciones necesarias en el muro cortafuegos.Si se utiliza un cortafuegos con políticas estrictas, como por

ejemplo Shorewall, es necesario abrir, además del puerto 80 por

TCP (HTTP), el puerto 443 por TCP (HTTPS).

Las reglas para el fichero /etc/shorewall/rules de Shorewall correspondería a algo similar a lo siguiente:

#ACTION SOURCE DEST PROTO DEST

PORT

SOURCE

PORT(S)1

ACCEPT net fw tcp 80,443

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Página 231

Page 233: instalacion configuracion centos

GRUPO LINUX REDES II

3.SERVIDOR DNS

3.1. INTRODUCCIÓN

3.1.1. DNS (Domain Name System)

DNS es una base de datos distribuida y jerárquica que

almacena la información necesaria para los nombre de dominio. Sus

usos principales son la asignación de nombres de dominio a

direcciones IP y la localización de los servidores de correo

electrónico correspondientes para cada dominio. El DNS nació de la

necesidad de facilitar a los seres humanos el acceso hacia los

servidores disponibles a través de Internet permitiendo hacerlo por

un nombre, algo más fácil de recordar que una dirección IP.

Los Servidores DNS utilizan TCP y UDP en el puerto 53 para

responder las consultas. Casi todas las consultas consisten de una

sola solicitud UDP desde un Cliente DNS seguida por una sola

respuesta UDP del servidor. TCP interviene cuando el tamaño de los

datos de la respuesta excede los 512 bytes, tal como ocurre con

tareas como transferencia de zonas.

Página 232

Page 234: instalacion configuracion centos

GRUPO LINUX REDES II

3.1.2. Bind (Berkeley Internet Name Domain).BIND es una implementación del protocolo DNS y provee una

implementación libre de los principales componentes del Sistema de

Nombres de Dominio, los cuales incluyen:

• Un servidor de sistema de nombres de dominio (named).

• Una biblioteca resolutoria de sistema de nombres de dominio.

• Herramientas para verificar la operación adecuada del servidor

DNS (bindutils).

El Servidor DNS BIND es ampliamente utilizado en la Internet

(99% de los servidores DNS) proporcionando una robusta y estable

solución.

3.1.3. NIC (Network Information Center).

NIC (Centro de Información sobre la Red) es una institución

encargada de asignar los nombres de dominio en Internet, ya sean

nombres de dominios genéricos o por países, permitiendo a

personas o empresas montar sitios de Internet a través de un ISP

(Proveedor de servicios de Internet) mediante un DNS.

Técnicamente existe un NIC por cada país en el mundo y cada uno

de éstos es responsable por todos los dominios con la terminación

correspondiente a su país.

Por ejemplo: Red Científica Peruana (RCP) es la entidad

encargada de gestionar todos los dominios .pe. La RCP es

responsable de la coordinación de la administración de los

Página 233

Page 235: instalacion configuracion centos

GRUPO LINUX REDES II

elementos técnicos del DNS para garantizar una resolución unívoca

de los nombres, de manera que los usuarios de Internet puedan

encontrar todas las direcciones válidas. Para ello, se encarga de

supervisar la distribución de los identificadores técnicos únicos

usados en las operaciones de Internet, y delegar los nombres de

dominios de segundo y tercer nivel. [RCP: https://www.punto.pe]

ICANN (Internet Corporation for Assigned Names and

Numbers) es una organización sin fines de lucro que opera a nivel

internacional, responsable de asignar espacio de direcciones

numéricas de protocolo de Internet, identificadores de protocolo y de

las funciones de gestión o administración del sistema de nombres de

dominio de primer nivel genéricos (gTLD) y de códigos de países

(ccTLD), así como de la administración del sistema de servidores

raíz. Aunque en un principio estos servicios los desempeñaba

Internet Assigned Numbers Authority (IANA) y otras entidades bajo

contrato con el gobierno de EE.UU., actualmente son

responsabilidad de ICANN. ICANN introdujo en el año 2000 siete

nuevos nombres de dominio genéricos de primer

nivel: .aero, .biz, .coop, .info, .museum, .name y .pro. Actualmente,

ICANN está explorando la posibilidad de agregar otros.

3.1.4. FQDN (Fully Qualified Domain Name).

FQDN (Nombre de Dominio Plenamente Calificado) es un

Nombre de Dominio ambiguo que especifica la posición absoluta del

nodo en el árbol jerárquico del DNS. Se distingue de un nombre

regular porque lleva un punto al final.

Como ejemplo: suponiendo que se tiene un dispositivo cuyo

nombre de anfitrión es «maquina1» y un dominio llamado

«dominio.com», el FQDN sería «maquina1.dominio.com.», así es

Página 234

Page 236: instalacion configuracion centos

GRUPO LINUX REDES II

que se define de forma única al dispositivo mientras que pudieran

existir muchos anfitriones llamados «maquina1», solo puede haber

uno llamado «maquina1.dominio.com.». La ausencia del punto al

final definiría que se pudiera tratar tan solo de un prefijo, es decir

«maquina1.dominio.com» pudiera ser un dominio de otro más

largo como «maquina1.dominio.com.mx».

La longitud máxima de un FQDN es de 255 bytes, con una

restricción adicional de 63 bytes para cada etiqueta dentro del

nombre del dominio. Solo se permiten los caracteres A-Z de ASCII,

dígitos y el carácter «-». No se distinguen mayúsculas y minúsculas.

Desde 2004, a solicitud de varios países de Europa, existe el

estándar IDN (Internationalized Domain Name) que permite

caracteres no-ASCII, codificando caracteres Unicode dentro de

cadenas de bytes dentro del conjunto normal de caracteres de

FQDN. Como resultado, los límites de longitud de los nombres de

dominio IDN dependen directamente del contenido mismo del

nombre.

3.1.5. Componentes de un DNS.

Los DNS operan a través de tres componentes: Clientes DNS,

Servidores DNS y Zonas de Autoridad.

a) Clientes DNS.Son programas que ejecuta un usuario y que generan

peticiones de consulta para resolver nombres. Básicamente

preguntan por la dirección IP que corresponde a un nombre

determinado.

b) Servidores DNS.

Página 235

Page 237: instalacion configuracion centos

GRUPO LINUX REDES II

Son servicios que contestan las consultas realizadas por los

Clientes DNS. Hay dos tipos de servidores de nombres:

• Servidor Maestro: También denominado Primario. Obtiene

los datos del dominio a partir de un fichero alojado en el

mismo servidor.

• Servidor Esclavo: También denominado Secundario. Al

iniciar obtiene los datos del dominio a través de un Servidor

Maestro, realizando un proceso denominado transferencia de zona.

Un gran número de problemas de operación de servidores DNS

se atribuyen a las pobres opciones de servidores secundarios para las

zonas de DNS. De acuerdo al RFC 2182, el DNS requiere que al menos tres servidores existan para todos los dominios delegados (o

zonas).

Una de las principales razones para tener al menos tres servidores para cada zona es permitir que la información de la zona

misma esté disponible siempre y forma confiable hacia los Clientes DNS a través de Internet cuando un servidor DNS de dicha zona falle,

no esté disponible y/o esté inalcanzable.

Contar con múltiples servidores también facilita la propagación

de la zona y mejoran la eficiencia del sistema en general al brindar

opciones a los Clientes DNS si acaso encontraran dificultades para

realizar una consulta en un Servidor DNS. En otras palabras: tener

múltiples servidores para una zona permite contar con redundancia y respaldo del servicio.

Con múltiples servidores, por lo general uno actúa como

Servidor Primario y los demás como Servidores Secundarios.

Correctamente configurados y una vez creados los datos para una

Página 236

Page 238: instalacion configuracion centos

GRUPO LINUX REDES II

zona, no será necesario copiarlos a cada Servidor Esclavo o Secundario, pues éste se encargará de transferir los datos de manera

automática cuando sea necesario.

Los Servidores DNS responden dos tipos de consultas:

Consultas Iterativas (no recursivas): El cliente hace una

consulta al Servidor DNS y este le responde con la mejor

respuesta que pueda darse basada sobre su caché o en las zonas

locales. Si no es posible dar una respuesta, la consulta se reenvía

hacia otro Servidor DNS repitiéndose este proceso hasta

encontrar al Servidor DNS que tiene la Zona de Autoridad capaz

de resolver la consulta.

Consultas Recursivas: El Servidor DNS asume toda la carga de

proporcionar una respuesta completa para la consulta realizada

por el Cliente DNS. El Servidor DNS desarrolla entonces

Consultas Iterativas separadas hacia otros Servidores DNS (en

lugar de hacerlo el Cliente DNS) para obtener la respuesta

solicitada.

c) Zonas de Autoridad.Permiten al Servidor Maestro o Primario cargar la información

de una zona. Cada Zona de Autoridad abarca al menos un dominio y

posiblemente sus sub-dominios, si estos últimos no son delegados a

otras zonas de autoridad.

La información de cada Zona de Autoridad es almacenada de

forma local en un fichero en el Servidor DNS. Este fichero puede

incluir varios tipos de registros:

Tipo de Registro Descripción

Página 237

Page 239: instalacion configuracion centos

GRUPO LINUX REDES II

A (Address) Registro de dirección que resuelve un nombre de un anfitrión

hacia una dirección IPv4 de 32 bits.

AAAA Registro de dirección que resuelve un nombre de un anfitrión

hacia una dirección IPv6 de 128 bits.

CNAME (Canonical Name)

Registro de nombre canónico que hace que un nombre sea

alias de otro. Los dominios con alias obtienen los sub-dominios

y registros DNS del dominio original.

MX (Mail

Exchanger)

Registro de servidor de correo que sirve para definir una lista

de servidores de correo para un dominio, así como la prioridad

entre éstos.

PTR (Pointer) Registro de apuntador que resuelve direcciones IPv4 hacia el

nombre anfitriones. Es decir, hace lo contrario al registro A. Se

utiliza en zonas de Resolución Inversa.

NS (Name Server) Registro de servidor de nombres que sirve para definir una

lista de servidores de nombres con autoridad para un dominio.

SOA (Start of Authority)

Registro de inicio de autoridad que especifica el Servidor DNS Maestro (o Primario) que proporcionará la información con

autoridad acerca de un dominio de Internet, dirección de

correo electrónico del administrador, número de serie del

dominio y parámetros de tiempo para la zona.

SRV (Service) Registro de servicios que especifica información acerca de

servicios disponibles a través del dominio. Protocolos como

SIP (Session Initiation Protocol) y XMPP (Extensible

Messaging and Presence Protocol) suelen requerir registros

SRV en la zona para proporcionar información a los clientes.

TXT (Text) Registro de texto que permite al administrador insertar texto

arbitrariamente en un registro DNS. Este tipo de registro es

muy utilizado por los servidores de listas negras DNSBL (DNSbased Blackhole List) para la filtración de Spam. Otro

ejemplo de uso son las VPN, donde suele requerirse un

registro TXT para definir una llave que será utilizada por los

Página 238

Page 240: instalacion configuracion centos

GRUPO LINUX REDES II

clientes.

Las zonas que se pueden resolver son:

Zonas de Reenvío.Devuelven direcciones IP para las búsquedas hechas para

nombres FQDN (Fully Qualified Domain Name).

En el caso de dominios públicos, la responsabilidad de que exista

una Zona de Autoridad para cada Zona de Reenvío corresponde a la

autoridad misma del dominio, es decir, y por lo general, quien esté

registrado como autoridad del dominio tras consultar una base de datos

WHOIS. Quienes compran dominios a través de un NIC (por ejemplo

ejemplo: www.nic.mx) son quienes se hacen cargo de las Zonas de

Reenvío, ya sea a través de su propio Servidor DNS o bien a través de los

Servidores DNS de su ISP.

Salvo que se trate de un dominio para uso en una red local, todo

dominio debe ser primero tramitado con un NIC como requisito para tener

derecho legal a utilizarlo y poder propagarlo a través de Internet.

Zonas de Resolución Inversa.

Devuelven nombres FQDN (Fully Qualified Domain Name) para las

búsquedas hechas para direcciones IP.

En el caso de segmentos de red públicos, la responsabilidad de que

exista de que exista una Zona de Autoridad para cada Zona de Resolución Inversa corresponde a la autoridad misma del segmento, es

Página 239

Page 241: instalacion configuracion centos

GRUPO LINUX REDES II

decir, y por lo general, quien esté registrado como autoridad del segmento

tras consultar una base de datos WHOIS.

Los grandes ISP, y en algunos casos algunas empresas, son

quienes se hacen cargo de las Zonas de Resolución Inversa.

3.1.6. Herramientas de búsqueda y consulta.

a) Mandato host.El mandato host es una herramienta simple para hacer

búsquedas en Servidores DNS. Es utilizada para convertir

nombres en direcciones IP y viceversa.

De modo predefinido realiza las búsquedas en los

Servidores DNS definidos en el fichero /etc/resolv.conf, pudiendo definirse de manera opcional el Servidor DNS a

consultar.

host www.alcancelibre.org

Lo anterior realiza una búsqueda en los Servidores DNS

definidos en el fichero /etc/resolv.conf del sistema, devolviendo

como resultado una dirección IP.

host www.alcancelibre.org 200.33.146.217

Lo anterior realiza una búsqueda en los Servidor DNS en

la dirección IP 200.33.146.217, devolviendo una dirección IP

como resultado.

b) Mandato dig.

Página 240

Page 242: instalacion configuracion centos

GRUPO LINUX REDES II

El mandato dig (domain information groper) es una

herramienta flexible para realizar consultas en Servidores DNS.

Realiza búsquedas y muestra las respuestas que son regresadas

por los servidores que fueron consultados. Debido a su

flexibilidad y claridad en la salida es que la mayoría de los

administradores utilizan dig para diagnosticar problemas de

DNS.

De modo predefinido realiza las búsquedas en las

Servidores DNS definidos en el fichero /etc/resolv.conf, pudiendo definirse de manera opcional el Servidor DNS a

consultar. La sintaxis básica sería:

dig @servidor nombre TIPO

Donde servidor corresponde al nombre o dirección IP del

Servidor DNS a consultar, nombre corresponde al nombre del

registro del recurso que se está buscando y TIPO corresponde al

tipo de consulta requerido (ANY, A, MX, SOA, NS, etc.)

Ejemplo:dig @200.33.146.209 alcancelibre.org MX

Lo anterior realiza una búsqueda en el Servidor DNS en la

dirección IP 200.33.146.209 para los registros MX para el dominio

alcancelibre.org.

dig alcancelibre.org NSLo anterior realiza una búsqueda en los Servidores DNS

definidos en el fichero /etc/resolv.conf del sistema para los registros

NS para el dominio alcancelibre.org.

dig @200.33.146.217 alcancelibre.org NS

Lo anterior realiza una búsqueda en los Servidor DNS en la

dirección IP 200.33.146.217 para los registros NS para el dominio

alcancelibre.org.

Página 241

Page 243: instalacion configuracion centos

GRUPO LINUX REDES II

c) Mandato jwhois (whois).El mandato jwhois es una herramienta de consulta a

través de servidores WHOIS. La sintaxis básica es:

jwhois dominio

Ejemplo: jwhois alcancelibre.org

Lo anterior regresa la información correspondiente al

dominio alcancelibre.org.

3.2.EQUIPAMIENTO LÓGICO NECESARIO.

PAQUETE DESCRIPCIÓN

bind Incluye el Servidor DNS (named) y herramientas

para verificar su funcionamiento

bind-libs Biblioteca compartida que consiste en rutinas para

aplicaciones para utilizarse cuando se interactúe

con Servidores DNS.

bind-chroot Contiene un árbol de ficheros que puede ser

utilizado como una jaula chroot para named añadiendo seguridad adicional al servicio.

bind-utils Colección de herramientas para consultar

Servidores DNS.

cachingnameserver Ficheros de configuración que harán que el Servidor

DNS actúe como un caché para el servidor de

nombres.

3.2.1. Instalación a través de yum.Si se utiliza de CentOS 5, Red Hat™ Enterprise Linux 5 o

White Box Enterprise Linux 5, o versiones posteriores, se puede

instalar utilizando lo siguiente:yum -y install bind bind-chroot bind-utils caching-nameserver

Página 242

Page 244: instalacion configuracion centos

GRUPO LINUX REDES II

3.3.PROCEDIMIENTOS.

3.3.1. SELinux y el servicio named.

La vulnerabilidad permite a atacantes remotos falsificar

tráfico DNS a través de ciertas técnicas de envenenamiento de

cache contra servidores de resolución recursiva (es decir cuando

se usa la opción allow-recursion abierta a todo el mundo, como

ocurre en los servidores DNS públicos), y se relaciona a

insuficiente aleatoriedad de las ID de transacción y puertos de

origen. Es decir, vulnerabilidad de entropía de insuficiencia de

zócalos (sockets) de DNS (DNS Insufficient Socket Entropy Vulnerability). En otras palabras, un atacante puede contaminar

el cache de un servidor DNS y hacer que los clientes se conecten

hacia direcciones falsas. Es importante aclarar que esta es

realmente una vulnerabilidad del protocolo DNS.

SELinux protege casi por completo al servicio named contra

esta vulnerabilidad. Es por tal motivo que es importante utilizar

SELinux.

A fin de que SELinux permita al servicio named trabajar con

permisos de escritura para zonas maestras, es decir un esquema

de servidor maestro con servidores esclavos, utilizar el siguiente

mandato:

setsebool -P named_write_master_zones 1

Para definir que se desactive la protección de SELinux para

el servicio named, haciendo que todo lo anteriormente descrito en

esta sección pierda sentido y el servidor sea parcialmente

susceptible a la vulnerabilidad descrita, utilice el siguiente

mandato:

Página 243

Page 245: instalacion configuracion centos

GRUPO LINUX REDES II

setsebool -P named_disable_trans 1

Sí realiza el procedimiento anterior, es importante configurar

la función de consultas recursivas exclusivamente para redes en la

que se confíe plenamente.

Sí se va a configurar un DNS dinámico, SELinux impedirá

crear los ficheros *.jnl (journal, ficheros de diario) correspondientes.

Las zonas de DNS dinámicas deben ser almacenadas en directorios

específicos que solo contengan zonas dinámicas. Sugiero crear el

directorio /var/named/chroot/var/named/dynamics para tal fin y

configurar éste para qué pertenezca al usuario y grupo named,

tenga permisos de lectura, escritura y ejecución para el usuario y

grupo named (770) y tenga los contextos de SELinux de usuario de

sistema (system_u), rol de objeto (object_r) y tipo cache del

servicio named (named_cache_t) a fin de permitir escritura en este

directorio.

cd /var/named/chroot/var/named/

mkdir dynamics/

chmod 770 dynamics/

chown named.named dynamics/

chcon -u system_u -r object_r -t named_cache_t dynamics/

Cualquier fichero de zona que se vaya a utilizar a través del

servicio named, debe contar con los contextos de SELinux de

usuario de sistema (system_u), rol de objeto (object_r) y tipo zona

del servicio named (named_zone_t). En el siguiente ejemplo se

utiliza el mandato chcon para cambiar los contextos del fichero mi-dominio.zone y definir los contextos de SELinux mencionados:

cd /var/named/chroot/var/named/

chcon -u system_u -r object_r -t named_zone_t mi-dominio.zone

Página 244

Page 246: instalacion configuracion centos

GRUPO LINUX REDES II

3.3.2. Preparativos.

Idealmente se deben definir primero los siguientes datos:

1. Dominio a resolver.

2. Servidor de nombres principal (SOA). Éste debe ser un

nombre que ya esté plenamente resuelto, y debe ser un

FQDN (Fully Qualified Domain Name).

3. Lista de todos los servidores de nombres (NS) que se

utilizarán para efectos de redundancia. Éstos deben ser

nombres que ya estén plenamente resueltos, y deben ser

además FQDN.

4. Cuenta de correo del administrador responsable de esta

zona. Dicha cuenta debe existir y no debe pertenecer a la

misma zona que se está tratando de resolver.

5. Al menos un servidor de correo (MX), con un registro A,

nunca CNAME.

6. IP predeterminada del dominio.

7. Sub-dominios dentro del dominio (www, mail, ftp, ns, etc.)

y las direcciones IP que estarán asociadas a estos.

Es importante tener bien en claro que los puntos 2, 3 y 4

involucran datos que deben existir previamente y estar

plenamente resueltos por otro servidor DNS; Lo anterior quiere

decir no pueden utilizar datos que sean parte o dependan del

mismo dominio que se pretende resolver. De igual modo, el

servidor donde se implementará el DNS deberá contar con un

nombre FQDN y que esté previa y plenamente resuelto en otro

DNS.

Como regla general se generará una zona de reenvío por

cada dominio sobre el cual se tenga autoridad plena y absoluta y

se generará una zona de resolución inversa por cada red sobre la

cual se tenga plena y absoluta autoridad. Es decir, si se es

Página 245

Page 247: instalacion configuracion centos

GRUPO LINUX REDES II

propietario del dominio «cualquiercosa.com», se deberá generar el

fichero de zona correspondiente a fin de resolver dicho dominio.

Por cada red con direcciones IP privadas sobre la cual se tenga

control y plena y absoluta autoridad, se deberá generar un fichero

de zona de resolución inversa a fin de resolver inversamente las

direcciones IP de dicha zona. Regularmente la resolución inversa

de las direcciones IP públicas es responsabilidad de los

proveedores de servicio ya que son estos quienes tienen la

autoridad plena y absoluta sobre dichas direcciones IP.

Todos los ficheros de zona deben pertenecer al usuario

«named» a fin de que el servicio named pueda acceder a estos o

bien modificar éstos en el caso de tratarse de zonas esclavas.

3.3.3. Creación de los ficheros de zona.

Los siguientes corresponderían a los contenidos para los

ficheros de zona requeridos para la red local y por el NIC con el

que se haya registrado el dominio. Cabe señalar que en las zonas

de reenvío siempre se especifica al menos un registro MX (Mail

Exchanger o intercambiador de correo), para definir donde está el

servidor de correo para el dominio, y que se utilizan tabuladores (tecla TAB) en lugar de espacio. Solo necesitará sustituir

nombres y direcciones IP, y quizá añadir nuevos registros para

complementar su red local.

a) Zona de reenvío red local /var/named/chroot/var/named/redlocal.zone

$TTL 86400@ IN SOA dns.red-local. alguien.gmail.com. (

2009080301; número de serie28800 ; tiempo de refresco7200 ; tiempo entre reintentos de consulta604800 ; tiempo tras el cual expira la zona

Página 246

Page 248: instalacion configuracion centos

GRUPO LINUX REDES II

86400 ; tiempo total de vida)

@ IN NS dns@ IN MX 10 mail@ IN A 192.168.1.1intranet IN A 192.168.1.1maquina2 IN A 192.168.1.2maquina3 IN A 192.168.1.3maquina4 IN A 192.168.1.4www IN CNAME intranetmail IN A 192.168.1.1ftp IN CNAME intranetdns IN CNAME intranet

b) Zona de resolución inversa red local /var/named/chroot/var/named/1.168.192.in-addr.arpa.zone

$TTL 86400@ IN SOA dns.red-local. alguien.gmail.com. (

2009080301 ; número de serie28800 ; tiempo de refresco7200 ; tiempo entre reintentos de consulta604800 ; tiempo tras el cual expira la zona86400 ; tiempo total de vida)

@ IN NS dns.red-local.1 IN PTR intranet.red-local.2 IN PTR maquina2.red-local.3 IN PTR maquina3.red-local.4 IN PTR maquina4.red-local.

c) Zona de reenvío del dominio /var/named/chroot/var/named/dominio.com.zoneSuponiendo que hipotéticamente se es la autoridad para el

dominio «dominio.com», se puede crear una Zona de Reenvío con un contenido similar al siguiente:$TTL 86400@ IN SOA fqdn.dominio-resuelto. alguien.gmail.com. (

2009080301; número de serie28800 ; tiempo de refresco7200 ; tiempo entre reintentos de consulta604800 ; tiempo tras el cual expira la zona86400 ; tiempo total de vida)

@ IN NS dns@ IN MX 10 mail@ IN A 148.243.59.1servidor IN A 148.243.59.1

Página 247

Page 249: instalacion configuracion centos

GRUPO LINUX REDES II

www IN CNAME servidormail IN A 148.243.59.1ftp IN CNAME servidordns IN CNAME servidor

d) Zona de resolución inversa del dominio /var/named/chroot/var/named/1.243.148.in-addr.arpa.zoneSuponiendo que hipotéticamente se es la autoridad para el

segmento de red 148.234.1.0/24 (regularmente lo es el proveedor

de servicio de acceso hacia Internet), se puede crear una Zona de Resolución Inversa con un contenido similar al siguiente:$TTL 86400@ IN SOA fqdn.dominio-resuelto. alguien.gmail.com. (

2009080301 ; número de serie28800 ; tiempo de refresco7200 ; tiempo entre reintentos de consulta604800 ; tiempo tras el cual expira la zona86400 ; tiempo total de vida)

@ IN NS dns.dominio.com.1 IN PTR servidor.dominio.com.2 IN PTR maquina2.dominio.com.3 IN PTR maquina3.dominio.com.4 IN PTR maquina4.dominio.com.

Cada vez que haga algún cambio en algún fichero de zona,

deberá cambiar el número de serie a fin de que tomen efecto los

cambios de inmediato cuando se reinicie el servicio named, ya

que de otro modo tendría que reiniciar el equipo, algo poco

conveniente.

Las zonas de resolución inversa que involucran direcciones IP

públicas son responsabilidad de los ISP (proveedores de servicio

de Internet). Crear una zona de resolución inversa sin ser la

autoridad de dicha zona tiene efecto solo para quien use el

servidor DNS recién configurado como único DNS.

e) Configuración de parámetros en el fichero /etc/named.confoptions {

directory "/var/named";dump-file "/var/named/data/cache_dump.db";

Página 248

Page 250: instalacion configuracion centos

GRUPO LINUX REDES II

statistics-file "/var/named/data/named_stats.txt";memstatistics-file "/var/named/data/named_mem_stats.txt";allow-recursion {

127.0.0.1;192.168.1.0/24;

};forwarders {

200.33.146.209;200.33.146.217;

};forward first;

};include "/etc/named.rfc1912.zones";include "/etc/rndc.key";controls {

inet 127.0.0.1 allow { 127.0.0.1; } keys { "rndckey"; };};zone "red-local" {

type master;file "red-local.zone";allow-update { none; };

};zone "1.168.192.in-addr.arpa" {

type master;file "1.168.192.in-addr.arpa.zone";allow-update { none; };

};

3.3.4. Seguridad adicional en DNS para uso público.

Un DDoS (Distributed Denial of Service o denegación de

servicio distribuido) se efectúa con la instalación de varios agentes

remotos en muchas computadoras que pueden estar localizadas

en diferentes puntos del mundo. El atacante consigue coordinar

esos agentes para así, de forma masiva, amplificar el volumen de

saturación de información (flood), pudiendo darse casos de un

ataque de cientos o millares de computadoras dirigido a una

máquina o red objetivo. Esta técnica se ha revelado como una de

las más eficaces y sencillas a la hora de colapsar servidores, la

tecnología distribuida ha ido haciendo más sofisticada hasta el

Página 249

Page 251: instalacion configuracion centos

GRUPO LINUX REDES II

punto de otorgar poder de causar daños serios a personas con

escaso conocimiento técnico.

Se debe modificar el fichero /etc/named.conf, donde se

añade en la sección de opciones (options) una línea que defina la

red, las redes o bien los ACL (Access Control List o listas de

control de acceso) que tendrán permitido realizar todo tipo de

consultas.

options {

directory "/var/named";

dump-file "/var/named/data/cache_dump.db";

statistics-file "/var/named/data/named_stats.txt";

memstatistics-file "/var/named/data/named_mem_stats.txt";

forwarders { 192.168.0.1; };

forward first;

allow-recursion { 127.0.0.1; 192.168.0.0/24; };};

controls {

inet 127.0.0.1 allow { 127.0.0.1; } keys { "rndckey"; };

};

Lo anterior hace que solo se puedan realizar consultas

recursivas en el DNS desde 192.168.0.0/24, ya sea para un

nombre de dominio alojado de manera local y otros dominios

resueltos en otros servidores (ejemplo: www.yahoo.com,

www.google.com, www.alcancelibre.org, etc). El resto del mundo

solo podrá realizar consultas sobre los dominios alojados de

manera local y que estén configurado para permitirlo.

En la siguiente configuración de ejemplo, se pretende lograr

lo siguiente:

Red Local: cualquier tipo de consulta hacia dominios externos

y locales (es decir, www.yahoo.com, www.google.com,

alcancelibre.org, además de midominio.com).

Página 250

Page 252: instalacion configuracion centos

GRUPO LINUX REDES II

Resto del mundo: solo puede hacer consultas para la zona de

midominio.comDe este modo se impide que haya consultas recursivas y

con esto impedir la posibilidad de sufrir/participar de un ataque

DDoS.

options {

directory "/var/named";

dump-file "/var/named/data/cache_dump.db";

statistics-file "/var/named/data/named_stats.txt";

memstatistics-file "/var/named/data/named_mem_stats.txt";

forwarders { 192.168.0.1; };

forward first;

allow-recursion { 127.0.0.1; 192.168.0.0/24; };};

controls {

inet 127.0.0.1 allow { 127.0.0.1; } keys { "rndckey"; };

};

include "/etc/named.rfc1912.zones";

include "/etc/rndc.key";

zone "miredlocal" {

type master;

file "miredlocal.zone";

allow-update { none; };

allow-query { 192.168.0.0/24; };

allow-transfer { 192.168.0.2; };

};

zone "midominio.com" {

type master;

file "midominio.com.zone";

allow-update { none; };

allow-transfer { 200.76.185.252; 200.76.185.251; };

};

3.3.5. Seguridad adicional en DNS para uso exclusivo en red local.

Página 251

Page 253: instalacion configuracion centos

GRUPO LINUX REDES II

Si se va a tratar de un servidor de nombres de dominio para

uso exclusivo en red local, y se quieren evitar problemas de

seguridad de diferente índole, puede utilizarse el parámetro

allowquery, el cual servirá para especificar que solo ciertas

direcciones podrán realizar consultas al servidor de nombres de

dominio. Se pueden especificar directamente direcciones IP, redes

completas o listas de control de acceso que deberán definirse

antes de cualquier otra cosa en el fichero /etc/named.conf.

Fichero /etc/named.confacl "redlocal" {

127.0.0.1;192.168.1.0/24;192.168.2.0/24;192.168.3.0/24;

};options {

directory "/var/named/";dump-file "/var/named/data/cache_dump.db";statistics-file "/var/named/data/named_stats.txt";memstatistics-file "/var/named/data/named_mem_stats.txt";

allow-recursion { redlocal; };forwarders {

200.33.146.209;200.33.146.217;

};forward first;allow-query {

redlocal;192.168.1.15;192.168.1.16;

};};controls {

inet 127.0.0.1 allow { 127.0.0.1; } keys { "rndckey"; };};include "/etc/named.rfc1912.zones";include "/etc/rndc.key";zone "red-local" {

type master;file "red-local.zone";allow-update { none; };

};zone "1.168.192.in-addr.arpa" {

type master;

Página 252

Page 254: instalacion configuracion centos

GRUPO LINUX REDES II

file "1.168.192.in-addr.arpa.zone";allow-update { none; };

};

3.3.6. Las zonas esclavas.

Las zonas esclavas se refieren a aquellas hospedadas en

servidores de nombres de dominio secundarios y que hacen las

funciones de redundar las zonas maestras en los servidores de

nombres de dominio primarios. El contenido del fichero de zona es

el mismo que en servidor primario. La diferencia está en la sección

de texto utilizada en /etc/named.conf, donde las zonas se definen

como esclavas y definen los servidores donde está hospedada la

zona maestra.

a) Fichero /etc/named.conf Servidor DNS secundario.zone "dominio.com" {

type slave;file "dominio.com.zone";

masters { 192.168.1.254; };};

zone "red-local" {

type slave;file "red-local.zone";

masters { 192.168.1.254; };};

zone "1.168.192.in-addr.arpa" {

type slave;file "1.168.192.in-addr.arpa.zone";

masters { 192.168.1.254; };};

Adicionalmente, si desea incrementar seguridad y desea

especificar en el Servidor DNS Primario que servidores tendrán

Página 253

Page 255: instalacion configuracion centos

GRUPO LINUX REDES II

permitido ser servidores de nombres de dominio secundario, es

decir, hacer transferencias, puede utilizar el parámetro allow-transfer del siguiente modo:

b) Fichero /etc/named.conf Servidor DNS Primario.zone "dominio.com" {

type master;

file "dominio.com.zone";

allow-update { none; };

allow-transfer {200.33.146.217;200.33.146.209;

};};

zone "red-local" {

type master;

file "red-local.zone";

allow-update { none; };

allow-transfer {192.168.1.15;192.168.1.16;

};};

zone "1.168.192.in-addr.arpa" {

type master;

file "1.168.192.in-addr.arpa.zone";

allow-update { none; };

allow-transfer {192.168.1.15;192.168.1.16;

};};

3.3.7. Seguridad adicional para transferencias de zona.Cuando se gestionan dominios a través de redes públicas,

es importante considerar que si se tienen esquemas de servidores

maestros y esclavos, siempre será más conveniente utilizar una

Página 254

Page 256: instalacion configuracion centos

GRUPO LINUX REDES II

clave cifrada en lugar de una dirección IP, debido a que esta

última puede ser falsificada bajo ciertas circunstancias.

Comúnmente se definen las direcciones IP desde las cuales

se permitirá transferencias de zonas, utilizando una configuración

en el fichero /var/named/chroot/etc/named.conf como la

ejemplificada a continuación, donde los servidores esclavos

corresponden a los servidores con direcciones IP 192.168.1.11 y

192.168.1.12:

zone "mi-dominio.org" {

type master;

file "mi-dominio.org.zone";

allow-update { none; }:

allow-transfer { 192.168.1.11; 192.168.1.12; };

};

Lo anterior permite la transferencia de zona para los

servidores con direcciones IP 192.168.1.11 y 192.168.1.12, los

cuales utilizan la siguiente configuración en el fichero

/var/named/chroot/etc/named.conf, ejemplificada a continuación,

donde el servidor primario (zonas maestras) corresponde al

servidor con dirección IP 192.168.1.1:

zone "mi-dominio.org" {

type slave;

file "mi-dominio.org.zone";

masters { 192.168.1.1; };

};

El inconveniente del esquema anterior es que es fácil

falsificar las direcciones IP. A fin de evitar que esto ocurra, el

método recomendado será utilizar una clave cifrada que será

validada en lugar de la dirección IP. La llave se crea con el

mandato dnssec-keygen, especificando un algoritmo, el tamaño

de la llave en octetos (bits), el tipo de la llave, que puede ser

ZONE, HOST, ENTITY o USER y el nombre específico para la

clave cifrada. DSA y RSA se utilizan para DNS Seguro

Página 255

Page 257: instalacion configuracion centos

GRUPO LINUX REDES II

(DNSSEC), en tanto que HMAC-MD5 se utiliza para TSIG (Transfer SIGnature o transferencia de firma). Lo más común es

utilizar TSIG. En el siguiente ejemplo, se generará en el directorio

de trabajo actual la clave midominio.org, utilizando /dev/random como fuente de datos aleatorios, un algoritmo HMACMD5 tipo

HOST de 128 octetos (bits):

dnssec-keygen -r /dev/random -a HMAC-MD5 -b 128 -n HOST mi-dominio.org

Lo anterior devuelve una salida similar a la siguiente:

Kmi-dominio.org.+157+32322

Al mismo tiempo se generaran dos ficheros en el directorio

/var/named/chroot/var/named/, que corresponderían a Kmi-

dominio.org.+157+32322.key y Kmi-dominio.org.

+157+32322.private.Kmi-dominio.org.+157+32322.key deberá tener

un contenido como el siguiente, el cual corresponde al registro que

se añade dentro del fichero de zona:mi-dominio.org. IN KEY 512 3 157 NPuNuxvZAjtd3mriuygT8Q==

Kmi-dominio.org.+157+32322.private deberá tener un contenido

como el siguiente:

Private-key-format: v1.2

Algorithm: 157 (HMAC_MD5)

Key: NPuNuxvZAjtd3mriuygT8Q==

En ambos casos, NPuNuxvZAjtd3mriuygT8Q== corresponde a la

clave cifrada. Ambos deben tener la misma clave.

Los dos ficheros solo deben tener atributos de lectura para el

usuario named.

chmod 400 Kmi-dominio.org.+157+32322.*chown named.named Kmi-dominio.org.+157+32322.*

A fin de poder ser utilizados, ambos ficheros deben ser

movidos hacia el directorio /var/named/chroot/var/named/.mv Kmi-dominio.org.+157+32322.* /var/named/chroot/var/named

Página 256

Page 258: instalacion configuracion centos

GRUPO LINUX REDES II

En el servidor primario (zonas maestras), se añade la

siguiente configuración en el fichero

/var/named/chroot/etc/named.conf:key mi-dominio.org {

algorithm HMAC-MD5;

secret "NPuNuxvZAjtd3mriuygT8Q==";

};

zone "mi-dominio.org" {

type master;

file "mi-dominio.org.zone";

allow-update { none; };

allow-transfer { key mi-dominio.org; };

};

Los servidores esclavos utilizarían la siguiente configuración

en el fichero /var/named/chroot/etc/named.conf, en donde se

define la clave y que ésta será utilizada para realizar conexiones

hacia el servidor primario (zonas maestras) (192.168.1.1, en el

ejemplo):

key mi-dominio.org {algorithm HMAC-MD5;secret "NPuNuxvZAjtd3mriuygT8Q==";

};server 192.168.1.1 {

keys { mi-dominio.org; };};zone "mi-dominio.org" {

type slave;

masters { 192.168.1.1; };

};

Comprobaciones.Tanto en el servidor primario (zonas maestras) como en los

servidores esclavos, utilice el mandato tail para ver la salida del fichero

Página 257

Page 259: instalacion configuracion centos

GRUPO LINUX REDES II

/var/log/messages, pero solo aquello que contenga la cadena de

caracteres named:

tail -f /var/log/messages |grep named

Al reiniciar el servicio named en servidor primario (zonas

maestras), se debe mostrar una salida similar al siguiente cuadro

cuando un servidor esclavo realiza una transferencia:

Al reiniciar el servicio named en los servidores esclavos, se debe

mostrar una salida similar a la siguiente:

3.3.8. Reiniciar servicio y depuración de configuración.Al terminar de editar todos los ficheros involucrados, solo

bastará reiniciar el servidor de nombres de dominio.

service named restart

Si queremos que el servidor de nombres de dominio quede

añadido entre los servicios en el arranque del sistema, deberemos

Página 258

Page 260: instalacion configuracion centos

GRUPO LINUX REDES II

realizar lo siguiente a fin de habilitar named junto con el arranque

del sistema:

chkconfig named on

Realice prueba de depuración y verifique que la zona haya

cargado con número de serie:

tail -80 /var/log/messages |grep named

Lo anterior, si está funcionando correctamente, debería

devolver algo parecido a lo mostrado a continuación:

4.SERVIDOR FTP

4.1. INTRODUCCIÓN

4.1.1. Protocolo FTP

FTP (File Transfer Protocol) o Protocolo de Transferencia de

Archivos es uno de los protocolos estándar más utilizados en Internet

siendo el más idóneo para la transferencia de grandes bloques de

datos a través de redes que soporten TCP/IP. El servicio utiliza los

puertos 20 y 21, exclusivamente sobre TCP. El puerto 20 es utilizado

para el flujo de datos entre cliente y servidor. El puerto 21 es utilizando

para el envío de órdenes del cliente hacia el servidor. Prácticamente

todos los sistemas operativos y plataformas incluyen soporte para FTP,

lo que permite que cualquier computadora conectada a una red basada

sobre TCP/IP pueda hacer uso de este servicio a través de un cliente

FTP.

Página 259

Page 261: instalacion configuracion centos

GRUPO LINUX REDES II

a) Funcionamiento del Protocolo FTP

Generalmente se origina cuando el cliente FTP envía la petición

al servidor para indicarle que requiere establecer una comunicación

con él, entonces el cliente FTP inicia la conexión hacia el servidor FTP

mediante el puerto 21 el cual establecerá un canal de control. A partir

de este punto el cliente FTP enviara al servidor las acciones que este

debe ejecutar para poder llevar a cabo el envío de datos. Estas

acciones incluyen parámetros para la conexión de datos así como

también la manera en cómo serán gestionados y tratados estos datos.

Algunos de los parámetros enviados por el cliente FTP para la

conexión de datos son los siguientes:

- Puerto de datos

- Modo de transferencia

- Tipo de representación y estructura

Los parámetros relacionados a la gestión de datos son los

siguientes:

- Almacenar

- Recuperar

- Añadir

- Borrar

- Obtener

Página 260

Page 262: instalacion configuracion centos

GRUPO LINUX REDES II

El proceso de transferencia de datos desde el servidor hacia el

cliente deberá esperar a que el servidor inicie la conexión al puerto de

datos especificado (en modo activo) y luego de ello transferir los datos

en función a los parámetros de conexión especificados.

b) Modos de conexión del cliente FTPFTP establecerá dos modos de conexión diferentes para el

cliente, el Modo Activo y el Modo Pasivo.

Modo ActivoEl modo activo generalmente es conocido también como

modo estándar y este opera de la siguiente forma. Se establecen

dos conexiones distintas, la primera conexión establece una

comunicación para la transmisión de comandos a través de un

puerto aleatorio mayor que el 1024 del cliente FTP hacia el puerto 21

del servidor FTP y por esa misma conexión se le notifica al servidor

FTP cual es el puerto de nuestro cliente FTP que esta a la espera de

los datos.

Entonces y para comprender mejor, si usted descarga algún

archivo mediante la ayuda de algún cliente de FTP, es el servidor

Página 261

Page 263: instalacion configuracion centos

GRUPO LINUX REDES II

FTP el que inicia la transmisión de datos, desde su puerto 20 al

puerto que aleatoriamente el cliente

FTP le ha indicado. Se le llama modo activo porque la

transmisión de datos es iniciada por el propio servidor FTP.

Modo PasivoEsto se logra cuando el cliente FTP inicia la conexión con el

servidor FTP mediante el envió del comando PASV en este punto el

cliente FTP establece una comunicación mediante un canal de

control el cual generalmente utiliza un puerto aleatorio mayor al 1024

para comunicarse con el servidor FTP a través de su puerto 21. Al

pasar a modo pasivo el cliente FTP pedirá al servidor FTP que habrá

un puerto, el cual deberá ser aleatorio y mayor al 1024, recibida la

contestación, será el cliente FTP el que establezca la conexión de

datos al servidor FTP a través del puerto especificado anteriormente.

Página 262

Page 264: instalacion configuracion centos

GRUPO LINUX REDES II

Modo Activo vs Modo PasivoComo hemos explicado antes, en el modo activo se abre una

conexión para datos desde el servidor FTP al cliente FTP, esto es,

una conexión de fuera hacia adentro, entonces, si el cliente FTP se

encuentra detrás de un firewall, este filtrara o bloqueara la conexión

entrante.

En el modo pasivo es el cliente FTP el que inicia tanto la

conexión de control como la de datos, con lo cual el firewall no

tendrá ninguna conexión entrante que filtrar.

c) Modos de acceso del cliente FTPUn cliente FTP es la aplicación o software que servirá de

intermediario entre el servidor FTP y nuestro equipo, así mismo

existen dos versiones de clientes FTP, los gráficos y los que se usan

a linea de comandos.

En la mayoría de los casos se implementaran clientes gráficos

de FTP esto debido a que son mas fáciles y sencillos de manejar por

el usuario. Nosotros recomendamos usar el cliente FTP FileZilla.

FileZilla es un cliente FTP, gratuito, multiplataforma , libre y de

código abierto. Sustenta los protocolos FTP, SFTP y SFTP.

Así mismo, los clientes FTP pueden acceder a los servidores

FTP de tres formas distintas, estas son:

- Acceso Anónimo

Página 263

Page 265: instalacion configuracion centos

GRUPO LINUX REDES II

- Acceso de Usuario

- Acceso de Invitado

Acceso AnónimoEl acceso anónimo a un servidor FTP se caracteriza porque

este no pide ningún tipo de autenticacion al cliente FTP (login y

password) para entrar en el. Generalmente este tipo de accesos son

implementados para que cualquier usuario tenga acceso a los

recursos que ahí se comparten, los cuales normalmente solo pueden

ser leídos o copiados, restringiendo a los usuarios la función de

crear o modificar dichos recursos.

Acceso de UsuarioEste tipo de acceso se caracteriza porque este si requiere

autenticacion del cliente FTP (login y password) ante el servidor

FTP. Generalmente estos accesos son implementados para un

grupo selecto de usuarios, los cuales tendrán ciertos privilegios

sobre los recursos del servidor como podría ser modificar, eliminar,

crear, subir o descargar archivos o carpetas.

Otra característica de este acceso es que permite al usuario

FTP acceder a cualquier parte del sistema operativo, lo cual es un

grave fallo de seguridad.

Acceso de InvitadoEl acceso de invitado bien podría ser un híbrido entre el

acceso anónimo y el acceso de usuario, ya que en este tipo de

acceso de requiere autenticacion del cliente FTP (login y password)

ante el servidor FTP, lo que lo diferencia de los últimos dos es que el

usuario FTP solo podrá trabajar en un directorio de trabajo destinado

exclusivamente para el, evitando así que el usuario FTP tenga

acceso a otras partes del sistema operativo, pero sin restringir los

privilegios que tiene sobre su propio directorio de trabajo.

Página 264

Page 266: instalacion configuracion centos

GRUPO LINUX REDES II

4.1.2. Protocolo FTPS

FTPS (también referido como FTP/SSL) es la forma de designar

diferentes formas a través de las cuales se pueden realizar

transferencias seguras de ficheros a través de FTP utilizando SSL o

TLS. Son mecanismos muy diferentes a los del protocolo SFTP (SSH

File Transfer Protocol). Existen dos diferentes métodos para realizar

una conexión SSL/TLS a través de FTP. La primera y más antigua es a

través del FTPS Implícito (Implicit FTPS), que consiste en cifrar la

sesión completa a través de los puertos 990 (FTPS) y 998 (FTPS

Data), sin permitir negociación con el cliente, el cual deberá conectarse

directamente al servidor FTPS con el inicio de sesión SSL/TLS.

El segundo método, que es el recomendado por el RFC 4217 y

el utilizado por Vsftpd, es FTPS Explícito (Explicit FTPS o FTPES),

donde el cliente realiza la conexión normal a través del puerto 21 y

permitiendo negociar opcionalmente una conexión TLS.

4.1.3. Vsftpd.

Vsftpd (Very Secure FTP Daemon) es un equipamiento lógico

utilizado para implementar servidores de archivos a través del protocolo

FTP. Se distingue principalmente porque sus valores predeterminados

son muy seguros y por su sencillez en la configuración, comparado con

otras alternativas como ProFTPD y Wu-ftpd. Actualmente se presume

que vsftpd es quizá el servidor

FTP más seguro del mundo.

4.2.EQUIPAMIENTO LÓGICO PARA CONFIGURAR vsftpd4.2.1. Instalación a través de yum.

Página 265

Page 267: instalacion configuracion centos

GRUPO LINUX REDES II

Si utiliza CentOS 4 o White Box Enterprise Linux 4, solo se

necesita realizar lo siguiente para instalar o actualizar el

equipamiento lógico necesario:

yum -y install vsftpd

4.3.FICHEROS DE CONFIGURACIÓN

/etc/vsftpd.user_list Lista que definirá usuarios a enjaular o no a enjaular,

dependiendo de la configuración.

/etc/vsftpd/vsftpd.conf Fichero de configuración.

4.4.PROCEDIMIENTOS

4.4.1. SELinux y el servicio vsftpd.SELinux controla varias funciones de el servicio vsftpd

incrementando el nivel de seguridad de éste.

Para permitir que los usuarios anónimos puedan realizar

procesos de escritura sobre el sistema de ficheros, utilice el siguiente

mandato:

setsebool -P allow_ftpd_anon_write 1

Para hacer que SELinux permita al servicio vsftpd acceder a los

usuarios locales a sus directorios de inicio, utilice el siguiente mandato:

setsebool -P allow_ftpd_full_access 1

Para permitir que el servicio vsftpd pueda hacer uso de

sistemas de ficheros remotos a través de CIFS (Samba) o NFS, y que

serán utilizados para compartir a través del servicio, utilice cualquiera

de los siguientes mandatos:

setsebool -P allow_ftpd_use_cifs 1setsebool -P allow_ftpd_use_nfs 1

Página 266

Page 268: instalacion configuracion centos

GRUPO LINUX REDES II

Para que SELinux permita al servicio vsftpd funcionar

normalmente, haciendo que todo lo anteriormente descrito en esta

sección pierda sentido, utilice el siguiente mandato:

setsebool -P ftpd_disable_trans 1

4.4.2. Fichero /etc/vsftpd/vsftpd.conf.Utilice un editor de texto y modifique el fichero

/etc/vsftpd/vsftpd.conf. A continuación analizaremos los parámetros a

modificar o añadir, según se requiera para necesidades particulares.

4.4.3. Parámetro anonymous_enable.Se utiliza para definir si se permitirán los accesos anónimos al

servidor. Establezca como valor YES o NO de acuerdo a lo que se

requiera.

anonymous_enable=YES

4.4.4. Parámetro local_enable.Es particularmente interesante si se combina con la función de

jaula (chroot). Establece si se van a permitir los accesos autenticados

de los usuarios locales del sistema. Establezca como valor YES o NO de acuerdo a lo que se requiera.

local_enable=YES

4.4.5. Parámetro write_enable.Establece si se permite el mandato write (escritura) en el

servidor. Establezca como valor YES o NO de acuerdo a lo que se

requiera.

write_enable=YES

4.4.6. Parámetro anon_upload_enableEspecífica si los usuarios anónimos tendrán permitido subir

contenido al servidor. Por lo general no es una función deseada, por lo

que se acostubra desactivar ésta.

anon_upload_enable=NO

Página 267

Page 269: instalacion configuracion centos

GRUPO LINUX REDES II

4.4.7. Parámetro anon_mkdir_write_enableEspecífica si los usuarios anónimos tendrán permitido crear

directorios en el servidor. Al igual que lo anterior, por lo general no es

una función deseada, por lo que se acostubra desactivar ésta.

anon_mkdir_write_enable=NO

4.4.8. Parámetro ftpd_banner.Este parámetro sirve para establecer el banderín de bienvenida

que será mostrado cada vez que un usuario acceda al servidor. Puede

establecerse cualquier frase breve que considere conveniente.

ftpd_banner=Bienvenido al servidor FTP de nuestra empresa.

4.4.9. Estableciendo jaulas para los usuarios: parámetros chroot_local_user y chroot_list_file.

De modo predeterminado los usuarios del sistema que se

autentiquen tendrán acceso a otros directorios del sistema fuera de su

directorio personal. Si se desea recluir a los usuarios a solo poder

utilizar su propio directorio personal, puede hacerse fácilmente con el

parámetro chroot_local_user que habilitará la función de chroot() y

los parámetros chroot_list_enable y chroot_list_file para establecer el

fichero con la lista de usuarios que quedarán excluidos de la función

chroot().chroot_local_user=YESchroot_list_enable=YESchroot_list_file=/etc/vsftpd/vsftpd.chroot_list

Con lo anterior, cada vez que un usuario local se autentique en

el servidor FTP, solo tendrá acceso a su propio directorio personal y lo

que este contenga. No olvide crear el fichero /etc/vsftpd/vsftpd.chroot_list, ya que de otro modo no arrancará el servicio vsftpd.

touch /etc/vsftpd/vsftpd.chroot_list

Página 268

Page 270: instalacion configuracion centos

GRUPO LINUX REDES II

4.4.10. Control del ancho de banda.

a) Parámetro anon_max_rate.Se utiliza para limitar la tasa de transferencia en bytes por

segundo para los usuarios anónimos, algo sumamente útil en

servidores FTP de acceso público. En el siguiente ejemplo se limita

la tasa de transferencia a 5 Kb por segundo para los usuarios

anónimos:

anon_max_rate=5120

b) Parámetro local_max_rate.Hace lo mismo que anon_max_rate, pero aplica para

usuarios locales del servidor. En el siguiente ejemplo se limita la tasa

de transferencia a 5 Kb por segundo para los usuarios locales:

local_max_rate=5120

c) Parámetro max_clients.Establece el número máximo de clientes que podrán acceder

simultáneamente hacia el servidor FTP. En el siguiente ejemplo se

limitará el acceso a 5 clientes simultáneos.

max_clients=5

d) Parámetro max_per_ip.Establece el número máximo de conexiones que se pueden

realizar desde una misma dirección IP.

Tome en cuenta que algunas redes acceden a través de un

servidor intermediario (Proxy) o puerta de enlace y debido a esto

podrían quedar bloqueados innecesariamente algunos accesos. en

el siguiente ejemplo se limita el número de conexiones por IP

simultáneas a 5.

max_per_ip=5

4.4.11. Soporte SSL/TLS para VFSTPD.

Página 269

Page 271: instalacion configuracion centos

GRUPO LINUX REDES II

VSFTPD puede ser configurado fácilmente para utilizar los

protocolos SSL (Secure Sockets Layer o Nivel de Zócalo Seguro) y

TLS (Transport Layer Security, o Seguridad para Nivel de

Transporte) a través de un certificado RSA.

Acceda al sistema como el usuario root.Se debe crear el directorio donde se almacenarán los

certificados para todos los sitios SSL. El directorio, por motivos de seguridad, debe ser solamente accesible para el usuario root.

mkdir -m 0700 /etc/ssl

A fin de mantener cierta organización, y un directorio dedicado

para cada sitio virtual SSL, es conveniente crear un directorio

específico para almacenar los certificados de cada sitio virtual SSL.

Igualmente, por motivos de seguridad, debe ser solamente

accesible para el usuario root.mkdir -m 0700 /etc/ssl/mi-dominio.org

Acceder al directorio que se acaba de crear.

cd /etc/ssl/mi-dominio.org

El certificado se puede generar fácilmente utilizando el

siguiente mandato, donde se generará un certificado con estructura

X.509, algoritmo de ciframiento RSA de 1024 kb, sin Triple DES, la

cual permita iniciar normalmente, sin interacción alguna, al servicio

>vsftpd, con una validez por 730 días (dos años) en el fichero

/etc/ssl/mi-dominio.org/vsftpd.pem.

openssl req -x509 -nodes -days 730 -newkey rsa:1024 \

-keyout /etc/ssl/mi-dominio.org/vsftpd.pem \

-out /etc/ssl/mi-dominio.org/vsftpd.pem

Lo anterior solicitará se ingresen varios datos:

• Código de dos letras para el país.

• Estado o provincia.

• Ciudad.

Página 270

Page 272: instalacion configuracion centos

GRUPO LINUX REDES II

• Nombre de la empresa o razón social.

• Unidad o sección.

• Nombre del anfitrión.

• Dirección de correo.

• La salida devuelta sería similar a la siguiente:

La salida devuelta sería similar a la siguiente:

Finalmente se añaden las siguientes líneas al final del fichero

/etc/vsftpd/vsftpd.conf:ssl_enable=YESallow_anon_ssl=NOforce_local_data_ssl=NOforce_local_logins_ssl=NOssl_tlsv1=YESssl_sslv2=NOssl_sslv3=NOrsa_cert_file=/etc/ssl/mi-dominio.org/vsftpd.pem

4.4.12. Iniciar, detener y reiniciar el servicio vsftpd.A diferencia de otros servicios FTP como Wu-ftpd, el servicio

vsftpd no requiere configurarse para trabajar sobre demanda, aunque

tiene dicha capacidad. Por lo tanto no depende de servicio xinetd. La

versión incluida en distribuciones como CentOS 5, Red Hat™

Enterprise Linux 5 y White Box Enterprise Linux 5 puede iniciar,

detenerse o reiniciar a través de un guión similar a los del resto del

sistema.

Para iniciar por primera vez el servicio, utilice:

Página 271

Page 273: instalacion configuracion centos

GRUPO LINUX REDES II

service vsftpd start

Para hacer que los cambios hechos a la configuración surtan

efecto, utilice:

service vsftpd restart

Para detener el servicio, utilice:

service vsftpd stop

4.4.13. Agregar el servicio al arranque del sistema.Para hacer que el servicio de vsftpd esté activo con el siguiente

inicio del sistema, en todos los niveles de corrida (2, 3, 4, y 5), se utiliza lo

siguiente:

chkconfig vsftpd on

4.5.MODIFICACIONES NECESARIAS EN EL MURO CORTAFUEGOS.Si se utiliza un cortafuegos con políticas estrictas, como por ejemplo

Shorewall, es necesario abrir los puerto 20 y 21 por TCP (FTP-DATA y

FTP, respectivamente).

Las reglas para el fichero /etc/shorewall/rules de Shorewall correspondería a algo similar a lo siguiente:

#ACTION SOURCE DEST PROTO DEST SOURCE

# PORT PORT(S)1

ACCEPT net fw tcp 20,21

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

4.6.EJERCICIO VSFTPDAcceder como root al servidor correspondiente al equipo de trabajo

y detener el servicio vsftpd.

service vsftpd stop

Se eliminará el paquete vsftpd del sistema y se eliminará todo resto

de la configuración anterior para poder instalarlo nuevamente y poder

comenzar con una nueva configuración.Página 272

Page 274: instalacion configuracion centos

GRUPO LINUX REDES II

yum -y remove vsftpdrm -fr /etc/vsftpd

Se procede a instalar de nuevo el paquete vsftpd.

yum -y install vsftpd

Se edita el fichero de configuración utilizando vim. Este fichero tiene

contenido, por lo que si aparece en blanco o como fichero nuevo, se debe

salir del editor y verificar que esté correcta la ruta definida en el intérprete

de mandatos.

vim /etc/vsftpd/vsftpd.conf

Configurar vsftpd teniendo en cuenta los siguientes parámetros:

anonymous_enable=YES

local_enable=YES

write_enable=YES

anon_upload_enable=NO

anon_mkdir_write_enable=NO

ftpd_banner=Bienvenido al servidor FTP de nuestra institución.

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

anon_max_rate=25600

local_max_rate=51200

max_clients=4

max_per_ip=4

Es importante crear el fichero definido en el parámetro

chroot_list_file. Si este faltase, el servicio de FTP no funcionará

correctamente. Debe crearse con el mandato touch del siguiente modo:

touch /etc/vsftpd/vsftpd.chroot_list

Iniciar el servicio recién configurado.

service vsftpd start

Página 273

Page 275: instalacion configuracion centos

GRUPO LINUX REDES II

Añadir el servicio vsftpd al arranque del sistema.

chkconfig vsftpd on

Crear la cuenta de usuario pruebasftp, asignando /sbin/nologin como intérprete de mandatos,asignando /var/www/pruebasftp como

directorio de inicio, asignar apache como el grupo predeterminado para el

usuario, y el criptograma $1$Fvs3oU5c$4ff89riowPb1EmJ7O.QtD0 (que

corresponde a 123qwe) como clave de acceso.

Nota: al asignar la clave de acceso con este método, los signos $ siempre

se escriben como secuencia de escape utilizando \, ya que de otra forma el

sistema los interpretaría como variables de entorno.

useradd -s /sbin/nologin -m -d /var/www/pruebasftp -g apache --password "\$1\$Fvs3oU5c\$4ff89riowPb1EmJ7O.QtD0" pruebasftp

NOTA: El mandato anterior es una sola línea en el intérprete

de mandatos.

Se podrá apreciar la actividad de del servidor FTP recién

configurado consultando el contenido del fichero /var/log/xferlog. Utilice el

mandato tail con la opción -f para supervisar lo que ocurrirá al realizar una

transferencia a través del servidor FTP.

tail -f /var/log/xferlog

Accediendo desde otro equipo hacia 127.0.0.1 con el usuario

pruebasftp y la clave de acceso 123qwe, realizar una transferencia

accediendo con el mandato ftp y subiendo cualquier fichero con el mandato

mput del intérprete ftp. ftp 127.0.0.1Connected to 127.0.0.1 (127.0.0.1).

220 (vsFTPd 2.0.5)

Name (127.0.0.1:root): pruebasftp331 Please specify the password.

Password:123qwe230 Login successful.

Página 274

Page 276: instalacion configuracion centos

GRUPO LINUX REDES II

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> pwd257 "/"

ftp> put manuales-HTML.tar.bz2local: manuales-HTML.tar.bz2 remote: manuales-HTML.tar.bz2

227 Entering Passive Mode (127,0,0,1,87,94)

150 Ok to send data.

226 File receive OK.

37347 bytes sent in 0.000198 secs (1.8e+05 Kbytes/sec)

ftp> ls227 Entering Passive Mode (127,0,0,1,78,114)

150 Here comes the directory listing.

-rw-r--r-- 1 553 48 37347 May 30 23:26 manuales-HTML.tar.bz2

226 Directory send OK.

ftp> bye221 Goodbye.

4.7.CONFIGURACIÓN DE pure-ftpd

Pure-ftpd es un equipamiento lógico para servidor FTP

originalmente creado por Arnt Gulbrandsen. A pesar de su escasa

popularidad, se distingue de otros proyectos porque ha tenido como

objetivos el mantener el servicio con poco consumo de recursos, no utiliza

llamadas de mandatos externos (origen de la mayoría de los problemas de

seguridad en este tipo de equipamiento lógico), cumple con los estándares

para el protocolo FTP, es fácil de instalar y configurar, es amistoso con el

usuario y muy seguro.

4.7.1. Equipamiento lógico necesario.

Instalación a través de yum.

Pure-ftpd no está incluido en la instalación estándar de CentOS 5, Red Hat™ Enterprise Linux 5 ni White Box Enterprise Linux 5.

Página 275

Page 277: instalacion configuracion centos

GRUPO LINUX REDES II

Está disponible utilizando el siguiente depósito Yum, mantenido por

Alcance Libre.

[alcance-libre]

name=Alcance Libre para Enterprise Linux 5baseurl=http://www.alcancelibre.org/al/el/5/

gpgkey=http://www.alcancelibre.org/al/AL-RPM-KEY

Una vez configurado lo anterior, solo se necesita realizar lo

siguiente para instalar o actualizar el equipamiento lógico necesario:

yum -y install pure-ftpd

4.7.2. Procedimientos.4.7.2.1. Fichero de configuración /etc/pure-ftpd/pure-ftpd.conf

Los valores predeterminados del fichero /etc/pure-ftpd/pure-ftpd.conf hacen que el servicio funcione sin necesidad de cambio

alguno y además lo haga de una forma segura. Sin embargo existen

varios parámetros que vale la pena conocer.

a) Parámetro MaxClientsNumber.Establece el número máximo de usuarios conectados de

forma simultánea. El valor predeterminado es 50. Puede modificarse

de acuerdo a un propósito en particular y disponibilidad de ancho de

banda. Ejemplo: limita el número de usuarios simultáneos a 25.

MaxClientsNumber 25

b) Parámetro MaxClientsPerIP.Establece el número máximo de conexiones desde una

misma dirección IP. Considerando que muchos usuarios pudieran

acceder desde un servidor intermediario (proxy), lo cual significa que

lo harían con una misma dirección IP, el valor predeterminado de 8

puede ser modificado de acuerdo al criterio del administrador.

Ejemplo: limita el número de conexiones desde una misma dirección

IP a 5.

Página 276

Page 278: instalacion configuracion centos

GRUPO LINUX REDES II

MaxClientsPerIP 5

c) Parámetro DisplayDotFiles.Establece si se permitirá mostrar los ficheros cuyo nombre

inicia con un punto (ficheros ocultos) cuando el usuario envíe un

mandato de listado con la opción -a. En la mayoría de los casos, no

es conveniente permitir mostrar los ficheros ocultos. Ejemplo: se

define que no se permita mostrar ficheros ocultos.

DisplayDotFiles no

d) Parámetro NoAnonymous.Define si se permitirán o no los accesos anónimos. En la

mayoría de los casos, como un servidor FTP público, es una función

deseada. Si el administrador lo considera pertinente, puede

desactivarse cambiando el valor predeterminado no por yes.

NoAnonymous yes

e) Parámetro AnonymousCanCreateDirs.Define si se permite a los usuarios anónimos crear directorios

cuando está permitido que éstos puedan subir ficheros al servidor

FTP. El valor predeterminado es no.

f) Parámetro MaxLoad.Define que los usuarios anónimos no podrán descargar desde

el servidor FTP cuando éste tenga una carga igual o superior al valor

establecido. El valor predeterminado es 4.

g) Parámetro AntiWarez.Define que no sea posible descargar ficheros cuyo propietario

sea el usuario ftp, como una medida de seguridad que permitirá al

administrador supervisar lo que se ha subido al servidor FTP antes

de permitir su distribución. El valor predeterminado es no, y se

recomienda dejarlo de ese modo a fin de contar con una buena

política de seguridad.

Página 277

Page 279: instalacion configuracion centos

GRUPO LINUX REDES II

h) Parámetro AnonymousBandwidth.Define la tasa de Kb por segundo de descarga permitida para

los usuarios anónimos. En el ejemplo, se establece que los usuarios

anónimos tendrán una tasa de hasta 12 Kb por segundo para

descargar ficheros desde el servidor FTP.

AnonymousBandwidth 12

i) Parámetro UserBandwidth.Define la tasa de Kb por segundo de descarga permitida para

todos los usuarios, incluyendo los anónimos. Su utilización junto con

el parámetro AnonymousBandwidth hace que este último no tenga

sentido. Se utiliza o bien UserBandwidth o bien

AnonymousBandwidth. No puede combinarse su uso. En el

ejemplo, se establece que todos los usuarios, incluyendo los

anónimos, tendrán una tasa de hasta 12 Kb por segundo para

descargar ficheros desde el servidor FTP.

UserBandwidth 12

j) Parámetro umask.Define la máscara predeterminada para los nuevos ficheros y

nuevos directorios en el servidor FTP. El valor predeterminado es

133:022. Si se desea que los ficheros subidos por un usuario solo

sean leídos por ese mismo usuario, se puede utilizar 177:077. Si se

desea que los ficheros solo sean leíbles y ejecutables para su

propietario, se puede utilizar 077:077. Si se desea que los ficheros

subidos sean ejecutables, se puede utilizar 122:022. Si se desea

que los ficheros sean leíbles para otros usuarios, pero no puedan ser

reescritos por éstos, se pude utilizar 022:022. El usuario, claro,

puede cambiar desde el cliente FTP la máscara utilizada en sus

ficheros y directorios a través de SITE CHMOD. En el siguiente

ejemplo, se establecen los valores predeterminados.

umask 133:022

k) Parámetro ProhibitDotFilesWrite.

Página 278

Page 280: instalacion configuracion centos

GRUPO LINUX REDES II

Define si se permitirá sobreescribir ficheros que inicien con

punto. Su valor predeterminado es no. Si se trata de un servidor FTP

que permite el acceso hacia el directorio raíz de un sitio virtual de un

servidor HTTP, es conveniente permitir sobreescribir los ficheros

.htaccess, .htpasswd y otros contenidos, por lo que no conviene

activar este parámetro. De ser otro tipo de servidor, puede activarse

y añadir seguridad.

l) Parámetro AnonymousCantUpload.Define si se permitirá a los usuarios anónimos subir contenido

hacia el servidor FTP. De modo predefinido, este parámetro está

activo para impedir lo anterior.

AnonymousCantUpload yes

m) Parámetro CreateHomeDir.Especifica si se debe crear automática el directorio de inicio

de un usuario en caso de no existir éste. En el siguiente ejemplo, se

habilita esta función.

CreateHomeDir yes

n) Parámetro Quota.Define la cuota de número máximo de ficheros y espacio

utilizado por el usuario. Muy conveniente y útil si se tiene un servidor

FTP que permite subir contenido para un servidor HTTP compartido

por varios sitios de red virtuales. En el ejemplo se establece una

cuota máxima de 1500 ficheros y 50 MB de espacio a utilizar para

los usuarios.

Quota 1500:50

o) Parámetro MaxDiskUsage.Define el espacio máximo permitido en la partición que

contiene /var/ftp para el servicio FTP donde se está permitiendo que

Página 279

Page 281: instalacion configuracion centos

GRUPO LINUX REDES II

los usuarios anónimos suban contenido. El valor predeterminado es

99. Conviene definir un límite más bajo si el servicio FTP no es

prioritario en el sistema. En el ejemplo, se establece un uso máximo

del 80% de la partición donde se localiza /var/ftp.

MaxDiskUsage 80

p) Parámetro CustomerProof.Este parámetro fue diseñado para lidiar con los usuarios

ignorantes a fin de impedir que realicen operaciones que bloqueen el

acceso hacia sus ficheros y/o directorios de forma accidental. Es

decir, impiden que se realicen operaciones como chmod 0 public_html. Si se va a utilizar el servicio como parte de un servicio

de hospedaje de sitios de red a través de HTTP, conviene que este

parámetro esté activo.

CustomerProof yes

4.7.3. Agregar el servicio al arranque del sistema.Para hacer que el servicio de pure-ftpd esté activo con el

siguiente inicio del sistema, en todos los niveles de ejecución (2, 3, 4, y

5) se utiliza lo siguiente:

chkconfig pure-ftpd on

4.7.4. Iniciar, detener y reiniciar servicio.Para iniciar por primera vez el servicio pure-ftpd, utilice:

service pure-ftpd start

Para hacer que los cambios hechos tras modificar la

configuración surtan efecto, utilice:

service pure-ftpd restart

Para detener el servicio, utilice:

service pure-ftpd stop

Página 280

Page 282: instalacion configuracion centos

GRUPO LINUX REDES II

4.7.5. Modificaciones necesarias en el muro cortafuegos.Si se utiliza un cortafuegos con políticas estrictas, como por

ejemplo Shorewall, es necesario abrir los puerto 20 y 21 por TCP

(FTP-DATA y FTP, respectivamente).

Las reglas para el fichero /etc/shorewall/rules de Shorewall correspondería a algo similar a lo siguiente:

#ACTION SOURCE DEST PROTO DEST SOURCE

# PORT PORT(S)1

ACCEPT net fw tcp 20,21#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

5.SERVIDOR PROXY

El término en ingles «Proxy» tiene un significado muy general y al mismo

tiempo ambiguo, aunque invariablemente se considera un sinónimo del concepto

de «Intermediario».

Página 281

Page 283: instalacion configuracion centos

GRUPO LINUX REDES II

Un Servidor Intermediario (Proxy) se define como una computadora o

dispositivo que ofrece un servicio de red que consiste en permitir a los clientes

realizar conexiones de red indirectas hacia otros servicios de red. Durante el

proceso ocurre lo siguiente:

- Cliente se conecta hacia un Servidor Intermediario (Proxy).

- Cliente solicita una conexión, fichero u otro recurso disponible en un

servidor distinto.

- Servidor Intermediario (Proxy) proporciona el recurso ya sea conectándose

hacia el servidor especificado o sirviendo éste desde un caché.

- En algunos casos el Servidor Intermediario (Proxy) puede alterar la

solicitud del cliente o bien la respuesta del servidor para diversos

propósitos.

Los Servidores Intermediarios (Proxies) generalmente se hacen trabajar

simultáneamente como muro cortafuegos operando en el Nivel de Red, actuando

como filtro de paquetes, como en el caso de iptables, o bien operando en el Nivel

de Aplicación, controlando diversos servicios, como es el caso de TCP Wrapper.

Dependiendo del contexto, el muro cortafuegos también se conoce como BPD o

Border Protection Device o simplemente filtro de paquetes.

Una aplicación común de los Servidores Intermediarios (Proxies) es

funcionar como caché de contenido de Red (principalmente HTTP),

proporcionando en la proximidad de los clientes un caché de páginas y ficheros

Página 282

Page 284: instalacion configuracion centos

GRUPO LINUX REDES II

disponibles a través de la Red en servidores HTTP remotos, permitiendo a los

clientes de la red local acceder hacia éstos de forma más rápida y confiable.

Cuando se recibe una petición para un recurso de Red especificado en un

URL el Servidor Intermediario busca el resultado del URL dentro del caché. Si

éste es encontrado, el Servidor Intermediario responde al cliente proporcionado

inmediatamente el contenido solicitado. Si el contenido solicitado no estuviera

disponible en el caché, el Servidor Intermediario lo traerá desde el servidor

remoto, entregándolo al cliente que lo solicitó y guardando una copia en el caché.

El contenido en el caché es eliminado luego a través de un algoritmo de

expiración de acuerdo a la antigüedad, tamaño e historial de respuestas a

solicitudes (hits) (ejemplos: LRU, LFUDA y GDSF).

Los Servidores Intermediarios para contenido de Red (Web Proxies) también

pueden actuar como filtros del contenido servido, aplicando políticas de censura

de acuerdo a criterios arbitrarios.

SQUID

Squid es un Servidor Intermediario (Proxy), un popular programa de

software libre que implementa un servidor proxy y un demonio para caché de

páginas web, publicado bajo licencia GPL. Tiene una amplia variedad de

utilidades, desde acelerar un servidor web, guardando en caché peticiones

repetidas a DNS y otras búsquedas para un grupo de gente que comparte

recursos de la red, hasta caché de web, además de añadir seguridad filtrando el

tráfico. Es ampliamente utilizado entre los sistemas operativos como GNU/Linux y

derivados de Unix®. Es muy confiable, robusto y versátil.

Página 283

Page 285: instalacion configuracion centos

GRUPO LINUX REDES II

Squid consiste de un programa principal como servidor, un programa para

búsqueda en servidores DNS, programas opcionales para reescribir solicitudes y

realizar autenticación y algunas herramientas para administración y herramientas

para clientes. Al iniciar Squid da origen a un número configurable (5, de modo

predefinido a través del parámetro dns_children) de procesos de búsqueda en

servidores DNS, cada uno de los cuales realiza una búsqueda única en servidores

DNS, reduciendo la cantidad de tiempo de espera para las búsquedas en

servidores DNS.

Squid no debe ser utilizado como Servidor Intermediario (Proxy) para

protocolos como SMTP, POP3, TELNET, SSH, IRC, etc. Si se requiere intermediar

para cualquier protocolo distinto a HTTP, HTTPS, FTP, GOPHER y WAIS se

requerirá implementar obligatoriamente un enmascaramiento de IP o NAT

(Network Address Translation) o bien hacer uso de un servidor SOCKS como

Dante

5.1.ALGORITMOS DE CACHÉ UTILIZADOS POR SQUID.

A través de un parámetro (cache_replacement_policy) Squid incluye

soporte para los siguientes algoritmos para el caché:

Página 284

Page 286: instalacion configuracion centos

GRUPO LINUX REDES II

•  LRU Acrónimo de Least Recently Used, que traduce como Menos Recientemente Utilizado. En este algoritmo los objetos que no

han sido accedidos en mucho tiempo son eliminados primero,

manteniendo siempre en el caché a los objetos más

recientemente solicitados. Ésta política es la utilizada por Squid de modo predefinido.

•  LFUDA

Acrónimo de Least Frequently Used with Dynamic Aging, que se

traduce como Menos Frecuentemente Utilizado con Envejecimiento Dinámico. En este algoritmo los objetos más

solicitados permanecen en el caché sin importar su tamaño

optimizando la eficiencia (hit rate) por octetos (Bytes) a

expensas de la eficiencia misma, de modo que un objeto grande

que se solicite con mayor frecuencia impedirá que se pueda hacer

caché de objetos pequeños que se soliciten con menor frecuencia.

•  GDSF Acrónimo de GreedyDual Size Frequency, que se traduce como

Frecuencia de tamaño GreedyDual (codicioso dual), que es el

algoritmo sobre el cual se basa GDSF. Optimiza la eficiencia (hit

rate) por objeto manteniendo en el caché los objetos pequeños

más frecuentemente solicitados de modo que hay mejores

posibilidades de lograr respuesta a una solicitud (hit). Tiene una

eficiencia por octetos (Bytes) menor que el algoritmo LFUDA debido a que descarta del caché objetos grandes que sean

solicitado con frecuencia.

5.2.EQUIPAMIENTO LÓGICO NECESARIO.

Para poder llevar al cabo los procedimientos descritos en este y otros

documentos relacionados, se necesitará tener instalado al menos lo

siguiente:

Página 285

Page 287: instalacion configuracion centos

GRUPO LINUX REDES II

• Al menos squid-2.5.STABLE6

• httpd-2.0.x (Apache), como auxiliar de caché con aceleración.

• Todos los parches de seguridad disponibles para la versión del

sistema operativo que esté utilizando. No es conveniente utilizar un

sistema con posibles vulnerabilidades como Servidor Intermediario.

Debe tomarse en consideración que, de ser posible, se debe utilizar

siempre las versiones estables más recientes de todo equipamiento lógico

que vaya a ser instalado para realizar los procedimientos descritos en este

manual, a fin de contar con los parches de seguridad necesarios.

Ninguna versión de Squid anterior a la 2.5.STABLE6 se considera como

apropiada debido a fallas de seguridad de gran importancia.

Squid no se instala de manera predeterminada a menos que

especifique lo contrario durante la instalación del sistema operativo, sin

embargo viene incluido en casi todas las distribuciones actuales. El

procedimiento de instalación es exactamente el mismo que con cualquier

otro equipamiento lógico.

a) Instalación de Squid a través de yum.

Para el sistema operativo CentOS o White Box Enterprise Linux 3 o

versiones posteriores, utilice lo siguiente y se instalará todo lo necesario

junto con sus dependencias:

yum -y install squid httpd

b) Instalación a través de up2date.

Si cuenta con un sistema con Red Hat™ Enterprise Linux 3 o

versiones posteriores, utilice lo siguiente y se instalará todo lo necesario

junto con sus dependencias:

up2date -i squid httpd

Página 286

Page 288: instalacion configuracion centos

GRUPO LINUX REDES II

c) Otros componentes necesarios.

El mandato iptables se utilizará para generar las reglas necesarias

para el guión de Enmascaramiento de IP. Se instala de modo predefinido

en todas las distribuciones actuales que utilicen núcleo (kernel) versiones

2.4 y 2.6.

Es importante tener actualizado el núcleo del sistema operativo por

diversas cuestiones de seguridad. No es recomendable utilizar versiones

del kernel anteriores a la 2.4.21.

Para el sistema operativo CentOS o White Box Enterprise Linux 3 o

versiones posteriores, utilice lo siguiente para actualizar el núcleo del

sistema operativo e iptables, si acaso fuera necesario:

yum -y update kernel iptables

5.3. SELinux Y EL SERVICIO SQUID.

A fin de que SELinux permita al servicio squid que los clientes se

conecten desde cualquier direccion IP, ejecutar lo siguiente.

setsebool -P squid_connect_any 1

Para que SELinux permita al servicio squid funcionar normalmente,

haciendo que todo lo anteriormente descrito pierda sentido, utilice el

siguiente mandato:

setsebool -P squid_disable_trans 1

5.4.CONFIGURACIÓN BÁSICA.

Squid utiliza el fichero de configuración localizado en

/etc/squid/squid.conf, y podrá trabajar sobre este utilizando su editor de texto

simple preferido. Existen un gran número de parámetros, de los cuales

recomendamos configurar los siguientes:

Página 287

Page 289: instalacion configuracion centos

GRUPO LINUX REDES II

• http_port

• cache_dir

• Al menos una Lista de Control de Acceso

• Al menos una Regla de Control de Acceso

• httpd_accel_host

• httpd_accel_port

• httpd_accel_with_proxy

a) Parámetro http_port

De acuerdo a las asignaciones hechas por IANA y continuadas

por la ICANN desde el 21 de marzo de 2001, los Puertos Registrados

(rango desde 1024 hasta 49151) recomendados para Servidores Intermediarios (Proxies) pueden ser el 3128 y 8080 a través de TCP.

De modo predefinido Squid utilizará el puerto 3128 para atender

peticiones, sin embargo se puede especificar que lo haga en cualquier

otro puerto disponible o bien que lo haga en varios puertos disponibles

a la vez.

En el caso de un Servidor Intermediario (Proxy) Transparente,

regularmente se utilizará el puerto 80 o el 8080 y se valdrá del re-

direccionamiento de peticiones de modo tal que no habrá necesidad

alguna de modificar la configuración de los clientes HTTP para utilizar

el Servidor Intermediario (Proxy). Bastará con utilizar como puerta de

enlace al servidor. Es importante recordar que los Servidores HTTP,

como Apache, también utilizan dicho puerto, por lo que será necesario

volver a configurar el servidor HTTP para utilizar otro puerto disponible,

o bien desinstalar o desactivar el servidor HTTP.

Página 288

Page 290: instalacion configuracion centos

GRUPO LINUX REDES II

Hoy en día puede no ser del todo práctico el utilizar un Servidor Intermediario (Proxy) Transparente, a menos que se trate de un

servicio de Café Internet u oficina pequeña, siendo que uno de los

principales problemas con los que lidian los administradores es el mal

uso y/o abuso del acceso a Internet por parte del personal. Es por esto

que puede resultar más conveniente configurar un Servidor Intermediario (Proxy) con restricciones por clave de acceso, lo cual no

puede hacerse con un Servidor Intermediario (Proxy) Transparente,

debido a que se requiere un diálogo de nombre de usuario y clave de

acceso.

Regularmente algunos programas utilizados comúnmente por los

usuarios suelen traer de modo predefinido el puerto 8080 (servicio de cacheo WWW) para utilizarse al configurar que Servidor Intermediario (Proxy) utilizar. Si queremos aprovechar esto en nuestro favor y

ahorrarnos el tener que dar explicaciones innecesarias al usuario,

podemos especificar que Squid escuche peticiones en dicho puerto

también. Siendo así localice la sección de definición de http_port, y

especifique:

# Default: http_port 3128http_port 3128http_port 8080

Si desea incrementar la seguridad, puede vincularse el servicio a

una IP que solo se pueda acceder desde la red local. Considerando que

el servidor utilizado posee una IP 192.168.1.254, puede hacerse lo

siguiente:

# Default: http_port 3128http_port 192.168.1.254:3128http_port 192.168.1.254:8080

En el caso de Squid 2.6 y versiones posteriores (CentOS 5, Red

Hat Enterprise Linux 5 y White Box Enterprise Linux 5), el parámetro

Página 289

Page 291: instalacion configuracion centos

GRUPO LINUX REDES II

http_port se utiliza también para especificar si se utiliza un proxy

transparente, especificando el parámetro transparente, de la siguiente

forma:

# Default: http_port 3128http_port 192.168.1.254:8080 transparent

b) Parámetro cache_mem.

El parámetro cache_mem establece la cantidad ideal de memoria

para lo siguiente:

• Objetos en tránsito.

• Objetos frecuentemente utilizados (Hot).

• Objetos negativamente almacenados en el caché.

Los datos de estos objetos se almacenan en bloques de 4 Kb. El

parámetro cache_mem especifica un límite máximo en el tamaño total

de bloques acomodados, donde los objetos en tránsito tienen mayor

prioridad. Sin embargo los objetos Hot y aquellos negativamente

almacenados en el caché podrán utilizar la memoria no utilizada hasta

que esta sea requerida. De ser necesario, si un objeto en tránsito es

mayor a la cantidad de memoria especificada, Squid excederá lo que

sea necesario para satisfacer la petición.

De modo predefinido se establecen 8 MB. Puede especificarse

una cantidad mayor si así se considera necesario, dependiendo esto de

los hábitos de los usuarios o necesidades establecidas por el

administrador.

Si se posee un servidor con al menos 128 MB de RAM,

establezca 16 MB como valor para este parámetro:

cache_mem 16 MB

Página 290

Page 292: instalacion configuracion centos

GRUPO LINUX REDES II

c) Parámetro cache_dir.

Este parámetro se utiliza para establecer que tamaño se desea

que tenga el caché en el disco duro para Squid. Para entender esto un

poco mejor, responda a esta pregunta: ¿Cuánto desea almacenar de Internet en el disco duro? De modo predefinido Squid utilizará un

caché de 100 MB, de modo tal que encontrará la siguiente línea:

cache_dir ufs /var/spool/squid 100 16 256

Se puede incrementar el tamaño del caché hasta donde lo desee

el administrador. Mientras más grande sea el caché, más objetos se

almacenarán en éste y por lo tanto se utilizará menos el ancho de

banda. La siguiente línea establece un caché de 700 MB:

cache_dir ufs /var/spool/squid 700 16 256

Los números 16 y 256 significan que el directorio del caché

contendrá 16 directorios subordinados con 256 niveles cada uno. No es necesario modificar estos números.

Es muy importante considerar que si se especifica un determinado

tamaño de caché y éste excede al espacio real disponible en el disco

duro, Squid se bloqueará inevitablemente.

d) Parámetro ftp_user.

Al acceder a un servidor FTP de manera anónima, de modo predefinido

Squid enviará como clave de acceso Squid@. Si se desea que el acceso

anónimo a los servidores FTP sea más informativo, o bien si se desea acceder a

servidores FTP que validan la autenticidad de la dirección de correo

especificada como clave de acceso, puede especificarse la dirección de correo

electrónico que uno considere pertinente.

Página 291

Page 293: instalacion configuracion centos

GRUPO LINUX REDES II

ftp_user [email protected]

e) Controles de acceso.

Es necesario establecer Listas de Control de Acceso que

definan una red o bien ciertas máquinas en particular. A cada lista se le

asignará una Regla de Control de Acceso que permitirá o denegará el

acceso a Squid. Procedamos a entender cómo definir unas y otras.

Listas de control de acceso.

Regularmente una lista de control de acceso se establece con la

siguiente sintaxis:

acl [nombre de la lista] src [lo que compone a la lista]

Si se desea establecer una lista de control de acceso que abarque a

toda la red local, basta definir la IP correspondiente a la red y la

máscara de la sub-red. Por ejemplo, si se tiene una red donde las

máquinas tienen direcciones IP 192.168.1.n con máscara de sub-red

255.255.255.0, podemos utilizar lo siguiente:

acl miredlocal src 192.168.1.0/255.255.255.0

También puede definirse una Lista de Control de Acceso especificando un fichero localizado en cualquier parte del disco duro,

y la cual contiene una lista de direcciones IP. Ejemplo:

acl permitidos src "/etc/squid/permitidos"

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

192.168.1.1

Página 292

Page 294: instalacion configuracion centos

GRUPO LINUX REDES II

192.168.1.2192.168.1.3

192.168.1.15192.168.1.16192.168.1.20192.168.1.40

Lo anterior estaría definiendo que la Lista de Control de Acceso denominada permitidos estaría compuesta por las direcciones IP

incluidas en el fichero /etc/squid/permitidos.

Reglas de Control de Acceso.

Estas definen si se permite o no el acceso hacia Squid. Se aplican a

las Listas de Control de Acceso. Deben colocarse en la sección de

reglas de control de acceso definidas por el administrador, es decir,

a partir de donde se localiza la siguiente leyenda:

# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR

CLIENTS

La sintaxis básica es la siguiente:

http_access [deny o allow] [lista de control de acceso]

En el siguiente ejemplo consideramos una regla que establece

acceso permitido a Squid a la Lista de Control de Acceso denominada permitidos:

http_access allow permitidos

También pueden definirse reglas valiéndose de la expresión !, la

cual significa no. Pueden definirse, por ejemplo, dos listas de control

de acceso, una denominada lista1 y otra denominada lista2, en la

misma regla de control de acceso, en donde se asigna una

expresión a una de estas. La siguiente establece que se permite el

Página 293

Page 295: instalacion configuracion centos

GRUPO LINUX REDES II

acceso a Squid a lo que comprenda lista1 excepto aquello que

comprenda lista2:

http_access allow lista1 !lista2

Este tipo de reglas son útiles cuando se tiene un gran grupo de IP

dentro de un rango de red al que se debe permitir acceso, y otro

grupo dentro de la misma red al que se debe denegar el acceso.

Aplicando Listas y Reglas de control de acceso.

Una vez comprendido el funcionamiento de la Listas y las Regla de

Control de Acceso, procederemos a determinar cuales utilizar para

nuestra configuración.

CASO 1.

Considerando como ejemplo que se dispone de una red

192.168.1.0/255.255.255.0, si se desea definir toda la red local,

utilizaremos la siguiente línea en la sección de Listas de Control de Acceso:

acl todalared src 192.168.1.0/255.255.255.0

Habiendo hecho lo anterior, la sección de listas de control de acceso

debe quedar más o menos del siguiente modo:

Listas de Control de Acceso: definición de una red local completa

acl all src 0.0.0.0/0.0.0.0

acl manager proto cache_object

Página 294

Page 296: instalacion configuracion centos

GRUPO LINUX REDES II

acl localhost src 127.0.0.1/255.255.255.255

acl todalared src 192.168.1.0/255.255.255.0

A continuación procedemos a aplicar la regla de control de acceso:

http_access allow todalared

Habiendo hecho lo anterior, la zona de reglas de control de acceso

debería quedar más o menos de este modo:

Reglas de control de acceso: Acceso a una Lista de Control de Acceso.

http_access allow localhost

http_access allow todalared

http_access deny all

La regla http_access allow todalared permite el acceso a Squid a

la Lista de Control de Acceso denominada todalared, la cual está

conformada por 192.168.1.0/255.255.255.0. Esto significa que

cualquier máquina desde 192.168.1.1 hasta 192.168.1.254 podrá

acceder a Squid.

CASO 2.

Si solo se desea permitir el acceso a Squid a ciertas direcciones IP

de la red local, deberemos crear un fichero que contenga dicha lista.

Genere el fichero /etc/squid/listas/redlocal, dentro del cual se

incluirán solo aquellas direcciones IP que desea confirmen la Lista

de Control de acceso. Ejemplo:

192.168.1.1

192.168.1.2

192.168.1.3

192.168.1.15

Página 295

Page 297: instalacion configuracion centos

GRUPO LINUX REDES II

192.168.1.16

192.168.1.20

192.168.1.40

Denominaremos a esta lista de control de acceso como redlocal:

acl redlocal src "/etc/squid/listas/redlocal"

Habiendo hecho lo anterior, la sección de listas de control de acceso

debe quedar más o menos del siguiente modo:

Listas de Control de Acceso: definición de una red local completa

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 redlocal src "/etc/squid/listas/redlocal"

A continuación procedemos a aplicar la regla de control de acceso:

http_access allow redlocal

Habiendo hecho lo anterior, la zona de reglas de control de acceso

debería quedar más o menos de este modo:

Reglas de control de acceso: Acceso a una Lista de Control de Acceso.

http_access allow localhost

http_access allow redlocal

http_access deny all

La regla http_access allow redlocal permite el acceso a Squid a la

Lista de Control de Acceso denominada redlocal, la cual está

conformada por las direcciones IP especificadas en el fichero

Página 296

Page 298: instalacion configuracion centos

GRUPO LINUX REDES II

/etc/squid/listas/redlocal. Esto significa que cualquier máquina no

incluida en /etc/squid/listas/redlocal no tendrá acceso a Squid.

f) Parámetro chache_mgr.

De modo predefinido, si algo ocurre con el caché, como por

ejemplo que muera el proceso, se enviará un mensaje de aviso a la

cuenta webmaster del servidor. Puede especificarse una distinta si

acaso se considera conveniente.

cache_mgr [email protected]

g) Parámetro cache_peer.

El parámetro cache_peer se utiliza para especificar otros

Servidores Intermediarios (Proxies) con caché en una jerarquía como

padres o como hermanos. Es decir, definir si hay un Servidor Intermediario (Proxy) adelante o en paralelo. La sintaxis básica es la

siguiente:

cache_peer servidor tipo http_port icp_port opciones

Ejemplo: Si su caché va a estar trabajando detrás de otro servidor

cache, es decir un caché padre, y considerando que el caché padre

tiene una IP 192.168.1.1, escuchando peticiones HTTP en el puerto

8080 y peticiones ICP en puerto 3130 (puerto utilizado de modo predefinido por Squid) , especificando que no se almacenen en caché

los objetos que ya están presentes en el caché del Servidor Intermediario (Proxy) padre, utilice la siguiente línea:

cache_peer 192.168.1.1 parent 8080 3130 proxy-only

Página 297

Page 299: instalacion configuracion centos

GRUPO LINUX REDES II

Cuando se trabaja en redes muy grandes donde existen varios

Servidores Intermediarios (Proxy) haciendo caché de contenido de

Internet, es una buena idea hacer trabajar todos los caché entre si.

Configurar caches vecinos como sibling (hermanos) tiene como

beneficio el que se consultarán estos caches localizados en la red local

antes de acceder hacia Internet y consumir ancho de banda para

acceder hacia un objeto que ya podría estar presente en otro caché

vecino.

Ejemplo: Si su caché va a estar trabajando en paralelo junto con otros

caches, es decir caches hermanos, y considerando los caches tienen

IP 10.1.0.1, 10.2.0.1 y 10.3.0.1, todos escuchando peticiones HTTP en

el puerto 8080 y peticiones ICP en puerto 3130, especificando que no

se almacenen en caché los objetos que ya están presentes en los

caches hermanos, utilice las siguientes líneas:

cache_peer 10.1.0.1 sibling 8080 3130 proxy-only

cache_peer 10.2.0.1 sibling 8080 3130 proxy-only

cache_peer 10.3.0.1 sibling 8080 3130 proxy-only

Pueden hacerse combinaciones que de manera tal que se podrían

tener caches padres y hermanos trabajando en conjunto en una red

local. Ejemplo:

cache_peer 10.0.0.1 parent 8080 3130 proxy-only

cache_peer 10.1.0.1 sibling 8080 3130 proxy-only

cache_peer 10.2.0.1 sibling 8080 3130 proxy-only

cache_peer 10.3.0.1 sibling 8080 3130 proxy-only

5.5.CACHÉ CON ACELERACIÓN.

Cuando un usuario hace petición hacia un objeto en Internet, este es

almacenado en el caché de Squid. Si otro usuario hace petición hacia el

Página 298

Page 300: instalacion configuracion centos

GRUPO LINUX REDES II

mismo objeto, y este no ha sufrido modificación alguna desde que lo

accedió el usuario anterior, Squid mostrará el que ya se encuentra en el

caché en lugar de volver a descargarlo desde Internet.

Esta función permite navegar rápidamente cuando los objetos ya

están en el caché de Squid y además optimiza enormemente la utilización

del ancho de banda.

La configuración de Squid como Servidor Intermediario (Proxy)

Transparente solo requiere complementarse utilizando una regla de

iptables que se encargará de re-direccionar peticiones haciéndolas pasar

por el puerto 8080.

5.5.1. Servidor Intermedio (Proxy) en modo convencional

En la sección HTTPD-ACCELERATOR OPTIONS deben

habilitarse los siguientes parámetros:

httpd_accel_host virtual

httpd_accel_port 0

httpd_accel_with_proxy on

5.5.2. Servidor Intermedio (Proxy) Transparente

Si se trata de un Servidor Intermediario (Proxy) transparente,

deben utilizarse las siguientes opciones, considerando que se hará

uso del caché de un servidor HTTP (Apache) como auxiliar:

Debe especificarse la IP de cualquier servidor HTTP en la red local o

bien el valor virtual

httpd_accel_host 192.168.1.254

httpd_accel_port 80

httpd_accel_with_proxy on

httpd_accel_uses_host_header on

Página 299

Page 301: instalacion configuracion centos

GRUPO LINUX REDES II

Por defecto el parámetro httpd_accel_with_proxy viene con el

valor off, es importante no olvidar cambiar este valor por on.

5.6.AÑADIENDO EL SERVICIO AL ARRANQUE DEL SISTEMA.

Una vez terminada la configuración, ejecute el siguiente mandato

para iniciar por primera vez Squid:

service squid start

Si necesita reiniciar para probar cambios hechos en la

configuración, utilice lo siguiente:

service squid restart

Si desea que Squid inicie de manera automática la próxima vez

que inicie el sistema, utilice lo siguiente:

chkconfig squid on

5.7.DEPURACIÓN DE ERRORES

Cualquier error al inicio de Squid solo significa que hubo errores

de sintaxis, errores de dedo o bien se están citando incorrectamente las

rutas hacia los ficheros de las Listas de Control de Acceso.

Puede realizar diagnóstico de problemas indicándole a Squid que

vuelva a leer configuración, lo cual devolverá los errores que existan en

el fichero /etc/squid/squid.conf.

service squid reload

Página 300

Page 302: instalacion configuracion centos

GRUPO LINUX REDES II

Cuando se trata de errores graves que no permiten iniciar el

servicio, puede examinarse el contenido del fichero

/var/log/squid/squid.out con el mandato less, more o cualquier otro

visor de texto:

less /var/log/squid/squid.out

5.8.AJUSTES PARA EL MURO CORTA-FUEGOS.

Si se tiene poca experiencia con guiones de cortafuegos a través de

iptables, sugerimos utilizar Firestarter. éste permite configurar fácilmente

tanto el enmascaramiento de IP como el muro corta-fuegos. Si se tiene un

poco más de experiencia, recomendamos utilizar Shorewall para el mismo

fin puesto que se trata de una herramienta más robusta y completa.

5.8.1. Re-direccionamiento de peticiones a través de iptables y Firestarter.

En un momento dado se requerirá tener salida transparente

hacia Internet para ciertos servicios, pero al mismo tiempo se

necesitará re-direccionar peticiones hacia servicio HTTP para pasar a

través del el puerto donde escucha peticiones Squid (8080), de modo

que no haya salida alguna hacia alguna hacia servidores HTTP en el

exterior sin que ésta pase antes por Squid. No se puede hacer

Servidor Intermediario (Proxy) Transparente para los protocolos

HTTPS, FTP, GOPHER ni WAIS, por lo que dichos protocolos tendrán

que ser filtrados a través del NAT.

El re-direccionamiento lo hacemos a través de iptables.

Considerando para este ejemplo que la red local se accede a través

de una interfaz eth0, el siguiente esquema ejemplifica un re-

direccionamiento:

/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

Página 301

Page 303: instalacion configuracion centos

GRUPO LINUX REDES II

Lo anterior, que requiere un guión de cortafuegos funcional en un sistema con dos interfaces de red, hace que cualquier

petición hacia el puerto 80 (servicio HTTP) hecha desde la red local

hacia el exterior, se re-direccionará hacia el puerto 8080 del servidor.

Utilizando Firestarter, la regla anteriormente descrita se añade

en el fichero /etc/firestarter/user-post.

5.8.2. Re-direccionamiento de peticiones a través de la opción REDIRECT en Shorewall.

La acción REDIRECT en Shorewall permite redirigir peticiones

hacia protocolo HTTP para hacerlas pasar a través de Squid. En el

siguiente ejemplo las peticiones hechas desde la zona que

corresponde a la red local serán redirigidas hacia el puerto 8080 del

cortafuegos, en donde está configurado Squid configurado como

Servidores Intermediario (Proxy) transparente.

#ACTION SOURCE DEST PROTO DESTREDIRECT loc 8080 tcp 80

5.9. CONFIGURAR SQUID: RESTRICCIÓN DE ACCESO A SITIOS DE RED

Denegar el acceso a ciertos Sitios de Red permite hacer un uso más

racional del ancho de banda con el que se dispone. El funcionamiento es

verdaderamente simple, y consiste en denegar el acceso a nombres de

dominio o direcciones de Red que contengan patrones en común.

Para comenzar se necesita tener instalado al menos squid-

2.5STABLE1.

5.9.1. Patrones Comunes

Lo primero será generar una lista la cual contendrá direcciones

de Red y palabras usualmente utilizadas en nombres de ciertos

dominios. Ejemplos:

Página 302

Page 304: instalacion configuracion centos

GRUPO LINUX REDES II

www.sitioporno.comwww.otrositioporno.comsitioindeseable.comotrositioindeseable.comnapstersexpornmp3xxxadultwarezcelebri

Esta lista, la cual debera ser completada con todas las palabras

(muchas de esta son palabras obscenas en distintos idiomas) y

direcciones de Red que el administrador considere pertinentes, la

guardaremos como /etc/squid/sitiosdenegados.

a) Parámetros en /etc/squid/squid.conf

Debemos definir una Lista de Control de Acceso que a su vez

defina al fichero /etc/squid/sitiosdenegados. Esta lista la

denominaremos como "sitiosdenegados". De modo tal, la línea

correspondiente quedaría del siguiente modo:

acl sitiosdenegados url_regex "/etc/squid/sitiosdenegados"

Habiendo hecho lo anterior, deberemos tener en la sección de

Listas de Control de Acceso algo como lo siguiente:

#Recommended minimum configuration:acl all src 0.0.0.0/0.0.0.0acl manager proto cache_objectacl localhost src 127.0.0.1/255.255.255.255acl redlocal src 192.168.1.0/255.255.255.0acl password proxy_auth REQUIREDacl sitiosdenegados url_regex "/etc/squid/sitiosdenegados"

A continuación especificaremos modificaremos una Regla de

Control de Acceso existente agregando con un símbolo de ! que se

Página 303

Page 305: instalacion configuracion centos

GRUPO LINUX REDES II

denegara el acceso a la Lista de Control de Acceso denominada

sitiosdenegados:

http_access allow redlocal !sitiosdenegados

La regla anterior permite el acceso a la Lista de Control de

Acceso denominada redlocal, pero le niega el acceso a todo lo que

coincida con lo especificado en la Lista de Control de Acceso

denominada sitiosdenegados.

Reglas de control de acceso: denegacion de sitios.

# INSERT YOUR OWN RULE(S) HERE TO allow ACCESS FROM YOUR

CLIENTS

# http_access allow localhost

http_access allow redlocal password !sitiosdenegados

http_access deny all

b) Permitiendo acceso a sitios inocentes incidentalmente bloqueados

Si por ejemplo el incluir una palabra en particular afecta el

acceso a un sitio de Red, también puede generarse una lista de

dominios o palabras que contengan un patrón pero que

consideraremos como apropiados.

Como ejemplo: vamos a suponer que dentro de la Lista de

Control de Acceso de sitios denegados esta la palabra sex. Esta

denegaría el acceso a cualquier nombre de dominio que incluya

dicha cadena de caracteres, como extremesex.com. Sin embargo

también estaría bloqueando a sitios como sexualidadjoven.cl, el cual

no tiene que ver en lo absoluto con pornografía, sino orientación

sexual para la juventud. Podemos anadir este nombre de dominio en

un ficheros que denominaremos /etc/squid/sitios-inocentes.

Página 304

Page 306: instalacion configuracion centos

GRUPO LINUX REDES II

Este fichero será definido en una Lista de Control de Acceso del mismo modo en que se hizo anteriormente con el fichero

que contiene dominios y palabras denegadas.

acl inocentes url_regex "/etc/squid/sitios-inocentes"

Para hacer uso del fichero, solo bastara utilizar la expresión ! en la misma línea utilizada para la Regla de Control de Acceso

establecida para denegar el mismo.

http_access allow all inocentes

La regla anterior especifica que se denegara el acceso a todo

lo que comprenda la Lista de Control de Acceso denominada

denegados excepto lo que comprenda la Lista de Control de Acceso

denominada inocentes. es decir, se podrá acceder sin dificultad a

www.sexualidadjoven.cl manteniendo la restricción para la cadena

de caracteres sex.

Finalmente, solo bastara reiniciar Squid para que tomen efecto los

cambios y podamos hacer pruebas.

service squid restart

5.10. CONFIGURAR SQUID: RESTRICCIÓN DE ACCESO A CONTENIDO POR EXTENSIÓN

Denegar el acceso a ciertos tipos de extensiones de fichero permite

hacer un uso mas racional del ancho de banda con el que se dispone. El

funcionamiento es verdaderamente simple, y consiste en denegar el

acceso a ciertos tipos de extensiones que coincidan con lo establecido en

una Lista de Control de Acceso.

Para comenzar se necesita tener instalado al menos squid-

2.5STABLE1.

Página 305

Page 307: instalacion configuracion centos

GRUPO LINUX REDES II

Lo primero sera generar una lista la cual contendra direcciones Web

y palabras usualmente utilizadas en nombres de ciertos dominios.

Ejemplos:

\.avi$\.mp4$\.mp3$\.mp4$\.mpg$\.mpeg$\.mov$\.ra$\.ram$\.rm$

\.rpm$\.vob$\.wma$\.wmv$\.wav$\.doc$\.xls$\.mbd$\.ppt$\.pps$

\.ace$\.bat$\.exe$\.lnk$\.pif$\.scr$\.sys$\.zip$\.rar$

Página 306

Page 308: instalacion configuracion centos

Esta lista, la cual debera ser completada con todas las extensiones

de fichero que el administrador considere pertinentes, la guardaremos

como /etc/squid/listaextensiones.

5.10.1. PARÁMETROS En /etc/squid/squid.conf

Debemos definir una Lista de Control de Acceso que a su vez

defina al fichero /etc/squid/listaextensiones. Esta lista la

denominaremos como "listaextensiones". De modo tal, la linea

correspondiente quedaria del siguiente modo:

acl listaextensiones urlpath_regex "/etc/squid/listaextensiones"

Habiendo hecho lo anterior, deberemos tener en la seccion de

Listas de Control de Acceso algo como lo siguiente:

#Recommended minimum configuration:

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 redlocal src 192.168.1.0/255.255.255.0

acl password proxy_auth REQUIRED

acl sitiosdenegados url_regex "/etc/squid/sitiosdenegados"

acl listaextensiones urlpath_regex "/etc/squid/listaextensiones"

A continuacion especificaremos una Regla de Control de

Acceso existente agregando con un simbolo de ! que se denegara el

acceso a la Lista de Control de Acceso denominada listaextensiones:

http_access allow redlocal !listaextensiones

La regla anterior permite el acceso a la Lista de Control de Acceso denominada redlocal, pero le niega el acceso a todo lo que

coincida con lo especificado en la Lista de Control de Acceso

denominada listaextensiones.

Page 309: instalacion configuracion centos

Reglas de control de acceso: denegacion de extensiones.

#INSERT YOUR OWN RULE(S) HERE TO allow ACCESS FROM YOUR

CLIENTS

# http_access allow localhost

http_access allow redlocal password !sitiosdenegados !listaextensioneshttp_access deny all

Finalmente, solo bastara reiniciar Squid para que tomen efecto los

cambios y podamos hacer pruebas.

service squid restart

5.11. CONFIGURAR SQUID: RESTRICCIÓN DE ACCESO POR HORARIOS

Denegar el acceso a ciertos usuarios en ciertos horarios permite

hacer un uso mas racional del ancho de banda con el que se dispone. El

funcionamiento es verdaderamente simple, y consiste en denegar el

acceso en horarios y dias de la semana.

5.11.1. Procedimientos

La sintaxis para crear Listas de control de acceso que definan

horarios es la siguiente:

acl [nombre del horario] time [dias de la semana] hh:mm-hh:mm

Los dias de la semana se definen con letras, las cuales

corresponden a la primera letra del nombre en ingles, de modo que se

utilizaran del siguiente modo:

• S - Domingo• M - Lunes• T - Mastes• W - Miercoles• H - Jueves• F - Viernes• A - Sabado

Page 310: instalacion configuracion centos

Ejemplo: acl semana time MTWHF 09:00-21:00

Esta regla define a la lista semana, la cual comprende un horario de 09:00 a 21:00

horas desde el Lunes hasta el Viernes.

Este tipo de listas se aplican en las Reglas de Control de Acceso con una

mecanica similar a la siguiente: se permite o deniega el acceso en el horario definido en la

Lista de Control de Acceso denominada X para las entidades definidas en la Lista de

Control de Acceso denominada Y. Lo anterior expresado en una Regla de Control de

Acceso, quedaria del siguiente modo:

http_access [allow | deny] [nombre del horario] [lista de entidades]

Ejemplo: Se quiere establecer que los miembros de la Lista de Control de Acceso denominada clasematutina tengan permitido acceder hacia Internet en un horario

que denominaremos como matutino, y que comprende de lunes a viernes de 09:00 a

15:00 horas.

La defincion para le horario corresponderia a:

acl clasematutina src 192.168.1.0/255.255.255.0

acl matutino time MTWHF 09:00-15:00

La definicion de la Regla de Control de Acceso seria:

http_access allow matutino clasematutina

Lo anterior, en resumen, significa que quienes conformen clasematutina podran

acceder a Internet de Lunes a Viernes de 09:00-15:00 horas.

Finalmente, solo bastara reiniciar Squid para que tomen efecto los cambios y

podamos hacer pruebas.

service squid restart

5.12. CONFIGURAR SQUID CON SOPORTE PARA DIRECCIONES MAC

Page 311: instalacion configuracion centos

Squid de modo predeterminado no esta incluido el soporte para

listas de control de acceso basadas sobre direcciones MAC (Media

Access Control).

5.12.1. Instalación a través de yum.

Si utiliza CentOS 5, Red Hat Enterprise Linux 5 o White Box Enterprise

Linux 5, solo se necesita realizar lo siguiente para instalar o actualizar el

equipamiento logico necesario:

yum -y install squid-arp

Lo anterior instalara el paquete squid-arp y reemplazara al paquete

squid. El paquete squidarp es identico al paquete squid con la unica

diferencia de que el primero fue compilado con la opcion --enable-arp-acl.

En otras distribuciones distintas a CentOS 5, Red Hat Enterprise Linux

5 o White Box Enterprise Linux 5, se requiere desinstalar el paquete original

y descargar los fuentes de squid y compilar estos con la opcion --enable-arp-

acl.

./configure --enable-arp-aclmakemake install

5.12.2. Procedimientos

Se requiere se hayan configurado al menos los siguientes parametros:

• http_port, ejemplo: http_port 8080 transparent

• cache_dir, ejemplo: cache_dir ufs /var/spool/squid 1024 16 256

• error_directory, ejemplo: error_directory

/usr/share/squid/errors/Spanish

Se requiere ademas determinar los valores las siguientes variables

que deberan ser reemplazadas por datos reales:

• Las direcciones MAC especificadas en los ejemplos.

Page 312: instalacion configuracion centos

• las direcciones MAC de todos los equipos de la LAN se pueden

obtener, si se esta realizando las operaciones desde un servidor

que sirve de puerta de enlace, utilizando el mandato arp con la

opcion -n, es decir: arp -n.

• Alternativamente, la direccion MAC desde una estacion trabajo

con Windows se puede obtener la direccion MAC utilizando el

mandato ipconfig con la opcion /all: ipconfig /all

• Alternativamente, la direccion MAC desde una estacion trabajo

con Linux se puede obtener la direccion MAC utilizando el

mandato ifconfig.

Fichero /etc/squid/listas/macsredlocal.

Crear un fichero denominado /etc/squid/listas/macsredlocalvi /etc/squid/listas/macsredlocal

Donde el contenido sera una lista de direcciones MAC a la

cual se aplicaran reglas de control de acceso. Ejemplo:

00:01:80:41:9C:8A00:08:A1:84:18:AD00:16:E3:9D:CD:7700:04:75:AA:2D:A100:19:D2:6B:41:4500:13:10:8D:4A:EE00:19:21:14:9B:0Dr

5.12.3.Fichero /etc/squid/squid.conf

Se edita el fichero /etc/squid/squid.conf:vi /etc/squid/squid.conf

En este se debe configurar la lista de control de acceso con

un nombre que la identifique y diferencie claramente de las demas

listas, asignado el tipo de lista como arp. En el siguiente ejemplo, se

crea la lista de control de acceso denominada macsredlocal de tipo

Page 313: instalacion configuracion centos

arp y cuyos elementos que la conforman estan en el fichero

/etc/squid/listas/macsredlocal:

acl macsredlocal arp "/etc/squid/listas/macsredlocal"

Se crea una regla de control de acceso que permita a los

miembros de la lista de control de acceso hacer algo. En el siguiente

ejemplo se define que esta permitido el acceso a la lista

macsredlocal:http_access allow macsredlocal

Si se creo alguna lista para limitar el acceso hacia palabras y

otra para extensiones, como se describe en los documentos ≪Cómo

configurar Squid: Restricción de acceso a Sitios de Red y ≫ ≪Cómo

configurar Squid: Restricción de acceso a contenido por extensión ,≫

la regla de control de acceso podria quedar de la siguiente manera:

http_access allow macsredlocal !porno !extensiones

Si ademas se creo alguna lista para limitar los horarios de

acceso, como se describe en el documento ≪Cómo configurar

Squid: Restricción de acceso por horarios , la regla de control de≫acceso podria quedar de la siguiente manera:

http_access allow matutino macsredlocal !porno !extensiones

Cualquier otra forma de utilizar la lista de control de acceso

con direcciones MAC dependera de la imaginacion del

administrador.

5.12.4. Iniciar, detener y reiniciar el servicio squid.

Para ejecutar por primera vez el servicio squid con las

configuraciones creadas, utilice:

service squid start

Page 314: instalacion configuracion centos

Para hacer que los cambios hechos tras modificar la

configuracion surtan efecto, utilice:

service squid restart

Para detener el servicio squid utilice:

service squid stop

Para hacer que el servicio de squid este activo con el

siguiente inicio del sistema, en todos los niveles de ejecucion (2, 3,

4, y 5), se utiliza lo siguiente:

chkconfig squid on

CAPITULO III

Page 315: instalacion configuracion centos

CLUSTERIZACIÓN Y

VIRTUALIZACIÓN DE SERVIDORES

CLUSTERIZACIÓN DE SERVIDORES

1. Definición:

Este tipo de sistemas se basa en la unión de varios servidores que trabajan como

si de uno sólo se tratase. Los sistemas cluster han evolucionado mucho desde su

primera aparición. En resumen, cluster es un grupo de múltiples ordenadores

unidos mediante una red de alta velocidad, de tal forma que el conjunto es visto

como un único ordenador, más potente que los comunes de escritorio.

2. Tipos de Clusters:

Básicamente se distinguen tres tipos de cluster atendiendo el uso que se le da:

Page 316: instalacion configuracion centos

Alta Disponibilidad (High Availability): Consiste en la conexión

de una o varias computadoras conectadas en red utilizándose una

conexión heartbeat para monitorear cual de sus servicios está en

uso, así como la sustitución de una máquina por otra cuando uno

de sus servicios haya caído.

Equilibrio de Carga (Load-balancing): Utilizado en los servidores

web el cluster verifica cual de las máquinas de éste posee mayores

recursos libres y así, asignarle el trabajo pertinente. Actualmente,

los cluster loadbalancing son también failover con el extra de

balanceo de carga y número de nodos

Alto Rendimiento (High Performance computing): Cluster

destinado al alto rendimiento, capacidad muy alta de proceso para

cómputo de grandes volúmenes de datos

3. Componentes necesita un cluster para funcionar

Por norma general un cluster hace uso de diferentes componentes para funcionar,

entre estos están:

Nodos: Los nodos pueden ser ordenadores de escritorio o

servidores, de hecho se puede establecer un cluster con cualquier

tipo de máquina.

Sistema operativo: Este debe de tener un entorno multiusuario,

cuanto más fácil sea el manejo del sistema menores problemas

tendremos. Comúnmente Solingest instala sus cluster con sistemas

Microsoft Cluster Services (MSCS), pero es totalmente factible la

instalación de un Cluster con un sistema Linux o Unix como

podrían ser Rocks (Linux) o Solaris (Unix).

Page 317: instalacion configuracion centos

Han surgido ocasiones en las que se ha requerido el montaje de un

sistema cluster en Mac OS X, sobretodo en Granjas de render (para

procesado 3D).

Conexiones de Red: Las conexiones utilizadas en este tipo de

sistema pueden ser muy variadas, se pueden utilizar desde simples

conexiones Ethernet con placas de red comunes o sistemas de alta

velocidad como Fast Ethernet, Gigabit Ethernet, Myrinet, Infiniband,

SCI, etc.

Middleware: El middleware es el software que actúa entre el

sistema operativo y las aplicaciones y que brinda al usuario la

experiencia de estar utilizando una única súper máquina. Este

software provee una única interfaz de acceso al sistema,

denominada SSI (Single System Image). Optimiza el sistema y

provee herramientas de mantenimiento para procesos pesados

como podrían ser migraciones, balanceo de carga, tolerancia de

fallos, etc.

Este sistema también se encarga de la escalabilidad del cluster,

detectando nuevas máquinas y añadiéndolas al grupo.Por lo tanto, si

un cliente quisiera disponer de un cluster para su servidor Web, este

podría optar entre diferentes opciones. No habría ningún problema

en instalar un cluster que tuviese un sistema MySQL y PHP repartido

entre diferentes máquinas.

4. Características:

Alta disponibilidad: es la capacidad de estar presente, de estar listo

en un determinado momento en el que se quiere hacer uso.

Escalabilidad: capacidad de un equipo de hacer frente a volúmenes

de trabajo cada vez mayores, sin dejar por ello de prestar un nivel

de rendimiento aceptable

Page 318: instalacion configuracion centos

Fiabilidad: es la probabilidad de funcionamiento correcto

5. División de Tareas

La división de las tareas puede hacerse de 2 formas

Manual: Esto es indicando explícitamente en el pro grama como

debe de dividirse, se requiere para ello tener instaladas las li

brerías para el paso de mensajes entre los procesadores (MPI –

interfase para el Paso de Mensajes o PVM – Maquina virtual

Paralela

Automática: Esto es configurando el Cluster con OpenMosix para

crear una sola imagen del sistema operativo común a todos los

nodos. De esta forma los nodos se comunican entre si sin la

necesidad de la intervención del usuario manteniendo un optimo

balanceo en la división y distribución de la carga. En otras palabras

el paralelismo transparente al usuario quien trabaja en la maquina

como si esta fuese de un solo procesa dor pero de mucha mayor

capacidad

6. Aplicaciones:

Page 319: instalacion configuracion centos

El cómputo paralelo se vuelve indispensable cuando se trabaja con al goritmos

complejos o con manejo intensivo de datos, donde una computado ra con un solo

procesador tardaría horas o días y que requerimos de los re sultados a la mayor

brevedad posible

Gracias al poder de cómputo que se logra con un cluster, la simulación ha

pasado a ser una herramienta mas para la investigación. Y mediante esta se

resuelven problemas de gran escala, por ejemplo

Aerodinámica: simulaciones de vuelo

Astrofísica: modelado de la evolución de las galaxias, dinámica

estelar el Instituto de astronomía de la UNAM en Ensenada cuenta

con un cluster para esto

Biología: modelado de nuevos componentes genéticos, simulación

de

Redes neuronales : gracias al uso de supercomputadoras fue

posible descifrar el genoma humano

Ciencias de la computación – simulación de circuitos integrados y

de nuevos microprocesadores, minería de datos, inteligencia

artificial.

Química: predicción de reacciones químicas

Ingeniería: análisis de estructuras, cálculos, cómputo numérico

Geofísica: exploración sísmica, filtrado de imágenes satelitales

Física Nuclear: simulación de reacciones nucleares

7. Tecnologías de Implementación:

Page 320: instalacion configuracion centos

7.1. MOSIX:

Un paquete de software que mejora el kernel de Linux con capacidades

de computación de clusters. El kernel mejorado permite cualquier cluster

de estaciones de trabajo y servidores X86/Pentium/AMD trabajar

coordinadamente como parte de un sólo sistema.

MOSIX es una extensión del kernel de Linux que permite ejecutar

aplicaciones “normales” (no paralelizadas) en un Cluster. Una de las

posibilidades de MOSIX es la “migración de procesos”, que permite migrar

procesos de nodo en nodo. Si por ejemplo, cierto proceso está dominando

la carga de un nodo, este será movido a otro que tiene más recursos. Una

de las características de MOSIX es que, a diferencia de otros clusters, no

es necesario modificar las aplicaciones ni tampoco utilizar librerías

especiales. De hecho, tampoco es necesario asignar “a mano” los

procesos a los diferentes nodos que componen el cluster

MOSIX realiza todo esto automáticamente, bajo el concepto de”ForK and

forget” al igual que en un sistema SMP. Esto significa que sólo algunas

aplicaciones se beneficiarán de un cluster MOSIX, básicamente:

Procesos que requieren de mucho CPU, aplicaciones cien tíficas,

de ingeniería, etc.

Procesos paralelos, especialmente los que tienen tiempos de

ejecución impredecibles

Clusters con nodos de diferentes velocidades y/o distin tas

cantidades de memoria

Entornos multiusuario y de tiempo compartido

Servidores WEB escalables

Page 321: instalacion configuracion centos

MOSIX funciona silenciosamente. Sus operaciones son transparentes

para las aplicaciones. Los usuarios no necesitan saber dónde se están

ejecu tando los procesos, tampoco necesitan preocuparse de lo que están

haciendo otros usuarios.

Como MOSIX está implementado en el kernel de Linux, sus operaciones

son totalmente transparentes para las aplicaciones. Esto permite definir

distintos tipos de clusters, incluso un cluster con diferentes CPU’s o

velocidades.

7.2. Knoppix:

Es una distribución de GNU/Linux. Está desarrollada por el con es una

distribución de GNU/Linux

7.3. ClusterKnoppix:

Es una distribución basada en Knoppix y que utiliza Linux Terminal Server

Project y OpenMosix. Es una vía conveniente para probar configuraciones

en cluster de computadores cluster.

8. Conclusiones:

Un cluster puede presentarse como una solución de especial interés sobre

todos a nivel de empresas, las cuales pueden aprovecharse de estas

especiales características de computación para mantener sus equipos

actualizados por un precio bastante más económico que el que les

supondría actualizar todos sus equipos informáticos y con unas

capacidades de computación que en muchos casos pueden llegar a

superar el hardware de última generación

Page 322: instalacion configuracion centos

Para que un sistema cluster funcione no es necesario que todas las

máquinas dispongan del mismo Hardware y sistema operativo (cluster

heterogéneo). Este tipo de sistemas debe de disponer de un interfaz de

manejo de clusters, la cual se encargue de interactuar con el usuario y los

procesos, repartiendo la carga entre las diferentes máquinas del grupo.

Llega un momento en el que un portal de renombre no cubre las

necesidades con su servidor de dedicado, los sistemas cluster pueden

ayudar a tener la infraestructura que se necesita.

Ninguna, este tipo de sistemas son los más fiables, ya que para la parada

total del proceso deben de pararse todas las máquinas que componen el

grupo. Es la mejor solución para crecer según las necesidades reales, ya

que puede añadir tantas máquinas necesite. Empresas muy importantes

como Google y Microsoft utilizan este tipo de sistemas para poner en

marcha sus portales.

Page 323: instalacion configuracion centos

VIRTUALIZACION DE SERVIDORES

1. DEFINIENDO

Virtualización: Tecnología que permite la representación lógica de los

recursos físicos.

Virtualizaciòn: Virtualización es un término bastante amplio, pero que en

general podemos pensar que es separar las características físicas del

hardware donde corre el programa virtualizado para que pueda ejecutarse tal

y como él lo desea o necesita.

Memoria Virtualizada: Cada aplicación ve su propia memoria lógica,

independiente de la memoria física.

Redes Virtualizadas: Cada aplicación ve su propia red lógica, independiente

de la red física.

Servidores Virtualizados: Cada instancia del sistema operativo ve su propio

servidor lógico, independiente de sus servidores físicos.

Almacenamiento Virtualizado: Cada aplicación ve su propia memoria

lógica, independiente de los discos físicos

2. CARACTERÍSTICAS CLAVES

MISION DE LA INFRAESTRUCTURA VIRTUAL

Transformar los estándares de la industria referentes al cómputo en

servidores y sistemas de escritorio mediante la virtualización.

3. BASE DE LA INFRAESTRUCTURA VIRTUAL

Antes de la Virtualización:

Page 324: instalacion configuracion centos

Solo una imagen de SO por máquina.

Software y hardware unidos firmemente.

Múltiples aplicaciones funcionando en la misma máquina generalmente crea

conflicto.

Recursos poco utilizados.

Infraestructura costosa e inflexible.

Después de la Virtualización: Rompe dependencias entre SO y

hardware

Las Máquinas Virtuales son

independientes del hardware.

pueden ser aprovisionadas donde

sea

Administra SO y aplicaciones como

una sola unidad al encapsularlas dentro de las Máquinas Virtuales.

También hay que tener en cuenta algunos detalles que pueden ser vistos

negativamente:

Si se daña el disco duro, se te dañan todas las máquinas. Sugiero uso del

RAID, los discos no se dañan siempre, pero a veces pasan.

Si te roban la máquina, te roban todas las máquinas virtuales. ¡Realiza

respaldos!

En fin, cualquier evento que ocurra

con el hardware, afectará a todas las

máquinas virtuales (corriente, red,

etc.) así que si necesitas un sistema

bien redundante búscalo (doble red,

doble disco, doble fuente de

corriente, etc).

Page 325: instalacion configuracion centos

Virtualización es un término bastante amplio, pero que en general podemos

pensar que es separar las características físicas del hardware donde corre el

programa virtual izado para que pueda ejecutarse tal y como él

Particionamiento

Puede correr múltiples sistemas operativos en una

máquina física

Utiliza por completo los recursos de servidor

Compatible con clustering, failover redundancia

Aislamiento

Aislamiento de fallas y seguridad a nivel hardware

Los recursos de CPU, RAM, Disco, y Red controlan la

preservación del desempeño

Garantizan niveles de servicio altos.

Encapsulación

El estado entero de la MV es encapsulado:

memoria, imágenes de disco, estados de los

dispositivos I/O

El estado de la MV puede salvarse en un archivo

vía snapshotting

Re-utilización o transferencia de la MV completa con

un archivo de copia

3. ARQUITECTURAS DE UNA INFRAESTRUCTURA VIRTUAL

Page 326: instalacion configuracion centos

HOSPEDADA

- Workstation

- VMWare Server

4. CONSOLIDACIÓN DE SERVIDORES

Antes de VMWare

Evitar que el hardware

esté subutilizado: Puedes

tener varias máquinas

corriendo en un sólo

hardware, de forma tal

que se mantengan

verdaderamente

Page 327: instalacion configuracion centos

separadas, minimizando el riesgo de una intrusión, pero que se aproveche el

hardware completamente.

Tener en cuenta que

normalmente un

hardware que tiene una

empresa o casa, se

utiliza sólo al 15% de su

rendimiento, por lo que

en verdad se le puedes

dar mejor uso.

Después de VMWare

1. ADMINISTRACIÓN CONSOLIDADA1.1.Virtual Center: Mapas Topológicos

Page 328: instalacion configuracion centos

1.2.Virtual Center: Roles y Permisos

2. Usando LVM

Usando LVM2 en Linux CentOS

Los LVM permiten unir varios discos o particiones (conocidos como

Physical Volumes, PV) formando un gran pool de almacenamiento de datos

conocido como Volume Group (VG) que puede ser posteriormente subdividido

en "particiones".

En caso de necesidad de más espacio se puede redimensionar estas

particiones, conocidas como Logical Volumes (LV a partir de ahora).

En resumen:

VG: Volume Group: Es la unión de todos los discos o particiones que se vaya

a usar. Del VG es que se saca pedazos para crear tus particiones.

PV: Physical Volume: Es en sí todos y cada uno de los dispositivos de

almacenamiento que se vaya a usar. Discos, particiones, etc.; en verdad es lo

que antiguamente conocías como discos duros.

Page 329: instalacion configuracion centos

LV: Son lo que serían las particiones. Pedazos del VG que se asignará.

Por ejemplo, dadas dos unidades (PV) de 100GB, se puede crear un volumen

lógico (LV) de 200GB.

Sin embargo, también se puede crear un volumen lógico (LV) de 150 GB y otro

de 50 GB. Es posible cualquier combinación de volúmenes lógicos igual o

menor que la capacidad total (en nuestro ejemplo 200GB). Las posibilidades

están limitadas solamente a las necesidades de su organización.

La característica que la mayoría de los administradores de sistemas aprecian

más sobre LVM es su habilidad para dirigir fácilmente el almacenamiento

donde se necesite. En una configuración de sistemas no LVM, el quedarse sin

espacio significa - en el mejor de los casos - mover archivos desde un

dispositivo lleno a uno con espacio disponible. A menudo esto significa la

reconfiguración de sus dispositivos de almacenamiento masivo; una tarea que

se debe llevar a cabo después del horario de oficina.

Sin embargo, LVM hace posible incrementar fácilmente el tamaño de un

volumen lógico. Asuma por un momento que nuestro parque de

almacenamiento de 200 GB fue utilizado para crear un volumen lógico de 150

GB, dejando el resto de 50 GB en reserva. Si el volumen lógico de 150 GB se

llena, LVM permite incrementar su tamaño (digamos por 10 GB) sin ninguna

reconfiguración física. Dependiendo del entorno de su sistema operativo, se

puede hacer esto dinámicamente o quizás requiera una pequeña cantidad de

tiempo fuera de servicio para llevar a cabo el redimensionamiento.

Migración de datos

La mayoría de los administradores con experiencia estarían

impresionados de las capacidades de LVM, pero también se preguntarían:

¿Qué pasa si uno de los discos que forman parte del volumen lógico comienza a fallar?

Page 330: instalacion configuracion centos

Las buenas noticias es que la mayoría de las implementaciones LVM

incluyen la habilidad de migrar datos fuera de una unidad física particular. Para

que esto funcione, debe existir suficiente capacidad para absorber la pérdida

de la unidad fallida. Una vez que se termine la migración, se puede reemplazar

la unidad que dejó de funcionar y añadirla nuevamente en el parque de

almacenamiento disponible.

¿Por qué utilizar RAID?

Dado que LVM tiene algunas funcionalidades similares a RAID (la habilidad

de reemplazar dinámicamente unidades fallidas, por ejemplo) y algunas

funcionalidades proporcionan capacidades que no se pueden comparar con la

mayoría de las implementaciones RAID (tales como la habilidad de añadir

dinámicamente más almacenamiento a un parque central de almacenamiento),

mucha gente se pregunta si ya RAID no es tan importante.

Nada puede estar más lejos de la realidad. RAID y LVM son tecnologías

complementarias que se pueden usar en conjunto (de una forma similar a los

niveles RAID anidados), haciendo posible obtener lo mejor de los dos mundos.

1.3.Migración de VMs en Caliente (VMotion)

Podemos migrar fácilmente de

hardware: Necesitamos que las

Page 331: instalacion configuracion centos

máquinas corran en un mejor hardware. Puedes realizar una fácil y rápida

migración sin tener que reinstalar, se mueve toda la información al nuevo

hardware y se arranca la máquina.

Actualice y de servicio al HW sin Mantenimiento al HW “en Caliente”

100% de acceso para

usuarios

Interrumpir el servicio y

manteniendo

3. Formas de hacer virtualización por plataforma:

a) Emulación: Es cuando el host simula completamente la máquina

virtual de forma que todas las llamadas que hagan los guests sean

interpretadas y ejecutadas por parte del host hacia el verdadero

hardware. De ésta forma se ha logrado la creación de software para

hardware que no ha sido creado todavía. Así se puede avanzar en la

salida al mercado de nuevo hardware. La emulación incluso permite

que un sistema operativo diseñado para una plataforma específica

pueda correr sobre otra plataforma con la cuál técnicamente no es

compatible.

Ejemplos de emulación tenemos el qemu sin aceleración, Virtual PC, Bochs y PearPC.

Page 332: instalacion configuracion centos

b) Virtualización nativa: También conocida como virtualización

completa. El host emula lo suficientemente bien el hardware como

para que los guests puedan correr de forma nativa (sin cambios en

el kernel) y además de forma completamente aislada.

Estos guests normalmente pueden correr varios en la misma

máquina y compartir eficientemente sus recursos. Es una emulación

un poco más avanzado.

El caso más conocido es el VMWare. Que es un producto

comercial.

Xen y KVM son sistemas open source que permiten realizar

éste tipo de virtualización de forma sumamente efectiva.

c) Paravirtualización: El host no ofrece una emulación del hardware.

Pero sin embargo ofrece un API (interfaz de programación de

aplicaciones) que permite que los guests puedan acceder a los

recursos de la máquina, controlados por el hospedero por supuesto.

Los guests corren de forma aislada y segura de tal forma que no se

afectan en caso de problemas.

El kernel de los guests tiene que ser modificado para permitir

acceder al API del host y poder manejar y acceder a los recursos del

host (disco, red, usb, etc).

Ejemplos de paravirtualización incluyen el VMWare ESX Server y el XEN.

d) Virtualización a nivel del sistema operativo: Los guests

comparten el mismo sistema operativo que el hospedero. En verdad

todos corren el mismo kernel y es el kernel el que se ocupa de

determinar para quién trabaja en un momento determinado. Los

guests se ven como si estuvieran sólos pero en verdad todos

Page 333: instalacion configuracion centos

comparten el mismo kernel cosa que hace que una vulnerabilidad en

el kernel afecte a todos.

Ejemplos de éste tipo de virtualización incluyen al OpenVZ,

virtuozzo, y las jaulas de freeBSD. Es una de las formas más

antiguas de virtualizar en linux, pero para mi no son lo

suficientemente seguras. Intenté el OpenVZ y no me pareció feo,

pero gracias, no lo uso ni en su versión comercial (virtuozzo).

1.4.Optimización de Recursos con VMware DRS

Asignación dinámica e inteligente de los recursos de hardware para

asegurar una alineación óptima entre el negocio y TI

¿Qué es?Equilibrio dinámico de los

recursos computacionales en todos

los depósitos de recursos

Asignación inteligente de

recursos basada en reglas

predefinidas

Impacto en el cliente

- Alinea los recursos de TI con las prioridades del negocio

- Sencillez operacional; aumenta considerablemente la

productividad del administrador del sistema

- Agrega el hardware de manera dinámica para evitar el

aprovisionamiento en exceso a carga máxima

- Automatiza el mantenimiento de hardware

Page 334: instalacion configuracion centos

1.5. ALTA DISPONIBILIDAD CON VMWARE HA

VMware HA permite una disponibilidad rentable para todas las

aplicaciones

Qué es?

Reinicio automático de las

máquinas virtuales en caso

de falla del servidor

Impacto en el cliente

- Alta disponibilidad rentable para todas las aplicaciones

- Sin necesidad de un hardware dedicado en espera

- Sin el costo y la complejidad del clustering

1.6. PROTEJER LOS DATOS CON VMWARE CONSOLIDATED

BACKUP

El respaldo de nivel de archivos centralizados permite una protección de

datos fácil y confiable

¿Qué es?

Respaldo sin agentes centralizados para máquinas virtuales

- Elimine el tráfico del respaldo en la red de área local

- Integrado previamente con los principales productos de respaldo de

Terceros.

Page 335: instalacion configuracion centos

Impacto en el cliente

Realice el respaldo en la mitad del día

4. RESUMEN

1.7.Cambio de Paradigma

Aplicaciones que viven servidores pequeños

- Infrastructura (Web, DHCP, firewall, servidores de impresión y archivos)

- Mensajería, Bases de Datos Pequeñas o Particionables

Servidores con alto grado de re- configuración

- Desarrollo - Pruebas

Page 336: instalacion configuracion centos

1.8.POOL DE RECURSOS Control Preciso de los Recursos

Las VMs toman recursos de sus pools

El tamaño de los pools puede

modificarse dinámicamente pueden

añadirse las definiciones de los pools

1.9.VMWARE INFRASTRUCTURE: SOLUCIONES CLAVE / CASOS DE

USO

Consolidación y Contención de ServidoresElimina el aumento desmedido de servidores mediante la

implementación de sistemas en máquinas virtuales

Aprovisionamiento de InfraestructuraDisminuye a minutos el tiempo necesario para hacer

aprovisionamiento de

una nueva infraestructura con sofisticadas funcionalidades de

automatización.

Continuidad del negocioReduce el costo y la complejidad de la continuidad del negocio

mediante el encapsulación de archivos de sistemas completos que se

pueden replicar

y realizar restore en cualquier servidor de destino

Desarrollo y PruebaAprovisionamiento rápido de entornos de prueba y desarrollo,

almacenando librerías preconfiguradas de máquinas de prueba

Page 337: instalacion configuracion centos

Desktop EmpresarialAsegura PCs no administrados. De modo alternativo, proporciona

entornos de computadores estandarizados albergados en servidores.

Realbergar Aplicaciones HeredadasMigra sistemas operativos heredados y aplicaciones de software a

máquinas virtuales que se ejecutan en hardware nuevo para una

mayor confiabilidad

5. RESULTADOS ECONÓMICOS DE LA VIRTUALIZACIÓN!

6-9 meses de ROI

35%-75% ahorros en el TCO

Rangos de consolidación

• 4 - 10: 1 en producción

• 15 - 20: 1 en desarrollo y pruebas

60%-80% utilización de recursos

El tiempo de aprovisionamiento se

reduce de días a minutos

1.10. VMWARE INFRASTRUCTURE: AHORROS DE COSTOS

Ahorros que se pueden medir en costos de capital y de operación

Page 338: instalacion configuracion centos

1.11. LA VIRTUALIZACIÓN ES UN MULTIPLICADOR DE RECURSOS

Todos los recursos físicos se comparten entre las máquinas virtuales lo que tiene como resultado un efecto

multiplicador de recursos

1.12. CONSOLIDACIÓN DEL SERVIDOR, ALMACENAMIENTO DE

INFORMACIÓN Y REDES

70 a 80% de reducción en áreas en pies cuadrados,

Page 339: instalacion configuracion centos

racks, cables, energía, enfriamiento

Ejemplo de un cliente: TXU

6. LICENCIAMIENTO OEM – CANAL VIP ENTERPRISE

1.13. DIFERENCIAS ENTRE OEM Y CANAL DE DISTRIBUCIÓN

Licenciamiento OEM

• Licencias adquiridas a los “vendors” de Hardware (IBM, HP,

DELL).

• Únicamente con equipos nuevos.• El soporte lo otorga directamente el vendor de

Hardware (NO VMware).

Licenciamiento vía canales de distribución, VIP Enterprise

• Únicamente vía canal VIP Enterprise, ubicable en WWW.

• No necesita estar atado a propuesta de hardware.

• Soporte directo de VMware

( http://www .vmware.com/requestsupport)

1.14. EDICIONES VI3 (3.0.2)

Page 340: instalacion configuracion centos

1.15. EDICIONES VI3 - 3.5 (Nuevo)

* SnS not mandatory for ESX Server 3i (embedded or standalone)** SLS is being phased out with VI 3.5 release

1.16. ADMINISTRACIÓN DE VI & ADD-ONS DE VI “A LA CARTE”

Page 341: instalacion configuracion centos

Add-ons están disponibles

para VI.

Foundation, Standard o

Enterprise, pero NO para

ESX Server 3i.

VMotion es requerido para

DRS.

Agente VC se incluye con el

VirtualCenter Server /

VirtualCenter Foundation.

Page 342: instalacion configuracion centos

ANEXOS