You are on page 1of 101

Universidad Tecnolgica de Puebla Tecnologas de la Informacin y Comunicacin

Manual de Asignatura Basado en Competencias Profesionales

Administracin de Servidores I

Enero 2012

ELABOR: UNIVERSIDAD TECNOLGICA AUTORES: JOS DAVID ALANS Y CARLOS VALDIVIA CARRANCO APROB: COMISION NACIONAL ACADMICA DE TIC

REVIS: UNIVERSIDAD(ES) TECNOLGICA(S) REVISORES: FECHA DE ENTRADA EN VIGOR: SEP DIC 2010

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Indice
Unidad I Fundamentos de Sistemas Operativos
1.1 Sistemas operativos para PC. 1.2 Fundamentos de servidores. 1.2.1 Servidor tipo Clster 1.2.2 Servidor tipo Stacks 1.2.3 Servidor tipo Arreglos 1.2.4 Vectores 1.2.5 Multiprocesadores 1.2.6 CISC y RISC 1.3 Virtualizacin.

Unidad II Servicios de Red


2.1 Servicios de red 2.1.1 Bases de datos 2.1.2 Unidades de red 2.1.3 Servidor Web 2.1.4 Servidor DNS 2.1.5 DHCP 2.1.6 Servidor de correo electrnico. 2.2 Configuracin de servicios de red

Unidad III Sistema de archivos y control de procesos.


3.1 Cuentas de usuario 3.2 Administracin de sistemas de archivos 3.2.1 Administracin de Sistemas de Archivos NTFS 3.2.2 Administracin de Sistemas de Archivos FAT 3.3 Control de Procesos del Sistema Operativo

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Unidad IV Seguridad
4.1 Respaldos de informacin. 4.1.1 Autenticacin y la encriptacin de la informacin 4.1.2 Identificacin de SNIFFERS, SPYWARE, TROYANS,IDS 4.1.4 Herramientas de seguridad de servidores. 4.3 Medidas de seguridad.

Unidad V Software de aplicaciones


5.1 Aplicaciones especficas 5.1.1 Administracin de Bases de Datos, Servidores Web, Enrutamiento y servicio de acceso remoto. 5.2 Seguridad de las aplicaciones.

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Unidad 1: Fundamentos de Sistemas Operativos


Existen diversos programas que se manejan en una computadora. De todos los programas y aplicaciones comerciales que se conocen hoy en da, los ms importantes son los llamados programas del sistema, que son programas que controlan el hardware de manera directa o indirecta. Entre ellos existen: editores, compiladores, traductores, ligadores, etc,. Sin embargo el ms importante de todos es el Sistema Operativo. Definicin (de Sistema Operativo): Software de Sistema que se encarga de la gestin de recursos y su administracin tanto de software como de hardware, ocultando los detalles al usuario, permitindole una interaccin ms cmoda con los mismos. As existen dos formas de visualizar a los sistemas operativos: Top-Down (Arriba-Abajo): Como un software capaz de comunicarse con los recursos de hardware de la computadora sin mostrar los detalles al usuario. Bottom-Up (Abajo-Arriba): Visto como un software gestor de recursos de hardware y su control para que el usuario obtenga la informacin de forma rpida y correcta.

Un sistema operativo tradicional se puede ver como un modelo en capas superpuestas(capas de cebolla) desde la mas interna, que esta pegada con el hardware de la computadora, y la mas externa que esta en interaccin directa con el usuario. Estos componentes son: Kernel o Ncleo. Es el programa medular que ejecuta programas y gestiona dispositivos de hardware tales como los discos y las impresoras. Shell. Proporciona una interfaz para el usuario. Recibe ordenes del usuario y las enva al ncleo para ser ejecutadas. Sistema de archivos. Organiza la forma en que se almacenan los archivos en dispositivos de almacenamiento tales como los discos. Aplicaciones Son programas especializados, tales como editores, compiladores y programas de comunicaciones, que realizan operaciones de computacin estndar. Una de las aplicaciones ms utilizadas es la interfaz grfica que facilita enormemente la interaccin humano computadora.

Segn Tanenbaum existen nueve categoras o clasificaciones de sistemas operativos, an cuando no se trate de una clasificacin generalizada o universalmente aceptada. Sin

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

embargo se puede pensar que alrededor de las ltimas cinco dcadas el propsito con el que se han construido sistemas operativos ha variado vertiginosamente. Por lo anterior se puede clasificar a los sistemas operativos de acuerdo a la problemtica que se resuelve con dichos sistemas, como sigue: Mainframe Servidores Multiprocesadores Computadoras Personales Computadoras de Bolsillo Integrados

Sistemas Operativos de Mainframe Por definicin un mainframe es una computadora del tamao de un cuarto completo y que tienen una gran capacidad de almacenamiento. Se utilizan como servidores de alto rendimiento. Luego los sistemas operativos que se usan en los mainframes estn orientados hacia el procesamiento de varios trabajos a la vez y que requieren una gran cantidad de operaciones E/S. Entre los servicios que ofrecen estn: Procesamiento por Lotes Transacciones Tiempo Compartido.

Ejemplos de sistemas para mainframes se encuentran: OS/360 y 390 de IBM, sin embargo han sido reemplazados gradualmente por variantes de UNIX como Linux.

Sistemas Operativos para Servidores Una computadora personal con altas prestaciones, estaciones de trabajo o mainframes se puede considerar como un servidor. Un sistema operativo que se ejecuta bajo este esquema de hardware, debe atender las siguientes necesidades: Multiusuario Sharing (software y hardware) Servicios Remotos: Sistemas de Archivos, Impresin, Web, etc.

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Principalmente se utilizan en la provisin de servicios hacia clientes especficos y en almacenamiento a gran escala. Ejemplos de sistemas operativos para servidores son: Solaris, FreeBSD, Linux, y Windows Server 200x.

Sistemas Operativos Multiprocesadores Debido al avance de la tecnologa se han construido procesadores cada vez ms sofisticados, sin embargo el avance tecnolgico tiene limitantes sobre todo en el espacio y el rendimiento para colocar procesadores. Dado lo anterior es necesario reunir el poder de procesamiento de varios procesadores en un CPU a travs de un solo sistema. As existen dos necesidades subyacentes para que el sistema operativo funcione de forma adecuada: Carga de Trabajo en cada procesador Tiempo de comunicacin

Dependiendo del nivel de sincronizacin y del tamao de lo que se comparta se logra un mejor desempeo, an cuando estos parmetros de alguna manera se contravengan. A esta clase de sistemas se le denomina computadoras en paralelo, multi computadora multiprocesadores. Dado lo anterior es necesario implementar sistemas operativos que soporten los conceptos anteriores, para tal efecto se han diseado recientemente procesadores multi ncleo que funcionan en computadora personales, entre otros dispositivos. En cuanto a la forma de implementar estas tecnologas para que funcionen en el hardware mencionado se cuenta con un bagaje de investigacin suficiente, sin embargo el reto es hacer que las aplicaciones se ejecuten aprovechando el poder de cmputo. Es importante mencionar que muchos de esos sistemas se denominan como arquitecturas alternativas y merecen mayor atencin en secciones posteriores. Como ejemplo de estos sistemas operativos estn muchos sistemas operativos populares como Windows y Linux en varias versiones.

Sistemas Operativos de computadoras personales El concepto de multiprogramacin es muy importante en este tipo de sistemas, esto es, la capacidad de tener varios programas para ser ejecutados, en particular se realiza esto

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

cuando se arranca el sistema. Existen muchsimas aplicaciones en este tipo de sistemas y son tan conocidos que no hay muchos detalles tcnicos que merezcan relevancia, a tal grado que muchas personas de otras disciplinas creen que este es el nico tipo de sistema que existe. Los ms comunes son: FreeBSD, Windows Vista, Mac Os, etc.

Sistemas operativos en computadoras de bolsillo Una computadora personal de tamao bolsillo abarca un grupo de dispositivos que estn bastante limitados con respecto al procesamiento, cantidad de memoria y disco duro, pero que son capaces de resolver las necesidades en cuanto a aplicaciones que los usuarios les piden. En muchas ocasiones poseen un sistema operativo que se ejecuta en modo protegido de 32 bits, por lo cual no es posible modificar ciertos parmetros de l sistema. Un ejemplo de estos sistemas son las PDA (Personal Digital Assistant) la cual realiza una pequea variedad de tareas, otro ejemplo son los telfonos celulares, que realizan las mismas tareas pero no tienen la pantalla o teclado que los PDA. Un ejemplo tradicional de sistema operativo para estos dispositivos es Symbian OS y Palm OS.

Sistemas Operativos Integrados Un sistema embedded, es decir, incrustados embebidos, operan en sistemas que no se consideran como una computadora tradicional, se trata de dispositivos electrnicos que en s no tienen aplicaciones especializadas, ms bien son aparatos que contienen un nico chip ROM , que se puede considerar como una desventaja sin embargo tienen la ventaja de que existe la seguridad de que no se contaminar con software malicioso. Ejemplos de aparatos que utilizan estos sistemas son hornos de microondas, telfonos celulares, reproductores de MP3, etc. Ejemplos de esto son los sistemas operativos como QNX y VxWords son bastante populares.

Sistemas Operativos de Nodos Sensores Los sensores son un conjunto de dispositivos que realizan el registro de un evento que sucede en el mundo real. Para mejorar el desempeo de un sistema ms complejo se pueden colocar en redes, donde cada nodo es una computadora en s con CPU, RAM, ROM y un nmero variable de sensores ambientales.

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Por todo lo anterior el sistema operativo tiene que ser pequeo y simple, ya que los dispositivos tienen poca memoria RAM, y estn en operacin en dependencia directa de la cantidad de energa suministrada. Al igual que con lo sistema integrados, todos los programas son precargados en el hardware, lo cual simplifica el diseo de los mismos. Existen sensores para detectar incendios forestales, registro de asistencia, detectores de metales, y un largo etc. Un ejemplo de sistemas operativos es TinyOS que se emplea en los sensores.

Sistemas Operativos en Tiempo Real El parmetro clave es el tiempo. Se cuenta con en un tiempo predeterminado un conjunto de dispositivos realizan una tarea y puede ser que se deba cumplir sin excepcin en un perodo de tiempo, en ese caso se dice que el sistema es un sistema en tiempo real duro, en otro si se aceptan que muy ocasionalmente se pueda fallar a un tiempo predeterminado, se dice que es un sistema en tiempo real suave. Por lo anterior el diseo de los sistemas operativos en este caso se construyen como un conjunto de bibliotecas enlazas con programas de aplicacin, acoplando de forma estrecha y no hay proteccin entre las partes del sistema. Un ejemplo de sistema operativo en Tiempo Real es e-Cos.

Sistemas Operativos de Tarjetas Inteligentes Un dispositivo denominado tarjeta inteligente es una tarjeta del tamao de una tarjeta de crdito con un chip CPU. Algunos funcionan a nivel fsico como una USB, otras usan induccin para energizarse. Las funciones de este tipo de aparatos son bastante limitadas, aunque es variada en general. Actualmente Java a contribuido bastante al desarrollo de aplicaciones para dispositivos, debido a que basta con colocar el interprete de la Mquina Virtual de Java (JVM) en la ROM y los applets se descargan en la tarjeta y son interpretados por la JVM. En algunos casos existe el problema de la multiprogramacin debido a que los applets pueden cargase de manera simultnea.

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Arquitectura de Computadoras
Se puede definir una arquitectura de computadoras como los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecucin lgica de un programa. El computador en si mismo tiene dos aspectos principales para poder entender su funcionamiento a nivel de programacin:

Almacenamiento Procesamiento

Para solventar esta funcionalidad se tienen los siguientes componentes principales:

Unidad Central de Procesamiento (CPU) controla el funcionamiento del computador y lleva a cabo el procesamiento de informacin. Memoria Principal: Almacena Datos E/S: Transfiere datos entre el computador y el entorno externo. Sistema de Interconexin: es un mecanismo que proporciona la comunicacin entre la CPU, la memoria principal y la E/S.

La CPU, como componente principal se compone de los siguientes partes:

Unidad de Control: Controla el Funcionamiento de la CPU. Unidad Aritmtico Lgica: Funciones de procesamiento de procesamiento de datos del computador. Registros: Proporcionan almacenamiento interno de la CPU. Interconexiones CPU: mecanismos para comunicacin entre los otros componentes.

Cada CPU (como ya se mencion tambin llamado procesador) tiene subyacente un lenguaje ensamblador que se encarga de ejecutar e interpretar las instrucciones a ms bajo nivel con nmeros binarios almacenados en el computador. Hoy en da los ensambladores han cambiado de forma substancial orientndose a ser un lenguaje simblico, cada lnea representa una posicin de memoria y consta de tres campos separados por espacios.

Arquitectura CISC Un procesador CISC tiene un conjunto de instrucciones enriquecido con gran variedad e instrucciones e instrucciones complejas, en un esfuerzo de simplificar los compiladores y mejorara las prestaciones.

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

La tendencia en CISC estuvo orientada a fabricar computadoras que ahorraran espacio de memoria, lo que como puede verse no ocurri, los procesadores CISC tienen una gran cantidad de memoria. Las principales caractersticas de un procesador CISC se enumeran a continuacin:

Enorme cantidad de instrucciones, de 100 a 250 Especializacin de las instrucciones que no se usan con mucha frecuencia Muchos modos de direccionamiento de 5 a 20 modos diferentes Formato de instrucciones de extensin variables Instrucciones para la manipulacin de la memoria

Los objetivos de utilizar estas caractersticas en la fabricacin de los procesadores estn enfocados a las siguientes funcionalidades:

Realizar un control micro programado de las instrucciones Facilitar el uso de software de programacin, en especial compiladores Disminuir el costo total del software y del sistema en general Responsabilizar software del paralelismo que se quiera lograr Disear ALUs eficientes para ejecutar las instrucciones matemticas

Como se puede apreciar una arquitectura del tipo CISC est orientada ms que todo al software. El producir esta clase de tecnologa es bastante caro en trminos de hardware y se considera que aun cuando el costo de la memoria RAM ha disminuido considerablemente se necesita una gran cantidad de esta por las operaciones de carga, almacenamiento y control. En s es bastante popular el fabricar procesadores de propsito general con esta arquitectura, como ejemplos:

Motorola Serie 68000 Intel Inside x86, Pentium Zilog Z80

Arquitectura RISC Una arquitectura RISC (Reduced Instruction Set Computer: Computadora de Conjunto Reducido de Instrucciones), tiene caractersticas comunes a todos los procesadores que estn agrupados bajo esta arquitectura que son:

Relativamente pocas instrucciones Relativamente pocos modos de direccionamiento

10

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

El acceso a memoria limitado a instrucciones de carga y almacenamiento Todas las operaciones realizadas dentro de los registros de la CPU Formatos de instrucciones decodificados con facilidad y de longitud fija Ejecucin del ciclo de instrucciones nica Control por circuitera en lugar de micro programado

Se considera que los objetivos al tener estas caractersticas son:

Realizar operaciones directamente en los registros Facilidad en la decodificacin de las instrucciones Rapidez en el control y la capacidad de procesamiento Se ejecuta una instruccin por ciclo, gracias que se realiza paralelamente operaciones de recuperacin, decodificacin y ejecucin.

Entre otras las caractersticas que se derivan de las funcionalidades y de las caractersticas de RISC, pero que no son exclusivas de esta arquitectura son las siguientes:

Gran cantidad de registros en el procesador Uso de ventanas de registros traslapados para acelerar la llamada y el retorno de procedimientos Paralelismo de las instrucciones eficiente Compiladores soportados para la traduccin eficiente de programas en lenguaje de alto nivel a lenguaje mquina.

Una ventaja adicional a lo ya expuesto se refiere a la cantidad de memoria que los procesadores RISC son capaces de ahorrar debido a que no utilizan tanta memoria para cargar o para almacenar datos como en las arquitecturas CISC. Ejemplo de procesadores fabricados bajo esta arquitectura se encuentran: Power PC SPARC DEC Alpha MIPS

Arquitecturas Alternativas Sistemas Operativos en Red En general la evolucin de los sistemas operativos ha sido rpida y decida debido a la participacin de muchas empresas de software, universidades, etc. A pesar de lo que se

11

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

describi en la seccin anterior la evolucin de las comunicaciones ha jugado un papel preponderante desde la dcada de los 80 con el crecimiento de las redes de computadoras personales que necesitan un sistema operativo de red bien un sistema operativo distribuido. En un sistema operativo de red los usuarios saben que estn conectados a la red y que pueden compartir recursos, sin embargo cada equipo ejecuta con sus propios recursos su propio sistema operativo, constituyndose cada equipo como un nodo local con sus propias reglas y sus propios usuarios. Esencialmente el sistema operativo de red provee una solucin general mediante la red a un problema complejo decididamente acotado y estudiado, su estructura y en general el funcionamiento se asemeja a un sistema operativo monoprocesador. Por razones de operacin y buscando un mejor rendimiento se gener un desarrollo de sistemas distribuidos con varios procesadores, pero haciendo creer al usuario que se trata de un sistema operativo tradicional.

Arquitecturas Paralelas As los problemas que resolvan los sistemas operativos crecieron junto con los procesadores tal vez de manera simtrica. Cuando los problemas se hicieron muy duros (difcil computacionalmente hablando) de resolver mediante un solo procesador o bien cuando su capacidad para obtener resultados sin emplear muy altas prestaciones se hizo evidente. Para solucionar este problema se tuvo que pensar en organizar las computadoras de forma que se escalaran las posibilidades, esto es, tratar de organizar el conjunto de instrucciones de forma que hubieran cooperacin entre las tareas de varios procesadores, y tambin en un tiempo determinado sin necesidad de gastar recursos econmicos buscando mainframes o mquinas con muchos procesadores a la vez. La solucin de hacer todo al mismo tiempo dentro de varios servidores llevo a paralelizar realizar computo colaborativo. Actualmente los tipos de sistemas paralelos se han clasificado como sigue: Una secuencia de Instrucciones una secuencia de datos Una secuencia de instruccin, mltiple secuencias de datos Mltiples secuencias de instrucciones, una secuencia de datos Mltiples secuencias de instrucciones, mltiples secuencias de datos

12

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

En el primer tipo se agrupan los mono procesadores sistemas que son comnmente utilizados para procesar pocas peticiones al mismo tiempo. En los segundos se encuentra los procesadores vectoriales y matriciales, luego cada proceso asociado tiene una memoria asociada, de forma que cada instruccin se ejecuta por cada procesador, con un conjunto de datos diferentes. En el tercer grupo las secuencias de datos son transmitidas a un conjunto de procesadores, los cuales ejecutan una secuencia de datos diferentes. Hasta el momento no se ha implementado esta clase de estructura. Por ltimo un conjunto de procesadores teien simultneamente instrucciones diferentes con conjunto de datos diferentes, esto implica que existe posibilidad de distribuir la memoria o de compartirla. En el caso de la memoria compartida se habla de un sistema fuertemente acoplado que puede hacer multiprocesamiento simtrico o bien acceso no uniforme a memoria ( el acceso a ciertas zonas de memoria es diferente entre s, es decir, cada zona tiene un tiempo diferente de acceso). En el caso de la memoria distribuida se considera un sistema dbilmente acoplado dando cabida a los clsters.

Vectores La computacin vectorial ha sido diseada, a diferencia de los mainframes, con un propsito especfico: realizar operaciones de punto flotante de manera masiva y con gran precisin. En el caso de realizar arreglos de vectores a travs de la optimizacin de los mainframes y de tecnologa que ofrece mayores prestaciones que estos, y que todava siguen evolucionando conforme el tiempo pasa. Los procesadores matriciales son diseados para propsito general, capaz de procesar cantidades enormes de informacin, pero sobre todo sin realizar clculos tradicionales, ms bien orientados hacia los vectores. En lugar de considerar clculos aislados el procesamiento vectorial se enfoca en tratar a los vectores y a las matrices como si fueran escalares aprovechando el paralelismo existente entre operaciones similares a un solo nmero o escalar pero que se pueden extender hacia vectores. Los procesadores vectoriales o vectores actualmente tienen tres categoras principales:

13

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

ALU segmentada ALU paralelas Procesadores Paralelos

Ilustracin 1: Alternativa para vectores

En particular una ALU segmentada es capaz de repartir o descomponer una sola operacin en etapas para que se ejecuten de forma concurrente sobre conjuntos de datos distintos. Las ALU paralelas se ajustan bien al procesamiento vectorial introduciendo los elementos vectoriales en forma cclica hasta que se han procesado todos los elementos, con las consabidas complejidades que se presentan. El procesamiento vectorial se puede obtener utilizando varios procesadores en paralelo, sin embargo es necesario una concienzuda programacin para obtener los elementos deseados y controlar las tareas que se introducen por cada vez. Adems se debe contar con un conjunto de hardware y software que coordine todas las dems actividades. Un ejemplo de mquina que utiliza vectores es la IBM 3090 que fue diseada para la arquitectura IBM 370, primeramente se acopla hacia el sistema bsico, pero esta altamente integrada en l.

14

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

De entre sus principales caractersticas se encuentran: Solapamiento de los Clculos Carga de bloques en los registros ALU segmentada

Finalmente es de notarse que la gran mayora de lo que se ha llamado vectores o procesadores vectoriales se han referido a los procesadores con ALU segmentada, y en otros casos el termino procesador matricial se usa para las ALU paralelas. Aunado a lo anterior el procesador matricial tambin s confundido con un coprocesador o procesador de propsito general usado en clculos vectoriales. A manera de aclaracin se sabe que los procesadores matriciales se pueden utilizar con ALU segmentada y con ALU paralela.

Clster Un clster e un grupo de computadoras completas interconectadas que trabajan como un nico recurso de cmputo, vindose como un sistema nico, en particular y de manera general cada computadora asociada al clster se le denomina nodo. Para cada clster se necesita un diseo o requisito de objetivo: Escalabilidad Absoluta Una configuracin adecuada debe mejorar las prestaciones de una computadora potente, esto es, un clster debe poder mejorar por mucho el poder de procesamiento de una sola computadora aislada de forma independiente. Escalabilidad Incremental Se debe poder aadir mediante la configuracin adecuada, un conjunto de nuevos sistemas en ampliaciones sucesivas. Alta disponibilidad Cada nodo es un procesador autnomo, el fallo de uno de los nodos no debe influir en el rendimiento o desempeo de todo el sistema. Lo anterior se logra debido a una correcta eleccin de software. Mejorar la relacin Precio/prestaciones: La estandarizacin de muchos sistemas entre ellos Linux, permite configurar de manera fcil un cluster a menor costo que lo normal y con una mayor potencia de procesamiento entre otras prestaciones.

El uso de clster tambin supone la creacin de sistemas operativos que den funcionalidad y exploten las caractersticas de esta arquitectura, por lo tanto existen dos parmetros que se deben tener en consideracin para realizar un clster: Gestin de Fallos: Realizar una configuracin eficiente para que el clster tolere los fallos y est disponible la mayor cantidad de tiempo posible hacia los usuarios, esto

15

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

implica la recuperacin de las tareas que se pierden como consecuencia, tal situacin no es soportada por la mayora de los clster actuales. Para suplir esta deficiencia se pueden usar discos compartidos y redundantes para concluir las transacciones completadas, a travs del mecanismo de transferencia por fallo (failover) y/o a travs de la recuperacin del sistema despus del fallo (failback). Equilibrio de Carga: Un clster debe ser capaz de recibir o perder procesadores dentro del mbito de operacin del mismo, pero adems debe asignar tareas automticamente para que las tareas sean distribuidas adecuadamente y se tenga un mejor rendimiento. Lo anterior es posible lograrlo mediante niveles de software intermedios entre el sistema operativo y las aplicaciones (middleware) para reconocer los servicios en distintos miembros del clster y migrar de un miembro a otro. La clasificacin de los clster tiene bastantes variables a considerar. Sin embargo la clasificacin ms aceptada considera cuales de estos sistemas acceden al mismo disco o a un arreglo de discos diferentes, con lo cual la interconexin juega un papel preponderante.

Ilustracin 2: Configuraciones de Discos para Clster

16

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Como se puede ver en la figura anterior los clster son capaces de colocar un RAID (Redundant Array Independent Disk), esto es, un arreglo de discos independientes en los que la capacidad de almacenamiento quede garantizada mediante la regeneracin automtica en la configuracin. Debido a lo anterior se puede clasificar a los clster de acuerdo a la forma como estn distribuyendo la capacidad de almacenamiento y as cumplen con las caractersticas de alta disponibilidad y altas prestaciones as como de equilibrar los costos convirtindose en un poderoso auxiliar en la construccin de dispositivos de computo de alto rendimiento. A pesar de que la clasificacin anterior se considera importante la funcionalidad del sistema, esto es, de acuerdo al funcionamiento interno del sistema es como se clasifican los clster, a pesar de que la clasificacin anterior es bastante reconocida.

Virtualizacin
Dentro de los distintos programas que permiten la ejecucin de mquinas virtuales sobre nuestro ordenador, los ms conocidos quizs sean VMWare y Virtual PC; el primero de ellos dispone de versiones que pueden ser instaladas en sistemas operativos Windows y Linux, mientras que el segundo dispone de versiones instalables en entornos Windows y Macintosh. Sus funcionalidades finales son muy parejas, y ambos disponen de versiones de evaluacin de 30 das, descargables desde sus respectivas webs. Nuestras preferencias se decantan por VMWare debido a la existencia de versiones de dicho software tanto para entornos Linux como Windows, sin duda los sistemas operativos ms utilizados actualmente en los entornos educativos espaoles. Los requisitos hardware y software mnimos de la mquina fsica para poder instalar VMWare, son los siguientes: Hardware: Software: Procesador.- 400 MHz o superior (500 MHz o superior recomendado), simple o multiprocesador. Memoria RAM.- 128 MB mnimo (256 MB recomendado) para el programa, ms la memoria necesaria para cada sistema operativo virtual que instalemos. Unidades de Disco.- Para una instalacin bsica 150 MB de espacio libre. Se recomiendan al menos 1 GB libres para cada uno de los sistemas operativos invitados. Controladora Ethernet.

17

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Windows Server 2003 Web Edition, Windows Server 2003 Standard Edition, Windows Server 2003 Enterprise Edition, Windows XP Professional, Windows XP Home Edition, Windows 2000 Professional, Server, y Advanced Server, Windows NT Workstation 4.0 Service Pack 6a, Windows NT Server 4.0 Service Pack 6a, Windows NT 4.0 Terminal Server Edition Service Pack 6, Mandrake Linux 9.0 - stock 2.4.19, Mandrake Linux 8.2 - stock 2.4.18-6mdk, Red Hat Enterprise Linux 3.0 - stock 2.4.21, update 2.4.21-15.EL, Red Hat Enterprise Linux 2.1 - stock 2.4.9-e3, Red Hat Linux Advanced Server 2.1 stock 2.4.9-e3, Red Hat Linux 9.0 - stock 2.4.20-8, upgrade 2.4.20-20.9, Red Hat Linux 8.0 - stock 2.4.18, Red Hat Linux 7.3 - stock 2.4.18, Red Hat Linux 7.2 - stock 2.4.7-10, upgrade 2.4.9-7, upgrade 2.4.9-13, upgrade 2.4.9-21, upgrade 2.4.9-31, Red Hat Linux 7.1 - stock 2.4.2-2, upgrade 2.4.3-12, Red Hat Linux 7.0 - stock 2.2.16-22, upgrade 2.2.17-14, SUSE LINUX 9.1 - stock 2.6.4-52, SUSE LINUX 9.0 - stock 2.4.21-99, SuSE Linux Enterprise Server 8 - stock 2.4.19, SuSE Linux 8.2 - stock 2.4.20, SuSE Linux 8.1 - stock 2.4.19, SuSE Linux 8.0 stock 2.4.18, SuSE Linux Enterprise Server 7 - stock 2.4.7 and patch 2 y SuSE Linux 7.3 - stock 2.4.10

Estos requisitos son perfectamente asumibles por los equipos informticos domsticos actuales de cualquier usuario. Configurar la virtualizacion en el sistema operativo Comenzar la instalacin de VMWare en el equipo; para ello accederemos a la carpeta donde hubiramos descargado el fichero de instalacin "VMWare-workstation-5.0.013124.exe", y haremos doble clic sobre dicho fichero, mostrndose la siguiente ventana:

Pulsamos sobre el botn Ejecutar y comenzar la descompresin del archivo para su instalacin

Aparecer el asistente que nos guiar durante el proceso de instalacin.

18

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

En ella pulsamos sobre el botn "Next" para comenzar con el proceso de instalacin del producto VMWare

Aceptamos la licencia pulsando sobre el botn "Yes, I accept the terms in the license agreement" y a continuacin pulsamos sobre el botn "Next". En la siguiente ventana indicaremos la ruta donde se va a instalar la aplicacin; dejaremos la ruta por defecto y pulsaremos posteriormente sobre el botn "Next".

Se nos pregunta si deseamos crear accesos directos desde el escritorio, desde el men de inicio y desde la barra de inicio rpido de Windows. Pulsamos sobre el botn "Next"

Finalmente, para poder ejecutar VMWare, hemos de introducir nuestro nombre de usuario, compaa y nmero de serie del producto (que nos han enviado por correo

19

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

electrnico a la cuenta con la que nos registramos). Una vez realizado este proceso dispondremos de una licencia de 30 das para utilizar el producto VMWare.

Los pasos para la instalacin de ambos S.O. (servidor y cliente) son idnticos, tanto si se instalan en mquinas fsicas como si se realiza su instalacin en mquinas virtuales.

20

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Unidad 2: Servicios de Red


En esta seccin analizaremos los conceptos que subyacen en la capa de Aplicacin del protocolo TCP/IP que utiliza Internet. Existen muchas fuentes de informacin a travs de las cuales podemos acceder a los conceptos aqu expuestos. En este caso, emplearemos las notas del programa de Cisco Networking Academy del curso CCNA Exploration I. En la primera parte se expondr un panorama general sobre los servicios de red. Y en la segunda parte, se identificarn los procesos para configuracin de los servicios de red.

Servicios de Red
Aunque el grupo de protocolos TCP/IP se desarroll antes de la definicin del modelo OSI, la funcionalidad de los protocolos de capa de aplicacin de TCP/IP se adaptan aproximadamente a la estructura de las tres capas superiores del modelo OSI: Capas de Aplicacin, Presentacin y Sesin. La mayora de los protocolos de capa de aplicacin de TCP/IP se desarrollaron antes de la aparicin de computadoras personales, interfaces del usuario grficas y objetos multimedia. Como resultado, estos protocolos implementan muy poco de la funcionalidad que se especifica en las capas de Sesin y Presentacin del modelo OSI. La capa de Aplicacin, Capa siete, es la capa superior de los modelos OSI y TCP/IP. Es la capa que proporciona la interfaz entre las aplicaciones que utilizamos para comunicarnos y la red subyacente en la cual se transmiten los mensajes. Los protocolos de capa de aplicacin se utilizan para intercambiar los datos entre los programas que se ejecutan en los hosts de origen y destino. Existen muchos protocolos de capa de aplicacin y siempre se desarrollan protocolos nuevos.

Ilustracin 3: Comparativa Modelo OSI TCP/IP

Los protocolos de capa de aplicacin de TCP/IP ms conocidos son aquellos que proporcionan intercambio de la informacin del usuario. Estos protocolos especifican la

21

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

informacin de control y formato necesaria para muchas de las funciones de comunicacin de Internet ms comunes. Algunos de los protocolos TCP/IP son: El protocolo Servicio de nombres de dominio (DNS, Domain Name Service) se utiliza para resolver nombres de Internet en direcciones IP. El protocolo de transferencia de hipertexto (HTTP, Hypertext Transfer Protocol) se utiliza para transferir archivos que forman las pginas Web de la World Wide Web. El Protocolo simple de transferencia de correo (SMTP) se utiliza para la transferencia de mensajes de correo y adjuntos. Telnet, un protocolo de emulacin de terminal, se utiliza para proporcionar acceso remoto a servidores y a dispositivos de red. El Protocolo de transferencia de archivos (FTP, File Transfer Protocol) se utiliza para la transferencia interactiva de archivos entre sistemas.

Los protocolos de la suite TCP/IP generalmente son definidos por Solicitudes de comentarios (RFCS). El Grupo de trabajo de ingeniera de Internet mantiene las RFCS como los estndares para el conjunto TCP/IP. Cuando la gente intenta acceder a informacin en sus dispositivos, ya sean stos una computadora personal o porttil, un PDA, telfono celular o cualquier otro dispositivo conectado a la red, los datos pueden no estar fsicamente almacenados en sus dispositivos. Si as fuere, se debe solicitar al dispositivo que contiene los datos, permiso para acceder a esa informacin.

Modelo Cliente-Servidor
En el modelo cliente-servidor, el dispositivo que solicita informacin se denomina cliente y el dispositivo que responde a la solicitud se denomina servidor. Los procesos de cliente y servidor se consideran una parte de la capa de Aplicacin. El cliente comienza el intercambio solicitando los datos al servidor, que responde enviando uno o ms streams de datos al cliente. Los protocolos de capa de Aplicacin describen el formato de las solicitudes y respuestas entre clientes y servidores. Adems de la transferencia real de datos, este intercambio puede requerir de informacin adicional, como la autenticacin del usuario y la identificacin de un archivo de datos a transferir. Un ejemplo de una red cliente/servidor es un entorno corporativo donde los empleados utilizan un servidor de e-mail de la empresa para enviar, recibir y almacenar e-mails. El cliente de correo electrnico en la computadora de un empleado emite una solicitud al servidor de e-mail para un mensaje no ledo. El servidor responde enviando el e-mail solicitado al cliente.

22

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Ilustracin 4: Modelo Cliente-Servidor

Un servidor generalmente es una computadora que contiene informacin para ser compartida con muchos sistemas de cliente. Por ejemplo, pginas Web, documentos, bases de datos, imgenes, archivos de audio y vdeo pueden almacenarse en un servidor y enviarse a los clientes que lo solicitan. En otros casos, como una impresora de red, el servidor de impresin enva las solicitudes de impresin del cliente a la impresora especfica. Diferentes tipos de aplicaciones del servidor tienen diferentes requerimientos para el acceso de clientes. Algunos servidores pueden requerir de autenticacin de la informacin de cuenta del usuario para verificar si el usuario tiene permiso para acceder a los datos solicitados o para utilizar una operacin en particular. Dichos servidores deben contar con una lista central de cuentas de usuarios y autorizaciones, o permisos (para operaciones y acceso a datos) otorgados a cada usuario. Cuando se utiliza un cliente FTP, por ejemplo, si usted solicita subir datos al servidor FTP, se le puede dar permiso para escribir su carpeta personal pero no para leer otros archivos del sitio. En una red cliente-servidor, el servidor ejecuta un servicio o proceso, a veces denominado daemon de servidor. Al igual que la mayora de los servicios, los daemons generalmente se ejecutan en segundo plano y no se encuentran bajo control directo del usuario. Los daemons se describen como servidores que "escuchan" una solicitud del cliente, porque estn programados para responder cada vez que el servidor recibe una solicitud para el servicio proporcionado por el daemon. Cuando un daemon "escucha" una solicitud de un cliente, intercambia los mensajes adecuados con el cliente, segn lo requerido por su protocolo, y procede a enviar los datos solicitados al cliente en el formato correspondiente.

23

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Ilustracin 5: Servicios en Servidores

Una nica aplicacin puede emplear diferentes servicios de la capa de Aplicacin, as lo que aparece para el usuario como una solicitud para una pgina Web puede, de hecho, ascender a docenas de solicitudes individuales. Y, para cada solicitud, pueden ejecutarse mltiples procesos. Por ejemplo, un cliente puede necesitar de diversos procesos individuales para formular slo una solicitud al servidor.

Adems, los servidores generalmente tienen mltiples clientes que solicitan informacin al mismo tiempo. Por ejemplo, un servidor Telnet puede tener varios clientes que requieren conectarse a l. Estas solicitudes individuales del cliente pueden manejarse en forma simultnea y separada para que la red sea exitosa. Los servicios y procesos de capa de Aplicacin dependen del soporte de las funciones de la capa inferior para administrar en forma exitosa las mltiples conversaciones.

24

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Ilustracin 6: Mltiples Clientes (Telnet)

Algunos protocolos especficos que se utilizan comnmente: La capa de transporte utiliza un esquema de direccionamiento que se llama nmero de puerto. Los nmeros de puerto identifican las aplicaciones y los servicios de la capa de Aplicacin que son los datos de origen y destino. Los programas del servidor generalmente utilizan nmeros de puerto predefinidos comnmente conocidos por los clientes. Mientras examinamos los diferentes servicios y protocolos de la capa de Aplicacin de TCP/IP, nos referiremos a los nmeros de puerto TCP y UDP normalmente asociados con estos servicios. Algunos de estos servicios son: Sistema de nombres de dominio (DNS): puerto TCP/UDP 53. Protocolo de transferencia de hipertexto (HTTP, Hypertext Transfer Protocol): puerto TCP 80. Protocolo simple de transferencia de correo (SMTP, Simple Mail Transfer Protocol): puerto TCP 25. Protocolo de oficina de correos (POP): puerto UDP 110. Telnet: puerto TCP 23. Protocolo de configuracin dinmica de host: puerto UDP 67. Protocolo de transferencia de archivos (FTP, File Transfer Protocol): puertos TCP 20 y 21.

Base de Datos
MySQL es un DBMS (DataBase Management System) o sistema de gestin de base de datos SQL (Structured Query Language o Lenguaje Estructurado de Consulta) multiusuario y multihilo con licencia GNU/GPL.

25

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

MySQL es propiedad y patrocinio de MySQL AB, compaa fundada por David Axmark, Allan Larsson y Michael Widenius, con base de operaciones en Suecia, la cual posee los derechos de autor de casi todo el cdigo que lo integra. MySQL AB desarrolla y mantiene el sistema vendiendo servicios de soporte y otros valores agregados, as como licenciamiento propietario para los desarrollos de equipamiento lgico que requieren mantener cerrado su cdigo. MySQL es actualmente el servidor de base de datos ms popular para los desarrollos a travs de la red mundial, con una estimacin de ms de diez millones de instalaciones. Es muy rpido y slido.

Equipamiento lgico necesario. Instalacin a travs de yum.


Si utiliza CentOS 4 o White Box Enterprise Linux 4, solo se necesita realizar lo siguiente para instalar o actualizar el equipamiento lgico necesario:

yum -y install mysql mysql-server

Instalacin a travs de up2date.


Si se utiliza Red Hat Enterprise Linux 4, solo bastar realizar lo siguiente para instalar o actualizar el equipamiento lgico necesario:

up2date -i mysql mysql-server

Procedimientos. SELinux y el servicio mysqld.


Si utiliza CentOS 4, Red Hat Enterprise Linux 4 o White Box Enterprise Linux 4 o versiones posteriores de estos sistemas operativos, active la poltica mysqld_disable_trans con el mandato setsebool para permitir funcionar al servicio mysqld. De otro modo, el servicio mysqld jams podr iniciar.

26

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

setsebool -P mysqld_disable_trans 1

Para que SELinux permita utilizar el cliente mysql para establecer conexiones hacia servidores MySQL, utilice el siguiente mandato:

setsebool -P allow_user_mysql_connect 1

Iniciar, detener y reiniciar el servicio mysqld.


Para iniciar por primera vez el servicio mysqld y generar la base de datos inicial (mysql), utilice:

/sbin/service mysqld start

Para reiniciar el servicio mysqld, utilice:

/sbin/service mysqld restart

Para detener el servicio mysqld, utilice:

/sbin/service mysqld stop

Agregar el servicio mysqld al arranque del sistema.


Para hacer que el servicio de mysqld est activo con el siguiente inicio del sistema, en todos los niveles de ejecucin (2, 3, 4, y 5), se utiliza lo siguiente:

/sbin/chkconfig mysqld on

27

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Asignacin de clave de acceso al usuario root.


El usuario root en MySQL%trade;, no tiene asignada clave de acceso alguna despus de iniciado el servicio por primera vez. Por razones de seguridad, es muy importante asignar una clave de acceso.

Mtodo corto.
La forma ms simple de asignar una clave de acceso al usuario root de MySQL solo requiere de un nico mandato, descrito a continuacin.

mysqladmin -u root password nueva-clave-de-acceso

En adelante, ser necesario aadir la opcin -p a cualquier sentencia de lnea de mandatos para <b<mysql< b="">, mysqladmin y mysqldump para ingresar la clave de acceso del usuario root y poder, de esta forma, realizar diversas tareas administrativas.</b<mysql<>

Mtodo largo.
La forma complicada de realizar lo anterior se describe solo con fines didcticos y como prueba de concepto. No es del todo prctico realizar asignacin de la clave de acceso del usuario root con este mtodo, pero sirve para entender el funcionamiento en cuanto a asignacin de claves de acceso.

Como root, utilice el mandato mysql:

# mysql

Dentro del intrprete de mandatos de MySQL, indique con el mandato use mysql que utilizar nica base de datos existente, mysql:

> use mysql

Solicite con el mandato show tables que se muestren las tablas de la base de datos mysql:

28

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

> show tables;

Con el mandato select * from user se mostrar el contenido de la tabla user de la base de datos actual:

> select * from user;

Esto har que se vea, entre otras muchas cosas, lo siguiente:

+-------------------------+----------+------------------+-------------+ | Host | User | Password | Select_priv | +-------------------------+----------+------------------+-------------+ | localhost | root | | Y | +-------------------------+----------+------------------+-------------+

Como se podr observar, el usuario root no tiene asignada una clave de acceso, por lo que cualquiera que se identifique como root en el sistema tendr acceso a todo en MySQL. Se asignar una clave de acceso del siguiente modo:

> update user set Password=PASSWORD('nuevo_password') where user='root';

Utilice de nuevo el mandato select * from user y vuelva observar el campo que correspondera al de la clave de acceso del usuario root:

> select * from user;

29

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Deber aparecer ahora un criptograma en el campo que corresponde a la clave de acceso del usuario root.

+-------------------------+----------+------------------+-------------+ | Host | User | Password | Select_priv | +-------------------------+----------+------------------+-------------+ | localhost | root |4593274b8e0d68j852| Y | +-------------------------+----------+------------------+-------------+

Se recomienda realizar refresco de los privilegios a fin de que tomen efecto los cambios.

> flush privileges

Para probar, solo hay que salir del intrprete de MySQL.

> quit

Intente ingresar de nuevamente al intrprete de mandatos de MySQL:

mysql

Notar que ya no se puede acceder como antes, y regresa un mensaje de error.

ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)

30

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Ejecute ahora el mismo mandato, pero especificando un usuario (-u root) y solicitando se pregunte por una clave de acceso (-p):

mysql -u root -p

Unidades de Red El Bloque de mensajes del servidor (SMB) es un protocolo cliente-servidor para compartir archivos. IBM desarroll el Bloque de mensajes del servidor (SMB) a fines de la dcada del '80 para describir la estructura de recursos de red compartidos, como directorios, archivos, impresoras y puertos seriales. Es un protocolo de solicitud-respuesta. A diferencia del protocolo para compartir archivos respaldado por FTP, los clientes establecen una conexin a largo plazo con los servidores. Una vez establecida la conexin, el usuario del cliente puede acceder a los recursos en el servidor como si el recurso fuera local para el host del cliente. Los servicios de impresin y el SMB para compartir archivos se han transformado en el pilar de las redes de Microsoft. Con la presentacin de la serie Windows 2000 del software, Microsoft cambi la estructura subyacente para el uso del SMB. En versiones anteriores de los productos de Microsoft, los servicios de SMB utilizaron un protocolo que no es TCP/IP para implementar la resolucin de nombres. Comenzando con Windows 2000, todos los productos subsiguientes de Microsoft utilizan denominacin DNS. Esto permite a los protocolos TCP/IP admitir directamente el compartir recursos SMB, como se muestra en la figura. Los sistemas operativos LINUX y UNIX tambin proporcionan un mtodo para compartir recursos con las redes Microsoft a travs de una versin de SMB denominada SAMBA. Los sistemas operativos Macintosh de Apple tambin admiten recursos compartidos utilizando el protocolo SMB.

31

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Ilustracin 7: Protocolo SMB

Servicio Web Cuando se escribe una direccin Web (o URL) en un explorador de Internet, el explorador establece una conexin con el servicio Web del servidor que utiliza el protocolo HTTP. URL (o Localizador uniforme de recursos) y URI (Identificador uniforme de recursos) son los nombres que la mayora de las personas asocian con las direcciones Web. El URL http://www.cisco.com/index.html es un ejemplo de un URL que se refiere a un recurso especfico: una pgina Web denominada index.html en un servidor identificado como cisco.com (haga clic en las fichas de la figura para ver los pasos utilizados por HTTP). Los exploradores Web son las aplicaciones de cliente que utilizan nuestras computadoras para conectarse con la World Wide Web y para acceder a los recursos almacenados en un servidor Web. Al igual que con la mayora de los procesos de servidores, el servidor Web funciona como un servicio bsico y genera diferentes tipos de archivos disponibles. Para acceder al contenido, los clientes Web realizan conexiones al servidor y solicitan los recursos deseados. El servidor responde con los recursos y, una vez recibidos, el explorador interpreta los datos y los presenta al usuario. Los exploradores pueden interpretar y presentar muchos tipos de datos, como texto sin formato o Lenguaje de marcado de hipertexto (HTML, el lenguaje que se utiliza para construir una pgina Web). Otros tipos de datos, sin embargo, requieren de otro servicio o programa. Generalmente se los conoce como plug-ins o complementos. Para ayudar al explorador a determinar qu tipo de archivo est recibiendo, el servidor especifica qu clase de datos contiene el archivo.

32

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Para comprender mejor cmo interactan el explorador Web con el cliente Web, podemos analizar cmo se abre una pgina Web en un explorador. Para este ejemplo, utilizaremos la direccin URL: http://www.cisco.com/web-server.htm. Primero, el explorador interpreta las tres partes de la URL: 1. http (el protocolo o esquema), 2. www.cisco.com (el nombre del servidor), y 3. web-server.htm (el nombre especfico del archivo solicitado). El explorador luego verifica con un servidor de nombres para convertir a www.cisco.com en una direccin numrica que utilizar para conectarse con el servidor. Al utilizar los requerimientos del protocolo HTTP, el explorador enva una solicitud GET al servidor y pide el archivo web-server.htm. El servidor, a su vez, enva al explorador el cdigo HTML de esta pgina Web. Finalmente, el explorador descifra el cdigo HTML y da formato a la pgina para la ventana del explorador.

Ilustracin 8: Protocolo HTTP

El protocolo de transferencia de hipertexto (HTTP), uno de los protocolos del grupo TCP/IP, se desarroll en sus comienzos para publicar y recuperar las pginas HTML, y en la actualidad se utiliza para sistemas de informacin distribuidos y de colaboracin. HTTP se utiliza a travs de la World Wide Web para transferencia de datos y es uno de los protocolos de aplicacin ms utilizados. HTTP especifica un protocolo de solicitud/respuesta. Cuando un cliente, generalmente un explorador Web, enva un mensaje de solicitud a un servidor, el protocolo HTTP define los tipos de mensajes que el cliente utiliza para solicitar la pgina Web y enva los tipos de mensajes que el servidor utiliza para responder. Los tres tipos de mensajes ms comunes son GET, POST y PUT.

33

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

GET es una solicitud de datos del cliente. Un explorador Web enva el mensaje GET para solicitar las pginas desde un servidor Web. Como se muestra en la figura, una vez que el servidor recibe la solicitud GET, responde con una lnea de estado, como HTTP/1.1 200 OK, y un mensaje solo, cuyo cuerpo puede ser el archivo solicitado, un mensaje de error o alguna otra informacin. POST y PUT se utilizan para enviar mensajes que cargan los datos al servidor Web. Por ejemplo, cuando el usuario ingresa datos en un formulario incorporado en una pgina Web, POST incluye los datos en el mensaje enviado al servidor. PUT carga los recursos o el contenido al servidor Web. Aunque es muy flexible, HTTP no es un protocolo seguro. Los mensajes POST cargan informacin al servidor en un texto sin formato que puede ser interceptado y ledo. De forma similar, las respuestas del servidor, generalmente pginas HTML, tambin son descifradas. Para una comunicacin segura a travs de Internet, se utiliza el protocolo HTTP seguro (HTTPS) para acceder o subir informacin al servidor Web. HTTPS puede utilizar autenticacin y encriptacin para asegurar los datos cuando viajan entre el cliente y el servidor. HTTPS especifica reglas adicionales para pasar los datos entre la capa de Aplicacin y la capa de Transporte.

Ilustracin 9: Resolucin de dominio

DNS En redes de datos, los dispositivos son rotulados con direcciones IP numricas para que puedan participar en el envo y recepcin de mensajes a travs de la red. Sin embargo, la mayora de las personas pasan mucho tiempo tratando de recordar estas direcciones numricas. Por lo tanto, los nombres de dominio fueron creados para convertir las direcciones numricas en nombres simples y reconocibles.

34

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

En Internet, esos nombres de dominio, como www.cisco.com, son mucho ms sencillos de recordar que 198.133.219.25, que es la direccin numrica real para este servidor. Adems, si Cisco decide cambiar la direccin numrica, para el usuario es transparente ya que el nombre de dominio seguir siendo www.cisco.com. La nueva direccin simplemente estar enlazada con el nombre de dominio existente y la conectividad se mantendr. Cuando las redes eran pequeas, resultaba fcil mantener la asignacin entre los nombres de dominios y las direcciones que representaban. Sin embargo, a medida que las redes y el nmero de dispositivos comenzaron a crecer, el sistema manual dej de ser prctico. El Sistema de nombres de dominio (DNS) se cre para que el nombre del dominio busque soluciones para estas redes. DNS utiliza un conjunto distribuido de servidores para resolver los nombres asociados con estas direcciones numricas. El protocolo DNS define un servicio automatizado que coincide con nombres de recursos que tienen la direccin de red numrica solicitada. Incluye las consultas sobre formato, las respuestas y los formatos de datos. Las comunicaciones del protocolo DNS utilizan un formato simple llamado mensaje. Este formato de mensaje se utiliza para todos los tipos de solicitudes de clientes y respuestas del servidor, mensajes de error y para la transferencia de informacin de registro de recursos entre servidores.

Ilustracin 10: Servidor DNS

DNS es un servicio cliente/servidor; sin embargo, difiere de los otros servicios cliente/servidor que estamos examinando. Mientras otros servicios utilizan un cliente que es una aplicacin (como un explorador Web o un cliente de correo electrnico), el cliente DNS ejecuta un servicio por s mismo. El cliente DNS, a veces denominado resolucin DNS, admite resolucin de nombre para otras aplicaciones de red y servicios que lo necesiten. Al configurar un dispositivo de red, generalmente proporcionamos una o ms direcciones del servidor DNS que el cliente DNS puede utilizar para la resolucin de nombres. En general, el proveedor de servicios de Internet provee las direcciones para utilizar con los servidores DNS.

35

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Cuando una aplicacin de usuario solicita conectarse con un dispositivo remoto por nombre, el cliente DNS solicitante enva una peticin a uno de esos servidores de nombre para resolver el nombre en una direccin numrica. Los sistemas operativos informticos tambin tienen una utilidad denominada nslookup que permite al usuario consultar manualmente los servidores de nombre para resolver un determinado nombre de host. Esta utilidad tambin puede utilizarse para resolver los problemas de resolucin de nombres y verificar el estado actual de los servidores de nombres.

Ilustracin 11: Pantalla nslookup

En la figura, cuando se ejecuta nslookup, se muestra el servidor DNS por defecto configurado para su host. En este ejemplo, el servidor DNS es dns-sjk.cisco.com que tiene una direccin de 171.68.226.120. Luego podemos escribir el nombre de un host o dominio para el cual deseamos obtener la direccin. En la primera consulta de la figura, se hace una consulta para www.cisco.com. El servidor de nombre que responde proporciona la direccin 198.133.219.25. Las consultas mostradas en la figura son slo pruebas simples. La utilidad nslookup tiene muchas opciones disponibles para lograr una extensa verificacin y prueba del proceso DNS. Un servidor DNS proporciona la resolucin de nombres utilizando el daemon de nombre que generalmente se llama named (se pronuncia name-dee). El servidor DNS almacena diferentes tipos de registros de recursos utilizados para resolver nombres. Estos registros contienen el nombre, la direccin y el tipo de registro. Algunos de estos tipos de registro son:

36

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

A: una direccin de un dispositivo final. NS: un servidor de nombre autoritativo. CNAME: el nombre ideal (o Nombre de dominio completamente calificado) para un alias, que se utiliza cuando varios servicios tienen una nica direccin de red pero cada servicio tiene su propia entrada en DNS. MX: registro de intercambio de correos, asigna un nombre de dominio a una lista de servidores de intercambio de correos para ese dominio. Cuando un cliente realiza una consulta, el proceso "named" del servidor primero observa en sus propios registros para ver si puede resolver el nombre. Si no puede resolver el nombre utilizando los registros almacenados, contacta a otros servidores para hacerlo. La solicitud puede pasar por un nmero de servidores, lo cual lleva tiempo adicional y consume ancho de banda. Una vez que se encuentra una coincidencia y se devuelve al servidor solicitante original, el servidor almacena temporalmente en la cach la direccin numerada que coincide con el nombre. Si vuelve a solicitarse ese mismo nombre, el primer servidor puede regresar la direccin utilizando el valor almacenado en el cach de nombres. El almacenamiento en cach reduce el trfico de la red de datos de consultas DNS y las cargas de trabajo de los servidores ms altos de la jerarqua. El servicio del cliente DNS en las PC de Windows optimiza el rendimiento de la resolucin de nombres DNS almacenando previamente los nombres resueltos en la memoria. El comando ipconfig /displaydns muestra todas las entradas DNS en cach en un sistema informtico con Windows XP o 2000. El sistema de nombres de dominio utiliza un sistema jerrquico para crear una base de datos para proporcionar una resolucin de nombres. La jerarqua es similar a un rbol invertido con la raz en la parte superior y las ramas por debajo. En la parte superior de la jerarqua, los servidores raz mantienen registros sobre cmo alcanzar los servidores de dominio de nivel superior, los cuales a su vez tienen registros que apuntan a los servidores de dominio de nivel secundario y as sucesivamente. Los diferentes dominios de primer nivel representan el tipo de organizacin o el pas de origen. Algunos ejemplos de dominios de primer nivel son: .au: Australia .co: Colombia .com: una empresa o industria .jp: Japn

37

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

.org: una organizacin sin fines de lucro Despus de los dominios de primer nivel se encuentran los dominios de segundo nivel y, debajo de estos, hay otros dominios de nivel inferior. Cada nombre de dominio es una ruta a travs de este rbol invertido que comienza desde la raz.

Ilustracin 12: Jerarqua Servidores DNS

Por ejemplo: como se muestra en la figura, el servidor DNS raz puede no saber exactamente dnde se encuentra el servidor de correo electrnico mail.cisco, pero lleva un registro de los dominios "com" dentro de los dominios de primer nivel. Asimismo, los servidores dentro del dominio "com" pueden no tener un registro de mail.cisco.com, pero s tienen un registro para el dominio "cisco.com". Los servidores dentro del dominio cisco.com tienen un registro (un registro MX para ser exactos) para mail.cisco.com. El sistema de nombres de dominio depende de esta jerarqua de servidores descentralizados y mantiene estos registros de recursos. Los registros de recursos enumeran nombres de dominios que el servidor puede resolver y servidores alternativos que tambin pueden procesar solicitudes. Si un determinado servidor tiene registros de recursos que corresponden a su nivel en la jerarqua de dominios, se dice que es autoritativo para esos registros.

DHCP El servicio Protocolo de configuracin dinmica de host (DHCP) permite a los dispositivos de una red obtener direcciones IP y dems informacin de un servidor DHCP. Este

38

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

servicio automatiza la asignacin de direcciones IP, mscaras de subred, gateways y otros parmetros de redes IP. DHCP permite a un host obtener una direccin IP en forma dinmica cuando se conecta a la red. Se realiza el contacto con el servidor de DHCP y se solicita una direccin. El servidor DHCP elije una direccin de un rango configurado de direcciones denominado "pool" y se la asigna ("alquila") al host por un perodo establecido. En redes locales ms grandes o donde cambia frecuentemente la poblacin usuaria, es preferible el DHCP. Los nuevos usuarios llegan con computadoras porttiles y necesitan una conexin. Otros tienen nuevas estaciones de trabajo que necesitan conexin. En lugar de tener direcciones IP asignadas por el administrador de red en cada estacin de trabajo, resulta ms eficiente tener direcciones IP asignadas en forma automtica utilizando un DHCP. Las direcciones de DHCP distribuidas no se asignan a los hosts en forma permanente, slo se alquilan durante un perodo de tiempo. Si el host se apaga o se desconecta de la red, la direccin regresa al pool para volver a utilizarse. Esto es muy til para los usuarios mviles que entran y salen de la red. Los usuarios pueden moverse libremente desde una ubicacin a otra y volver a establecer las conexiones de red. El host puede obtener una direccin IP una vez que se realice la conexin del hardware, ya sea mediante una LAN inalmbrica o conectada por cable. DHCP hace posible el acceso a Internet utilizando zonas activas inalmbricas en aeropuertos o cafs. Una vez que ingresa al rea, el cliente de DHCP de la computadora porttil contacta al servidor de DHCP mediante una conexin inalmbrica. El servidor de DHCP asigna una direccin IP a la computadora porttil. Como muestra la figura, diferentes tipos de dispositivos pueden ser servidores de DHCP al ejecutar el software de servicio de DHCP. El servidor de DHCP en la mayora de las redes medianas y grandes est generalmente ubicado en un servidor dedicado local basado en PC. Con las redes domsticas, el servidor de DHCP se ubica en el ISP y un host de la red domstica recibe la configuracin IP directamente desde el ISP. DHCP puede representar un riesgo a la seguridad porque cualquier dispositivo conectado a la red puede recibir una direccin. Este riesgo hace de la seguridad fsica un factor importante a la hora de determinar si se utiliza direccionamiento manual o dinmico. Los direccionamientos dinmico y esttico tienen su lugar en los diseos de red. Muchas redes utilizan tanto el direccionamiento esttico como el DHCP. DHCP se utiliza para hosts de propsitos generales, como los dispositivos de usuario final, y las direcciones fijas se utilizan para dispositivos de red como gateways, switches, servidores e impresoras.

39

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Ilustracin 13: Servidor DHCP

Sin DHCP los usuarios tienen que ingresar manualmente la direccin IP, la mscara de subred y otras configuraciones para poder unirse a la red. El servidor de DHCP mantiene un pool de las direcciones IP y alquila una direccin a cualquier cliente habilitado por DHCP cuando el cliente est activado. Debido a que las direcciones IP son dinmicas (alquiladas) en lugar de estticas (asignadas en forma permanente), las direcciones en desuso regresan automticamente al pool para volver a asignarse. Cuando un dispositivo configurado por DHCP se inicia o conecta a la red, el cliente enva un paquete DESCUBRIMIENTO de DHCP para identificar cualquier servidor de DHCP disponible en la red. Un servidor DHCP contesta con una oferta de DHCP, que es un mensaje de oferta de alquiler con informacin asignada de direccin IP, mscara de subred, servidor DNS y gateway por defecto, como tambin la duracin del alquiler.

Ilustracin 14: Proceso DHCP

El cliente puede recibir varios paquetes de oferta de DHCP si hay ms de un servidor DHCP en la red local, por lo tanto debe escoger entre ellos y enviar un broadcast de paquete con una solicitud de DHCP que identifique el servidor y la oferta de alquiler especficos que el cliente est aceptando. Un cliente puede elegir solicitar una direccin previamente asignada por el servidor.

40

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Teniendo en cuenta que la direccin IP solicitada por el cliente u ofrecida por el servidor, an es vlida, el servidor devolver un mensaje ACK DHCP que le informa al cliente que finaliz el alquiler. Si la oferta ya no es vlida, quizs debido al tiempo o o que a otro cliente se le asigna el alquiler, el servidor seleccionado responder con un mensaje NAK DHCP (acuse de recibo negativo). Si se enva un mensaje NAK DHCP, el proceso de seleccin debe comenzar nuevamente con la transmisin de un nuevo mensaje DHCP DISCOVER. Una vez que el cliente tenga el alquiler, debe renovarse antes de la expiracin del alquiler por medio de otro mensaje DHCP REQUEST. El servidor de DHCP asegura que todas las direcciones son nicas (una direccin IP no puede asignarse a dos dispositivos de red diferentes en forma simultnea). Usar DHCP permite a los administradores de red volver a configurar fcilmente las direcciones IP del cliente sin tener que realizar cambios a los clientes en forma manual. La mayora de los proveedores de Internet utilizan DHCP para asignar las direcciones a sus clientes que no solicitan direcciones estticas.

Servidor de Correo Electrnico E-mail, el servidor de red ms conocido, ha revolucionado la manera en que nos comunicamos, por su simpleza y velocidad. Inclusive para ejecutarse en una computadora o en otro dispositivo, los e-mails requieren de diversos servicios y aplicaciones. Dos ejemplos de protocolos de capa de aplicacin son Protocolo de oficina de correos (POP) y Protocolo simple de transferencia de correo (SMTP), que aparecen en la figura. Como con HTTP, estos protocolos definen procesos cliente-servidor. Cuando una persona escribe mensajes de correo electrnico, generalmente utiliza una aplicacin denominada Agente de usuario de correo (MUA) o cliente de correo electrnico. MUA permite enviar los mensajes y colocar los mensajes recibidos en el buzn del cliente; ambos procesos son diferentes. Para recibir e-mails desde un servidor de e-mail, el cliente de correo electrnico puede utilizar un POP. Al enviar un e-mail desde un cliente o un servidor, se utilizan formatos de mensajes y cadenas de comando definidas por el protocolo SMTP. En general, un cliente de correo electrnico proporciona la funcionalidad de ambos protocolos dentro de una aplicacin.

41

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Ilustracin 15: Cliente de Correo Electrnico

Procesos del servidor de e-mail: MTA y MDA El servidor de e-mail ejecuta dos procesos individuales: Agente de transferencia de correo (MTA, Mail Transfer Agent). Agente de entrega de correo (MDA, Mail Delivery Agent).

El proceso Agente de transferencia de correo (MTA) se utiliza para enviar correos electrnicos. Como se muestra en la figura, el MTA recibe mensajes desde el MUA u otro MTA en otro servidor de e-mail. Segn el encabezado del mensaje, determina cmo debe reenviarse un mensaje para llegar a destino. Si el correo est dirigido a un usuario cuyo buzn est en el servidor local, el correo se pasa al MDA. Si el correo es para un usuario que no est en el servidor local, el MTA enruta el e-mail al MTA en el servidor correspondiente.

42

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Ilustracin 16: Agente de transferencia de correo

En la figura de la pgina siguiente, vemos que el Agente de envo de correo (MDA) acepta una parte del e-mail desde un Agente de transferencia de correo (MTA) y realiza el envo real. El MDA recibe todo el correo entrante desde el MTA y lo coloca en los buzones de los usuarios correspondientes. El MDA tambin puede resolver temas de entrega final, como anlisis de virus, correo no deseado filtrado y manejo de acuses de recibo. La mayora de las comunicaciones de e-mail utilizan las aplicaciones MUA, MTA y MDA. Sin embargo, existen otras alternativas para enviar e-mails. El cliente puede estar conectado a un sistema de e-mails corporativo, como Lotus Notes de IBM, Groupwise de Novell o Microsoft Exchange. Estos sistemas a veces tienen su propio formato interno de correo electrnico y sus clientes generalmente se comunican con el servidor de correo electrnico a travs de un protocolo propietario. El servidor enva o recibe correos electrnicos por Internet a travs de la gateway de correo de internet del producto, que realiza el reformateo que sea necesario. Si, por ejemplo, dos personas que trabajan para la misma empresa intercambian e-mails entre ellos utilizando un protocolo propietario, los mensajes pueden permanecer completamente dentro del sistema de e-mails corporativo de la empresa. Como segunda alternativa, las computadoras que no tienen un MUA pueden conectarse a un servicio de correo en un explorador Web para as recuperar y enviar mensajes. Algunas computadoras pueden ejecutar su propio MTA y administrar e-mails de dominio interno.

Ilustracin 17: Agente de entrega de correo

Como se mencion anteriormente, los e-mails pueden utilizar los protocolos POP y SMTP (vea la figura para saber cmo funcionan). POP y POP3 (Protocolo de oficina de correos

43

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

v.3) son protocolos de envo de correo entrante y protocolos cliente/servidor tpicos. Envan e-mails desde el servidor de e-mail al cliente (MUA). El MDA escucha cuando un cliente se conecta a un servidor. Una vez establecida la conexin, el servidor puede enviar el e-mail al cliente. El protocolo simple de transferencia de correo (SMTP), por el contrario, rige la transferencia de e-mails salientes desde el cliente emisor al servidor de e-mail (MDA), como as tambin el transporte de e-mails entre servidores de e-mail (MTA). SMTP permite transportar e-mails por las redes de datos entre diferentes tipos de software de cliente y servidor, y hace posible el intercambio de e-mails en Internet. El formato de mensajes del protocolo SMTP utiliza un conjunto rgido de comandos y respuestas. Estos comandos admiten los procedimientos utilizados en el SMTP, como inicio de sesin, transaccin de correo, reenvo de correo, verificacin de nombres de buzones, expansin de listas de correo y apertura y cierre de intercambios. Algunos de los comandos especificados en el protocolo SMTP son: HELO: identifica el proceso de cliente SMTP para el proceso de servidor SMTP. EHLO: es la versin ms nueva de HELO, que incluye extensiones de servicios, y MAIL FROM: identifica al emisor. RCPT TO: identifica al receptor, y DATA: identifica el cuerpo del mensaje.

FTP El protocolo de transferencia de archivos (FTP) es otro protocolo de la capa de aplicacin comnmente utilizado. El FTP se desarroll para permitir las transferencias de archivos entre un cliente y un servidor. Un cliente FTP es una aplicacin que se ejecuta en una computadora y se utiliza para cargar y descargar archivos desde un servidor que ejecuta el daemon FTP (FTPd). Para transferir los archivos en forma exitosa, el FTP requiere de dos conexiones entre cliente y servidor: una para comandos y respuestas, otra para la transferencia real de archivos. El cliente establece la primera conexin con el servidor en TCP puerto 21. Esta conexin se utiliza para controlar el trfico, que consiste en comandos del cliente y respuestas del servidor. El cliente establece la segunda conexin con el servidor en TCP puerto 20. Esta conexin es para la transferencia real de archivos y se crea cada vez que se transfiere un archivo.

44

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

La transferencia de archivos puede producirse en ambas direcciones. El cliente puede descargar (bajar) un archivo desde el servidor o el cliente puede cargar (subir) un archivo en el servidor.

Ilustracin 18: Protocolo FTP

TELNET Mucho antes de que existieran las computadoras de escritorio con interfaces grficas sofisticadas, las personas utilizaban sistemas basados en textos que eran simplemente terminales conectadas fsicamente a una computadora central. Una vez que las redes estuvieran disponibles, las personas necesitaban acceder en forma remota a los sistemas informticos de la misma manera en que lo hacan con las terminales conectadas en forma directa. Telnet se desarroll para satisfacer esta necesidad. Telnet se remonta a principios de la dcada de los setenta y se encuentra entre los servicios y protocolos de capa de aplicacin ms antiguo dentro del grupo TCP/IP. Telnet proporciona un mtodo estndar de emulacin de dispositivos de terminal basados en texto en la red de datos. El protocolo y el software del cliente que implementa el protocolo comnmente se definen como Telnet. Y como consecuencia, una conexin que utiliza Telnet se llama Sesin o conexin de terminal virtual (VTY). En lugar de utilizar un dispositivo fsico para conectar al servidor, Telnet utiliza software para crear un dispositivo virtual que proporciona las mismas funciones que una sesin terminal con acceso a la Interfaz de lnea de comandos (CLI) del servidor.

45

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Para admitir conexiones al cliente Telnet, el servidor ejecuta un servicio llamado daemon de Telnet. Se establece una conexin de terminal virtual desde un dispositivo final utilizando una aplicacin del cliente Telnet. La mayora de los sistemas operativos incluye un cliente de Telnet de la capa de aplicacin. En una PC de Microsoft Windows, Telnet puede ejecutarse desde la entrada del comando. Otras aplicaciones de terminal comunes que ejecutan clientes de Telnet son HyperTerminal, Minicom y TeraTerm. Una vez establecida una conexin Telnet, los usuarios pueden realizar cualquier funcin autorizada en el servidor, como si utilizaran una sesin de lnea de comandos en el servidor mismo. Si estn autorizados, pueden iniciar y detener procesos, configurar el dispositivo e inclusive cerrar el sistema.

Ilustracin 19: Telnet

Ilustracin 20: Protocolo Telnet

46

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Telnet es un protocolo cliente-servidor y especifica cmo se establece y se termina una sesin VTY. Adems proporciona la sintaxis y el orden de los comandos utilizados para iniciar la sesin Telnet, como as tambin los comandos de control que pueden ejecutarse durante una sesin. Cada comando Telnet consiste en por lo menos dos bytes. El primer byte es un carcter especial denominado Interpretar como comando (IAC). Como su nombre lo indica, el IAC define el byte siguiente como un comando en lugar de un texto. Algunos de los comandos del protocolo Telnet de muestra son: Are You There (AYT): Permite al usuario solicitar que aparezca algo en la pantalla del terminal para indiciar que la sesin VTY est activa. Erase Line (EL): Elimina todo el texto de la lnea actual. Interrupt Process (IP): Suspende, interrumpe, aborta o termina el proceso al cual se conect la terminal virtual. Por ejemplo, si un usuario inici un programa en el servidor Telnet por medio de VTY, puede enviar un comando IP para detener el programa.

Aunque el protocolo Telnet admite autenticacin de usuario, no admite el transporte de datos encriptados. Todos los datos intercambiados durante una sesin Telnet se transportan como texto sin formato por la red. Esto significa que los datos pueden ser interceptados y entendidos fcilmente.

47

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Unidad 3: Sistema de Archivos y Control de Procesos


Administrador de Usuarios
Linux es un sistema multiusuario, por lo tanto, la tarea de aadir, modificar, eliminar y en general administrar usuarios se convierte en algo no solo rutinario, sino importante, adems de ser un elemento de seguridad que mal administrado o tomado a la ligera, puede convertirse en un enorme hoyo de seguridad. En este manual aprenders todo lo necesario para administrar completamente tus usuarios en GNU/Linux. Tipos de usuarios. Los usuarios en Unix/Linux se identifican por un nmero nico de usuario, User ID, UID. Y pertenecen a un grupo principal de usuario, identificado tambin por un nmero nico de grupo, Group ID, GID. El usuario puede pertenecer a ms grupos adems del principal. Aunque sujeto a cierta polmica, es posible identificar tres tipos de usuarios en Linux: Usuario root:

Tambin llamado superusuario o administrador. Su UID (User ID) es 0 (cero). Es la nica cuenta de usuario con privilegios sobre todo el sistema. Acceso total a todos los archivos y directorios con independencia de propietarios y permisos. Controla la administracin de cuentas de usuarios. Ejecuta tareas de mantenimiento del sistema. Puede detener el sistema. Instala software en el sistema. Puede modificar o reconfigurar el kernel, controladores, etc.

Usuarios especiales

Ejemplos: bin, daemon, adm, lp, sync, shutdown, mail, operator, squid, apache, etc. Se les llama tambin cuentas del sistema. No tiene todos los privilegios del usuario root, pero dependiendo de la cuenta asumen distintos privilegios de root. Lo anterior para proteger al sistema de posibles formas de vulnerar la seguridad. No tienen contraseas pues son cuentas que no estn diseadas para iniciar sesiones con ellas. Tambin se les conoce como cuentas de "no inicio de sesin" (nologin).

48

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Se crean (generalmente) automticamente al momento de la instalacin de Linux o de la aplicacin. Generalmente se les asigna un UID entre 1 y 100 (definido en /etc/login.defs)

Usuarios normales

Se usan para usuarios individuales. Cada usuario dispone de un directorio de trabajo, ubicado generalmente en /home. Cada usuario puede personalizar su entorno de trabajo. Tienen solo privilegios completos en su directorio de trabajo o HOME. Por seguridad, es siempre mejor trabajar como un usuario normal en vez del usuario root, y cuando se requiera hacer uso de comandos solo de root, utilizar el comando su. En las distribuciones actuales de Linux se les asigna generalmente un UID superior a 500.

Cualquiera que sea el tipo de usuario, todas las cuentas se encuentran definidas en el archivo de configuracin 'passwd', ubicado dentro del directorio /etc. Este archivo es de texto tipo ASCII, se crea al momento de la instalacin con el usuario root y las cuentas especiales, ms las cuentas de usuarios normales que se hayan indicado al momento de la instalacin. El archivo /etc/passwd contiene una lnea para cada usuario, similar a las siguientes: root:x:0:0:root:/root:/bin/bash sergio:x:501:500:Sergio Gonzlez:/home/sergio:/bin/bash La informacin de cada usuario est dividida en 7 campos delimitados cada uno por ':' dos puntos.

/etc/passwd Campo 1 Es el nombre del usuario, identificador de inicio de sesin (login). Tiene que ser nico. La 'x' indica la contrasea encriptada del usuario, adems tambin indica que se est Campo 2 haciendo uso del archivo /etc/shadow, si no se hace uso de este archivo, este campo se vera algo as como: 'ghy675gjuXCc12r5gt78uuu6R'. Nmero de identificacin del usuario (UID). Tiene que ser nico. 0 para root, generalmente las cuentas o usuarios especiales se numeran del 1 al 100 y las de usuario Campo 3 normal del 101 en delante, en las distribuciones ms recientes esta numeracin comienza a partir del 500. Campo 4 Numeracin de identificacin del grupo (GID). El que aparece es el nmero de grupo

49

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

principal del usuario, pero puede pertenecer a otros, esto se configura en /etc/groups. Campo 5 Comentarios o el nombre completo del usuario. Campo 6 Directorio de trabajo (Home) donde se sita al usuario despus del inicio de sesin. Campo 7 Shell que va a utilizar el usuario de forma predeterminada.

/etc/group Este archivo guarda la relacin de los grupos a los que pertenecen los usuarios del sistema, contiene una lnea para cada usuario con tres o cuatro campos por usuario: root:x:0:root ana:x:501: sergio:x:502:ventas,supervisores,produccion cristina:x:503:ventas,sergio

El campo 1 indica el usuario. El campo 2 'x' indica la contrasea del grupo, que no existe, si hubiera se mostrara un 'hash' encriptado. El campo 3 es el Group ID (GID) o identificacin del grupo. El campo 4 es opcional e indica la lista de grupos a los que pertenece el usuario

Actualmente al crear al usuario con useradd se crea tambin automticamente su grupo principal de trabajo GID, con el mismo nombre del usuario. Es decir, si se aade el usuario 'sergio' tambin se crea el /etc/group el grupo 'sergio'. Aun as, existen comandos de administracin de grupos que se explicarn ms adelante. /etc/login.defs En el archivo de configuracin /etc/login.defs estn definidas las variables que controlan los aspectos de la creacin de usuarios y de los campos de shadow usada por defecto. Algunos de los aspectos que controlan estas variables son:

Nmero mximo de das que una contrasea es vlida PASS_MAX_DAYS El nmero mnimo de caracteres en la contrasea PASS_MIN_LEN Valor mnimo para usuarios normales cuando se usa useradd UID_MIN

50

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

El valor umask por defecto UMASK Si el comando useradd debe crear el directorio home por defecto CREATE_HOME

Basta con leer este archivo para conocer el resto de las variables que son auto descriptivas y ajustarlas al gusto. Recurdese que se usaran principalmente al momento de crear o modificar usuarios con los comandos useradd y usermod que en breve se explicaran. Aadir usuarios con useradd useradd o adduser es el comando que permite aadir nuevos usuarios al sistema desde la lnea de comandos. Sus opciones ms comunes o importantes son las siguientes:

-c aade un comentario al momento de crear al usuario, campo 5 de /etc/passwd -d directorio de trabajo o home del usuario, campo 6 de /etc/passwd -e fecha de expiracin de la cuenta, formato AAAA-MM-DD, campo 8 de /etc/shadow -g nmero de grupo principal del usuario (GID), campo 4 de /etc/passwd -G otros grupos a los que puede pertenecer el usuario, separados por comas. -r crea una cuenta del sistema o especial, su UID ser menor al definido en /etc/login.defs en la variable UID_MIN, adems no se crea el directorio de inicio. -s shell por defecto del usuario cuando ingrese al sistema. Si no se especifica, bash, es el que queda establecido. -u UID del usuario, si no se indica esta opcin, automticamente se establece el siguiente nmero disponible a partir del ltimo usuario creado.

Ahora bien, realmente no hay prcticamente necesidad de indicar ninguna opcin ya que si hacemos lo siguiente:
#> useradd juan

Se crear el usuario y su grupo, as como las entradas correspondientes en /etc/passwd, /etc/shadow y /etc/group. Tambin se crear el directorio de inicio o de trabajo: /home/juan y los archivos de configuracin que van dentro de este directorio y que ms adelante se detallan. Las fechas de expiracin de contrasea, etc. Quedan lo ms amplias posibles as que no hay problema que la cuenta caduque, as que prcticamente lo nico que faltara sera aadir la contrasea del usuario y algn comentario o identificacin de la cuenta. Como aadir el password o contrasea se estudiara en un momento y viendo las opciones con '-c' es posible establecer el comentario, campo 5 de /etc/passwd:
#> useradd -c "Juan Perez Hernandez" juan

Siempre el nombre del usuario es el ltimo parmetro del comando. As por ejemplo, si queremos salirnos del default, podemos establecer algo como lo siguiente:

51

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

#> useradd -d /usr/juan -s /bin/csh -u 800 -c "Juan Perez Hernandez" juan

Con lo anterior estamos cambiando su directorio de inicio, su shell por defautl ser csh y su UID ser el 800 en vez de que el sistema tome el siguiente nmero disponible. Modificar usuarios con usermod Como su nombre lo indica, usermod permite modificar o actualizar un usuario o cuenta ya existente. Sus opciones ms comunes o importantes son las siguientes:

-c aade o modifica el comentario, campo 5 de /etc/passwd -d modifica el directorio de trabajo o home del usuario, campo 6 de /etc/passwd -e cambia o establece la fecha de expiracin de la cuenta, formato AAAA-MM-DD, campo 8 de /etc/shadow -g cambia el nmero de grupo principal del usuario (GID), campo 4 de /etc/passwd -G establece otros grupos a los que puede pertenecer el usuario, separados por comas. -l cambia el login o nombre del usuario, campo 1 de /etc/passwd y de /etc/shadow -L bloque la cuenta del usuario, no permitindole que ingrese al sistema. No borra ni cambia nada del usuario, solo lo deshabilita. -s cambia el shell por defecto del usuario cuando ingrese al sistema. -u cambia el UID del usuario. -U desbloquea una cuenta previamente bloqueada con la opcin -L.

Si quisiramos cambiar el nombre de usuario de 'sergio' a 'sego':


#> usermod -d /home/sego sego

Otros cambios o modificaciones en la misma cuenta:


#> usermod -c "supervisor de rea" -s /bin/ksh -g 505 sego

Lo anterior modifica el comentario de la cuenta, su shell por defecto que ahora ser Korn shell y su grupo principal de usuario qued establecido al GID 505 y todo esto se aplic al usuario 'sego' que como se observa debe ser el ltimo argumento del comando. El usuario 'sego' sali de vacaciones y nos aseguramos de que nadie use su cuenta:
#> usermod -L sego

Eliminar usuarios con userdel Como su nombre lo indica, userdel elimina una cuenta del sistema, userdel puede ser invocado de tres maneras:

52

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

#> userdel Sergio

Sin opciones elimina la cuenta del usuario de /etc/passwd y de /etc/shadow, pero no elimina su directorio de trabajo ni archivos contenidos en el mismo, esta es la mejor opcin, ya que elimina la cuenta pero no la informacin de la misma.
#> userdel -r Sergio

Al igual que lo anterior elimina la cuenta totalmente, pero con la opcin -r adems elimina su directorio de trabajo y archivos y directorios contenidos en el mismo, as como su buzn de correo, si es que estuvieran configuradas las opciones de correo. La cuenta no se podr eliminar si el usuario esta logueado o en el sistema al momento de ejecutar el comando.
#> userdel -f Sergio

La opcin -f es igual que la opcin -r, elimina todo lo del usuario, cuenta, directorios y archivos del usuario, pero adems lo hace sin importar si el usuario est actualmente en el sistema trabajando. Es una opcin muy radical, adems de que podra causar inestabilidad en el sistema, as que hay que usarla solo en casos muy extremos. Cambiar contraseas con passwd Crear al usuario con useradd es el primer paso, el segundo es asignarle una contrasea a ese usuario. Esto se logra con el comando passwd que permitir ingresar la contrasea y su verificacin:
#> passwd sergio Changing password for user prueba. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. #>

El usuario root es el nico que puede indicar el cambio o asignacin de contraseas de cualquier usuario. Usuarios normales pueden cambiar su contrasea en cualquier momento con tan solo invocar passwd sin argumentos, y podr de esta manera cambiar la contrasea cuantas veces lo requiera. passwd tiene integrado validacin de contraseas comunes, cortas, de diccionario, etc. as que si por ejemplo intento como usuario normal cambiar mi contrasea a 'qwerty' el sistema me mostrar lo siguiente:
$> passwd Changing password for user prueba. New UNIX password: BAD PASSWORD: it is based on a dictionary word

53

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Retype new UNIX password: passwd: all authentication tokens updated successfully. $>

Ntese que al ingresar 'qwerty' como contrasea se detect que es una secuencia ya conocida como contrasea y me manda la advertencia: "BAD PASSWORD: it is based on a dictionary word", sin embargo me permite continuar, al ingresar la verificacin. Es decir, passwd avisa de malas o dbiles contraseas pero permite establecerlas si realmente se desea. Resumiendo entonces, se podra decir que todo este tutorial se reduce a dos lneas de comandos para crear y dejar listo para trabajar a un usuario en Linux:
#> useradd ana #> passwd ana

Se crea el usuario 'ana', useradd hace todo el trabajo de establecer el shell, directorio de inicio, copiar archivos iniciales de configuracin de la cuenta, etc. y despus passwd establece la contrasea. As de simple. passwd tiene varias opciones que permiten bloquear la cuenta '-l', desbloquearla '-u', y varias opciones ms que controlan la vigencia de la contrasea, es decir, es otro modo de establecer los valores de la cuenta en /etc/shadow. Para ms informacin consulta las pginas del manual: $> man passwd Archivos de configuracin Los usuarios normales y root en sus directorios de inicio tienen varios archivos que comienzan con "." es decir estn ocultos. Varan mucho dependiendo de la distribucin de Linux que se tenga, pero seguramente se encontrarn los siguientes o similares:
#> ls -la drwx-----drwxr-xr-x -rw-r--r--rw-r--r--rw-r--r--

2 7 1 1 1

ana root ana ana ana

ana 4096 jul root 4096 jul ana 24 jul ana 191 jul ana 124 jul

9 9 9 9 9

09:54 09:54 09:54 09:54 09:54

. .. .bash_logout .bash_profile .bashrc

.bash_profile aqu podremos indicar alias, variables, configuracin del entorno, etc. que deseamos iniciar al principio de la sesin. .bash_logout aqu podremos indicar acciones, programas, scripts, etc., que deseemos ejecutar al salirnos de la sesin.

54

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

.bashrc es igual que .bash_profile, se ejecuta al principio de la sesin, tradicionalmente en este archivo se indican los programas o scripts a ejecutar, a diferencia de .bash_profile que configura el entorno. Si deseamos configurar archivos de inicio o de salida de la sesin grfica entonces, en este caso, hay que buscar en el men del ambiente grfico algn programa grfico que permita manipular que programas se deben arrancar al iniciar la sesin en modo grfico. En la mayora de las distribuciones existe un programa llamado "sesiones" o "sessions", generalmente est ubicado dentro del men de preferencias. En este programa es posible establecer programas o scripts que arranquen junto con el ambiente grfico, sera equivalente a manipular 'bashrc'. Adems Linux permite que el usuario decida qu tipo de entorno Xwindow a utilizar, ya sea algn entorno de escritorio como KDE o Gnome o algn manejador de ventanas como Xfce o Twm. Dentro del Home del usuario, se crear un directorio o archivo escondido "." , por ejemplo '.gnome' o '.kde' donde vendr la configuracin personalizada del usuario para ese entorno. Dentro de este directorio suele haber varios directorios y archivos de configuracin. Estos son sumamente variados dependiendo de la distribucin y del entorno. No es recomendable modificar manualmente (aunque es perfectamente posible) estos archivos, es mucho ms sencillo modificar va las interfaces grficas que permiten cambiar el fondo, protector de pantalla, estilos de ventanas, tamaos de letras, etc. Resumen de comandos y archivos de administracin de usuarios Existen varios comandos ms que se usan muy poco en la administracin de usuarios, que sin embargo permiten administrar aun ms a detalle a tus usuarios de Linux. Algunos de estos comandos permiten hacer lo mismo que los comandos previamente vistos, solo que de otra manera, y otros como 'chpasswd' y 'newusers' resultan muy tiles y prcticos cuando de dar de alta a mltiples usuarios se trata.

Comandos de administracin y control de usuarios adduser chage Ver useradd Permite cambiar o establecer parmetros de las fechas de control de la contrasea. Actualiza o establece contraseas en modo batch, mltiples usuarios a la vez. (se usa junto con newusers) Muestra la identidad del usuario (UID) y los grupos a los que pertence. Administra las contraseas de grupos (/etc/group y /etc/gshadow).

chpasswd id gpasswd

55

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

groupadd groupdel groupmod groups newusers pwconv pwunconv useradd userdel usermod

Aade grupos al sistema (/etc/group). Elimina grupos del sistema. Modifica grupos del sistema. Muestra los grupos a los que pertence el usuario. Actualiza o crea usuarios en modo batch, mltiples usuarios a la vez. (se usa junto chpasswd) Establece la proteccin shadow (/etc/shadow) al archivo /etc/passwd. Elimina la proteccin shadow (/etc/shadow) al archivo /etc/passwd. Aade usuarios al sistema (/etc/passwd). Elimina usuarios del sistema. Modifica usuarios.

Archivos de administracin y control de usuarios .bash_logout .bash_profile .bashrc /etc/group /etc/gshadow /etc/login.defs /etc/passwd /etc/shadow Se ejecuta cuando el usuario abandona la sesin. Se ejecuta cuando el usuario inicia la sesin. Se ejecuta cuando el usuario inicia la sesin. Usuarios y sus grupos. Contraseas encriptadas de los grupos. Variables que controlan los aspectos de la creacin de usuarios. Usuarios del sistema. Contraseas encriptadas y control de fechas de usuarios del sistema.

56

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Ambientes grficos y Web Si usas Linux con Xwindow (gnome, kde, etc.) encontrars dentro de los mens una o varias opciones grficas de administracin de usuarios, as como programas basados en Web como webmin que entre muchas otras cosas te permiten un control total de la administracin de usuarios y grupos. Estos programas de gestin de usuarios son sumamente intuitivos y en una sola pantalla a travs de sus opciones puedes controlar prcticamente todas las funciones expuestas en este tutorial, en lo particular recomiendo webmin por su confiablidad y alto nivel de configuracin, adems que es accesible va web.

Ilustracin 21: Administracin de usuarios y grupos en Linux

Ilustracin 22: Administracin de usuarios y grupos por webmin

57

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Sistema de archivos.
Estructura de Directorios en Linux. Todos los archivos y directorios aparecen debajo del directorio raz / (El equivalente en el mundo Unix al C:\ de Windows) aunque se encuentren en discos/dispositivos distintos. En Linux/Unix no existen letras de discos (C:, D:, etc) Los dispositivos se montan (empiezan a formar parte) del rbol de directorios del sistema. A continuacin se presenta una lista con los directorios ms importantes del sistema y para que se usan. Para acceder a los mismos podemos usar el comando cd 'nombre del directorio'. Para ver el contenido de los mismos podemos usar el comando ls -l 'nombre del directorio'. /bin/ Comandos/programas binarios esenciales (cp, mv, ls, rm, etc) /boot/ Archivos utilizados durante el arranque del sistema (ncleo) /dev/ Dispositivos esenciales, discos duros, terminales, sonido, video, lectores dvd/cd, etc /etc/ Archivos de configuracin utilizados en todo el sistema y que son especficos del ordenador /etc/opt/ Archivos de configuracin utilizados por programas alojados dentro de /opt/ /etc/X11/ Archivos de configuracin para el sistema X Window /etc/sgml/ Archivos de configuracin para SGML (Opcional) /etc/xml/ Archivos de configuracin para XML (Opcional) /home/ Directorios de inicios de los usuarios . /lib/ Bibliotecas compartidas esenciales para los binarios de /bin/, /sbin/ y el ncleo del sistema. /mnt/ Sistemas de archivos montados temporalmente. /media/ Puntos de montaje para dispositivos de medios como unidades lectoras de discos compactos. /opt/ Paquetes de aplicaciones estticas.

58

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

/proc/ Sistema de archivos virtual que documenta sucesos y estados del ncleo. Contiene principalmente archivos de texto. /root/ Directorio de inicio del usuario root /sbin/ Comandos/programas binarios de administracin de sistema. /tmp/ Archivos temporales /usr/bin/ Comandos/programas binarios. /usr/include/ Archivos de inclusin estndar (cabeceras de cabecera utilizados para desarrollo). /usr/lib/ Bibliotecas compartidas. /usr/share/ Datos compartidos independientes de la arquitectura del sistema. Imgenes, archivos de texto, etc. /usr/src/ Cdigos fuente (Opcional) /usr/X11R6/ Sistema X Window. /usr/local/ Jerarqua terciaria para datos compartidos de solo lectura especficos del ordenador que los comparte. /var/ Archivos variables, como son logs, bases de datos, directorio raz de servidores HTTP y FTP, colas de correo, archivos temporales, etc. /var/cache/ Cache de datos de aplicaciones. /var/crash/ Depsito de informacin referente a cadas del sistema (Opcional) /var/games/ Datos variables de aplicaciones para juegos (Opcional) /var/lib/ Informacin de estado variable. Algunos servidores como MySQL y PostgreSQL almacenan sus bases de datos en directorios subordinados de ste. /var/lock/ Archivos de bloqueo. /var/log/ Archivos y directorios de registro del sistemas (logs).

59

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

/var/mail/ Buzones de correo de usuarios (Opcional) /var/opt/ Datos variables de /opt/. /var/spool/ Colas de datos de aplicaciones. /var/tmp/ Archivos temporales preservados entre reinicios.

PERMISOS EN LINUX
El sistema de permisos en Linux se basa en un esquema de usuarios/grupos que lo convierte en la base principal de la seguridad en Linux, a estos usuarios y grupos se les asignan distintos derechos sobre los archivos y directorios. Esta es una de las caractersticas que ayudan a que Linux sea casi inmune a los Virus de computadora, los virus deben ser capaces de escribir sobre un archivo para poder infectarlo y ejecutarse de alguna manera para poder infectar mas archivos, con el sistema de permisos de Linux los virus no pueden copiarse a cualquier archivo, si el usuario carece de permisos el virus no podr infectar ms archivos y por lo tanto no podr reproducirse. Todos los archivos y directorios en Linux tienen permisos que verifican quien puede hacer o no alguna accin con l. Cules son los permisos Los permisos propiamente dichos son tres:
r: read (lectura): Cuando el permiso de lectura est activo sobre un directorio significa que

se podr listar los recursos almacenados en l, si est asignado a un archivo se podr leer su contenido. w: write (escritura): Cuando el permiso de escritura est activo sobre un directorio significa que se podr crear y borrar archivos en su interior, si esta activado para un archivo significa que se podr modificar su contenido. x: execute (ejecucin): Si el permiso de ejecucin est activo sobre un directorio significa que el usuario podr realizar otras funciones dentro de l mediante los otros permisos de lectura y escritura, y si est activo sobre un archivo se podr ejecutarlo desde la lnea de comandos.

Y donde estn los permisos? Para poder ver los permisos de los archivos y directorios es necesario ejecutar el siguiente comando: $ ls l

60

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Este comando nos dar una salida similar a la siguiente:

Ilustracin 23: Comando ls -l

Como habrs apreciado los permisos estn asignados en grupos de 3 (rwx) y corresponde al: propietario (owner: dueo del archivo o directorio), grupo (group: grupo del archivo o directorio) y otros (others: otro usuario diferente del propietario). En la siguiente imagen resaltamos nuevamente la ubicacin de los permisos en caso no lo hayamos notado:

Ilustracin 24: Despliegue de permisos

COMANDOS RELACIONADOS Linux dispone de 3 comandos que permite cambiar los permisos, el propietario y el grupo de un archivo y/o directorio respectivamente:

61

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Comando chmod : se utiliza para cambiar los permisos del archivo o directorio
$ chmod [permisos] [archivo/directorio] [opciones]

Comando chown : se utiliza para cambiar el propietario del archivo o directorio


# chown [nuevo usuario propietario] [archivo/directorio] [opciones]

Comando chgrp : utilizado para cambiar el grupo del archivo o directorio


# chgrp [nuevo grupo] [archivo/directorio] [opciones]

COMO SE CAMBIAN LOS PERMISOS? Para cambiar los permisos se puede hacer de 2 maneras: 1. Utilizando taquigrafa basada en caracteres, o 2. Utilizando nmeros. CAMBIO DE PERMISOS UTILIZANDO TAQUIGRAFA DE CARACTERES Para poder utilizar la taquigrafa basada en caracteres tomemos en cuenta la siguiente lista con su respectiva correspondencia: Smbolo Descripcin u g Identidades o a r Permisos w x + Acciones = Otros usuarios, el resto del mundo, ni el propietario ni su grupo Todo el mundo propietario, grupo y otros Acceso de lectura Acceso de escritura Acceso de ejecucin Aade los permisos Elimina los permisos el nico permiso Es el usuario propietario del archivo o directorio Es el grupo al que pertenece el archivo o directorio

Vamos a practicar con el comando chmod, para ello lo primero que haremos ser crear el archivo foto1.png para ver los cambios de permisos, as que les recomiendo seguir la secuencia:

62

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Ejemplo
$ touch foto1.png $ chmod a-rwx foto1.png $ chmod u+rwx foto1.png $ chmod g+x foto1.png $ chmod o+r foto1.png $ chmod u-rw foto1.png $ chmod a=r foto1.png $ chmod a=rx foto1.png $ chmod a=- foto1.png $ chmod u+rx,o+x foto1.png $ chmod g+rx,o-x foto1.png $ chmod ug+wx,o-x foto1.png $ chmod a=rw foto1.png

Descripcin creamos el archivo foto1.png quitamos todos los permisos al archivo foto1.png aadimos todos los permisos para el propietario aadimos el permiso de ejecucin para el grupo aadimos el permiso de lectura para los otros usuarios

Resultado foto1.png --------rwx-----rwxx--rwxxr--

eliminamos los permisos de lectura y escritura para el --xxr-propietario establecemos como unico permiso de lectura para los 3 rrr-grupos establecemos los permisos de lectura y ejecucin para los r-xr-xr-x 3 grupos quitamos todos los permisos ----------

aadimos los permisos de lectura y ejecucin al r-x-----x propietario y ejecucin a otros aadimos permiso de lectura y ejecucin al grupo y r-xr-x--eliminamos permiso de ejecucin a otros aadimos permiso de escritura y ejecucin al propietario y rwxrwx--grupo, y eliminamos permiso de ejecucin a otros permite a cualquiera modificar el contenido e incluso rw-rw-rweliminar el archivo

Si cambiamos los permisos a un directorio y deseamos que estos permisos tengan efecto sobre todos sus subdirectorios y archivos slo deberemos aadir la opcin R. Ejemplo: $ chmod a=rw DIRECTORIO R CAMBIANDO PROPIETARIOS Y GRUPOS Otra de los puntos a la hora de establecer permisos es la necesidad de poder cambiar el propietario y grupo del archivo o directorio, para hacer esta operacin debe estar como root y los usuarios y grupos que utilizar deben haber sido creados previamente.

63

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Cambiando el propietario Utilizamos el comando chown explicado lneas arriba: # chown clases foto1.png # estamos cambiando el propietario del archivo, ahora el usuario clases ser el propietario del archivo foto1.png # chown raul foto2.png # el usuario raul ser el propietario del archivo foto2.png

Si vamos a cambiar el propietario de un directorio y con todos sus subdirectorios y archivos en forma recursiva utilizaremos la opcin R: # chown clases datos/ R # el usuario clases ser el nuevo propietario de todos los archivos y subdirectorios que estn dentro del directorio datos/ Cambiando el grupo Utilizamos el comando chgrp explicado lneas arriba: # chgrp clases foto1.png # estamos cambiando el propietario del archivo, ahora el archivo foto1.png ser del grupo clases # chgrp raul foto2.png # el archivo foto2.png ser del grupo raul

Si vamos a cambiar el grupo de un directorio y con todos sus subdirectorios y archivos en forma recursiva utilizaremos la opcin R: # chgrp clases datos/ R grupo clases # todos los archivos y sub directorios del directorio datos/ sern del

Bitcora de ingeniera. Una de las partes integrales de cualquier sistema UNIX son las facilidades para hacer logging. La mayora del logging de Linux viene proporcionado por dos programas principales, sysklogd y klogd, el primero proporciona servicios de logging a programas y aplicaciones, el segundo proporciona capacidad de logging al kernel de Linux. Klogd en realidad enva la mayora de los mensajes al syslogd, pero de vez en cuando lanzar mensajes a la consola (p. ej., cuando el kernel entra en pnico). Sysklogd en realidad maneja la tarea procesar la mayora de los mensajes y de enviarlos al fichero o dispositivo apropiado, lo cual se configura desde /etc/syslog.conf. Por defecto, la mayora del logging a ficheros tiene lugar en /var/log/, y generalmente los programas que manejan su propio logging (la mayora de servidores httpd manejan sus logs internamente) lo hacen a /var/log/nombreprograma/, lo cual te permite centralizar los ficheros de log y hace ms

64

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

sencillo situarlos en particiones diferentes (algunos ataques pueden consumir los logs rpidamente, y tener una particin / no es algo divertido). Adems, existen programas que manejan internamente sus logs, siendo uno de los ms interesantes el shell de comandos bash. Por defecto, bash mantiene un historial de los comandos ejecutados en la lnea de comandos. Apache maneja todos sus logs internamente, configurable desde httpd.conf y extremadamente flexible con la aparicin de Apache 1.3.6 (soporta logging condicional). Sendmail maneja sus logs va syslogd, pero tambin tiene la opcin (va lnea de comandos con el atributo X) de hacer un log de todas las transacciones SMTP directamente a un fichero. Esto es altamente desaconsejable, puesto que el fichero crecer enormemente en un corto espacio de tiempo, pero es til para hacer debugging. Para ms informacin, ver las secciones acerca de seguridad de red en Apache y sendmail.

Seguridad general de logs Por lo general, no querrs permitir que los usuarios vean los ficheros de log de un servidor, y especialmente que puedan ser capaces de modificarlos o borrarlos. En general, la mayora de los ficheros de log son propiedad del usuario y grupo root, y no tienen asignados permisos para otros, de modo que en la mayora de los casos, el nico usuario que ser capaz de modificar los logs ser el root (y si alguien revienta la cuenta del root, pues apaga y vmonos). Se pueden tomar medidas de seguridad adicionales, siendo la ms simple el uso de "chattr" (CHange ATTRibutes, el comando para cambiar los atributos), para dejar el exclusivamente permiso de slo-aadir a los ficheros de log. De tal forma que si se da un problema de raza en /tmp que permita a la gente sobreescribir ficheros del sistema no se puedan daar ficheros de logs. Para dejar un fichero en modo sloaadir, utiliza:

chattr +a nombrefichero

A la funcin chattr slo tiene acceso el superusuario. Si dejas todos los ficheros en modo sloaadir, recuerda que fallarn los programas de rotacin de logs, puesto que no pueden dejar en cero el fichero de log. Aade una lnea al script para deshabilitar el atributo slo-aadir:

chattr a nombrefichero

y aade una lnea despus del script de rotacin de logs para reiniciar el flag de slo-aadir. Si los ficheros de logs se dejan en el sistema, quizs prefieras activar tambin el flag de inmutables, de

65

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

forma que no se puedan falsificar con facilidad. Para activar el fichero como inmutable, simplemente: chattr +i nombrefichero

lo que evitar cualquier cambio (debida a razas en el /tmp, etc.) en el fichero, a menos que el atacante tenga acceso de root (en cuyo caso vas a sufrir de todas formas).

chattr i nombrefichero

sysklogd

klogd

En resumen, klogd maneja los mensajes del kernel, dependiendo de tu configuracin, puede ir desde casi ninguno a una buena cantidad, si por ejemplo activas la opcin de contabilidad de procesos. Despus se pasa la mayora de los mensajes al syslogd, para el manejo real (es decir, es el que escribe los datos fsicamente al fichero). Las pginas del manual del sysklog, klogd y syslog.conf son bastante buenas, con ejemplos claros. Una caracterstica del syslog muy potente y a menudo despreciada es la posibilidad de hacer un log de mensajes a hosts remotos que estn ejecutando syslog. Puesto que se pueden definir mltiples ubicaciones para los mensajes del syslog (p. ej., enviar todos los mensajes del kernel al fichero /var/log/messages, y a consola, a uno o mltiples hosts remotos), lo cual te permite centralizar las tareas de logs a un nico host, y verificar con facilidad violaciones en la seguridad o dems anomalas. Sin embargo, existen varios problemas con syslogd y klogd, siendo el principal la facilidad con la que un atacante, una vez que ha conseguido acceso de root, puede borrar/modificar ficheros de log, no existe un mtodo de autentificacin construido dentro de las capacidades de hacer logging.

Los ficheros de log standard y que normalmente vienen definidos en syslog.conf son:

/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler

66

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

El primero (messages) por lo general captura la mayora de la informacin; el usuario hace el login, los TCP_WRAPPERS vuelcan aqu la informacin, el cortafuegos de paquetes IP tambin vuelca informacin aqu, etc. El segundo generalmente registra entradas de eventos tales como usuarios cambiando su UID/GID (va su, sudo, etc.), intentos fallidos cuando se requieren contraseas, etc. El fichero maillog guarda por lo general entradas de cada conexin pop/imap (nombre de usuario y logout), y el encabezamiento de cada uno de los correos que entran o salen del sistema (de quien, a quien, msgid, estado, etc.). El fichero spooler ya no se suele usar, puesto que el nmero de gente que utiliza usenet o uucp ha cado en picado, el uucp ha sido reemplazado por el ftp y el correo, y la mayora de los servidores de usenet suelen ser por lo general, mquinas extremadamente potentes como para manejar un newsfeed parcial o completo, lo cual quiere decir que no hay muchos de ellos (generalmente uno por cada PSI o ms, dependiendo del tamao). La mayora de los usuarios desde casa o de pymes no van a estar ejecutando un servidor de usenet (al menos no deberan, en mi opinin), la cantidad de ancho de banda y potencia de mquina que se requiere es inmensa, y no digamos ya los riesgos de seguridad. Tambin se pueden definir ficheros de log adicionales, por ejemplo, se podra aadir: kern.* /var/log/kernel-log

se

puede

hacer

un

log

selectivamente

otro

host

para

logs

separado:

*.emerg @syslog-host

mail.* @mail-log-host

Lo cual dara como resultado que todos los mensajes del kernel fuesen a parar a /var/log/kernellog, lo cual es til en servidores sin monitor, ya que por defecto todos los mensajes del kernel van a /dev/console (p. ej. si alguien est conectado en las mquinas). En el segundo caso, todos los mensajes de emergencia iran al host "syslog-host", y todos los ficheros del log de correo se enviaran al servidor "mail-log-host", permitindote mantener ficheros de log de varios servicios centralizados secure-syslog El problema principal con el syslog es que falsificar los ficheros es algo trivial. Sin embargo existe una versin segura del syslogd, disponible en http://www.core-sdi.com/ssyslog/ (estos chicos

67

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

suelen hacer buenas herramientas de seguridad y tiene una buena reputacin, en cualquier caso es software de fuente abierta, para aquellos que sean realmente paranoicos). Esta te permite firmar criptogrficamente los logs, para asegurarse de que no han sido falsificados. Sin embargo, en ltimo lugar, un atacante podra borrar los ficheros de log, de modo que es una buena idea enviarlos a otro host, especialmente en el caso de un cortafuegos, para prevenir que el disco duro se llene. next generation syslog Otra alternativa es "syslog-ng" (Next Generation Syslog, Syslog de Nueva Generacin), que parece bastante ms personalizable que incluso el syslog o secure-syslog, soporta firmas digitales para prevenir falsificacin de ficheros, y puede filtrar basndose en el contenido del mensaje, no slo la procedencia y la prioridad (algo bastante til para reducir el volumen). Syslog-ng est disponible en: http://www.balabit.hu/products/syslog-ng.html Nsyslogd Nsyslogd soporta tcp y SSL para enviar el log a sistemas remotos. Se ejecuta en una gran variedad de plataformas UNIX, lo puedes descargar de: http://coombs.anu.edu.au/~avalon/nsyslog.html

Monitorizacin de Logs Psionic Logcheck Psionic Logcheck navega por los ficheros de mensajes (y otros) a intervalos regulares (normalmente se invoca va crontab), y enva un correo con un sumario de cualquier actividad sospechosa. Es fcilmente configurable, con varios "tipos" de elementos, intentos activos de penetracin, sobre los que enseguida te grita, actividad daina y actividad que se debe ignorar (por ejemplo, estadsticas del servidor DNS o regeneracin de llaves SSH). Psionic Logcheck se encuentra disponible en: http://www.psionic.com/abacus/logcheck/. colorlogs colorlogs colorea los ficheros de logs, lo cual te permite identificar con facilidad actividad sospechosa. Basado en un fichero de configuracin, busca palabras clave y colorea las lneas (en rojo, cyan, etc.), recibe la entrada desde STDIN, de modo que se puede utilizar para revisar

68

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

ficheros de log rpidamente (utilizando "cat", "tail" u otras utilidades para alimentar el fichero de logs a travs del programa). Se puede conseguir en: http://www.resentment.org/projects/colorlogs/.

WOTS WOTS recolecta ficheros de logs desde mltiples orgenes, y genera informes o toma medidas basndose en lo que le digas que haga. WOTS busca expresiones regulares que se le definan, y despus ejecuta los comandos que le listas (enviar un informe, hacer sonar una alerta, etc.). WOTS requiere que tengas instalado perl, y est disponible en: http://www.vcpc.univie.ac.at/~tc/tools/. swatch swatch es muy parecido a WOTS, y la configuracin de los ficheros de log es muy similar. Puedes descargarlo de: ftp://ftp.stanford.edu/general/security-tools/swatch/ Logs del Kernel auditd auditd te permite utilizar las capacidades de log del kernel (una herramienta muy potente). Se puede hacer un log de mensajes de correo, eventos de sistema y los elementos habituales que cubrira syslog, pero adems se pueden cubrir eventos como que usuarios especficos abran ficheros, la ejecucin de programas, de programas setuid, etc. Si necesitas slidos seguimientos de auditora, esta es la herramienta que necesitas, la puedes conseguir en: ftp://ftp.hert.org/pub/linux/auditd/.

Logs del Shell bash Tambin tratar bash, ya que es el shell por defecto en la mayora de las instalaciones de Linux, y como tal su posibilidad de hacer logging suele la habitualmente utilizada. bash tiene una gran cantidad de variables que se pueden configurar en tiempo de ejecucin o durante su uso, las cuales modifican su comportamiento. Cualquier cosa desde el estilo del prompt hasta cuntos ficheros se pueden almacenar en el fichero de logs.

69

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

HISTFILE nombre del fichero de historial, por defecto es ~nombreusuario/.bash_history

HISTFILESIZE nmero mximo de comandos a mantener en el fichero, se rotan a medida que sea necesario. HISTSIZE el nmero de comandos que recuerda (p. ej. cuando se usa el cursor arriba).

Las variables se suelen configurar en /etc/profile, lo cual configura el bash globalmente para todos los usuarios, sin embargo, estos valores pueden pasarse por alto con el fichero ~nombreusuario/.bash_profile, y/o usando manualmente el comando export para configurar variables como export EDITOR=emacs. Esta es una de las razones por las que los directorios de los usuarios no deberan ser legibles por el mundo; el fichero .bash_history puede almacenar una gran cantidad de informacin valiosa para partes hostiles. Se puede hacer que el fichero no sea legible, que no se haga log del fichero .bash_profile, hacer que no se pueda escribir en el fichero (denegando de esta forma al shell la posibilidad de escribir y hacer log de ello) o enlazarlo a /dev/null (lo cual casi siempre suele ser sntoma claro de actividad sospechosa por parte del usuario, o usuarios paranoicos). En cuanto a la cuenta del root, recomendara encarecidamente configurar el HISTFILESIZE y HISTSIZE con un valor bajo, tal como 10. Por otra parte, si quieres hacer un log del historial de shell de los usuarios, para as reforzar la seguridad, recomendara dejar los ficheros de configuracin de los directorios de los usuarios como inmutables, utilizando el comando chattr, y dejar los ficheros de logs (como .bash_history) como slo-aadir. Sin embargo, hacer esto tiene implicaciones legales, de modo que asegrate de que los usuarios son conscientes de que se les est registrando y que estn de acuerdo con ello, o si no podras tener problemas.

70

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Unidad 4: Seguridad
En estas pginas nos centraremos en cmo aumentar la seguridad en sistemas basados en el sistema operativo Linux. Su gratuidad, flexibilidad, potencia, apertura, facilidad para obtencin de herramientas y otras muchas virtudes hacen de Linux la eleccin cada vez ms frecuente entre los administradores de sistemas a la hora de decidirse por una u otra plataforma. Aunque Linux es un sistema muy robusto e incorpora las caractersticas de seguridad comunes a todos los sistemas tipo Unix, a pesar de todo resulta fundamental dedicar cierto tiempo y recursos para conocer cules son sus debilidades y vas frecuentes de ataque y adoptar posteriorermente las medidas ms eficaces para contrarrestarlas. A menudo un sistema operativo es tan seguro como la astucia y habilidad de su administrador. En estas pginas aprender todo lo necesario para configurar su red de manera segura, as como indicaciones y referencias donde profundizar en algunos aspectos de la administracin, auditoras de seguridad, planes de contingencia, etc. Lo primero que tenemos que tener en mente es que no existe nada como un sistema completamente seguro. Todo lo que puede hacer es aumentar la dificultad para que alguien pueda comprometer su sistema. En el caso medio del usuario de Linux en casa, no se requiere demasiado para mantener alejado al cracker. Para usuarios con grandes requisitos (bancos, compaas de telecomunicaciones, etc.) se requiere mucho ms trabajo. Otro factor a tener en cuenta es que cuanto ms incremente la seguridad de su sistema, ms intrusiva se vuelve la seguridad, en otras palabras, su sistema puede perder funcionalidad y resentirse la comodidad. Necesita decidir en qu medida su sistema es utilizable y en qu medida es seguro para sus propsitos. Por ejemplo, puede necesitar que cualquiera marque a su modem para que ste devuelva la llamada a su casa. Esto es ms seguro, pero si alguien no est en casa hace ms difcil que se pueda conectar. Tambin puede configurar su sistema Linux sin conexin a Internet, pero esto dificulta que pueda navegar por las webs. Si tiene un sitio medio-grande, debera establecer una "Poltica de Seguridad" que indique qu niveles requiere su sitio y qu medidas de evaluacin se realizan.

Tenga cuidado con su sistema. Verifique los registros (logs) del sistema, tales como /var/log/messages y no pierda de vista su sistema. Tenga su sistema actualizado, estando seguro de que ha instalado las versiones actuales de los programas y est al tanto de las nuevas alertas de seguridad.

71

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Porqu es necesaria la seguridad?


Ante todo Linux es un sistema multiusuario real. Puede haber varios usuarios distintos trabajando a la vez cada uno desde su terminal. El sistema tiene la obligacin de proteger a unos usuarios frente a otros y protegerse a s mismo. Linux es una excelente estacin de trabajo aislada, pero lo habitual es que cada mquina linux est conectada a una red y adems est prestando servicios de red. El sistema tiene la obligacin de garantizar los servicios que presta. Adems, con la generalizacin de las conexiones con Internet y el rpido desarrollo del software, la seguridad se est convirtiendo en una cuestin cada vez ms importante. Ahora, la seguridad es un requisito bsico, ya que la red global es insegura por definicin. Mientras sus datos estn almacenados en un soporte informtico, mientras sus datos vayan desde un sistema X a otro sistema Y a travs de un medio fsico, Internet, por ejemplo, puede pasar por ciertos puntos durante el camino proporcionando a otros usuarios la posibilidad de interceptarlos, e incluso alterar la informacin contenida. Incluso algn usuario de su sistema puede modificar datos de forma maliciosa para hacer algo que nos pueda resultar perjudicial. Con el acceso masivo y barato a Internet se han reducido notablemente los costes de un atacante para asaltar un sistema en red, a la vez que ha aumentado paralelamente el nmero de potenciales atacantes. Resumiendo, a nadie le gustara que desconocidos abran su correo privado, que miren en sus cajones, que se hagan copias de las llaves de su escritorio o de la tarjeta de crdito. Pues todo esto es aplicable en la misma medida a las redes telemticas. Tambin queremos remarcar el carcter dinmico de la seguridad de los sistemas en red. Continuamente aparecen nuevos mtodos para conseguir accesos indebidos o comprometer el correcto funcionamiento de la red. Esto obliga a estar actualizado permanentemente, y consultar las publicaciones electrnicas que informan de los ltimos sucesos detectados. Evidentemente, estas publicaciones informan principalmente sobre actividades que ya se han llevado a cabo, por lo que esperamos que no sea el primero en sufrirlas. Pero tambin se puede encontrar informacin sobre debilidades detectadas antes de que se lleven a cabo. Por todo esto, este curso no pretende proporcionar una lista actualizada de programas o servicios potencialmente inseguros o de programas que afectan a la seguridad (denominados exploits). Como continuamente aparecen nuevos programas para comprometer la seguridad de las redes y de las comunicaciones, lo que s haremos ser indicar los lugares ms habituales donde buscar una informacin actualizada de ese tipo, y algunos mtodos generales para prevenir que esos programas tengan xito en su sistema.

72

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Seguridad Fsica
Las primeras medidas de seguridad que necesita tener en cuenta son las de seguridad fsica de sus sistemas. Hay que tomar en consideracin quines tienen acceso fsico a las mquinas y si realmente deberan acceder. El nivel de seguridad fsica que necesita en su sistema depende de su situacin concreta. Un usuario domstico no necesita preocuparse demasiado por la proteccin fsica, salvo proteger su mquina de un nio o algo as. En una oficina puede ser diferente. Linux proporciona los niveles exigibles de seguridad fsica para un sistema operativo:

Un arranque seguro Posibilidad de bloquear las terminales Por supuesto, las capacidades de un sistema multiusuario real.

Seguridad en el arranque

Cuando alguien inicia el sistema operativo Linux se encuentra con una pantalla de login: el sistema est pidiendo que se identifique. Si es un usuario conocido, podr iniciar una sesin y trabajar con el sistema. Si no lo es, no tendr opcin de hacer absolutamente nada. Adems, el sistema registra todos los intentos de acceso (fallidos o no), por lo que no pasarn desapercibidos intentos repetidos de acceso no autorizado. LILO (Linux Loader) es el encargado de cargar el sistema operativo en memoria y pasarle informacin para su inicio. A su vez, Vd. puede pasarle parmetros a LILO para modificar su comportamiento. Por ejemplo, si alguien en el indicador de LILO aade init single, el sistema se inicia en modo monousuario y proporciona una shell de root sin contrasea. Si en su entorno de trabajo cree necesario evitar que alguien pueda iniciar el sistema de esta forma, debera utilizar el parmetro restricted en el fichero de configuracin de LILO (habitualmente /etc/lilo.conf). Este parmetro le permite iniciar normalmente el sistema, salvo en el caso de que se hayan incluido argumentos en la llamada a LILO, que solicita una clave. Esto proporciona un nivel de seguridad razonable: permite iniciar el sistema, pero no manipular el arranque. Si tiene mayores necesidades de seguridad puede incluir la opcin password. De esta forma necesitar una clave para iniciar el sistema. En estas condiciones, slo podr iniciar el sistema quien conozca la clave. Puede encontrar ms detalles en las pginas del manual lilo y lilo.conf. Para ello, introduzca en la lnea de comandos las siguientes rdenes:
# man lilo

73

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

# man lilo.conf

Otros detalles que le podran resultar tiles.

Prepare un disco de arranque del sistema. Es muy fcil, simplemente tiene que copiar el ncleo del sistema operativo en el disco, sin sistema de ficheros, e indicarle cual es la particin raz del sistema.
# dd # rdev /dev/fd0 /dev/hdXY if=/boot/vmlinuz of=/dev/fd0

Suponiendo que estemos usando un disco duro IDE, X indica el disco (a,b,c, o d), Y indica la particin (1,2,...). Si tiene ms de un sistema operativo en su mquina, le puede interesar hacer una copia de salvaguardia del MBR:
# dd if=/dev/hda of=/boot/arranque.mbr count=1

Y ahora algunas consideraciones generales:


Tenga en cuenta que ningn sistema es realmente seguro si alguien, con los conocimientos necesarios, puede usar su propio disco para arrancar. Si tiene una mquina servidora, y tiene una clave para el arranque, la mquina no se reiniciar sin suministrar la clave y tendr que acudir a introducirla en el caso de una parada no prevista.

Bloqueo de la Consola

En los entornos Unix es conocido el truco de ejecutar en una teminal, que alguien ha dejado inocentemente abierto, un guion que simule la pantalla de presentacin al sistema. Entonces un usuario incauto introudcir su nombre y clave, que quedarn a merced del autor del engao. Si se aleja de su mquina de vez en cuando, estara bien poder bloquear su consola para que nadie pueda manipularla o mirar su trabajo. Dos programas que hacen esto son xlock y vlock.
xlock

bloquea la pantalla cuando nos encontramos en modo grfico. Est incluido en la mayora de las distribuciones Linux que soportan X. En general puede ejecutar xlock desde cualquier xterm de su consola y bloquear la pantalla de forma que necesitar su clave para desbloquearla. Mire la pgina de manual para ver ms detalles, algunos curiosos.

74

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

vlock

es un simple programa que le permite cerrar alguna o todas las consolas virtuales de su mquina Linux. Puede bloquear slo aqulla en la que est trabajando o todas. Si slo cierra una, las otras se pueden abrir y utilizar la consola, pero no se podr usar su vty hasta que no la desbloquee. Desde luego, bloquear una consola prevendr que alguien manipule su trabajo, pero no previene de reinicios de la mquina u otras formas de deteriorar su trabajo.

Seguridad Local
Linux es un sistema operativo multiusuario real: puede haber varios usuarios trabajando simultneamente con l, cada uno en su terminal. Esto obliga a tener en cuenta medidas de seguridad adicionales. Adems, segn hablan las estadsticas, el mayor porcentaje de violaciones de un sistema son realizadas por usuarios locales. Pero no slo hay que protegerse de las violaciones intencionadas, sino que el sistema debe protegernos de operaciones accidentales debidas a decuidos o ignorancia de los usuarios. En este aspecto de la seguridad, Linux dispone de todas las caractersticas de los sistemas Unix: un control de acceso a los usuarios verificando una pareja de usuario y clave; cada fichero y directorio tienen sus propietario y permisos. Por otro lado, la meta de la mayora de los ataques es conseguir acceso como root, lo que garantiza un control total sobre el sistema. Primero se intentar conseguir acceso como usuario "normal" para posteriormente ir incrementando sus niveles de privilegio utilizando las posibles debilidades del sistema: programas con errores, configuraciones deficientes de los servicios o el descifrado de claves cifradas. Incluso se utilizan tcnicas denominadas "ingeniera social", consistentes en convencer a ciertos usuarios para que suministren una informacin que debiera ser mantenida en secreto, como sus nombres de usuario y contraseas. En este apartado de seguridad local pretendemos dar unas ideas generales de los riesgos existentes, mecanismos para su solucin y unas directrices de actuacin que deberan convertirse en hbitos cotidianos.
Seguridad de las cuentas

La seguridad de una sola cuenta puede comprometer la seguridad de todo el sistema. Esto es una realidad ante la que debemos protegernos. Por un lado tenemos que asegurarnos de que nuestros usuarios utilizan claves slidas:

No deben ser una palabra conocida. Deberan contener letras, nmeros y caracteres especiales.

75

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Deben ser fciles de recordar y difciles de adivinar.

Para comprobar que este requisito se verifica en nuestro sistema, podemos usar los mismos mecanismos que utilizan los atacantes. Existen varios programas que van probando varias palabras de diccionario, claves habituales y combinaciones de caracteres, que son cifrados con el mismo algoritmo que usa el sistema para mantener sus claves; despus son comparadas con el valor de la clave cifrada que quermos averiguar hasta que el valor obtenido de un cifrado coincide con una clave cifrada. Posteriormente notificaremos al usuario que su clave es dbil y le solicitaremos que la modifique. Usando este mecanismo, al menos podemos garantizar que no estaremos en inferioridad de condiciones con respecto a los atacantes locales. Un conocido programa para realizar el descifrado de claves es John the Ripper. Por otro lado, las claves cifradas se almacenan en el fichero /etc/passwd. Cualquier usuario del sistema tiene permiso de lectura sobre este fichero. Lo que es peor, agujeros en los navegadores permiten que se puedan leer ficheros arbitrarios de una mquina (evidentemente, que el usuario de navegador tenga permiso para leer), de manera que lleguen hasta un hacker que cree pginas web que exploten estos agujeros. Entonces puede parecer a primera vista que nos encontramos con un grave agujero de seguridad. El atacante, una vez obtenido el fichero /etc/passwd no tiene ms que ejecutar su programa revientaclaves favorito y sentarse a esperar hasta que empiecen a aparecer nombres de usuario con sus respectivas contraseas, algo que suele pasar muy rpidamente. Con suerte, si el administrador es ingenuo o dejado, incluso dar con la clave del root, abrindosele as las puertas a la mquina objetivo. Para solucionar esta vulnerabilidad, podemos recurrir a contraseas en la sombra (shadow passwords), un mecanismo consistente en extraer las claves cifradas del fichero /etc/passwd y situarlas en otro fichero llamado /etc/shadow, que slo puede leer el root y dejar el resto de la informacin en el original /etc/passwd. El fichero /etc/shadow slo contiene el nombre de usuario y su clave, e informacin administrativa, como cundo expira la cuenta, etc. El formato del fichero /etc/shadow es similar al siguiente:
usuario : clave : ultimo : puede : debe : aviso : expira : desactiva : reservado

usuario: El nombre del usario. clave: La clave cifrada ultimo: Das transcurridos del ltimo cambio de clave desde el da 1/1/70 puede: Das transcurridos antes de que la clave se pueda modificar. tiene: Das transcurridos antes de que la clave tenga que ser modificada. aviso: Dias de aviso al usuario antes de que expire la clave. expira: Das que se desactiva la cuenta tras expirar la clave. desactiva: Das de duracin de la cuenta desde el 1/1/70.

76

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

reservado: sin comentarios.

Un ejemplo podra ser:


julia : gEvm4sbKnGRlg : 10627 : 0 : 99999 : 7 : -1 : -1 : 134529868

El paquete de Shadow Passwords se puede descargar desde cualquiera de los siguientes sitios, con instrucciones para su instalacin:

ftp://i17linuxb.ists.pwr.wroc.pl/pub/linux/shadow/shadow-current.tar.gz ftp://ftp.icm.edu.pl/pub/Linux/shadow/shadow-current.tar.gz ftp://iguana.hut.fi/pub/linux/shadow/shadow-current.tar.gz ftp://ftp.cin.net/usr/ggallag/shadow/shadow-current.tar.gz ftp://ftp.netural.com/pub/linux/shadow/shadow-current.tar.gz

Para activar contraseas en la sombra, tiene que ejecutar pwconv como root; accin que crear su fichero /etc/shadow. Si su distribucin de Linux no incluye contraseas en la sombra o encuentra alguna dificultad para incorporar esta caracterstica, existe un documento HOWTO (CMO) titulado Shadow-Password-HOWTO que le puede resultar de gran utilidad. Aqu podr encontrar tambin informacin adcional que le puede ayudar a mantener su seguridad local. Hasta ahora hemos visto diversas situaciones en las que podemos aumentar la seguridad usando una clave. Piense que tiene que recordar cada una de las claves que utiliza, piense que NO debe anotar NUNCA su clave en un papel (y menos pegarla a la pantalla). En alguna situacin olvidar una clave puede ser un serio problema.
El bit SUID/SGID

En muchas ocasiones un proceso necesita ejecutarse con unos privilegios mayores (o menores) que el usuario que lo lanz. Por ejemplo, un usuario puede modificar su propia clave con el mandato passwd, pero esto implica modificar el fichero /etc/passwd, y para esto un usuario "de a pie" no tiene permiso. Cmo se soluciona? Pues activando el bit SUID del comando passwd (ntese que cuando esto sucede, la x de ejecutable pasa a ser una s):
ls -la /usr/bin/passw* -r-sr-xr-x 1 root bin 15613 abr 27 1998 /usr/bin/passwd

Esto quiere decir que cuando se ejecute, el proceso correspondiente va a tener los privilegios del propietario del comando (es decir, el root), no del usuario que lo lanz. En otras palabras, el proceso generado por passwd pertenece a root. A primera vista, esto puede parecer una seria brecha de seguridad. Y lo es. Si el programa funciona correctamente, no tiene por qu dar problemas; pero pequeos defectos en el programa pueden ser utilizados por alguien para tratar de ejecutar otro cdigo distinto con los

77

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

privilegios de este proceso. El mtodo suele ser el desbordamiento de la pila (buffer overflow). Cualquier atacante que haya entrado en un sistema de forma ilegtima intentar dejar una shell con el bit SUID para mantener ese nivel de privilegio cuando vuelva a entrar en el sistema. SGID es lo mismo que SUID, pero aplicado al grupo. As pues, tenga cuidado con los programas con el bit SUID/SGIG. Puede encontrarlos con
root# find / -type f \( -perm -04000 -o -perm -02000 \) print

Tenga en cuenta que algunos programas (como passwd) tienen que tener el bit SUID. Compruebe en los lugares habituales, (que indicamos en la seccin correspondiente) que ninguno de los programas propiedad del root o SUID que utiliza en su sistema, tiene un fallo de seguridad conocido que pueda ser explotado. Nunca debe permitir que quede una shell SUID corriendo en el sistema. Si el root deja desatendida la consola durante unos instantes (recuerde, debe utilizar siempre xlock), un intruso podra escribir lo siguiente:
# cp /bin/sh /tmp/cuenta-root # chmod 4755 /tmp/cuenta-root

crendose una versin SUID de la shell sh. En el futuro, cuando el atacante ejecute ese programa, cuenta-root, se convertir en root! Si lo escondiera en un directorio oculto, la nica forma de encontrarlo sera escaneando el sistema completo como se ha explicado antes. Y recuerde, nunca escriba guiones de shell SUID.
Seguridad del root

Los peores destrozos de un sistema es probable que no vengan de ningn cracker, o de un malvolo intruso. En muchsimas ms ocasiones ha sido el propio administrador el que ha destrozado el sistema. S, el root. Por qu? Por descuido, por exceso de confianza, por ignorancia. Evitar este problema no es difcil. Siguiendo unas fciles normas, podr protegerse de Vd. mismo:

No use la cuenta de root por norma. Evtela. Intente primero cualquier accin como un usuario normal, y si ve que no tiene permiso, piense porqu y use el comando su si es necesario.

78

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Ejecute los comandos de forma segura verificando previamente la accin que va a realizar. Por ejemplo si quiere ejecutar rm borrar.*, ejecute primero ls borrar.* y si es lo que pretende modifique el mandato y ejectelo. Ciertos mandatos admiten una opcin (-i) para actuar de forma interactiva. Actvela, si no lo est ya aadiendo estas lneas a su fichero de recursos par la shell:
o o o alias rm='rm -i' alias cp='cp -i' alias mv='mv -i'

Siempre puede evitar estas preguntas, a veces incordiosas, con el mandato yes, cuando est seguro de la operacin que est realizando:
$ yes s|rm borrar.*

Como ya deben saber, el directorio actual no est, por defecto, en la ruta de bsqueda de ejecutables (PATH). Esto garantiza que no lanzaremos, sin darnos cuenta, un ejecutable que est en el directorio actual llamado, por ejemplo ls. Evite que la clave del root viaje por una red sin cifrar. Utilice ssh u otro canal seguro. Limite los terminales desde los que se puede conectar root. Es preferible limitarlo a la consola del sistema. Esto se puede decidir en /etc/securetty. Si necesita una sesin remota como root, entre como usuario normal y luego use su. Acte de forma lenta y meditada cuando sea root. Sus acciones podran afectar a un montn de cosas. Pinselo antes de teclear!

Hay herramientas como sudo que permiten a ciertos usuarios utilizar comandos privilegiados sin necesidad de ser root, como montar o desmontar dispositivos. Adems registra las actividades que se realizan, lo que ayuda a determinar qu hace realmente este usuario.
Identificacin de SNIFFERS, SPYWARE, TROYANS,IDS

Para ste tema se recomienda leer el archive seguridad en linux, de la pgina web: www.serviweb.es/pdf/seguridad-en-linux.pdf (ltima revisin Enero 2012) Se anexa archivo a la antologa

79

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Medidas de Seguridad
La seguridad de las conexiones en red merecen en la actualidad una atencin especial, incluso por medios de comunicacin no especializados, por el impacto que representan los fallos ante la opinin pblica. El propio desarrollo tanto de Linux, como de la mayora del software que lo acompaa, es de fuentes abiertas. Podemos ver y estudiar el cdigo. Esto tiene la ventaja de que la seguridad en Linux no sea una mera apariencia, sino que el cdigo est siendo escrutado por muchas personas distintas que rpidamente detectan los fallos y los corrigen con una velocidad asombrosa. Si adems comprendemos los mecanismos que se siguen en las conexiones en red, y mantenemos actualizados nuestros programas, podemos tener un nivel de seguridad y una funcionalidad aceptables. Tampoco tienen las mismas necesidades de seguridad un equipo domstico, con conexiones espordicas a Internet, que un servidor conectado permanentemente y que acte como pasarela entre una intranet e Internet. Para describir las pautas de actuacin seguras iremos examinando cmo actan las conexiones y cmo podemos protegerlas.
INETD

Para atender las solicitudes de conexin que llegan a nuestro equipo existe un demonio llamado inetd que est a la escucha de todos los intentos de conexin que se realicen a su mquina. Cuando le llega una solicitud de conexin ir dirigida a un puerto (nmero de servicio, quizs sea ms claro que puerto), por ejemplo, el 80 sera una solicitud al servidor de pginas web, 23 para telnet, 25 para smtp, etc. Los servicios de red que presta su mquina estn descritos en /etc/inetd.conf (y en /etc/services los nmeros de puertos). Por ejemplo, en /etc/inetd.conf podemos encontrar las siguientes lneas:
(...) pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d # imap stream tcp nowait root /usr/sbin/tcpd imapd (...)

Esto quiere decir que, cuando llegue una solicitud de conexin al puerto 110 (pop3) se ejecutar el programa /usr/sbin/tcpd ipop3d. Sin embargo, el servicio imap est deshabilitado (est comentado con un # delante), por lo que el sistema no le responde.

80

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

TCP WRAPPER

El siguiente paso es /usr/sbin/tcpd, que es el tcp_wrapper: un servicio que verifica el origen de las conexiones con su base de datos /etc/hosts.allow (equipos autorizados) y /etc/hosts.deny (equipos a los que se les deniega la conexin). tcpd anota todos los intentos de conexin que le llegan en /var/log/secure para que tenga la posibilidad de saber quin intenta conectarse a su mquina y si lo consigue. Si tcpd autoriza la conexin, ejecuta ipop3d que es el programa que realmente atiende la conexin, ante el cual se tiene que validar el usuario mediante una clave. Observe que ya llevamos tres niveles de seguridad: prestar un servicio, autorizar un conexin y validar un usuario. Un consejo que es conveniente seguir: No tenga abiertos los servicios que no necesita; esto supone asumir un riesgo a cambio de nada. Tampoco limite la funcionalidad del sistema, si tiene que usar un servicio, hgalo sabiendo lo que hace. Tambin hay que asegurarse de que el programa ipop3d no tenga ninguna vulnerablidad, es decir, que est actualizado. Existen numerosos medios para estar al da de las vulnerabilidades que aparecen. Una buena lista de correo o una revista electrnica tal vez sean la forma ms rpida de conocer los incidentes, las causas y las soluciones. Posiblemente la mejor lista de correo para el mundo Unix sea Bugtraq (busque en forums). Pero esto no es todo, adems puede filtrar las conexiones que le lleguen desde el exterior para que ni siquiera alcancen a los tcp_wrappers. Por ejemplo, en el caso de conexiones a Internet por mdem:
ipchains -A input -j DENY -s 0/0 -d $4/32 23 -p tcp -i ppp0 -l

poniendo la anterior lnea en el fichero /etc/ppp/ip-up (y ipchains -F input en ipdown) estaramos aadiendo (-A) un filtro de entrada (input), que deniega (-j DENY) desde cualquier sitio de internet (-s 0/0) dirigidas a nuestro equipo (-d $4/32) al puerto telnet (23) por tcp (-p tcp) que lleguen desde internet (en este caso -i ppp0) y que adems las anote en el registro de incidencias (-l) ($4 es la direccin IP que obtenemos dinmicamente). El mecanismo de filtrado de conexiones se realiza en el ncleo del sistema operativo y si ha sido compilado con estas opciones. Normalmente lo est. Este filtrado se realiza a nivel de red y transporte: cuando llega un paquete por un interfaz de red se analiza siguiendo los filtros de entrada. Este paquete puede ser aceptado, denegado o rechazado, en este ltimo caso se avisa al remitente. Si los filtros de entrada aceptan el paquete, pasa al sistema si era su destino final o pasa por los filtros de reenvo o enmascaramiento, donde se vuelve a repetir una de las acciones. Por ltimo, los paquetes que proceden del propio sistema o los que han sido aceptados por los filtros de reenvo o enmascaramiento pasan al filtro de

81

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

salida. En cualesquiera de estos filtros se puede indicar que lo anote en el registro de incidencias.

Registro de Incidencias

A parte de todo esto, puede conocer las incidencias que ocurren durante el funcionamiento del sistema. Por un lado conviene familiarizarse con los procesos que se ejecutan habitualmente en una mquina. Es una buena costumbre ejecutar peridicamente ps axu. Cualquier cosa extraa debiramos aclararla. Puede matar cualquier proceso con la orden kill -9 pid (o killall -9 nombre_proceso). Pero en caso de ataque activo, lo mejor es desconectar de la red inmediatamente, si es posible, claro est. Despus tenemos los registros de incidencias (las ubicaciones pueden ser diferentes dependiendo del sistema, pero no radicalmente distintas) de /var/log. Trabajando en modo texto se puede hacer en una consola virtual (como root)
tail -f /var/log/messages

y
tail -f /var/log/secure

y de esta forma podemos ir viendo las incidencias del sistema. Conviene tambin familiarizarse con las anotaciones que aparecen habitualmente para diferenciarlas de las que puedan presentar un problema. En modo grfico hay un programa llamado ktail que le muestra las incidencias de una forma similar a la anterior.
Comunicaciones Seguras

Por ltimo, nos interesar mantener unas comunicaciones seguras para garantizar la privacidad e integridad de la informacin. Actualmente existen las herramientas necesarias para cada necesidad. Podemos usar cifrados simtricos como pgp y gpg para documentos, correo electrnico y comunicaciones sobre canales inseguros Podemos crear canales de comunicacin seguros de distinto tipo:

82

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

SSH (Secure Shell), stelnet: SSH y stelnet son programas que le permiten efectuar conexiones con sistemas remotos y mantener una conexin cifrada. Con esto evitamos, entre otras cosas, que las claves circulen por la red sin cifrar. Cryptographic IP Encapsulation (CIPE): CIPE cifra los datos a nivel de red. El viaje de los paquetes entre hosts se hace cifrado. A diferencia de SSH que cifra los datos por conexin, lo hace a nivel de socket. As un conexin lgica entre programas que se ejecutan en hosts diferentes est cifrada. CIPE se puede usar en tunnelling para crear una Red Virtual Privada. El cifrado a bajo nivel tiene la ventaja de poder hacer trabajar la red de forma transparente entre las dos redes conectadas en la RVP sin ningn cambio en el software de aplicacin. SSL: o Secure Sockets Layer, fue diseado y propuesto en 1994 por Netscape Communications Corporation junto con su primera versin del Navigator como un protocolo para dotar de seguridad a las sesiones de navegacin a travs de Internet. Sin embargo, no fue hasta su tercera versin, conocida como SSL v3.0 que alcanz su madurez, superando los problemas de seguridad y las limitaciones de sus predecesores. En su estado actual proporciona los siguientes servicios: o Cifrado de datos: la informacin transferida, aunque caiga en manos de un atacante, ser indescifrable, garantizando as la confidencialidad. o Autenticacin de servidores: el usuario puede asegurarse de la identidad del servidor al que se conecta y al que posiblemente enve informacin personal confidencial. o Integridad de mensajes: se impide que modificaciones intencionadas o accidentales en la informacin mientras viaja por Internet pasen inadvertidas. o Opcionalmente, autenticacin de cliente: permite al servidor conocer la identidad del usuario, con el fin de decidir si puede acceder a ciertas reas protegidas.

83

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Unidad 5: Software de Aplicaciones


Aplicaciones Especficas
IPTRAF
IPtraf, es una herramienta de cdigo abierto que nos ayudar a monitorizar las interfaces de nuestro servidor o equipo del cliente. Es una aplicacin antigua pero muy til. IPtraf se conoce como "interfaces sources" e intercepta paquetes para luego mostranos informacin de nuestra red. Para saber un poco ms de "IPtraf" entrar en: "http://iptraf.seul.org/".

Os doy un ejemplo para su utilizacin: Tenemos "Squid" configurado en nuestro servidor y otorgamos acceso a internet a los clientes. Para controlar el trfico que generan nuestros clientes, tenemos las herramientas "Sarg" (para visualizar los logs de Squid) y "Cacti" para ver las grficas de trfico de red que generan las interfaces. Si tenemos "IPtraf" instalado, nos ayudar a controlar quin est abusando de nuestra de red o quin tiene un software malicioso que est saturando nuestra en red en tiempo real. En mi caso, lo utilizo para ver en tiempo real el "cosumo" de mi red por direcciones IP. Para descargar "IPtraf", viene en todas las distribuciones sobre Debian por defecto (Debian,Ubuntu, etc...)

Trabajar con IPtraf


-. Una vez instalado IPtraf, solo tenemos que ejecutarlo

# sudo iptraf

Ilustracin 25: Iptraf - Pantalla de Inicio

84

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

-. Presionamos cualquier tecla y accedemos al men de IPtraf

Ilustracin 26: Iptraf Men de Trabajo

-. Dentro del men nos encotramos con varias opciones:

1. "IP traffic monitor". Nos muestra en tiempo real el trdfico que pasa por las interfaces.
Podemos seleccionar slo una interfac o todas. Podemos ver qu IP est haciendo uso del trfico de red.

Ilustracin 27: Iptraf IP traffic monitor

2. "General interfaces statistics". Muestra estadsticas de las interfaces.

85

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Ilustracin 28: Iptraf General interfaces statistics

3. "Detailed interfaces statistics". Informacin ms detallada de una interfaz en concreto.

Ilustracin 29: Iptraf Detailed interfaces statistics

4. "Statistical breakdowns...". Trfico de paquetes por tamao o por TCP/UDP en una interfaz.

Ilustracin 30: Iptraf Statistical breakdowns

86

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

5. "LAN station monitor". Muestra las estadsticas de nuestra red detectadas en una o todas las
interfaces.

Ilustracin 31: Iptraf LAN station monitor

6. "Filters". Podemos configurar filtros o crea uno nuevo.

Ilustracin 32: Iptraf - Filters

7. "Configure". Configurar IPtraf para nuestras necesidades

87

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Ilustracin 33: Iptraf - Configure

PHPMYADMIN
phpMyAdmin es un programa de libre distribucin en PHP, creado por una comunidad sin nimo de lucro, que slo trabaja en el proyecto por amor al arte. Es una herramienta muy completa que permite acceder a todas las funciones tpicas de la base de datos MySQL a travs de una interfaz web muy intuitiva.

Ilustracin 34: Pgina web de phpMyAdmin La aplicacin en si no es ms que un conjunto de archivos escritos en PHP que podemos copiar en un directorio de nuestro servidor web, de modo que, cuando accedemos a esos archivos, nos muestran unas pginas donde podemos encontrar las bases de datos a las que tenemos acceso

88

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

en nuestro servidor de bases de datos y todas sus tablas. La herramienta nos permite crear tablas, insertar datos en las tablas existentes, navegar por los registros de las tablas, editarlos y borrarlos, borrar tablas y un largo etctera, incluso ejecutar sentencias SQL y hacer un backup de la base de datos.

Pgina de phpMyAdmin
La pgina de inicio del proyecto es http://www.phpmyadmin.net/. Desde all podemos descargar los ficheros de la ltima versin de la aplicacin, que posteriormente debemos colocar en nuestro servidor web. Tambin podemos encontrar a phpMyAdmin dentro de la red

Sourceforge.net, que es un sitio que recoge multitud de proyectos "Open Source" (cdigo abierto).

Hay varias versiones disponibles, pero es recomendable escoger la que nos aconsejen como la ltima versin estable (The last stable versin). En el momento de escribir este artculo era la 2.2.6. De modo que, si nuestro sistema es Windows, descargaremos el archivo phpMyAdmin2.2.6-php.zip

Los archivos que hemos descargado son de la versin 4 de PHP, aunque tambin ofrecen la posibilidad de bajarse los archivos que guardan compatibilidad con la versin 3 de PHP, para que aquellos que no dispongan del motor de PHP ms actual. La pagina de inicio del programa tambin nos ofrece la posibilidad de ver un demo online, aunque nos avisan de que el servidor donde se aloja puede estar cado.

http://www.phpmyadmin.net/phpMyAdmin/

89

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Ilustracin 35: phpMyAdmin manejo de bases de datos

Instalando phpMyAdmin
Una vez descargada la ltima versin la tenemos que descomprimir, con lo que obtendremos los ficheros PHP que conforman la herramienta y colocarlos dentro del directorio de publicacin de nuestro servidor web.
Nota: recordamos que phpMyAdmin es un proyecto escrito en PHP, por lo que necesitaremos colocar los archivos en un servidor web que permita programacin de pginas PHP. Adems, deberemos acceder a la herramienta a travs de la direccin del servidor web, seguida del directorio en el que tenemos los archivos que hemos descomprimido. Por ejemplo, si nuestro servidor es el PWS y hemos colocado los archivos dentro del directorio de publicacin (Generalmente C:\Inetpub\wwwroot), en el subdirectorio phpMyAdmin, debemos escribir algo como http://localhost/phpMyAdmin Si tuviramos instalado un servidor Apache los colocaramos en la carpeta que hayamos indicado como "documentRoot", que suele ser htdocs.

Lo primero que podemos leer es el archivo de la documentacin, que encontramos junto con los archivos de phpMyAdmin. Explica datos generales del programa, como sus requerimientos, instrucciones de instalacin, configuracin, preguntas frecuentes, etc. Posteriormente, tal como explica la documentacin, hay que editar el archivo config.inc.php para cambiar los valores de host de la base de datos (ordenador que tiene instalado el MySQL) y el usuario y password con el que nos conectamos. Se pueden configurar muchos aspectos en la herramienta, aunque ahora solo comentar los que he encontrado esenciales para hacerla funcionar, en la documentacin tenemos un apartado dedicado por completo a especificar el sentido de cada variable.

90

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

$cfgPmaAbsoluteUri Debemos asignarlo a la ruta completa necesaria para acceder a phpMyAdmin. Podra ser algo como http://localhost/phpMyAdmin o http://www.midominio.com/phpMyAdmin $cfgServers[$i]['host'] string El nombre del host de la base de datos. Por ejemplo localhost, si es que es el mismo ordenador donde estamos instalandos phpMyAdmin y la base de datos. Tambin podra ser la direccin IP del ordenador al que nos conectamos.

$cfgServers[$i]['user'] string $cfgServers[$i]['password'] string El par usuario/contrasea que debe utilizar phpMyAdmin para conectarse con el servidor MySQL. Con estas sencillas configuraciones ya podemos acceder a phpMyAdmin y trabajar con nuestra base de datos a golpe de ratn, que resulta muy de agradecer teniendo en cuenta que, en caso de no tener esta herramienta u otra parecida, la otra opcin consistira en utilizar el lenguaje SQL, y, en caso de que la base de datos est alojada remotamente en Internet, no podramos hacerlo sino es con acceso por TELNET al servidor de la base de datos.

WEBMIN
Webmin es una interfaz web escrita en Perl para administrar un servidor. Con esta herramienta se pueden configurar los permisos para Usuarios y Grupos o configurar el funcionamiento de nuestro Mysql Server, cuotas de espacio, servicios, archivos de configuracin, apagado del equipo, etc. Webmin tiene una estructura por mdulos para administrar una amplia variedad de herramientas como Apache, PHP, MySQL, DNS, Samba, DHCP, etc, adems de ser completamente configurables y de poder crear nuevos.

Ilustracin 36: webmin

91

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Esta herramienta est disponible para las distribuciones GNU/Linux ms comunes y Unix, con diversos paquetes para su instalacin desde este enlace, una vez instalado su uso es tan sencillo como introducir la direccin web por el puerto 10000 y nuestro usuario y contrasea, por ejemplo: http://(ip del servidor):10000 http://localhost:10000

Ilustracin 37: Pantalla principal de webmin

CPANEL
CPanel es el panel de control para empresas de alojamiento web lder en el mercado. Su atractiva interfaz web es la preferida por los usuarios de miles de compaas en todo el mundo.

Tareas como crear subdominios, aadir cuentas de correo, instalar scripts, proteger directorios, crear bases de datos... son sencillas de realizar por los propios usuarios sin necesidad de la intervencin del personal tcnico. Acompaando a CPanel, la aplicacin WHM (WebHost Manager) le permite administrar un gran nmero de funciones de su servidor: creacin de cuentas de usuario, manejo de la cola de correo, gestin de paquetes de alojamiento, reinicio de servicios, configuracin de los servidores de nombres, y un largusimo etctera. CPanel est disponible para Linux y FreeBSD. Para ms informacion consulte en www.cpanel.net.
CPanel.com.es es el nuevo servicio de G.A.T. S.L. dirigido a las empresas y profesionales que utilicen o vayan a utilizar CPanel como base de sus servicios de alojamiento web.

92

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

IPTABLES y NETFILTER Acerca de Iptables y Netfilter.


Netfilter es un conjunto de ganchos (Hooks, es decir, tcnicas de programacin que se emplean para crear cadenas de procedimientos como manejador) dentro del ncleo de GNU/Linux y que son utilizados para interceptar y manipular paquetes de red. El componente mejor conocido es el cortafuegos, el cual realiza procesos de filtracin de paquetes. Los ganchos son tambin utilizados por un componente que se encarga del NAT (acrnimo de Network Address Translation o Traduccin de direccin de red). Estos componentes son cargados como mdulos del ncleo.

Iptables es el nombre de la herramienta de espacio de usuario (User Space, es decir, rea de memoria donde todas las aplicaciones, en modo de usuario, pueden ser intercambiadas hacia memoria virtual cuando sea necesario) a travs de la cual los administradores crean reglas para cada filtrado de paquetes y mdulos de NAT. Iptables es la herramienta estndar de todas las distribuciones modernas de GNU/Linux.

URL: http://www.netfilter.org/

Equipamiento lgico necesario. Instalacin a travs de yum.


Si utiliza CentOS 5 y 6, Red Hat Enterprise Linux 5 o 6, solo se necesita realizar lo siguiente para instalar o actualizar el equipamiento lgico necesario:

yum -y install iptables

Procedimientos. Cadenas.
Las cadenas pueden ser para trfico entrante (INPUT), trfico saliente (OUTPUT) o trfico reenviado (FORWARD).

93

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Reglas de destino.
Las reglas de destino pueden ser aceptar conexiones ( ACCEPT), descartar conexiones (DROP), rechazar conexiones (REJECT), encaminamiento posterior (POSTROUTING), encaminamiento previo (PREROUTING), SNAT, NAT, entre otras.

Polticas por defecto.


Establecen cual es la accin a tomar por defecto ante cualquier tipo de conexin. La opcin -P cambia una poltica para una cadena. En el siguiente ejemplo se descartan (DROP) todas las conexiones que ingresen (INPUT), todas las conexiones que se reenven (FORWARD) y todas las conexiones que salgan (OUTPUT), es decir, se descarta todo el trfico que entre desde una red pblica y el que trate de salir desde la red local.
iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT

Limpieza de reglas especficas.


A fin de poder crear nuevas reglas, se deben borrar las existentes, para el trfico entrante, trfico reenviado y trfico saliente as como el NAT.
iptables iptables iptables iptables -F -F -F -F INPUT FORWARD OUTPUT -t nat

Reglas especficas.
Las opciones ms comunes son:

-A aade una cadena, la opcin -i define una interfaz de trfico entrante -o define una interfaz para trafico saliente -j establece una regla de destino del trfico, que puede ser ACCEPT, DROP o REJECT. La -m define que se aplica la regla si hay una coincidencia especfica --state define una lista separada por comas de distinto tipos de estados de las conexiones (INVALID, ESTABLISHED, NEW, RELATED).

--to-source define que IP reportar al trfico externo

94

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

-s define trafico de origen -d define trfico de destino --source-port define el puerto desde el que se origina la conexin --destination-port define el puerto hacia el que se dirige la conexin -t tabla a utilizar, pueden ser nat, filter, mangle o raw.

Ejemplos de reglas.
Reenvo de paquetes desde una interfaz de red local (eth1) hacia una interfaz de red pblica (eth0):
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

Aceptar reenviar los paquetes que son parte de conexiones existentes (ESTABLISHED) o relacionadas de trfico entrante desde la interfaz eth1 para trfico saliente por la interfaz eth0:
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

Permitir paquetes en el propio muro cortafuegos para trfico saliente a travs de la interfaz eth0 que son parte de conexiones existentes o relacionadas:
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

Permitir (ACCEPT) todo el trfico entrante (INPUT) desde (-s) cualquier direccin (0/0) la red local (eth1) y desde el retorno del sistema (lo) hacia (-d) cualquier destino (0/0):
iptables -A INPUT -i eth1 -s 0/0 -d 0/0 -j ACCEPT iptables -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT

Hacer (-j) SNAT para el trfico saliente (-o) a trves de la interfaz eth0 proveniente desde (-s) la red local (192.168.0.0/24) utilizando (--to-source) la direccin IP w.x.y.z.
iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -o eth0 -j SNAT --to-source x.y.z.c

Descartar (DROP) todo el trfico entrante (-i) desde la interfaz eth0 que trate de utilizar la direccin IP pblica del servidor (w.x.y.z), alguna direccin IP de la red local (192.168.0.0/24) o la direccin IP del retorno del sistema (127.0.01)

95

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

iptables -A INPUT -i eth0 -s w.x.y.x/32 -j DROP iptables -A INPUT -i eth0 -s 192.168.0.0/24 -j DROP iptables -A INPUT -i eth0 -s 127.0.0.0/8 -j DROP

Aceptar (ACCEPT) todos los paquetes SYN (--syn) del protocolo TCP (-p tcp) para los puertos (-destination-port) de los protocolos SMTP (25), HTTP(80), HTTPS (443) y SSH (22):
iptables iptables iptables iptables -A -A -A -A INPUT INPUT INPUT INPUT -p -p -p -p tcp -s 0/0 -d 0/0 --destination-port 25 --syn -j ACCEPT tcp -s 0/0 -d 0/0 --destination-port 80 --syn -j ACCEPT tcp -s 0/0 -d 0/0 --destination-port 443 --syn -j ACCEPT tcp -s 0/0 -d 0/0 --destination-port 22 --syn -j ACCEPT

Aceptar (ACCEPT) todos los paquetes SYN (--syn) del protocolo TCP (-tcp) para los puertos (-destination-port) del protocolos SMTP (25) en el servidor (w.x.y.z/32), desde (-s) cualquier lugar (0/0) hacia (-d) cualquier lugar (0/0).
iptables -A INPUT -p tcp -s 0/0 -d w.x.y.z/32 --destination-port 25 --syn -j ACCEPT

Aceptar (ACCEPT) todos los paquetes SYN (--syn) del protocolo TCP (-p tcp) para los puertos (-destination-port) de los protocolos POP3 (110), POP3S (995), IMAP (143) y IMAPS (993):
iptables iptables iptables iptables -A -A -A -A INPUT INPUT INPUT INPUT -p -p -p -p tcp tcp tcp tcp -s -s -s -s 0/0 0/0 0/0 0/0 -d 0/0 --destination-port 110 --syn -j ACCEPT -d 0/0 --destination-port 995 --syn -j ACCEPT -d 0/0 --destination-port 143 --syn -j ACCEPT -d 0/0 --destination-port 993 --syn -j ACCEPT

Aceptar (ACCEPT) el trfico entrante (-i) proveniente desde la interfaz eth1 cuando las conexiones se establezcan desde el puerto (--sport) 67 por protocolos (-p) TCP y UDP.
iptables -A INPUT -i eth1 -p tcp --sport 68 --dport 67 -j ACCEPT iptables -A INPUT -i eth1 -p udp --sport 68 --dport 67 -j ACCEPT

Aceptar (ACCEPT) conexiones de trfico entrante (INPUT) por protocolo (-p) UDP cuando se establezcan desde (-s) el servidor DNS 200.33.145.217 desde el puerto (--source-port) 53 hacia (-d) cualquier destino (0/0):
iptables -A INPUT -p udp -s 200.33.146.217/32 --source-port 53 -d 0/0 -j ACCEPT

96

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Cerrar accesos.
Descartar (DROP) el trfico entrante (INPUT) para el protocolo (-p) TCP hacia los puerto (--destinationport) de SSH (22) y Telnet (23):
iptables -A INPUT -p tcp --destination-port 22 -j DROP iptables -A INPUT -p tcp --destination-port 23 -j DROP

Descartar (DROP) todo tipo de conexiones de trfico entrante (INPUT) desde (-s) la direccin IP a.b.c.d:
iptables -A INPUT -s a.b.c.d -j DROP

Rechazar (REJECT) conexiones hacia (OUTPUT) la direccin IP a.b.c.d desde la red local:
iptables -A OUTPUT -d a.b.c.d -s 192.168.0.0/24 -j REJECT

Eliminar reglas.
En general se utiliza la misma regla, pero en lugar de utilizar -A (append), se utiliza -D (delete).

Eliminar la regla que descarta (DROP) todo tipo de conexiones de trfico entrante (INPUT) desde ( -s) la direccin IP a.b.c.d:
iptables -D INPUT -s a.b.c.d -j DROP

Mostrar la lista de cadenas y reglas.


Una vez cargadas todas las cadenas y reglas de iptables es posible visualizar stas utilizando el mandato iptables con las opciones -n, para ver las listas en formato numrico y -L, para solicitar la lista de stas cadenas. iptables -nL

Cuando no hay reglas ni cadenas cargadas, la salida debe devolver lo siguiente:


Chain INPUT (policy ACCEPT) target prot opt source Chain FORWARD (policy ACCEPT) target prot opt source

destination destination

97

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Chain OUTPUT (policy ACCEPT) target prot opt source

destination

Cuando hay cadenas presentes, la salida, suponiendo que se utilizarn los ejemplos de este documento, debe devolver algo similar a lo siguiente:
Chain INPUT (policy target prot opt ACCEPT all -ACCEPT all -ACCEPT all -DROP all -DROP all -DROP all -ACCEPT tcp -ACCEPT tcp -ACCEPT tcp -ACCEPT tcp -ACCEPT tcp -ACCEPT tcp -ACCEPT tcp -ACCEPT tcp -ACCEPT tcp -ACCEPT tcp -ACCEPT udp -ACCEPT udp -DROP) source 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 192.168.1.64 172.16.0.0/24 127.0.0.0/8 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 200.33.146.217

destination 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 192.168.1.64 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 destination 0.0.0.0/0 0.0.0.0/0 destination destination 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 192.168.1.64 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 destination 0.0.0.0/0 0.0.0.0/0 destination

state RELATED,ESTABLISHED

tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp udp udp

dpt:25 flags:0x17/0x02 dpt:80 flags:0x17/0x02 dpt:443 flags:0x17/0x02 dpt:22 flags:0x17/0x02 dpt:25 flags:0x17/0x02 dpt:110 flags:0x17/0x02 dpt:995 flags:0x17/0x02 dpt:143 flags:0x17/0x02 dpt:993 flags:0x17/0x02 spt:68 dpt:67 spt:68 dpt:67 spt:53

Chain FORWARD (policy DROP) target prot opt source ACCEPT all -- 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) target prot opt source [root@m064 ~]# iptables -nL Chain INPUT (policy DROP) target prot opt source ACCEPT all -- 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 DROP all -- 192.168.1.64 DROP all -- 172.16.0.0/24 DROP all -- 127.0.0.0/8 ACCEPT tcp -- 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 ACCEPT udp -- 0.0.0.0/0 ACCEPT udp -- 200.33.146.217 Chain FORWARD (policy DROP) target prot opt source ACCEPT all -- 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) target prot opt source

state RELATED,ESTABLISHED

state RELATED,ESTABLISHED

tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp udp udp

dpt:25 flags:0x17/0x02 dpt:80 flags:0x17/0x02 dpt:443 flags:0x17/0x02 dpt:22 flags:0x17/0x02 dpt:25 flags:0x17/0x02 dpt:110 flags:0x17/0x02 dpt:995 flags:0x17/0x02 dpt:143 flags:0x17/0x02 dpt:993 flags:0x17/0x02 spt:68 dpt:67 spt:68 dpt:67 spt:53

state RELATED,ESTABLISHED

98

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Iniciar, detener y reiniciar el servicio iptables.


Si est de acuerdo con las reglas generadas de iptables, utilice el siguiente mandato para guardar stas: service iptables save

Las reglas quedarn almacenadas en el archivo /etc/sysconfig/iptables.

Para ejecutar por primera vez el servicio iptables, utilice: service iptables start

Para hacer que los cambios hechos tras modificar la configuracin surtan efecto, utilice: service iptables restart

Para detener el servicio iptables y borrar todas las reglas utilice: service iptables stop

Agregar el servicio iptables al arranque del sistema.


Para hacer que el servicio de iptables est activo con el siguiente inicio del sistema, en todos los niveles de ejecucin (2, 3, 4 y 5), se utiliza lo siguiente: chkconfig iptables on

99

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Tabla de Ilustraciones
Ilustracin 1: Alternativa para vectores ............................................................................................ 14 Ilustracin 2: Configuraciones de Discos para Clster ...................................................................... 16 Ilustracin 3: Comparativa Modelo OSI TCP/IP .............................................................................. 21 Ilustracin 4: Modelo Cliente-Servidor ............................................................................................. 23 Ilustracin 5: Servicios en Servidores ................................................................................................ 24 Ilustracin 6: Mltiples Clientes (Telnet) .......................................................................................... 25 Ilustracin 7: Protocolo SMB ............................................................................................................. 32 Ilustracin 8: Protocolo HTTP ............................................................................................................ 33 Ilustracin 9: Resolucin de dominio ................................................................................................ 34 Ilustracin 10: Servidor DNS.............................................................................................................. 35 Ilustracin 11: Pantalla nslookup ...................................................................................................... 36 Ilustracin 12: Jerarqua Servidores DNS .......................................................................................... 38 Ilustracin 13: Servidor DHCP ........................................................................................................... 40 Ilustracin 14: Proceso DHCP ............................................................................................................ 40 Ilustracin 15: Cliente de Correo Electrnico ................................................................................... 42 Ilustracin 16: Agente de transferencia de correo ........................................................................... 43 Ilustracin 17: Agente de entrega de correo .................................................................................... 43 Ilustracin 18: Protocolo FTP ............................................................................................................ 45 Ilustracin 19: Telnet......................................................................................................................... 46 Ilustracin 20: Protocolo Telnet ........................................................................................................ 46 Ilustracin 21: Administracin de usuarios y grupos en Linux .......................................................... 57 Ilustracin 22: Administracin de usuarios y grupos por webmin.................................................... 57 Ilustracin 23: Comando ls -l ............................................................................................................. 61 Ilustracin 24: Despliegue de permisos ............................................................................................ 61 Ilustracin 25: Iptraf - Pantalla de Inicio ........................................................................................... 84 Ilustracin 26: Iptraf Men de Trabajo .......................................................................................... 85 Ilustracin 27: Iptraf IP traffic monitor .......................................................................................... 85 Ilustracin 28: Iptraf General interfaces statistics ......................................................................... 86 Ilustracin 29: Iptraf Detailed interfaces statistics ........................................................................ 86 Ilustracin 30: Iptraf Statistical breakdowns.................................................................................. 86 Ilustracin 31: Iptraf LAN station monitor ..................................................................................... 87 Ilustracin 32: Iptraf - Filters ............................................................................................................. 87 Ilustracin 33: Iptraf - Configure ....................................................................................................... 88 Ilustracin 34: Pgina web de phpMyAdmin .................................................................................... 88 Ilustracin 35: phpMyAdmin manejo de bases de datos .................................................................. 90 Ilustracin 36: webmin ...................................................................................................................... 91 Ilustracin 37: Pantalla principal de webmin .................................................................................... 92

100

ADMINISTRACIN DE SERVIDORES I
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Bibliografa
Unidades Temticas y Temas Sugerencias Didcticas Realizacin de Instalacin y configuracin de un sistema operativo Linux mediante una prctica en laboratorio Exploracin del Intrprete de comandos. Exposicin de los comandos bsicos y sus funciones. Realizar prcticas de los comandos Bsicos Sugerencias Bibliografcas

I. Fundamentos de Sistema Operativo

Sistemas Operativos Multiusuarios Andrew S. Tanenbaum Prentice Hall Notas Administracin de Servidores en http://cursostic.utpuebla.edu.mx

II. Servicios de Red

Implementacin de un Servidor Centos 5.x Realizar prcticas y ejercicios de rutas de acceso, listado de archivos y despliegue de informacin especfica de archivos. Configuracin de Servicio DHCP Configuracin de Servicio DNS Instalacin de Apache Web Server Publicacin de Pginas en Apache Sendmail y prctica de cliente Examen Prctico Realizar prcticas y ejercicios para la administracin de cuentas de usuario y grupos. Realizar prcticas y ejercicios de rutas de acceso, listado de archivos y procesos, despliegue de informacin especfica de archivos, inicializacin de procesos y paro de ellos. Examen Prctico

Linux Administracin del Sistema y la Red Alegra Lonaiz Iaki - Pearson Education, Espaa, 2005 Notas Administracin y Mantenimiento de Redes en http://cursostic.utpuebla.edu.mx

III Sistema de Archivos y Control de Procesos

Red Hat Linux 7 Berlanga Blanco Manuel, Negus Cristopher - Anaya Editores, 2001 Notas de Administracin de Servidores en http://cursostic.utpuebla.edu.mx

Implementacin de Servicios de Seguridad Implementacin de un Firewall Implementacin de SQUID Implementacin de SARG Lecturas comentadas

IV Seguridad en Red

La biblia de Administracin de Sistemas Linux Dee Ann Le Blanc - Anaya Multimedia, Madrid, Espaa, 2001 Seguridad en Linux Mara Laura Chiesa: www.serviweb.es/pdf/seguridaden-linux.pdf

V Software de Aplicaciones

Instalacin de software de aplicaciones Configuracin del software de aplicaciones Configuracin de webmin Configuracin de phpMyAdmin Examen Practico

Edicin Especial Linux Bandel, David, Napier Robert Prentice Hall, Espaa, 2000 Notas Administracin y Mantenimiento de Redes en http://cursostic.utpuebla.edu.mx

101

You might also like