DIRECCIÓN DE OPERACIÓN

CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX

CURSO

ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX
Profesores:

M. I. Samuel Pérez Aguilar
sperez@zeus.umich.mx

M. I. Moisés García Villanueva
moises@scfie.fie.umich.mx

FACULTAD DE INGENIERIA ELECTRICA UNIVERSIDAD MICHOACANA

Septiembre de 2003

CENTRO NACIONAL DE CAPACITACIÓN CELAYA

PÁGINA 1 DE 92

DIRECCIÓN DE OPERACIÓN

CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX

CONTENIDO
INTRODUCCIÓN.....................................................................................................................................................................4 INSTALACIÓN DE UN SERVIDOR UNIX...........................................................................................................................5 GEOMETRÍA DEL DISCO DURO................................................................................................................................................5 PARTICIÓN DEL DISCO DURO.................................................................................................................................................6 FORMATEO E INSTALACIÓN..................................................................................................................................................8 CONFIGURACIÓN DE LA CONEXIÓN A INTERNET EN EL SERVIDOR...................................................................9 CONFIGURACIÓN DE LA RED..................................................................................................................................................9 Instalación y Configuración del TCP/IP...........................................................................................................................9 Configuración del dispositivo de red. .............................................................................................................................10 Notas...............................................................................................................................................................................12 DIRECCIONES INTERNET.....................................................................................................................................................12 Direcciones broadcast y de red.......................................................................................................................................13 Desventajas del direccionamiento Internet......................................................................................................................14 Notación decimal punteada.............................................................................................................................................14 Mapeo de direcciones Internet a direcciones físicas.......................................................................................................14 MODELO DE INTERACCIÓN CLIENTE-SERVIDOR.........................................................................................................................15 Ejemplos .........................................................................................................................................................................15 USO DE IFCONFIG (/ETC/IFCOFIG) PARA INSPECCIONAR UNA INTERFAZ DE RED..................................................................................16 Configuración de la interfaz de bucle interno de software..............................................................................................16 Configuración de una interfaz de red..............................................................................................................................16 RUTEADO DE TCP/IP......................................................................................................................................................17 Política de ruteado..........................................................................................................................................................17 ADMINISTRACIÓN...............................................................................................................................................................21 CREACIÓN DE CUENTAS DE USUARIOS....................................................................................................................................21 Creando una cuenta en el modo de texto: useradd y passwd...........................................................................................21 Eliminar una cuenta de usuario.......................................................................................................................................21 EL PROCESO EN UNIX. (COMANDOS &, PS, KILL Y TOP)............................................................................................................22 PROCESOS SUBORDINADOS .................................................................................................................................................22 DESPEDIDA MIENTRAS SE EJECUTAN PROCESOS SUBORDINADOS ...................................................................................................23 LA ORDEN PS .................................................................................................................................................................24 LISTA DE LA ACTIVIDAD DE OTROS USUARIOS .........................................................................................................................25 PROCESOS DEL SISTEMA ....................................................................................................................................................25 MONITOREO DE LA ACTIVIDAD DEL USUARIO...........................................................................................................................27 ELIMINACIÓN DE UN PROCESO ............................................................................................................................................28 SEGURIDAD DEL SISTEMA...............................................................................................................................................30 LA SEGURIDAD................................................................................................................................................................30 Protección de los datos frente a los otros usuarios..........................................................................................................31 Encripción de archivos....................................................................................................................................................33 Ids de presentación y contraseñas ..................................................................................................................................34 Historial de presentaciones ............................................................................................................................................35 El superusuario ..............................................................................................................................................................35 El archivo de contraseñas ..............................................................................................................................................36 SHELL SEGURO................................................................................................................................................................37 SERVICIOS ............................................................................................................................................................................38 FTP.............................................................................................................................................................................38 NFS............................................................................................................................................................................40 Sistemas de archivos distribuidos....................................................................................................................................40 Procesos cliente y servidor NFS......................................................................................................................................41 Archivos de configuración NFS.......................................................................................................................................41 DHCP.........................................................................................................................................................................43
CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 2 DE 92

DIRECCIÓN DE OPERACIÓN

CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX

Funcionamiento de DHCP..............................................................................................................................................43 Fases de Consesión.........................................................................................................................................................44 Configuración del Servidor DHCP para UNIX...............................................................................................................45 Configuración del cliente DHCP.....................................................................................................................................47 SEGURIDAD EN EL KERNEL.............................................................................................................................................49 SCO OPENSERVER..........................................................................................................................................................50 Opciones de compilación.................................................................................................................................................50 Algunas mejoras de la seguridad.....................................................................................................................................52 El súper server o inetd.....................................................................................................................................................52 El inetd.conf....................................................................................................................................................................53 El tcpd.............................................................................................................................................................................55 hosts.allow y hosts.deny...................................................................................................................................................56 Misceláneas.....................................................................................................................................................................59 RESUMEN......................................................................................................................................................................61 ARCHIVOS IMPORTANTES...............................................................................................................................................62 EL ARCHIVO /ETC/HOSTS....................................................................................................................................................62 CONTROL DE ACCESO........................................................................................................................................................62 EL ARCHIVO /ETC/SERVICES................................................................................................................................................63 EL ARCHIVO /ETC/INETD.CONF.............................................................................................................................................64 EL ARCHIVO /ETC/PROTOCOLS.............................................................................................................................................66 EL ARCHIVO /ETC/NETWORKS..............................................................................................................................................67 EL ARCHIVO /ETC/ETHERS..................................................................................................................................................67 AUDITORÍA DEL SISTEMA................................................................................................................................................68 SISTEMA DE BITACORAS (LOGS) EN UNIX...............................................................................................................................68 EL DEMONIO SYSLOG........................................................................................................................................................69 ARCHIVOS DE BITACORAS..................................................................................................................................................73 syslog...............................................................................................................................................................................73 messages..........................................................................................................................................................................74 wtmp................................................................................................................................................................................74 utmp.................................................................................................................................................................................75 sulog................................................................................................................................................................................75 cron.................................................................................................................................................................................75 BITACORAS REMOTAS .......................................................................................................................................................76 FIREWALLS (CORTAFUEGOS).........................................................................................................................................80 CARACTERÍSTICAS DE DISEÑO..............................................................................................................................................83 COMPONENTES DE UN CORTAFUEGOS.....................................................................................................................................85 Filtrado de paquetes........................................................................................................................................................85 Proxy de aplicación.........................................................................................................................................................86 MONITORIZACIÓN DE LA ACTIVIDAD......................................................................................................................................87 ARQUITECTURAS DE CORTAFUEGOS.......................................................................................................................................88 Cortafuegos de filtrado de paquetes................................................................................................................................88 Dual-Homed Host............................................................................................................................................................88 Screened Host..................................................................................................................................................................89 Screened net (DMZ)........................................................................................................................................................89 Otras arquitecturas..........................................................................................................................................................90 BIBLIOGRAFÍA.....................................................................................................................................................................92

CENTRO NACIONAL DE CAPACITACIÓN CELAYA

PÁGINA 3 DE 92

utilizando el lenguaje HTML. FTP. Este lenguaje está diseñado para ser mezclado con aplicaciones web (aunque se puede usar de manera independiente. Estos conceptos se estudian en el curso Internet Básico. HTTP. Entre las aplicaciones que podemos desarrollar son gráficas y animación. en el tercer módulo se estudia el lenguaje Java. Después se revisa qué cambios se tienen que hacer en el sistema y qué programas se deben ejecutar para que una computadora conectada en red pueda ofrecer los diferentes servicios de red. etc. e incluyendo todos sus servicios. v.g.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX INTRODUCCIÓN Este curso presupone conocimiento elemental de los conceptos básicos acerca de redes de computadoras (desde un punto de vista de usuario final). Telnet. como su nombre lo indica. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 4 DE 92 . hace énfasis en las herramientas necesarias para desarrollar aplicaciones usando internet. También se presupone familiaridad con el manejo del servicio World Wide Web. en todas sus modalidades. Finalmente se estudia el desarrollo de programas que permitan el acceso a una base de datos desde una página de web. Se comienza con la instalación de un servidor Unix. Esta característica es la que le da al servicio de web una capacidad interactiva total. Este lenguaje nos proporciona una mayor flexibilidad de programación. así como práctica en el manejo de internet. Dichos conceptos incluyen el estudio de los diferentes protocolos utilizados para comunicar computadoras locales con computadoras remotas. Después se da una introducción al protocolo CGI. En el segundo módulo se estudia el diseño de páginas de web. mediante el cual podemos ejecutar programas escritos en cualquier lenguaje desde una página de web. como un lenguaje de propósito general). Finalmente.. que es el más usado en aplicaciones CGI. El diplomado. En el primer módulo se cubren los aspectos relacionados con administradores de redes. Se estudia también el lenguaje Perl.

Es importante. cuyos detalles nos ocuparán el resto del curso. su función es la de guardar el sistema operativo. para un buen desempeño de un sitio. . Por ejemplo. de manera que se pueden llegar a tener muchos procesos corriendo a la vez en una sola computadora. típicamente estará ejecutando al menos un proceso por cada servicio que proporciona (los llamados demonios). perdiéndose todos los datos. Actualmente se pueden conseguir en el mercado computadoras bastante potentes por un precio accesible. los detalles serán vistos en las sesiones de práctica. de acuerdo al uso que vaya a tener el servidor. arriba de 700 MHz.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX INSTALACIÓN DE UN SERVIDOR UNIX. además las cabezas de lectura/escritura. que permita tener varios cientos de Gbytes en disco duro. En este capítulo estudiaremos todos los pasos menos el último. Un servidor. aunque sea sólo por un momento. El diseño lógico del disco duro se basa en los siguientes elementos mostrados en la figura 2. los programas y los datos al apagar la computadora. En algunos casos. si no es que con un arreglo RAID. Para la instalación de un servidor Unix. como en el de los servidores de web. establecer un sitio de Web (HTTP). Los servicios que un servidor proporciona son: correo electrónico. Estructura física La estructura física del disco duro se compone de dos partes principales: . Generalmente deseamos instalar Unix en una computadora que actuará como servidor en un entorno de red.La parte electrónica. Al arrancar de nuevo la computadora. Geometría del disco duro Descripción El Disco Duro es uno de los elementos denominados de 'almacenamiento masivo'. terminales remotas (Telnet). en las cuales se instalará Unix en al menos una máquina. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 5 DE 92 . siguiendo todos los pasos requeridos. compartir archivos (NFS). transferencia de archivos (FTP). 1 Gbyte de Memoria y al menos 20 Gbytes de disco duro. que se elija una máquina con los recursos necesarios. estos demonios se replican por cada requisición que el servidor atiende. que se encarga de controlar el giro del motor y el movimiento de las cabezas. una configuración de servidor puede incluir 2 procesadores.La parte mecánica. se producirá la carga en la memoria RAM del sistema operativo y demás programas residentes desde el disco duro. etc. Vale la pena mencionar que las notas de este capítulo solo mencionan las ideas a groso modo. La memoria RAM no conserva los datos que tiene al desconectar la corriente eléctrica.1. compuesta por un plato circular y de un motor que lo hace girar. se requieren varios pasos: Partición del disco duro Formateo de las diferentes particiones Instalación de los sistemas operativos seleccionados Configuración del servidor.

tendremos que particionar el disco duro. dado que son sistemas operativos inseguros. Si la computadora estuvierá todo el tiempo destinada a la tarea de servidor. Para comenzar. ésta nos pregunta que sistema deseamos usar. que es el más comercial. Si nuestra decisión fue la de tener dos sistemas operativos en la misma máquina. no robustos y que no cuentan con multiproceso real. dado que cada sistema operativo guarda los datos en diferentes formatos y CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 6 DE 92 . se puede optar por teneer dos (o más) sistemas operativos disponibles en ella.1. de manera que no es conveniente sacarlo de operación en ningún momento. o Unix. Dependiendo del uso que se le vaya a dar a la computadora. Cabeza H (head): las distintas cabezas de lectura/escritura que componen el disco y que se numeran empezando por el cero. Partición del disco duro Cuando adquirimos una computadora. ésta tiene instalado el sistema operativo Windows. Es importante tener en mente que un servidor es usado por más de una persona a la vez. se requiere de un sistema operativo más versátil. Esto no quiere decir que se ejecuten al mismo tiempo. Sin embargo. en una computadora personal.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Figura 2. Linux. es conveniente reservar todo el espacio para un solo sistema operativo. Esto es necesario. De hecho existen servidores que solamente se apagan para darles mantenimiento. supongamos que el disco duro de nuestra computadora está ocupado totalmente por Windows 95 o 98 y deseamos utilizarla como servidor. Organización lógica del disco duro. Sector S (sector): cada cilindro se divide en 64 sectores empezando por el uno. como puede ser Windows NT. Para proporcionar los servicios que requiere un sitio donde varias computadoras se encuentran conectadas en red. estando en operación 24 horas al día. Versiones comoWindows 95 o 98 no están diseñadas para desarrollar los trabajos típicos de un servidor. Cilindro C (cylinder): la supercifie del disco se divide en una serie de 'anillos circulares concéntricos' con centro en el punto de giro del mismo. quiza haya ocasiones en que deseemos trabajar en Windows y en otras en Unix. Cada cilindro se numera para su identificación empezando por el cero. al momento de iniciar la computadora.

Usar fdisk de Linux y crear las siguientes particiones • • • GNU HURD (tipo 63) partición primaria. De la combinación HSC se identifica un punto concreto del disco. hda2. En ocasiones nos encontramos con una máquina que ya contiene información en Windows y no deseamos eliminarla. NTFS (NT File System). Nota 1: Un error bastante frecuente. hda1. Al reparticionar el disco y formatear las particiones se borrarían los datos actuales. que son capaces de recortar una partición sin borrar su contenido. 1 GB HPFS NTFS (TIPO 7) partición primaria. los cuales son muy simples. http://www. 10 GB Linux swap (tipo 82) partición primaria. sector S y cilindro C. es la creencia de que un disco duro sólo puede tener hasta cuatro particiones primarias como máximo. En el curso se indicará el uso de programas de partición. La información de la estructura lógica del disco se encuentra en el sector de arranque maestro: MBR “Master Boot Record” que se encuentra en el inicio del disco y que se compone de una tabla con cuatro entradas. indicando la posición de cada partición en el disco según la nomenclatura: cabeza H. hda3. Para dar de alta una partición. añadir o cambiar particiones. es conveniente dejar al menos 2 Gbytes de disco para cada sistema operativo. En este caso podemos utilizar programas como fips.ranish. para Linux. para Windows NT. resto del disco duro 2. simplemente se trata de una convención acordada por los fabricantes a fin de coincidir en una misma estructura lógica y en la forma de “ver” el disco. Para particiones de tipo swap. para Unix el tipo es SCO. hda2. se recomienda compactar el disco duro y respaldar su información. 10 GB Linux swap (tipo 82) partición extendida. Si el sistema operativo a instalar es Windows 95 o 98 el tipo de partición es FAT.com/part/ Ejemplo 1: Instalación de los sistemas operativos SCO. Linux Nativa y Swap. al menos el doble que la memoria RAM que tiene la máquina. hda1. Antes de hacer esto. debemos indicar el tipo de sistema operativo que residirá en ella y el tamaño de la partición. doble de la memoria RAM Linux Native (tipo 83) partición primaria. Soluciones 1.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX con diferente organización. hda4. Usar fdisk de Linux y crear las siguientes particiones • • • • GNU HURD (tipo 63) partición primaria. En la siguiente dirección encontrarán el programa de Mikhail Ranish denominado Partition Manager que puede realizar hasta treinta particiones primarias así como otro tipo de funciones distintas. cada partición se formatea con las herramientas proporcionadas por el sistema operativo que residirá en ella y ahí se instala el sistema operativo. Acerca del tamaño. Al particionar el disco duro. Linux y Windows conviviendo en el mismo disco duro. una por cada partición. hda5 doble de la memoria RAM PÁGINA 7 DE 92 CENTRO NACIONAL DE CAPACITACIÓN CELAYA . Estos programas nos permiten borrar. podemos hacer uso de programas como fdisk o partition magic. 1 GB HPFS NTFS (TIPO 7) partición primaria. Para particionar el disco duro. No existe ningún impedimento de tipo físico o lógico para tener las que deseemos.

Al instalar Linux se reescribe el MBR con un cargador (LILO o GRUB) que permite agregar la opción de escoger varios sistemas operativos al encender la computadora. shells de sistema operativo. servidores. el orden de instalación de los sistemas operativos puede ser: SCO Linux Windows En este caso cuando se instala SCO se escribe el sector de arranque (MBR) del disco duro permitiendo iniciar SCO. hda6 resto del disco duro Formateo e Instalación En el caso de instalar Windows 95. es necesario instalar utilerías adicionales. Antes de comenzar con la instalación asegúrese de tener los drivers adecuados y anotar el nivel de interrupción y memoria base de cada tarjeta. Esta opción se puede configurar mediante el programa setup. Suponiendo el caso del ejemplo 1 y la solución 1. Ejemplo. Al terminar de instalar Unix. el sistema es capaz de reconocer la mayoría de los dispositivos y automáticamente los señala. el cual se puede ejecutar al reiniciar la computadora (típicamente mediante la tecla Supr o F2). para solucionar el problema se arranca Linux con un floppy de rescate y se ejecuta el comando lilo para escribir el MBR correcto. la opción más simple es tener un CD de instalación que permita arrancar desde el inicio. El último paso sería instalar windows. Muy probablemente su computadora no esté configurada para iniciar desde un CD. Los dispositivos que eventualmente pueden ocasionar problemas son la tarjeta de video y la de red. lo que también reescribe el MBR. preguntando solamente si está en lo correcto. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 8 DE 92 . Windows 98 y otros sistemas operativos. se puede dar formato a la partición adecuada usando el programa format. Para instalar el sistema operativo.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX • Linux Native (tipo 83) partición extendida. etc. En el caso de lilo se especifica lo siguiente: Para sco other=/dev/hda1 label=sco table=/dev/hda Para windows other=/dev/hda2 label=windows table=/dev/hda Note que se agrega la entrada incluso antes de instalar windows. Parte de este software se encuentra en sitios de red o proporcionados en CDs adicionales proporcionados por el fabricante. para poderlas instalar con éxito. como editores de texto. esto se logra especificando la partición en que reside el sistema operativo. incluyen el formateo como una opción del procedimiento de instalación. El proceso de instalación es generalmente muy simple.

Configuración del TCP/IP Para configurar TCP/IP se deben establecer conexiones físicas (medios físicos para comunicación: cables. tal como la capacidad de montar sistemas de archivos en máquinas remotas de modo que aparezcan como si estuvieran en un disco local. etc. Estas redes son todas de relativa alta velocidad. Esto permite el uso de herramientas de software que requieren respuesta rápida y rendimiento elevado. normalmente ejecutándose en máquinas distantes. al menos 10 MegaBits y ahora con más frecuencia de 100 MB por segundo. conectores. hubs. Para poder usar estos comandos remotos son necesarias las siguientes acciones. ruptime. tanto si todas las máquinas son sistemas V o no. se deberán usar los comandos: . Ejemplos de comandos remotos son: rlogin. rcp. Normalmente cada versión de Unix proporciona herramientas para facilitar la configuración del TCP/IP. se dispone de software simple y amistoso para conectar los dos tipos de Redes principales disponibles en el mundo para UNIX: Ethernet e Internet. Ethernet fue originalmente desarrollada para versiones BSD del sistema UNIX. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 9 DE 92 .) configurar los drivers de las interfaces de red y configurar los parámetros de TCP/IP. En el caso de que se quiera hacer la configuración en forma manual. Sobre el protocolo TCP/IP (Transport Control Protocol/Internet Protocol) se puede usar el sistema de archivos por red NFS. y se ha convertido en un estándar en la industria para conexión de muchas clases de máquinas con sistemas operativos diferentes. El soporte completo de Ethernet y sus servicios sólo apareció en la versión 4 del sistema V. en el caso de UNIX SCO se proporciona una opción llamada Network Configuration Manager (comando en consola netconfig). Varios de estos servicios serán estudiados en este curso. Además del soporte de rutinas de bajo nivel en el núcleo. rcmd. añadir o suprimir interfaces. Instalación y Configuración del TCP/IP El protocolo TCP/IP es un mecanismo que permite que dos procesos. Los montajes remotos pueden ser valiosos puesto que permiten menos copias de un archivo o directorio que exista en una red de máquinas. del inglés Wide Area Network) puede conectarse fácilmente a redes Ethernet.ifconfig (interface configuration) para mostar. rsh. una red de área extensa (WAN. La Internet mundial. Esto significa que SVR4 puede ahora participar completamente en redes de máquinas que utilizan protocolos de comunicación TCP/IP. Además el TCP/IP hace posible que se puedan usar comandos para transferencia de archivos remotos o ejecución de comandos en otros servidores en una red. se comuniquen entre sí. del Inglés Local Area Networks) está muy mejorado en las versiones mas recientes del sistema operativo UNIX en comparación con versiones más antiguas. simplificando el mantenimiento de los archivos y reduciendo la posibilidad de que algunas máquinas puedan tener copias no actualizadas.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX CONFIGURACIÓN DE LA CONEXIÓN A INTERNET EN EL SERVIDOR Configuración de la red El soporte de redes de área local (LANs.

por ejemplo: Tarjeta de Red Puerto Serie Modem Cualquiera que sea el medio de comunicación. añadir o suprimir rutas de acceso en su red. El siguiente paso consiste en agregar los protocolos.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX . La instalación del driver se realiza utilizando el Sofware Manager (comando en consola custom). Configuración del dispositivo de red. TARJETA DE RED Es necesario que la tarjeta de red tenga la configuración de hardware correcta.000. se realiza el siguiente procedimiento para instalar la tarjeta. Esta configuración está determinada por pequeños puentes eléctricos denominados "jumpers". Se instala el dispositivo de red mediante el Network Configuration Manager eligiendo la tarjeta cuyo driver se instalo en el paso anterior. al menos se debe agregar el protocolo TCP/IP que se CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 10 DE 92 . A continuación se describen algunos puntos importantes en relación a la configuración de dispositivos de red. Ejemplo: Cuando la tarjeta no se encuentra en la lista de dispositivos de red soportados por SCO y se tiene el driver proporcionado por el fabricante de la tarjeta o se obtuvo éste desde Internet. A través de los "jumpers" se determinan normalmente los siguientes parámetros para una tarjeta de red: Interrupt Request Channel IRQ I/O Base Address RAM Buffer Base Ardes Actualmente la mayoría de las tarjetas de red ya no incluyen jumpers sino que son programadas desde el driver o mediante una aplicación especial. En particular se tratan el caso de la tarjeta de red. Para poder tener comunicación en una red es necesario tener una conexión física con la red. El archivo objetivo debe tener el nombre VOL. este archivo normalmente viene en el disquette del fabricante o puede ser colocado en uno desde cualquier navegador Web. Para copiar el archivo a SCO.route para mostrar. deberá tener una configuración de hardware adecuada y conocida por los niveles más bajos del sistema TCP/IP. es necesario montar el floppy mediante el comando mount /dev/fd0 /mnt Después se copia el archivo al árbol de directorios de Unix para después instalar el driver. Es muy importante que al realizar la instalación se cuente con el driver de la tarjeta respectivo para SCO UNIX o asegurarse que la tarjeta en cuestión es soportada por el conjunto de drivers disponibles por SCO UNIX. Esta conexión puede ser de diferentes tipos.000.

Este número suele representarse en notación decimal para cada byte (8 bits) con un rango de 0 a 255. Domain name El nombre del dominio al cual pertenece la máquina. a cada interfaz. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 11 DE 92 .edu.mx están clasificados de la siguiente forma: o o o o o .mx Para proveedores de servicios de Internet localizados en México . Esta es la misión del protocolo IP. NIC-México se reserva el derecho de rechazar cualquier nombre que considere sea ofensivo o afecte los derechos de alguna institución o persona. las redes en diferentes tipos según el número de nodos que las componían. identificadas con el primer byte de la dirección IP. normalmente la tarjeta de red. los más importantes son: Local Host Name El nombre que identificará a la computadora y que debe ser único en la red en que se encuentre conectada. así tenemos por ejemplo: • Redes de clase A.mx Para asociaciones no lucrativas en México .mx Para instituciones gubernamentales en México . Cada computadora conectada a una red necesita estar perfectamente identificado de forma que los paquetes que la tengan como destinatario sean capaces de localizarla de forma inequívoca. El siguiente párrafo es una cita de las políticas de nombres de dominios del NIC de México: • • • • • La longitud total del dominio no deberá exceder los 26 caracteres. Por lo tanto. 16 millones de nodos.net. aproximadamente. cada una.gob.org. Actualmente las direcciones IP están compuestas por un número único de 32 bits que se asigna a cada nodo de la red.mx Para instituciones de educación o investigación .com. Dirección IP y máscara de red. o más exactamente. tal vez arbitrariamente. letras del alfabeto inglés y el guión (-). Desde los comienzos de Internet se clasificaron. Los nombres de dominio no deberán comenzar o terminar con el guión (-) ni llevar dos guiones (--) seguidos. Los subdominios bajo . Parámetros de configuración de TCP/IP Existen varios parámetros que deben configurarse en este protocolo. Los caracteres válidos son números. pueden albergar.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX utiliza para navegar en Internet. Los nombres de dominio pueden tener desde dos hasta un máximo de 26 letras. transferir archivos etc.mx Para entidades comerciales y aquellas que no se incluyan en las clasificaciones anteriores.

el NIC (Network Information Center).255. al ser una red virtual. se hace la operación lógica and entre los bits de la dirección IP y la máscara de red para obtener el identificador de host. mientras que si no se conectan directamente a otras redes.0.0. pudiendo estar formadas por 254 equipos.255.255 Notas La versión actual es IPv4 aunque se está preparando la IPv6 donde cada equipo tendrá un número de 128 bits. La máscara se construye con 32 bits que pueden valer uno o cero.0 192.0. etc. Redes de clase C. Conceptualmente.255.255.255. en la cual a cada host en internet se le asigna una dirección entera única llamada "dirección Internet" o dirección IP. cada dirección IP debe tener una de las tres primeras formas mostradas en la figura 3. Los detalles de las direcciones ayudan a clarificar estas ideas abstractas.0. Una dirección IP codifica tanto la identificación de de la red a la cual el host está conectado. esta implementada enteramente en software. que es usada en todas las comunicaciones con ese host.255.0 Dirección hasta 127. Direcciones Internet Internet. direcciones. si no disponemos de una red con direcciones públicas. identificadas con los dos primeros bytes de la dirección IP. cada dirección es un par (netid.0 128.0 255. identifican perfectamente al equipo y a la red de la que forma parte. podemos asignar los números de cada nodo libremente. y hostid identifica un host en esa red. Constan de unos 65.255. es decir. como la identificación del host. hemos de disponer de nuestro propio número de red asignado por el organismo regulador de la direcciones públicas de Internet. reservando el último byte para identificar el nodo. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 12 DE 92 . TCP/IP tiene un esquema de direcciones análogo al direccionamiento de una red física.0.255 223. identificadas con los tres primeros bytes de la dirección IP. Dirección Broadcast Esta dirección de difusión se usa para enviar paquetes de datos que todos los equipos de la red pueden recibir.0. Si las máquinas de nuestra red deben conectarse a otras redes públicamente.255 191.0.0. Para separar estos dos identificadores se usa la máscara de red.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX • • Redes de clase B. donde netid identifica una red. Los cuatro bytes de la dirección IP de cada computadora. Así los diseñadores son libres de seleccionar los formatos de paquetes.0. aumentando exponencialmente las posibilidades de expansión de la red Internet. En la práctica.0 255. El rango reservado para cada tipo de red es: Tipo de red A B C Máscara de red 255.0 Dirección desde 0. La máscara de red tiene como misión "ocultar" los bytes correspondientes a la identificación de la red y dejar "visibles" los usados para identificar el nodo. hostid).000 nodos cada una.2.255. Se forma con los bits de la identificación de host y colocando 1’s en el resto de bits. A cada host en Internet TCP/IP se le asigna una dirección Internet única de 32 bits. técnicas de entrega.255. aunque lo más adecuado es utilizar un número de red reservado para este propósito.

el software de Internet interpreta los campos que contienen 0s como "Este". 2. Las direcciones de la clase A son usadas para redes muy grandes (con más de 216 o 65536 hosts). 3. Para las pasarelas. En general. la dirección consiste de treinta y dos 1s. Por convención. su clase está determinada por los primeros tres bits de mayor orden. reserva 21 bits para el netid y 8 para el hostid. el cual proporciona una dirección de broadcast para la red local. 4. Las cinco formas de direccionamiento Internet Dada una dirección IP. Las direcciones IP pueden ser usadas para referirse a todas los hosts ("broadcast"). reservando 14 bits para el netid y 16 para el hostid. 1. Esta forma de direccionamiento a todos los hosts de una red se llama dirección broadcast dirigida. Por convención.2. la clase C para redes menores de 256 hosts. se puede usar un netid de 0 en aquellos casos en que el host desea comunicarse sobre la red. siendo suficientes los dos primeros para distinguir entre las tres clases primarias. esta eficiencia es importante. que usan el enrutamiento basado en el netid. este direccionamiento es significativo en el contexto en el que pueda interpretarse sin ambiguedad. un hostid 0 se refiere a "este" host y un netid 0 se refiere a "esta" red. Direcciones broadcast y de red Enseguida se mencionan algunas capacidades adicionales de direccionamiento de las direcciones Internet. una dirección de broadcast tiene un hostid con todos los bits en 1. 7 bits se dedican al netid y 24 al hostid. las direcciones de red tienen un hostid con todos los bits en 0. Notése que la dirección IP ha sido definida de tal forma que es posible extraer fácilmente el netid o el hostid. independientemente de su dirección IP.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Figura 3. Por supuesto. Así. Las direcciones IP pueden ser usadas para referirse tanto a redes como a hosts particulares. Las direcciones de la clase B son utilizadas para redes de tamaño intermedio (entre 256 y 65536 hosts). sino una conexión a la red. Por ejemplo. Otra forma de direcciones broadcast es llamada direccionamiento broadcast local. pero todavía no sabe la dirección IP de la red (su netid). En este caso. Finalmente. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 13 DE 92 . se soporta el direccionamiento "multicast". Considerando que las direcciones IP codifican una red y un host en la red. una para cada red que interconecta. no se especifica una máquina individual. Finalmente. 5. Así las pasarelas que conectan n redes tienen n diferentes direcciones IP.

DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Desventajas del direccionamiento Internet La más obvia desventaja es que el direccionamiento se refiere a conexiones. reciben la petición.30 Mapeo de direcciones Internet a direcciones físicas Considerando que dos máquinas pueden comunicarse solo si conocen mutuamente sus direcciones físicas de red. Cambiar las direcciones IP en el software de aplicación puede implicar una gran cantidad de tiempo. 00001010 00000010 00011110 CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 14 DE 92 . cuando el host A desea resolver la dirección Internet Ib manda un paquete broadcast especial pidiendo al Host con esa dirección IP que responda con su dirección física. Los diseñadores escogieron un protocolo de bajo nivel llamado " Protocolo de Resolución de Direcciones (ARP. si un host se cambia de una red a otra. aprovechando la capacidad de broadcast de las redes. Todos los Hosts.3 (a). donde cada entero representa un byte.2. no a hosts. usa la dirección física para enviar el paquete Internet directamente a B. éstas se escriben como cuatro enteros decimales separados por punto. falta mencionar como un host o una pasarela obtienen la dirección física correcta del host destino.3 (b)). Otra desventaja es que si una red de tipo C crece a más de 255 hosts. no pueden tener direcciones IP permanentes. "Address Resolution Protocol") para enlazar las direcciones dinámicamente. La dirección en formato de 32 bits siguiente: 10000000 Es escrita como 128. La solución permite que nuevas máquinas se agreguen a la red sin recompilación de código. Notación decimal punteada Con el fin de que las direcciones IP sean legibles por personas.10. pero solamente el host B reconoce su dirección IP y envia una respuesta que contiene su dirección física (figura 3. Cuando A recibe la respuesta. Este problema es conocido como el "problema de resolución de dirección". incluyendo B. se debe cambiar la dirección a una de clase B. su dirección IP debe cambiarse. Los diseñadores de TCP/IP encontraron una solución creativa a este problema. Como se muestra en la figura 3. también se cambia la dirección física. Recuérdese que en Ethernet la dirección física depende del hardware de interfase de red (usualmente una tarjeta) y si se cambia. Considérese el caso de computadoras personales portátiles que durante un viaje cambian de una red a otra. ni mantenimiento de una base de datos centralizada. Esto es.

La computadora servidor es la que se encarga de proporcionar el servicio de páginas html. si una computadora CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 15 DE 92 . cada solicitud llega como un datagrama IP y el servidor también responde con un datagrama. para ello ejecuta una aplicación o demonio (Por ejemplo Apache Web Server) que esta a la escucha de solicitudes de los clientes que normalmente son aplicaciones cliente corriendo en máquinas remotas (por ejemplo Internet explorer. Los servidores aceptan solicitudes que llegan a través de la red. Ejemplos El ejemplo más común de aplicaciones cliente-servidor son los sitios WEB tan populares en Internet. el cual forma las bases de las comunicaciones por red. Para los servicios más sencillos.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Figura 3. Un programa en ejecución llega a ser un cliente cuando envia una petición al servidor y espera la respuesta. Como el modelo cliente-servidor es extensión natural y conveniente de la comunicación entre procesos de una misma máquina. Netscape. el servidor ejecuta la operación y regresa el resultado.). es decir. Nota: En la comunicación cliente servidor no necesariamente se involucra una computadora remota. Un servidor de archivos recibe peticiones para ejecutar operaciones de guardar o recuperar información de un archivo. Los servidores pueden ejecutar tareas simples o complejas. etc. y regresan el resultado al solicitante. es fácil construir programas que lo usen para interactuar.3. Por ejemplo un servidor del tiempo-del-día regresa el tiempo actual cuando un cliente le envía un paquete. ejecutan su servicio. El término servidor se aplica a cualquier programa que ofrece un servicio que puede ser accesado a través de la red. sino que ambas aplicaciones pueden estar corriendo en una misma computadora. El protocolo ARP Modelo de interacción cliente-servidor El patrón principal de interacción entre aplicaciones cooperativas es conocido como el paradigma clienteservidor.

DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX proporciona servicio de Web la misma computadora puede usar un cliente navegador para hacer las peticiones como cliente.168. Las dos últimas líneas dan estadísticas sobre el número de paquetes recibidos y transmitidos.1 netmask ff000000 perf. la interfaz de bucle interno de software. especialmente si usa subredes.0. El usuario puede ver la dirección IP asignada "inet".1. La llamada básica a ifconfig es la siguiente (supongamos que se trabaja en la máquina 192.3 CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 16 DE 92 .0.3): $ifconfig net0 192.LOOPBACK. ftp.0. full-size frames: 1 Este ejemplo usa lo0. El nombre de la interfaz de red del sistema de bucle interno es “lo0”. etc.0.168. máscara de red "netmask".1 Esta instrucción activa la interfaz de bucle interno y le asigna la dirección 127. Al ejecutar ifconfig con el argumento -a se provoca la salida del estado de todas las interfaces de la red que conoce el kernel.1. Configuración de una interfaz de red La configuración de una interfaz de red Ethernet requiere un poco más de trabajo. La interfaz está activa (UP) con una unidad máxima de transferencia (MTU) de 8232.0. send size: 57344. El siguiente listado muestra el resultado de ifconfig: $ ifconfig lo0 lo0: flags=4049<UP.0. nfs.MULTICAST> mtu 8232 inet 127. Esta acción normalmente se ejecuta en los scripts de inicialización de manera automática por el sistema (aún cuando no existan interfaces de red ethernet). nunca será asignada a nadie por el NIC. que se describe más adelante. Configuración de la interfaz de bucle interno de software Todos los sistemas Linux que tengan un nivel de conexión en red instalado en el kernel tienen una interfaz de bucle interno de software. Otros ejemplos de aplicaciones son telnet. 127. Para que el sistema de bucle interno sea totalmente operacional.0.0. Uso de ifconfig (/etc/ifcofig) para inspeccionar una interfaz de red Al ejecutar ifconfig con sólo un nombre de interfaz en la línea de comandos se imprime el estado de la interfaz. Si se quisiera configura la interfaz podría hacerse con lo siguiente: $ ifconfig lo0 127. el usuario ha de añadirle una ruta con el comando route.RUNNING. Esta interfaz se usa para comprobar las aplicaciones de conexión en red y para suministrar una red para servicios TCP/IP locales cuando el sistema no está conectado a la red real. Params: recv size: 57344. que es la dirección que se usa tradicionalmente para el bucle interno porque la red de Clase A.1.0.

255.128 Ruteado de TCP/IP El ruteado determina la ruta de acceso que toma cualquier paquete desde su fuente. es suficiente usar el comando route para instalar rutas estáticas en cada sistema en el momento del arranque.82. Si el usuario usa subredes. Esto se realiza normalmente en el momento del arranque con el script /etc/rc2. El programa de ruteado suministra un ruteado dinámico al comunicarse con programas de ruteado de otros sistemas e instalar rutas basadas en lo que aprende sobre la topología de la red. minimizando la complejidad de los archivos de configuración y el ancho de banda usado por los programas de ruteado dinámicos. a través de la red. hasta su destino. debe indicar explícitamente la dirección de difusión y la máscara de red. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 17 DE 92 .d/S90iproute con el cual se pueden agregar rutas de manera automática. La tabla de ruteo del kernel contiene información del tipo "Para ir a la red X desde el sistema Y.MULTICAST> mtu 1500 inet 192. La ruta predeterminada. Política de ruteado El primer paso para instalar un ruteado en su red es decidir una política de ruteado.255 perf. mande el paquete al sistema Z con un coste de 1".127 netmask 255. Esta ruta se determina comparando la dirección IP de destino con las tablas de ruteo del kernel y transmitiendo el paquete al sistema indicado.3 broadcast 166.RUNNING. send size: 24576. está definida en un sistema pasarela que realiza ruteado dinámico y que tiene información sobre el resto del mundo.1.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Esto provoca que ifconfig active la interfaz Ethernet 0 y le asigne la dirección IP indicada. Enseguida se describen los argumentos de la línea de comandos de route.BROADCAST. juntamente con los valores de tiempo de expiración y fiabilidad de esta ruta. Los sistemas de cada subred usan ruteado estático para alcanzar a sus vecinos inmediatos.10 netmask ffffff00 broadcast 198. la usada por los paquetes que no concuerdan con ninguna otra ruta de la tabla de ruteado. Al examinar la interfaz net0 en este punto se ve el siguiente código: $ifconfig net0 net0: flags=4043<UP. Por ejemplo.168. Una estrategia muy común combina ruteado estático y dinámico. debe indicar la dirección de emisión y la máscara de red cuando ejecute ifconfig. full-size frames: 1 ether 00:50:df:16:1c:c4 Observe que ifconfig ajustó automáticamente la dirección de difusión y la máscara de red basándose en la dirección IP proporcionada.1. De esta forma se pueden construir grandes redes. Las grandes redes con numerosas subredes o redes conectadas a Internet requieren el uso de un ruteado dinámico.168.1.168. que puede o no ser el destino del paquete. $ifconfig net0 192. si tiene una red de clase C y usa el primer bit en la parte del sistema de la dirección para hacer dos subredes. En el caso de redes pequeñas y no conectadas. Uso del programa route (/etc/route) El programa route manipula la tabla de ruteado del kernel y se usa para definir rutas estáticas a otras computadoras o redes a través de interfaces que han sido configuradas y activadas por ifconfig.1. Params: recv size: 24576.255.

Flags Los indicadores de la ruta (U=arriba. de la tabla de ruteado.1 BASE-ADDRESS. Campo Descripción Destination El destino del paquete de la ruta mostrada Gateway El nombre del sistema o la dirección IP de la pasarela que usa la ruta. La primera indica la pasarela por default y la tercera una ruta a la subred de la que es miembro el host.168. G=pasarela. H=host.1. Examen de la tabla de ruteado del kernel.254 localhost sam sam Flags UGS UH UCS UCS Refs 0 1 0 0 Use 45 2 0 0 Interface net0 lo0 net0 net0 La entrada a la tabla del bucle interno es la misma que antes y presenta dos nuevas entradas.168.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Argumento s flush delete add Descripción Elimina todas las entradas gateway de la tabla de ruteo Este comando suprime la ruta de la dirección de destino indicada. A continuación se muestra el significado de los campos de la salida anterior. S=ruta estática. agrega a la tabla de ruteado una ruta a la dirección o red indicadas. Ejecutar netstat -r provoca que se muestre la tabla de ruteado actual. Agregagando rutas estáticas CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 18 DE 92 .MCA Gateway 192. M=modificada) Ref El número de otras rutas que dependen de la presencia de esta ruta Use El número de veces que se ha usado la entrada de la tabla de ruteado Interface La interfaz de red a la que la ruta suministra paquetes # netstat -r Routing tables Destination default localhost 192. como se indica a continuación: $ netstat –r Routing tables Destination Gateway localhost localhost 224 sam Flags UH UCS Refs 3 0 Use 56 0 Interface lo0 net0 Esta tabla corresponde a un sistema con sólo la interfaz de bucle interno activada y la ruta para multicast (224 = BASE-ADDRESS.MCA).

168. A continuación se muestran algunos ejemplos. La sintaxis de los argumentos de la línea de comandos es $route add [-interface] [-netmask new_mask] [ -host | .168. El programa de ruteado supondrá lo que en circunstancias normales no se indique Forza que el destino sea interpretado como un host o como red La dirección destino de la nueva ruta.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX El usuario agrega rutas a la tabla ejecutando el programa de ruteado con el argumento add. el gateway especificado (ultimo parámetro) es la dirección de este host en la red.168.hots | . Por ejemplo.net ] destination gateway Enseguida se describen los argumentos de la línea de comandos que usa el comando route add. El siguiente ejemplo muestra cómo definir la ruta para la pasarela: #route add default 192.1 No se necesita más porque route compara la dirección recibida con las direcciones de las interfaces conocidas y asigna la interfaz de bucle interno a la nueva ruta (Esto normalmente lo hace el sistema de manera automática). $ route delete –interface –net 192.0.254 Supresión de rutas con el comando route Se suprimen rutas llamando a route con la opción del.net destination Descripción La ruta usa un interfaz en lugar de un gateway. indicando la dirección destino de la ruta que quiere borrar. Indica que cualquier paquete para esta dirección sea ruteado a través de la pasarela indicada gateway Cuando agregue una ruta de pasarela a la tabla de ruteado. Normalmente tendrá que agregar una ruta estática para la pasarela antes de añadir la ruta que usa ésta.1. se le debe agregar una ruta como se muestra a continuación: $route add 127.1 192. Indica la máscara de red de la ruta que se agrega. Esta puede ser una dirección IP. Argumento -interface netmask . indicando que la interfaz es utilizada para transmisión.0 CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 19 DE 92 .0. Después de configurarlo con ifconfig.97 suprime la ruta de la red 192. asegúrese de que la pasarela indicada es accesible.1. comenzando con la interfaz de bucle interno. un nombre de sistema o de red. Se puede usar default cuando el destino no se encuentre en las subredes a las que el host tiene conexión física.168.1. el parámetro gateway debe especificar la puerta de enlace.

y las direcciones de las diferentes máquinas estén correctas. etc. www.google. Si se específica un id de presentación (o una lista de ids de presentación) como argumento de finger.21 CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 20 DE 92 . pasarelas.239.conf para que contenga al menos una dirección de otra computadora que proporcione el servcio de DNS.e. Para obtener información sobre usuarios en máquinas remotas se pueden utilizar estos formatos: $ finger usuario@máquina $ finger @máquina Configuración del cliente DNS. finger) Para verificar que el hardware de red (tarjeta de red o puerto serie) este configurado correctamente.1.29 ó bien utilizando los nombres de un host de la siguiente forma: ping maquina.dominio Si se recibe respuesta.com) requiere que en algun lugar se haga la traducción de las mismas a direcciones numéricas (p. 216.2 nameserver 148.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Información de la Red (ping. Si se usa un dirección mnemónica en lugar de numérica se debe tener configurado el cliente DNS.1.100). significa que el protocolo de comunicación y por consecuencia el hardware de la trayectoria está funcionando correctamente.216.) pidiendo una respuesta. que puerto de terminal está utilizando cada uno y cuándo se ha presentado en la máquina. podemos usar el comando ping.1. se proporciona un informe más explicativo para esos usuarios.conf puede ser: nameserver 148. Para que la computadora pueda utilizar direcciones mnemónicas (p. El contenido del archivo /etc/resolv.51.5. Al ejecutar el comando ping sobre la máquina local.e.216.216. Este comando envía paquetes a otras máquinas (concentradores. esto se puede realizar configurando el cliente en el archivo /etc/resolv. La orden finger informa sobre cada usuario. La sintaxis es: ping 148. se verifica si el dispositivo de la red local está bien configurado y trabajando adecuadamente.

Determine una que le resulte fácil de recordar. no contenga palabras que se encontrarían fácilmente en el diccionario. Para tal fin nos valdremos del comando userdel El comando userdel. se puede realizar utilizando el comando passwd del siguiente modo: # passwd nombre_del_usuario Ejemplo: # passwd Joel Eliminar una cuenta de usuario. etc. Fue el método comúnmente utilizado antes de la aparición del Account Manager. La síntaxis básica de este comando es la siguiente: # userdel nombre_del_usuario CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 21 DE 92 . los servicos que trabajan en el trasfondo. se alteren accidentalmente la configuración del sistema. Aunque el sistema siempre tratará de prevenirlo cuando se escoja una mala contraseña. Después de crear la nueva cuenta con useradd lo que sigue a continuación es específicar una contraseña para el usuario. En ocasiones un administrador necesitará eliminar una o más cuentas de usuario. el sistema no le impedirá que lo haga. mayúsculas y minúsculas y que. Lo primero: el comando useradd. Este es un procedimiento principalmente utilizado en servidores y estaciones de trabajo a los cuales acceden múltiples usuarios. Una cuenta de usuario contiene las restricciones necesarias para impedir que se ejecuten comandos que puedan dañar el sistema. misma que solo debe utilizarse para la administración del sistema.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX ADMINISTRACIÓN Creación de cuentas de usuarios Unix es un sistema opertivo con muchas características y una de estas es el estar diseñado para ser utilizado por múltiples usuarios. es importante recordar que no es conveniente realizar el trabajo diario desde la cuenta de root. Creando una cuenta en el modo de texto: useradd y passwd Este procedimiento puede realizarse de forma segura tanto fuera de XWindow como desde una ventana terminal en el entorno gráfico del que se disponga. Específicar una nueva contraseña para un usuario. Aún cuando se tenga una PC con un único usuario. preferentemente. los permisos y ubicación de los archivos y directorios de sistema. que mezcle números. o bien cambiar la existente. El primer paso para crear una nueva cuenta consiste en utilizar el comando useradd del siguiente modo: # useradd [options] nombre_del_usuario Ejemplo: # useradd –d /usr/Joel -m Joel Lo segundo: el comando passwd.

uno por cada orden. como se muestra aquí: $ cat /etc/passwd & 1536 $ Generalmente la entrada y salida de las órdenes que se ejecutan en modo subordinado son redirigidas para que la sesión del terminal no se vea interrumpida por su salida: CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 22 DE 92 . aun cuando el proceso que acaba de ser creado sigue ejecutándose en el sistema. kill y top) Los aspectos multitarea del sistema Unix se agrupan generalmente bajo el tema del proceso. porque siempre está presente hasta que el usuario se despide. o tarea. En esta sección discutiremos cuestiones asociadas con la multitarea y consideraremos cómo se puede controlar el entorno de ejecución para que el usuario lo aproveche. La línea de orden $ cat /etc/passwd | wc Genera dos procesos. Procesos subordinados El shell dispone del operador & (ampersand) para permitir la ejecución de órdenes en modo subordinado. Los procesos tienen muchas propiedades y hay muchas órdenes para manipular los procesos y sus propiedades. cada uno de los componentes se convierte en un proceso separado. es una instancia de un programa en ejecución. El proceso en Unix. La orden: $ cat /etc/passwd genera un proceso que subsiste hasta que la operación cat se completa. esa orden es un proceso mientras se está ejecutando. Si usted ejecuta una orden desde el prompt $. ya que no ha sido redirigida.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Ejemplo: # userdel Joel Otra forma de administrar cuentas de usuarios es utilizar el Account Manager. como se muestra a continucación: $ cat /etc/passwd & En este ejemplo la orden cat se ejecuta en modo subordinado. Si se crea una línea de cauce shell utilizando el operador |. Cuando se ejecuta una orden utilizando &. Para utilizar el & se añade al final de una línea de orden. El shell de presentación es un proceso mientras el usuario abre una sesión. Un proceso. y luego devuelve el indicador para pedir otra orden. pero su salida sigue apareciendo en el terminal. (comandos &. ps. El shell devuelve un número de proceso o pid (por identificador de proceso). de modo que el usuario puede referirse al trabajo subordinado. el shell vuelve inmediatamente para solicitar la introducción de otra orden. Antes de continuar examinaremos unos pocos ejemplos.

copia & 1540 $ Se puede redirigir la salida de error estándar también. los miembros de la línea de cauce que no lleven la orden nohup serán eliminados durante la despedida y la línea de cauce global se colapsará. ya que si el usuario se despide de la máquina no habrá terminal al que dirigir la salida. colóquelo al comienzo de la línea de orden. Generalmente. Esta orden redirige tanto la salida como el error estándar: $ cat /etc/passwd > fich. éstos serán eliminados cuando usted se despida. Por ejemplo: $ nohup cat /etc/passwd & 1565 Sending output to nohup. de no hacerlo aparecerá en el terminal aún cuando se haya redirigido la salida estándar.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX $ cat /etc/passwd > fich. El usuario puede vigilar el estado de los procesos subordinados con la orden ps.sal & Si no se hace así. nohup crea un archivo de salida por sí mismo. El sistema UNIX permite crear tantos trabajos subordinados como se desee. se puede examinar la salida a conveniencia. Si se ha redirigido la salida a un archivo.sal & 1544 $ por otro lado se puede desear que el error estándar aparezca en el terminal. el sistema no muestra ninguna notificación. Si no se redirige la salida. Despedida mientras se ejecutan procesos subordinados Si usted ha creado procesos subordinados durante una sesión. se debe iniciar cada elemento de la línea de cauce con la orden nohup. Cuando se utilice nohup con una línea de cauce.copia 2>error. Cuando se completa un proceso subordinado. nohup se utiliza con órdenes subordinadas. aunque el rendimiento del sistema sufre notablemente si se crean demasiados.out CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 23 DE 92 . puesto que el usuario no puede despedirse si no tiene un prompt. puesto que están asociados con el shell de presentación. como se muestra aquí: $ nohup cat /etc/passwd | nohup wc > fich. Esta es la orden nohup. para disponer de notifícación inmediata de los errores producidos en los procesos subordinados. que puede ser muy útil para trabajos largos que pudieran ejecutarse durante toda la noche (o toda la semana). El sistema UNIX proporciona una herramienta que permite que los procesos subordinados continúen ejecutándose después de la despedida. Utilice nohup del mismo modo que utiliza nice. como se muestra aquí: $ nohup cat /etc/passwd & Este ejemplo le dice a la orden cat que ignore la despedida del usuario del sistema y continúe ejecutándose hasta su terminación.

» (Envío de la salida a nohup. Esta orden muestra información acerca de los procesos que están vivos cuando se ejecuta la orden. generalmente 32767. del que lee y al que escribe. Si se ejecuta la orden más de una vez.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Aquí se obtiene el número de identificación del shell ya que se utilizó el operador &. como se muestra aquí: $ ps -f UID steve steve PID 756 761 PPID C 572 6 756 23 STIME 13:04:57 13:05:19 TTY ttyp1 ttyp1 TIME CMD 00:01:00 sh 00:01:00 ps -f El nombre de la orden. Tenga cuidado de manejar la salida de error estándar separadamente si no desea que aparezca en el archivo nohup.out. y cada nuevo proceso obtiene el siguiente número hasta que se alcanza el máximo. Realmente hay mucha más información asociada con cada proceso. sino la cantidad total de tiempo de CPU que el proceso ha utilizado desde que comenzó. ya que cada proceso es propiedad del id de presentación que lo creó. Cada proceso listado tiene un tiempo de ejecución asociado a él . que revela el propietario del proceso. Si se ejecuta la orden ps sin argumentos.. ps produce una «instantánea» de la actividad de la máquina. que nace cuando se hace la presentación ante el sistema. sin embargo. y parte de esta información está disponible con la opción -f (full o completa) de ps. la salida es probable que sea diferente cada vez. el tiempo de ejecución. A la izquierda está el id del usuario. se pueden examinar los procesos que están actualmente vivos en la máquina con la orden ps (del Inglés process status . es decir. Este no es tiempo transcurrido o de «reloj». Los hijos generalmente tienen un pid mayor que el de los padres. Algunos procesos no están asociados a ninguna terminal. El fíchero nohup.. listado en una columna de la salida.out en el directorio actual contendrá los resultados de la orden ejecutada bajo control de nohup. un hijo puede haberse reciclado a un número más bajo. Puesto que el sistema creó el shell para el usuario cuando éste se presentó ante la CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 24 DE 92 . Un proceso que está asociado con el shell de presentación está generalmente. ésta muestra información acerca de los procesos asociados con la sesión de presentación. La orden ps Como se mencionó anteriormente.estado de los procesos). un pid asignado a un proceso que sigue estando vivo no será reasignado a un nuevo proceso.dos segundos para la orden ps en este ejemplo. por ejemplo: # ps PID 807 728 # TTY ttyp1 ttyp1 TIME CMD 00:02:00 ps 00:01:00 sh Esta salida revela que hay dos procesos en ejecución: uno para el shell. conectado al terminal de presentación. En este ejemplo el proceso ps fue el proceso 807. la cuenta comienza de nuevo desde 0. el tty y el pid son visualizados en esta salida. pero no siempre.out) procede de nohup como si creara un archivo de salida. Finalmente. La columna PPID lista el pid del padre de cada proceso. Cuando se alcanza el número máximo. y otro para la ejecución de la orden ps. y muere con la despedida. en cuyo caso la columna TTY contiene un signo ? (interrogación). Un proceso también puede tener un terminal asociado. y también hay disponible alguna información adicional. pero si el pid del padre está cerca del máximo. y el mensaje «Sending output. Los pids comienzan en 0 cuando el sistema se arranca. cada proceso tiene un pid único que lo identifica dentro del sistema.

C. Aparentemente el usuario root se presentó inmediatamente después de que la máquina fuese arrancada. lista la cantidad de recursos de Procesador que el proceso ha utilizado recientemente. su pid padre será un número muy bajo. Este formato se emplea únicamente para reducir el tamaño de la salida. Lista de la actividad de otros usuarios La orden ps también puede proporcionar información acerca de lo que los otros usuarios están haciendo en la máquina en cualquier instante. STIME indica la hora del día en que se inició el proceso. para procesos que fueron iniciados en días anteriores. Si examina la columna STIME. como indica la columna TTY. Sin embargo. de modo que el pid padre del proceso ps es el pid del shell. el pid asociado con parte del núcleo. puede visualizar el estado de los procesos de ese usuario con $ ps -u usuario donde usuario es el id que representa al individuo en quien usted está interesado. Para hacer esto.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX máquina. puede ver algo más: el tiempo de inicio de un proceso está expresado en formato hh:mm:ss para las horas de hoy. El núcleo utiliza esta información para decidir cuál de los varios procesos obtiene acceso la próxima vez al CPU. sólo se da el mes y el día. puesto que tiene un pid relativamente bajo asociado con esa presentación. Procesos del sistema Hemos examinado los procesos asociados con cada usuario. pero también existen procesos de larga duración que soportan las actividades del sistema y otros procesos transitorios que nacen y mueren cuando el sistema efectúa tareas propias independientemente de los usuarios individuales. La siguiente columna de la salida. El padre de la mayoria de los procesos creados por el sistema es generalmente el pid 1 cuando se observan los procesos en las terminales modo texto. Se puede trazar cadenas de padres e hijos examinando sus pid y ppid. La orden nice funciona modificando el algoritmo interno por el cual se calcula este número. observe que hay otro usuario actualmente presente en la máquina. Su id de presentación. utilice la opción -af (por todos [all]) del modo siguiente: $ ps -af UID root steve steve PID 82 756 762 PPID 1 1 756 C 0 3 1 STIME Apr 9 13:04:57 13:05:28 TTY tty02 ttyp1 tty03 TIME CMD 00:00:05 -sh 00:00:01 -sh 00:00:00 ps -af Aquí hay varias cuestiones de interés. está reservado a un administrador del sistema y sólo puede iniciarse sesión desde la consola del sistema principal. Si usted sabe que un usuario específico está presente en el sistema. Se puede utilizar esta información para rastrear procesos antiguos o desviados que hayan permanecido incorrectamente en el sistema durante largo tiempo. Generalmente. Cuando el usuario ejecutó la orden ps. El núcleo permitirá a un proceso con un valor de C bajo que tome control del CPU antes que uno que tenga un valor más alto. La salida de ps -e es CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 25 DE 92 . Finalmente. el sistema UNIX guarda todos los tiempos exactamente. el shell creó ese proceso. root. En un sistema pequeño es más fácil listar la actividad de todos los usuarios de una vez. Primero. esta columna no es muy útil excepto para los programadores que trabajan sobre mejoras del núcleo y sobre rutinas de entrada y salida. La opción -e (por todos [every]) de ps muestra información acerca de todos los procesos activos en la máquina.

existe la posibilidad de que los datos de los buffers no coincidan con los del disco si el sistema falla inesperadamente o se cae. A continuación está fsflush (por vaciado del sistema de archivos . Sólo lo que ha sido modificado se escribe al disco cada vez. el cual mantiene en ejecución los procesos permanentes del sistema. Los procesos sched. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 26 DE 92 . pero en máquinas pequeñas suele producirse una vez cada veinte segundos. trate de entender qué procesos son normales.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX muy útil para examinar lo que la máquina está haciendo «a sus espaldas». Este proceso se denomina sched y tiene asignado el pid 0. que gestiona la memoria virtual de la máquina e intercambia parte de los procesos activos entre el disco y la memoria real cuando son ejecutados o apartados temporalmente. El proceso pageout obtiene el pid 2 y kmdaemon el pid 4. que gestiona la E/S de disco en el sistema. para tener idea de lo que es normal. El proceso kmdaemon (por demonio de memoria del núcleo . sched arranca init (por inicialización). Además.kernel memory demon) maneja la misma tarea para las partes del propio sistema operativo.file system flush). y es vital para diagnosticar problemas. El proceso init tiene asignado el pid 1. El proceso fsflush tiene el pid 3. El proceso pageout es responsable de la mayor parte del trabajo administrativo que el sistema hace para gestionar los procesos en el entorno multitarea. La salida exacta depende del software que haya instalado en la máquina y de qué dispositivos de E/S hardware estén conectados al sistema. kmdaemon y pageout trabajan en estrecha compenetración y componen la parte medular del núcleo. Puesto que el sistema contiene muchos buffers de datos internos que actúan de modo semejante a un disco RAM en otros sistemas operativos. y es responsable de la determinación de qué procesos entre los que están listos para ejecutarse obtendrán realmente acceso a los recursos de la máquina. Cuando usted pase a una nueva versión en una nueva máquina. Esta es la clave para las características de tiempo compartido del sistema UNIX. esta salida podría ser típica: $ ps -ef UID root root root root root root root root root root PID 0 1 2 3 4 173 245 174 184 163 PPID 0 0 0 0 0 1 173 1 174 1 C 0 0 0 0 0 0 0 2 8 0 STIME Mar 31 Mar 31 Mar 31 Mar 31 Mar 31 Mar 31 Mar 31 09:16:14 09:16:48 09:16:10 TTY ? ? ? ? ? ? ? console console ? TIME 0:00 0:01 0:00 0:00 0:00 0:00 0:03 0:01 0:00 0:00 CMD sched /sbin/init pageout fsflush kmdaemon /usr/lib/saf/sac -t 300 /usr/lib/saf/ttymon -sh ps -ef /usr/sbin/cron Esta salida corresponde a un sistema «básico» configurado sin muchos paquetes software adicionales. fsflush escribe periódicamente todos los buffers al disco provocando una operación sync. Para evitar esto. A su vez. diferentes versiones del sistema UNIX organizan los procesos del sistema de forma muy diferente. Si usted ejecuta la orden $ ps -ef sobre un sistema SVR4 basado en el Intel 80 x 86. El primer proceso ejecutado cuando se arranca la máquina es el scheduler (planificador). Con cuánta frecuencia esto se produzca es un parámetro dependiente del sistema. para que pueda identificar problemas o errores en la salida de ps cuando las cosas vayan mal. pruebe las órdenes ps frecuentemente en su propio sistema. A continuación viene pageout.

si se hace que el subsistema de impresión lp se esté ejecutando en el sistema. Por ejemplo. pageout. o un proceso que se ejecuta bajo control de los subsistemas de temporización. Observe que el ppid de muchos procesos en el sistema es 1. El resto de los procesos que aparecen en la salida de ps -ef pertenecen o bien a los usuarios o a aplicaciones especiales que éste está ejecutando. y permanecen vivos hasta que el sistema es desconectado. Este puede ser o bien un proceso permanente del sistema como fsflush. Un demonio es un proceso del sistema que actúa sin que un usuario lo solicite. como Ipsched (y lpNet) para el subsistema lp. Si usted está utilizando el sistema de ventanas XWindows y el paquete de conexión en red Ethernet (TCP/IP). pero el disco de la máquina estará trabajando a tiempo completo. fsflush. el sistema probablemente ni siquiera estaría lo suficientemente sano para ejecutar ps.walld. la columna TIME de la salida ps -ef puede mostrar una gran cantidad de tiempo de CPU aparente asignado a estos procesos. Todo el resto de los procesos del sistema pueden trazar su paternidad hasta init. que representa al núcleo. ya que init es el responsable del mantenimiento de los procesos del sistema según los contenidos del archivo /etc/inittab. Los procesos rpc. En el último caso. Monitoreo de la actividad del usuario Unix ofrece el comando top para monitorear continuamente el estado de todos los procesos del sistema. Si usted está haciendo operar la máquina como servidora en un LAN tendrá presentes incluso más demonios de red. y repcbind atiende a las peticiones de llamadas a procedimierttos remotos. también tendrá presentes otros varios demonios. pero todos los procesos que no tienen padre vivo son últimamente heredados por init. el sistema se hará sustancialmente más lento y tardará generalmente varios minutos en iniciar cualquier orden. rpc. Por esta razón. estos procesos del sistema están almacenados en disco dentro del archivo /stand/unix. Si la aplicación es una orden. Su proceso morirá prematuramente. Diagnóstico de problemas con procesos Una aplicación que no esté actuando correctamente del modo que fue diseñada mostrará generalmente uno de los siguientes modos de fallo: 1. un proceso de aplicación que está siempre ejecutándose. Algunas CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 27 DE 92 . Hay muchas más opciones para la orden ps. la cuenta de pid sigue creciendo. Estas cifras no son siempre precisas. si estos procesos del nucleo no estuvieran funcionando.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Excepto por init. El proceso inetd es el proceso de atención básica para la actividad de la red. Mientras los procesos crecen y nacen. habrá una línea en la salida de ps -ef para su demonio. No hay archivo de disco que contenga los procesos ejecutables sched. pero éstas son principalmente para uso de los diseñadores del sistema y creadores de aplicaciones. ya que algunas implementaciones asignan arbitrariamente todo el tiempo de CPU inactivo a sched o a otro de los procesos del núcleo. Generalmente estos procesos planificados no viven durante mucho tiempo. el sistema generalmente regresará al shell inesperadamente. init puede tratar repetidamente de generar la aplicación. pero se podría ver algunos de ellos cuando se ejecute ps. El controlador de terminal y otros procesos se derivan de init. Estos procesos son creados cuando el sistema es arrancado.sprayd soportan varias funciones a nivel de usuario en el sistema de red. y naturalmente incrementan la cuenta de pid. Esta no es generalmente causa de preocupación. como uuxqt. o kmdaemon. En el primer caso no se encontrará ningún proceso asociado con la aplicación en la salida de ps y la aplicación parecerá ejecutarse mucho más rápidamente de lo que es normal.rusersd y rpc. Si es un demonio.

como se muestra aquí: $ kill 573 Si la eliminación tiene éxito. El sistema UNIX proporciona herramientas para eliminar procesos. generalmente varios minutos o más de CPU.tar Eliminación de un proceso Cuando se detecta que un proceso se ha extraviado. De nuevo. El superusuario puede eliminar cualquier proceso del sistema excepto los pids 0. por lo que debería siempre comprobarse la salida de ps después de eliminar un proceso para asegurarse que éste ha desaparecido realmente. Ocasionalmente un programa fallará de tal modo que repetidamente genere más y más procesos hijos. pero no lentificarán notablemente la máquina.com/pub/skunkware/osr5/vols/top-3. Generalmente los procesos de tiempo compartido que se están ejecutando correctamente tardarán más en completarse si necesitan muchos recursos de CPU. Este caso es difícil de diagnosticar. y con ps puede generalmente determinar la fuente del problema. A veces este tipo de fallo se debe a un único proceso extraviado que es creado cada vez que se ejecuta la aplicación transgresora. Se puede instalar una versión del comando top que se obtiene del siguiente sitio: ftp://ftp2.5beta5-VOLS. 1. ya que se debe estar seguro de que no se trata de una aplicación correcta que tiene el uso legítimo de todo el tiempo de la CPU. Generalmente estos procesos inesperados tendrán el mismo pid padre. 2. A veces la columna TTY o STIME de la salida ps -ef puede ayudar a determinar dónde o cuándo fue iniciado el proceso extraviado. por lo que el pid padre del proceso extraviado no tendrá significado. Si usted ejecuta repetidamente ps -ef. Ocasionalmente un único proceso se descarriará y tomará todos los recursos de CPU que la máquina pueda concederle. y un usuario tiene permitido eliminar cualquier proceso del cual sea propietario. 3. verá que el proceso transgresor está obteniendo la mayor parte del tiempo de CPU en un sistema que de otra manera podría estar casi inactivo. Cuando esto sucede. Se puede detectar este problema si la máquina parece lentificarse notablemente y un solo proceso en la salida ps -ef ha acumulado mucho tiempo. también se deseará comprobar que el sistema no ha iniciado inmediatamente el proceso de CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 28 DE 92 . La orden kill se utiliza con la opción -9 y un pid como argumento para eliminar un proceso. los usuarios regulares tienen prohibido eliminar ningún proceso que no sea de su propiedad. el proceso desaparece de la salida de ps y la orden kill vuelve silenciosamente. la información clave para detectar problemas relacionados con procesos es una modificación notable en el tiempo de respuesta. Conforme usted adquiera más experiencia con la máquina. Generalmente. pero se puede tratar de ejecutar el presunto culpable y ver si se produce un nuevo proceso extraviado. Desgraciadamente. y este padre es probablemente la causa del problema. El proceso engendra muchos hijos. sin embargo. se verán varias copias del proceso extraviado. se puede desear eliminar el proceso. o una actividad inusual del disco que no tenga causa aparente. pero el padre generalmente ya no está activo.caldera. 3 y 4. aprenderá a detectar cambios en su rendimiento.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX veces un nuevo arranque del sistema reparará este tipo de problema. 2. pero con más frecuencia habrá que desinstalar la aplicación o incluso suprimir la entrada que se refiere al programa en /etcl/inittab. El proceso consume cantidades desmesuradas de tiempo de CPU. Este problema es más difícil de detectar. Se puede detectar este problema si la máquina baja su tiempo de respuesta sustancialmente o si hay muchos más procesos listados en la salida de ps de lo que es normal. o simplemente se ha iniciado algún trabajo largo que se desea detener antes de que se complete. muchas cosas pueden hacer que kill falle.

Estas señales se refíeren generalmente a varias condiciones de error dentro del sistema. el sistema UNIX le enviará la señal número 11. suprimimiendo la parte SIG. los hijos de éste pueden set heredados por init y en este caso los hijos no serán eliminados. Se puede especificar el número de señal para la orde kill como una opción. La señal número 9 provoca una eliminación inmediata e incondicional de un proceso. que funcionará inmediatamente. Cuando se ejecuta la orden kill. realmente se está instruyendo al sistema para que envíe a ese proceso una señal. Otras señales se envían cuando se conecta el terminal. si un proceso trata de acceder a memoria del sistema fuera del área de memoria «autorizada». una violación de segmentación de memoria. Generalmente si usted elimina un proceso que no debería haber sido eliminado. antes de eliminar un proceso debería determinar si tiene hijos y eliminar todos los hijos al mismo tiempo que el padre. Es misión de la aplicación responder adecuadamente a la señal. cuando se presiona la tecla DEL. el proceso no necesariamente acepta esta señal. Se pueden especificar múltiples pids como argumentos de la orden kill del modo siguiente: $ kill 4320 4326 4356 4356 La eliminación de procesos. especialmente cuando se ha hecho la presentación como root. cuando un proceso hijo muere y cuando el «reloj de alarma» interno se agota. ya que se puede estar interrumpiendo una función importante del sistema. tenga cuidado de no eliminar ningún proceso innecesariamente.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX nuevo (con un nuevo pid). Al eliminar un proceso. tal como se muestra aquí: $ kill -HUP 4369 De nuevo. Cuando se elimina un proceso. por omisión el sistema envía la señal 15 al pid o pids que hayan sido especificados. Por ejemplo: $ kill -9 4367 También se puede utilizar un nombre de señal lógico como los listados en signal(5). Sin embargo. por lo que hay disponible una señal de eliminación incondicional. bien muriendo o tomando alguna acción de modo que la condición que condujo a la señal no vuelva a darse. puede ser peligrosa. Las señales se utilizan para comunicación entre procesos y pueden enviarse muchas señales diferentes. Por tanto. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 29 DE 92 . Existen generalmente 31 señales en SVR4. por ejemplo. Esta es una señal de terminación software que generalmente hace que el proceso muera. tendrá que volver a arrancar la máquina para arreglar las cosas. la lista completa aparece en la página de manual signal(5).

y la versión SVR4 puede llegar a ser bastante segura. Sin embargo. dispone de muchos modos para que los usuarios accedan al sistema y muchas herramientas para comunicación entre usuarios y entre máquinas diferentes. y el sistema UNIX es ahora tan seguro como la mayoría de los sistemas operativos. que implementa los niveles de seguridad B2 o B3. y deberían hacerse barridas regulares del sistema de archivos para asegurar su conformidad con esta política. el administrador o grupo de usuarios en conjunto debería establecer una politica de seguridad para regular la asignación de nuevos identificadores de usuario. debido a la existencia de tantos subsistemas. en el mundo actual hay razones para que personas no autorizadas irrumpan en el sistema de la computadora. ls y otras órdenes de información del CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 30 DE 92 . Se pueden adoptar pasos para impedir acceso no autorizado. muchas herramientas relacionadas con comunicaciones disponibles en el sistema UNIX son una bendición a medias. Si el sistema está relativamente aislado y tiene un pequeño grupo de usuarios con la misma comunidad de intereses. pero la tendencia natural de un sistema operativo complejo es hacia la disminución de su seguridad con el paso del tiempo. La responsabilidad principal del cumplimiento de las normas de seguridad corresponde a cada usuario individual. se puede obtener el software Unix System V/MLS de AT&T. Dentro de una máquina o red de máquinas. El sistema UNIX fue originalmente desarrollado para servir a pequeños grupos de personas que compartían la máquina totalmente. la politica de seguridad puede ser relativamente laxa. un elevado perfil público. Por otra parte. Sin embargo. aunque los administradores del sistema pueden desarrollar un procedimiento de auditorias regulares con realimentación a la comunidad de usuarios. Si la seguridad es verdaderamente una preocupación. Más allá de la política de seguridad. Revisaremos el tema de la seguridad de la computadora y exploraremos algunas herramientas y órdenes relacionadas con ella. Las versiones de SVR4 han sido certificadas en los niveles de seguridad B2 (Protección estructurada) y B3 (Seguridad de dominios) del Departamento de Defensa de los Estados Unidos. o contiene datos especialmente sensibles o privativos. Cualquier usuario podía fácilmente eliminar o modificar archivos. o incluso suspender el sistema. Si el administrador y los usuarios del sistema utilizan frecuentemente las órdenes ps. incluso ni a los datos más sensibles destinados a mantener en operación el sistema UNIX. desde la simple emoción de jugar hasta el daño malicioso o el robo comercial de datos y programas. La política debería ser divulgada a los nuevos usuarios. y todo debe estar correctamente ajustado para alcanzar una seguridad óptima. las cuestiones de seguridad son complejas. la política de seguridad debe ser más restrictiva.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX SEGURIDAD DEL SISTEMA La seguridad Puesto que el sistema UNIX está diseñado para soportar múltiples usuarios. Un administrador de sistema experimentado puede controlar totalmente el acceso al sistema. Conforme la dependencia del usuario crezca más y más con respecto a la máquina Unix y los archivos y datos que ésta contiene. No existían rígidas limitaciones al acceso de un usuario a los archivos y órdenes de otros usuarios. la seguridad del sistema se convierte para él en algo más importante. si el sistema es grande y tiene varios grupos de usuarios. la regla más importante es la de conocer el sistema. Con los años ha habido un desplazamiento definido en la filosofía hacia una mayor seguridad. who. Por lo tanto. la cantidad de protección por contraseña requerida dentro del sistema y la cantidad de conectividad que la máquina permite a las LANs y el mundo externo. hay que equilibrar la facilidad de acceso para los «amigos» con la prevención del acceso para los «enemigos». hay que estar constantemente alerta para detectar agujeros en la seguridad y defender rápidamente el sistema tapando esos agujeros.

tiene acceso de lectura. de modo que el administrador del sistema podrá tomar acciones adecuadas para cerrar los escapes. la primera es la protección de los archivos y datos privados de un usuario respecto del resto de usuarios. para el grupo y para todos los usuarios. Entonces las desviaciones de la norma serán rápidamente advertidas. Cada archivo es propiedad de un id de presentación y pertenece a un grupo.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX sistema. . Las cuestiones de seguridad caen naturalmente en varias categorías generales.1. y cuarto. la protección contra determinados ataques de "piratas" experimentados que pueden dañar o destruir el sistema. la seguridad física de la máquina. el propietario del archivo es root y el grupo es audit.1 root audit 2478 Aug 21 19:49 /etc/inittab El archivo tiene tres grupos de permisos para cada uno de los tres niveles de seguridad. tercero. Figura 4. la protección de los archivos claves del sistema operativo contra daños intencionados o accidentales. El archivo es legible por todos. La siguiente tabla describe las posibilidades del primer bit que indica el tipo de archivo o dato. se familiarizarán con la actividad normal día a día de la máquina y estarán alerta al estado del sistema en todo momento. El significado de la primer columna del comando ls –l se muestra en la figura 4. Descripción de los permisos en Unix. pero no es modificable ni ejecutable por ninguno.Archivo común d Directorio c Dispositivo de caracteres (tty o impresora) b Dispositivo de bloque (usualmente disco rígido) l Enlace simbólico s Socket CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 31 DE 92 . escritura y ejecución para el propietario. Protección de los datos frente a los otros usuarios Como se recordará la orden ls -l muestras los permisos de un archivo o directorio: $ ls -l /etc/inittab -r--r--r-. segundo. En el ejemplo anterior.1. es decir.

de izquierda a derecha (022). y se puede cambiar el grupo del archivo con chgrp. significa que no se alteran ninguno de los valores implícitos. si un dígito es cero. Permisos implícitos para creación de archivos Después de crear un archivo se deben verificar sus permisos con ls -l para comprobar que son los que se desean. y asigna al archivo el grupo de su creador. Naturalmente se pueden activar explícitamente permisos con chmod si el usuario tiene la propiedad del archivo. no se pueden activar permisos con umask que estén normalmente desactivados. Por tanto. Normalmente no se puede reclamar la propiedad una vez que se ha cedido. por ejemplo. Sólo el superusuario puede cambiar los permisos de cualquier archivo del sistema. se puede declarar una variable del sistema asociada con el id de presentación que establecerá los permisos de un archivo sin acción explícita por parte del usuario. Puesto que la umask del usuario se resta de este valor implícito. y su grupo se asigna como id de grupo. el grupo y los otros. pero sólo si se es propietario del archivo.perm CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 32 DE 92 . El sistema UNIX proporciona automáticamente al creador de un archivo la propiedad del mismo. Se puede ceder la propiedad del archivo con la orden chown. y es accedida con la orden umask. el usuario que lo crea es el propietario del archivo. Aunque esto no puede ser modificado. se utiliza el permiso implícito.perm $ ls -l def. Se puede determinar el valor actual de umask ejecutando la orden sin argumentos del modo siguiente: $ umask 0022 Aquí el resultado de los tres últimos dígitos octales se refieren a los permisos del propietario. 000. Por ejemplo: $ umask 000 $ > def. un 2 borrará el permiso de escritura y un 4 borrará el permiso de lectura. Normalmente este permiso global es -rw-rw-rw-. pero sistemas y programas individuales pueden diferir de este valor. la umask anterior.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX La siguiente tabla es un resumen de Permisos más utilizados. A este número se le denomina máscara ya que cada digito se resta de un permiso implícito global del sistema que todos los nuevos archivos obtienen. El valor de umask 022 crearía archivos sin permiso de escritura para el grupo o para el resto.user mask). Cada dígito octal de la umask contiene un bit binario que borra un permiso: un 1 borrará el permiso de ejecución. Octal Número 777 755 700 666 Propietario Columna1 rwx rwx rwx rwGrupo Columna2 rwx r-x --rwOtros Columna3 rwx r-x --rwCompleto Código rwxrwxrwx rwxr-xr-x rwx-----rw-rw-rw- Cuando se crea un nuevo archivo. Esta variable del sistema se denomina umask (por máscara de usuario . aunque si un archivo es legible se puede crear una nueva copia de él con la propiedad restaurada. pero se pueden desactivar permisos que están normalmente activados.

escr -rw-r--r-. hay que colocar la orden umask en el fíchero . El cifrado de archivos no está disponible en implementaciones vendidas fuera de los Estados Unidos.escr $ ls -l no.os_select_action? f_os_osrel_id=4&f_sess_id=2119204510 Editores tales como ed.perm steve other 0 May 10 14:58 no.perm La umask implícita de 000 crea los archivos con los permisos implícitos. Introduzca la clave del mismo modo que introduce una contraseña durante la presentación. Como es habitual.caldera.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX -rw-rw-rw$ umask 022 $ umask 022 $ > no. Se puede utilizar este procedimiento para crear un nuevo archivo o para editar un archivo existente. Encripción de archivos Se puede proteger adicionalmente los archivos que necesiten tratamiento especial encriptándolos.1 1 steve other 0 May l0 14:57 def. Cuando se redefine umask a 022. se crean archivos sin permiso de escritura para el resto de los usuarios. la contraseña no produce eco.perm ---------.1 $ umask 777 $ > no. La umask de 777 desactiva todos los permisos para todos los usuarios. Para declarar la umask se utiliza la orden umask con el código octal como argumento. Cuando se escriba el archivo de nuevo.5 no contiene las utilerias de encriptación de archivos por lo que es necesario obtener el paquete Support Level Supplement (SLS) OSS425D que contiene una versión de ex/vi para edición de archivos encriptados y además de las librerias de encripción (libcrypt. el archivo será descifrado y aparece en el editor. pero naturalmente debe utilizar la misma para descifrarlo. La mayoría de los sistemas Unix en los Estados Unidos disponen de herramientas para encriptar los archivos de acuerdo con una clave que el usuario proporciona. será encriptado de nuevo. de modo que si desea modificar permanentemente la umask.a) y el comando crypt. Cualquier contraseña es aceptable cuando se encripta un archivo. de modo que el último archivo no es accesible para nadie.profile. Esta declaración no sobrevive a una despedida. Se puede obtener este software desde el sitio: http://wdb1. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 33 DE 92 .escr steve other 0 May 10 14:58 no. La opción -x especifica cifrado del modo siguiente: $ vi -x texto Key: Aquí el editor está solicitando la contraseña de cifrado o cIave. sólo reintroduciendo la clave correcta se puede acceder a estos archivos.perm $ ls -l no. durante o después de la sesión de edición. La versión de SCO openserver 5. Se puede decir al editor que descifre un archivo cuando lo cargue y lo encripte de nuevo cuando lo escriba al disco. vi y emacs proporcionan la capacidad de crear y editar archivos encriptados. Si se introduce la contraseña correctamente.com/clbk_web/owa/dwnuser.0.

no podrán causar daños. y cualquier CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 34 DE 92 . Si la entrada está en el archivo texto.Z Recuerde que debe comprimir antes de cifrar y descomprimir después de descifrar. Desgraciadamente. Naturalmente. Por tanto. no es seguro poner demasiada confianza en los archivos cifrados.sal > texto. Puesto que la contraseña se almacena en forma encriptada. crypt solicita una contraseña. Naturalmente. Todo usuario debería ser forzado a tener una contraseña. Los programas transgresores de encripción funcionan analizando las frecuencias de los caracteres en los archivos cifrados y comparándolos con las frecuencias de caracteres en el texto inglés normal.sal El archivo comprimido no puede ser analizado por ningún transgresor de crypt conocido.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Las versiones del sistema Unix vendidas en los Estados Unidos también facilitan un filtro para efectuar encripción y descifrado. Desgraciadamente. Si la entrada está cifrada.Z > fich. proporcionan buenas líneas de guía para crear una contraseña propia. La orden crypt lee la entrada estándar y escribe en la salida estándar. la mayoría de los usuarios no desean recordar el tipo de contraseña que sea muy extraña y que es requerida para la seguridad. e incluso si estas reglas no son forzadas por el software del sistema. ni siquiera el administrador del sistema puede determinar cuál es. suprimir el archivo de la máquina y poner a buen resguardo el medio magnético.Z $ uncompress texto. Una buena contraseña tiene como poco seis caracteres. Si los atacantes potenciales pueden ser mantenidos completamente fuera del sistema. la salida será descifrada. En Ia mayoría de los sistemas Unix existen reglas que describen una contraseña aceptable. Al igual que el procedimiento de edición. Por ejemplo: $ compress texto $ crypt < texto. la salida será cifrada. Desgraciadamente. Una mezcla de caracteres mayúsculas y minúsculas es buena. el ataque por frecuencia de letras mencionado anteriormente no es posible con una muestra de texto tan breve como una contraseña. Es responsabilidad de cada usuario defender su propia contraseña y cambiarla regularmente. especialmente en un entorno hostil. tal como se muestra aquí: $ cat texto | crypt Enter key: Como es habitual. de modo que con el tiempo las contraseñas pasan a ser detectables. de los cuales al menos uno (preferiblemente dos) es un carácter no alfabético. compress. Ids de presentación y contraseñas El corazón del esquema de seguridad del sistema UNIX es el id de presentación y la contraseña del usuario individual. el algoritmo por el cual los archivos son cifrados en el sistenia Unix es poco conocido y hay disponibles programas que pueden reventar el algoritmo de cifrado. Para vencerlos se puede modificar la frecuencia de caracteres del texto normal antes del cifrado con otro filtro tal como pack. la contraseña no produce eco. en muchas máquinas la seguridad de la contraseña es tan pobre que incluso un infractor sin experiencia puede obtener un shell. La herramienta que permite modificar la contraseña es la orden passwd. o sus contraseñas son tan similares al id de presentación que es ineficaz como seguridad. Afortunadamente. Muchos ids de usuario de un sistema pequeño típico no tienen contraseña en absoluto.llano. el esquema de proteccion de archivos de más éxito es el que implica escribir el archivo a un disco flexible o cinta magnética. y la contraseña debería ser envejecida de modo que el usuario estuviese forzado a cambiarla con regularidad. cuando se descifre el archivo hay que recordar desempaquetarlo del modo siguiente: $ crypt < fich. gzip o gunzip.

La fecha y hora de la última presentación son la fecha de modificación de este archivo. Esta característica está mantenida por el programa login cuando éste verifica la contraseña.lastlogin Esta no es una característica de seguridad enérgica. como puede verse aqui: $ ls -l $HOME/. login mantiene un fíchero de longitud cero denominado . El archivo . La visualización aparece cuando el usuario se presenta ante la máquina. el nornbre de su hijo. su id de presentación está siendo mal utilizado y debería inmediatamente de tomar medidas para cambiar la contraseña. etc.lastlogin -r-----1 root auth 0 Oct 28 15:11 . del modo siguiente: login: root Password: Last successful login for root: Thu Aug 21 22:27:57 2003 on tty04 Last unsuccessful login for root: Thu Aug 21 17:33:27 2003 on tty03 SCO OpenServer (TM) Release 5 (C) 1976-1998 The Santa Cruz Operation. Este usuario es conocido como el superusuario. su signo astrológico. Algunos ejemplos de contraseñas triviales no aceptables son el id de presentación. su dirección. tal como se muestra aquí: $ su Password: CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 35 DE 92 . También puede utilizarse la orden su (por superusuario) para conmutar al estado de superusuario sin necesidad de despedirse y presentarse de nuevo como root. el id de presentación root está disponible en todas las maquinas Unix para permitir acceso completo de lectura. su número de habitación o teléfono. pero puede avisar al usuario de si su id de presentación ha sido comprometido. Si la fecha difiere del recuerdo que tiene el usuario de su última sesión.lastlogin es propiedad del sistema. Inc 1980-1994 Microsoft Corporation All rights reserved For complete copyright credits. Sin embargo. El superusuario Cada usuario normal está restringido a sus propios archivos y datos y a los de su grupo.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX secuencia inusual o no intuitiva de caracteres también es útil. Historial de presentaciones Algunas versiones SVR4 proporcionan una visualización de la última vez que un id de presentación fue utilizado. el nombre del usuario. no del usuario individual y sus permisos lo hacen dificil de modificar. Enter “copyrights” at the command prompt Terminal type is scoansi # Esta visualización pretende alertar al usuario por si alguien más ha estado utilizando su id de presentación.lastlogin en el directorio propio. escritura y ejecución a todos los archivos y directorios.

y sólo debería ser legible por root. El quinto campo es un comentario que generalmente contiene el nombre y la dirección del usuario. El archivo /etc/shadow es creado por la orden pwconv. el segundo campo de /etc/passwd aparecerá como el segundo campo del ejemplo anterior en /etc/shadow. sus contraseñas cifradas. lo ideal seria que no fuese modificable. y también son necesarios varios ids de presentación estándar globales del sistema para el correcto funcionamiento de éste. tal como se muestra aquí: $ ls -l /etc/shadow -rw-rw---. si el archivo /etc/passwd fuera modificable por alguien. Cada usuario tiene una línea en el archivo de contraseñas. El id de presentación del usuario es el primer campo de la línea. Si el último campo falta. y el cuarto es la representación numérica del id del grupo. Sin embargo. delimitados por : (dos puntos). y modificable por el propietario y el grupo. debería ejecutarse inmediatamente pwconv para CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 36 DE 92 . el campo de contraseña en /etc/passwd es reemplazado por el único carácter x. la seguridad del sistema se quebraría fácilmente. El tercero es la representación numérica del id de usuario. la cual lee en /etc/passwd la información necesaria. Cada línea consta de varios campos. y el último campo contiene el nombre de camino completo del shell de presentación del usuario. y el segundo es un emplazamiento para la contraseña del usuario. Este archivo es /etc/shadow. El penúltimo campo contiene el directorio propio del usuario. Habrá una línea en /etc/shadow por cada línea de /etc/passwd. Cuando /etc/shadow está presente.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Last successful real login for root: Thu Aug 21 22:29:03 2003 on tty04 Last unsuccessful real login for root: Thu Aug 21 17:33:27 2003 on tty03 Terminal type is scoansi # El archivo de contraseñas La información crítica que controla las identificaciones de los usuarios está mantenida en un sencillo archivo de base de datos llamado /etc/passwd. en SVR3 se introdujo un segundo archivo en el sistema para contener la contraseña cifrada y algunos otros datos.1 root root 187 Apr 10 19:49 /etc/shadow El archivo /etc/shadow contiene los ids de presentación de usuario. este archivo es legible por todos los usuarios. $ ls -l /etc/passwd -rw-rw-r-1 bin auth 526 Apr 10 19:49 /etc/passwd Se desearia tener los siguietnes permisos para este archivo -r--r--r-. En versiones más antiguas del sistema UNIX. un código numérico que describe cuándo fue modifcada por última vez la contraseña y el número mínimo y máximo de días requerido entre cambios de contraseña. el segundo campo contenía la contraseña real cifrada de cada usuario. Como puede verse aquí.1 bin auth 526 Apr 10 19:49 /etc/passwd Estos permisos deberían ser mantenidos cuidadosamente. En caso contrario. implicitamente señala a /sbin/sh. Cada vez que se modifique manualmente /etc/passwd. Estos dos campos actúan junto con los permisos del archivo para determinar quien puede acceder a cada archivo del sistema.

tar al directorio /tmp # cp openssh-3.0. La primera vez que nos conectemos con esa ip nos pregunta si estamos seguros de a quién nos estamos conectando.23-VOLS. entramos en un terminal con las mismas posibilidades que el de telnet.tar ftp://ftp2. Estos paquetes deberan ser instalados utilizando el mismo procedimiento.tar Instalar el software desde el Software Manager previamente instalados los paquetes PRNGD y zlib. y cualquiera observando el tráfico de la red podría descubrir nuestras contraseñas.caldera. ya que podríamos conectarnos a la maquina de un usuario malicioso. Shell seguro Telnet es una herramienta muy poderosa.caldera. Para dificultar el descubrimiento de la información privada que viaja a través de la red en este tipo de sesiones existe una herramienta de shell seguro ssh (secure shell).1p1-VOLS.9. aceptamos y nos autentificamos con nuestra contraseña. En principio si conocemos la máquina destino.com/pub/skunkware/osr5/vols/zlib-1. en la que nos autentificaríamos dándole así nuestra contraseña.tar copiar el archivo openssh-3.4-VOLS.tar /tmp Cambiarse al directorio /tmp y descomprimir el archivo # cd /tmp # tar xvf openssh-3. Los archivos de contraseñas y shadow no deberían ser modificables. Una vez finalizado el proceso de autentificación. Instalación Para la instalación del shell seguro para la version Openserver 5.1p1-VOLS. Estos paquetes se pueden obtener de: ftp://ftp2.tar Para el caso de openssh-3.1.com/pub/skunkware/osr5/vols/prngd-0.1p1-VOLS. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 37 DE 92 .1p1-VOLS. no tendría por qué haber problemas.5 se requieren los paquetes zlib y PRNGD. de modo que sólo el superusuario pueda cambiarlos. pero en modo seguro.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX asegurarse que los cambios sean actualizados en /etc/shadow. pero es vulnerable a ataques de usuarios maliciosos por que la transferencia de información a través de la red va sin codificar.

Desde un equipo cliente conectamos a un servidor para descargar ficheros desde él . Por ejemplo el contenido del archivo /etc/shells es: # cat /etc/shells # @(#) shells 59. puerto 21 TCP) es. ni a los que no tienen un shell listado en /etc/shells. figura 6. A los usuarios nombrados en /etc/ftpusers no se les permite el servicio. La configuración de este servicio se realiza desde el Internet Configuration. Esto tipicamente restringe accesos a UUCP.1 con login admin y el password corresponde al del root. un protocolo de transferencia de archivos entre sistemas.o para enviarle nuestros propios archivos.lo habitual . como su nombre indica. etc.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX SERVICIOS FTP FTP (File Transfer Protocol.1 Configuración de los servicios en Internet Configuration En su forma más simple la configuración consiste en permitir o negar transferencias de archivos en general del sistema y escrituras o lecturas para usuarios anonimos. Figura 6.1 96/11/15 # /bin/csh /bin/sh /bin/ksh /usr/bin/scosh El contenido del archivo /etc/ftpusers es: # cat /etc/shells CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 38 DE 92 .

0/sco_ftp/pub En la estructura de este directorio se pueden mencionar como los más importantes: /bin Contiene el programa ls para comandos list /etc Contiene passwd y group para que ls produzca nombres en lugar de numeros /pub En donde se colocan los archivos compartidos para acceso anónimo CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 39 DE 92 .0.0/sco_ftp:/bin/sh El directorio en donde se coloca el sitio ftp anónimo por default es /usr/internet/ip/0.0.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX root sam Si deseamos permitir conecciones de ftp anónimo debe existir un usuario ftp en el archivo /etc/passwd # cat /etc/passwd | grep ftp ftp:x:20:50:anonymous ftp account:/usr/internet/ip/0.0.0.

con clientes montando este directorio en el arranque. Una mezcla de soporte del kernel y demonios del espacio de usuario en el lado del cliente. Los servidores exportan (hacen accesibles) directorios de archivos que se CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 40 DE 92 . junto con un servidor NFS en el lado del servidor.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX NFS El Sistema de Archivos de Red (NFS) es probablemente el servicio de red más prominente en el uso de RPC´s (Remote Procedure Call). Permite accesar archivos en hosts remotos en la misma manera que se accesarían los archivos locales. Este acceso a archivos es completamente transparente al cliente como se muestra en la figura 6. Los datos que consumen una gran cantidad de espacio pueden colocarse en un solo host.2. y trabaja en una variedad de arquitecturas. Los datos administrativos pueden ser guardados en un solo host.2. hace esto posible. Esquema del sistema de archivos en red (NFS) NFS ofrece un número de aspectos útiles: • Los datos accesados por el usuario pueden ser guardados en un host central. • • ¿Cómo trabaja NFS? Sistemas de archivos distribuidos Un sistema de archivos distribuido utiliza el modelo cliente servidor para proporcionar acceso compartido a archivos a través de la red. Figura 6.

1. mountd realiza una llamada al sistema nf_getfh (en SCO) para obtener la accesibilidad a /compartido 3.1 y el directorio remoto /compartido que corresponden al sistema de archivos que se compartiran desde el host. mountd lee el archivo /etc/exports y busca el sistema de archivos exportado que contiene /compartido 2. Estos demonios son convencionalmente iniciados por default cuando el sistema inicia en el modo multiusuario. Procesos cliente y servidor NFS Dos procesos (tambien conocidos como demonios) proveen los servicios NFS del servidor.168. Si las direcciones no son incluidas en el archivo /etc/exports.168. Verifica los permisos de acceso del sistema de archivo exportado y regresa un apuntador a este cuando un cliente trata de montar un sistema de archivos. Inicia el demonio servidor NFS que atiende las peticiones de sistemas de archivos de los clientes. 3. 1. Los scripts de inicio tipicamente se encuentran ligados al scrip /etc/rpcinit en /etc/rc2.1:/compartido /mnt Actividad que se realiza en el cliente: 1. mountd regresa la aceptación al cliente Archivos de configuración NFS En el lado servidor.1 para obtener el número de puerto del mountd 4.168. El último argumento corresponde a un directorio del sistema de archivos local o del cliente. el servidor utilizará el DNS o las entradas en el archivo /etc/hosts. 2.1 y proporciona a este la ruta /compartido. Configuración de ejemplo Agregar el protocolo NFS en los protocolos de red del sistema mediante el Network Configuration Manager. el archivo /etc/exports lista los directorios exportados por el servidor y opcionalmente los hosts remotos que tendrán acceso a los directorios.d/S89nfs. en cuyo caso el servidor requiere de algún medio para encontrar las direcciones IP de los clientes.1. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 41 DE 92 .168.1. En el lado servidor: 1. El comando mount llama al mountd de 192. discos duros. El comando mount utiliza la tabla de dispositivos montados en /etc/mnttab y hace una consulta que verifica que no se haya realizado este montaje anteriormente. El comando mount realiza un parser de los argumentos: host 192. 2.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX encuentran en los medios de almacenamiento de información (discos compactos. nfsd. Los clientes pueden montar (obtener acceso) a directorios que se han exportado. El siguiente es un ejemplo de un procedimiento de montaje en el cliente: mount –f NFS 192.1. El cliente depende del servicio DNS o las entradas en el archivo /etc/hosts para encontrar las direcciones de los servidores de los cuales quiere montar archivos. en donde estaran disponibles los archivos o directorios que comparte el host. Ahora mount llama al portmap de 192. mountd.). etc.

fie. en el menú Export seleccionar la opción NFS – Add Export Configuration.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX .umich. A continuación se agrega el directorio a exportar por ejemplo /compartido Se decide si los clientes deben hacer solo lectura o lectura y escritura y si se desea agregar privilegios de root.mx:m02.fie.opción [. Un archivo /etc/exports básico se observa como: # cat /etc/exports /tmp -ro. Puede ser cualquiera de las siguientes opciones: ro.umich. opción]] Directorio_exportar. Las opciones avanzadas permiten o impiden el acceso de clientes anonimos. Estos privilegios se pueden establecer para todos los clientes. Exporta el directorio para solo lectura.mx /compartido -rw=sidold. Exporta el directorio principalmente en el modo lectura.umich. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 42 DE 92 . solo para algunos seleccionados o para ninguno. El servicio de inicia o se detiene con /etc/nfs start | stop Procedimiento de configuración de NFS desde la interfaz gráfica Se llega mediante System Administration – Filesystem Manager. rw=hostnames[:hostname]. Editar el archivo /etc/exports y agregar las entradas bajo el siguiente formato: <Directorio_exportar> [.mx Notas: Previamente debe crear el directorio donde se va a montar el sistema de archivos remoto.fie. excepto para los hosts especificados por hostname que aplican para el modo lectura y escritura. Se refiere al nombre del directorio que deseamos compartir opción. Si no es especificado el directorio se exporta en el modo lectura y escritura.access=m02.

Un cliente DHCP puede incluso cambiar de red sin tener que ser reconfigurado. ilustra una cofiguración típica DHCP. pueden ser configurados automáticamente. Varios parámetros. eliminando la necesidad de la configuración manual. etc.. Figura 6. DNS.3 Configuración típica DHCP Funcionamiento de DHCP CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 43 DE 92 .DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX DHCP El protocolo de configuración dinámica de Hosts (DHCP – Dynamic Host Configuration Protocol) puede facilitar grandemente la administración de una red TCP/IP. por ejemplo los gateways. DHCP asigna de manera dinámica las direcciones IP de las computadoras. La figura 6.3.

. que consta de una dirección IP más otros datos de configuración.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Un servidor DHCP asigna direcciones IP y los clientes solicitan a los servidores que se les asigne una. BOOTP añade la dirección de la red de origen a cada solicitud de dirección IP. El cliente no puede renovar e inicia el proceso para obtener una nueva PÁGINA 44 DE 92 CENTRO NACIONAL DE CAPACITACIÓN CELAYA . para permitir el reenvío de DHCP. Como este mensaje también se difunde.4.Funcionamiento del servicio DHCP El concepto de concesión es importante. Los clientes no obtienen una dirección permanente. Figura. El servidor DHCP concede el paquete.5% de la vida de la concesión. enviando un mensaje de reconocimiento DHCP. de manera que el servidor le pueda contestar. 6. El cliente examina los mensajes de oferta y selecciona uno. solicita una dirección y se obtiene una concesión para utilizar una dirección de un ámbito. El cliente aplica la configuración IP a los protocolos TCP/IP locales. para solicitarle la configuración ofrecida. Para que los mensajes de DHCP se transmitan entre redes. el servidor envía un mensaje de reconocimiento negativo al llegar al 87. sino una consesión para usar una dirección por un tiempo limitado. los otros servidores también lo reciben y se dan cuenta que sus ofertas han sido rechazadas. Cuando la concesión llega al 0% de su vida.5 y son las siguientes: • • • • • • • • Un host entra en la red y difunde un mensaje de descubrimiento. El cliente envía un mensaje de solicitud DHCP al servidor seleccionado. Cada servidor que recibe el mensaje de descubrimiento responde con un mensaje de oferta DHCP. El servidor mantiene grupos de direcciones IP llamados ámbitos. Fases de Consesión Las fases de negociación de una consesión se ilustran en la figura 6. El mensaje incluye la dirección MAC del cliente. Cuando el tiempo expira. Esto asegura que las direcciones no queden bloqueadas de forma permanente. La computadora puede incluso reiniciarse antes de que su concesión expire y no tendrá que renegociar. los routers deben usar el protocolo BOOTP. Este esquema se muestra en la figura 6. es necesario renegociarla. Esta información permite que el servidor asigne una dirección adecuada para la red de la que se trata. Si no es posible renovarla. Cuando un cliente entra en la red. el cliente intenta renovarla.4.

Fases de consesión en el servicio DHCP Configuración del Servidor DHCP para UNIX SCO UNIX requiere de dos servicios de administración para configurar el servicio DHCP: • Address Allocation Manager (AAS). Mantiene la configuración de las opciones DHCP disponibles. • DHCP Server Manager.5. En él se define el rango de direcciones que estarán disponibles para la asignación dinámica.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX dirección.conf para el Address Allocation Manager. PÁGINA 45 DE 92 CENTRO NACIONAL DE CAPACITACIÓN CELAYA . Los archivos involucrados para la configuración del servidor DHCP son: • /etc/aasd. Figura 6.

DIRECCIÓN DE OPERACIÓN

CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX

/etc/dhcpd.conf para el DHCP Server Manager.

Estos archivos pueden ser generados con las herramientas gráficas de configuración, AAS/DHCP managers que pueden ser accesados desde System Administration -> Networks. El archivo /etc/aasd.conf contiene los detalles del AAS en el que se define “pool” de direcciones disponibles o rango de direcciones a asignar por el servidor DHCP. Un archivo clásico puede ser el siguiente

pool ippool:INET { 192.168.1.120-192.168.1.130 }
En este caso el pool de direcciones es llamado ippool y estará en condiciones de proporcionar direcciones IP en el rango 192.168.1.120 a 192.168.1.130. El archivo /etc/dhcpd.conf contiene los parámetros de configuración TCP/IP utilizados para el servidor DHCP, tales como: • • • • • Mascara de red Nombre del pool de direcciones IP Puerta de enlace Servidor de nombres o DNS Dominio al que pertenece

El siguiente es un archivo dhcpd.conf para el servidor DHCP, cuando una computadora se conecta podrá obtener una dirección IP del pool de direcciones llamado ippool que fue configurado anteriormente en el AAS.

subnet 192.168.10.0 { comment Pool de direcciones generales mask 255.255.255.0 pool ippool lease_dflt 3600 lease_max infinite t1 750 t2 900 routers 192.168.1.254 dns_servers 148.216.1.2 domain sid.fie.umich.mx smtp_servers 192.168.1.1 }
Una vez establecida esta configuración las computadoras obtendrán una dirección IP y trabajarán normalmente en la red. Una vez editados estos archivos es necesario detener los procesos aasd y dhcpd si se encuentran activos, entonces primero verificamos esto con:

# ps -ef |grep aasd
CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 46 DE 92

DIRECCIÓN DE OPERACIÓN

CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX

root 333 # kill -9 333

1

0

Aug-23

?

00:00:00 /etc/aasd

El número 333 corresponde al número de proceso del aasd, realizar lo mismo con el proceso que ejecuta dhcpd. Ejecutar el aasd en el modo depurar:

# /etc/aasd -D 2
Generalmente dhcpd se ejecuta en el inetd, cambiar la línea o agregarla si no existe con la opción para depurar de la siguiente forma:
boots dgram/i udp wait root /etc/dhpd dhcpd -D 2

Enviar la señal SIGHUP al proceso inetd para que lea la configuración nueva de estos archivos.

# ps -ef |grep inetd root 615 1 0 # kill -9 615
Reiniciar inetd

Aug-23

?

00:00:00 /etc/inetd

# /etc/inetd
Observar en el archivo /usr/adm/syslog los errores de sintaxis de los archivos de configuración, peticiones de los clientes y asignación de direcciones. También se puede reiniciar el sistema para tomar los parámetros configurados. Configuración del cliente DHCP En un sistema Windows 2000 mediante el icono de Conexiones de Red y reacceso telefonico del Panel de control ver las propiedades de la conexión de Area local y seleccione Protocolo Internet (TCP/IP) y sus propiedades, elegir la opción Obtener una dirección IP automáticamente, como se muestra en la ventana de dialogo de la figura 6.6. Para la configuración de un cliente SCO es necesario instalar el paquete tls711.tar.Z. Las instrucciones de instalación se encuentran en el archivo README que viene en el paquete, el cual está disponible en ftp://stage.caldera.com/TLS/tls711.tar.Z

CENTRO NACIONAL DE CAPACITACIÓN CELAYA

PÁGINA 47 DE 92

DIRECCIÓN DE OPERACIÓN

CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX

Figura 6.6 Ventana de diálogo para la configuración del cliente DHCP en Windows 2000. Se puede utilizar la utileria ipconfig o winipcfg en los sitemas Windows para mostrar la configuración actual y la petición de la nueva dirección, una vez que se ha configurado un cliente DHCP en el sistema operativo Windows.

CENTRO NACIONAL DE CAPACITACIÓN CELAYA

PÁGINA 48 DE 92

etc. es mucho más fácil en sistemas Unix cuyo código fuente esté disponible (como Minix. sino por cualquier circunstancia que genera un evento extraño. 0. muchos de los atacantes no poseen los conocimientos necesarios. no se puede negar que el kernel es la parte del sistema más importante.07. e independientemente de la veracidad del resultado de este comando. otros sostienen que cuanta más gente tenga acceso al código. un atacante puede dedicarse a revisar el código hasta encontrar un error de programación y aprovecharlo.02 [root@portatil /root]# Automáticamente asume que su sistema ha permanecido más de 5 días sin reiniciarse. load average: 0. por ejemplo. cualquier pirata con el suficiente nivel de experiencia puede conseguir privilegios de root y aprovecharlos para modificar el kernel o configurarlo a su gusto. Si bien es cierto que en redes normales. la CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 49 DE 92 . para utilizar el kernel del sistema operativo en beneficio propio. y vemos al sistema operativo como el conjunto formado por el kernel y una serie de herramientas (editor. Esta segunda postura es la que más fuerza está tomando desde hace algunos años y parece tambíen la más razonable: es cierto que un atacante puede dedicarse a leer código hasta encontrar un error. incluso en los Unix que soportan la carga de módulos en el kernel (como Linux. esto puede ser o no cierto. hasta tal punto que se considera al kernel como el sistema operativo en sí. o algunos BSD). Y es justamente este tipo de ataques uno de los más difíciles de detectar: cualquier administrador confía ciegamente en lo que el sistema operativo le dice. Linux. el ataque a un kernel. alguien puede haber accedido a nuestro kernel y haber comprometido su seguridad. 2 users. sobre el que posteriormente se investiga. si ejecuta el comando: [root@portatil /root]# uptime 4:21pm up 5 days 1:22. Solaris) el atacante puede haber utilizado esta facilidad para modificar el kernel sin necesidad de reiniciar el servidor.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX SEGURIDAD EN EL KERNEL El kernel o núcleo es la parte más importante de todo sistema Unix. si ha modificado Completamente el kernel. un error en la programación. enlazador. Para cualquier intruso. shell. pero se ha comprobado que muchos de los fallos no se suelen detectar de esta forma. Por ejemplo. Esto implica que no se le impone ninguna restricción a la hora de ejecutarse: utiliza todas las instrucciones del procesador. etc. Por tanto. El tema de la disponibilidad del código fuente del sistema operativo suele despertar controversias en la comunidad dedicada a la seguridad informática: mientras unos argumentan que esta disponibilidad supone un problema de seguridad. Aunque si no lo consideramos así. De esta forma.). más errores se localizarán y solucionarán y por tanto a la larga se va a conseguir un sistema mucho más robusto. Por desgracia la mayoría de administradores piensan que un intruso nunca va a actuar a un nivel tan bajo. aunque el ataque es posible en cualquier sistema. o incluso en la configuración del kernel puede ser desastroso para nuestro sistema. 0. compilador. direcciona toda la memoria. a los manejadores de dispositivos).15. el kernel siempre trabaja en el modo privilegiado del procesador. de forma que el administrador nunca se percate que la máquina ha sido reiniciada para cargar el kernel modificado. puede haber reprogramado la llamada sysinfo() para que devuelva un resultado erróneo. y con una importante diferencia: mientras que las aplicaciones operan en el rango del usuario. como para comprometer al sistema. accede directamente al hardware (más concretamente. FreeBSD.

donde "0".d/ root:/etc/conf/cf. pero ahora en la sección User and group configuration podemos definir el número máximo de archivos que un proceso puede abrir simultáneamente ( nofiles). generalmente configure. En este capítulo se van a tratar aspectos relativos a la seguridad de los kernels de sistemas Unix. Además. es indispensable en cada caso consultar los manuales antes de modificar cualquier parámetro de los vistos en esta sección. esto se realiza utilizando diversas herramientas del sistema operativo. no sirve de nada esforzarse en conseguir seguridad a nivel de aplicación si el kernel es inseguro. Con lo dicho anteriormente.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX disponibilidad del código del kernel no debe suponer una amenaza a la seguridad. SCO Openserver Opciones de compilación En SCO Openserver se puede configurar tunables. el número de procesos simultáneos bajo un mismo identificador de usuario distinto del root ( maxup). en nuestro caso debemos elegir MAX_PROC. indica que los usuarios no pueden modificar la propiedad de los archivos). sin pertenecer estrictamente al kernel. debemos reconstruirlo y situarlo en /etc/conf/cf. puede modificar librerías para detectar llamadas "sospechosas" a la función crypt(). Esta utilidad nos mostrará un menú con diferentes categorías de parámetros configurables. valor por defecto. si sospecha que alguien utiliza sus recursos para ejecutar cracks de contraseñas. es más. parece claro que el kernel representa un pilar básico para conseguir un sistema seguro.d/. el límite de memoria virtual de un proceso sin privilegios ( maxumem) y el comportamiento del comando chown ( chown_res. el tamaño de archivo máximo que un usuario puede crear ( ulimit). Como cada clon del sistema operativo tiene sus métodos para configurar o recompilar el kernel y además en este trabajo no podemos tratar extensamente cada uno de ellos. por ejemplo. modificando el valor del parámetro MAX_FILE (este parámetro no controla el número máximo de archivos abiertos por proceso). al ser el kernel la base del sistema operativo. /unix. son de un nivel tan bajo que su funcionamiento depende de cada versión de Unix. y tambíen hablaremos de aspectos que. disponible en la sección Table limits de Configuration Tunables./link_unix CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 50 DE 92 . un administrador con un mínimo nivel de conocimientos de programación puede aprovechar la disponibilidad del código para detectar rápidamente problemas de seguridad: por ejemplo. getconf o inconfig. lo podemos hacer a través de /etc/conf/cf. o si algun usuario ejecuta un programa que le ha establecido setuid para conseguir privilegios que no le corresponden. puede modificar la llamada al sistema setuid() para comprobar si sus sospechas son ciertas. idtune.old.d/configure o utilizando el ambiente gráfico de scoadmin en la opción Hardware/Kernel Manager. si deseamos modificar el número máximo de procesos en el sistema. Utilizando esta misma utilidad. Si modificamos parámetros del kernel mediante configure. situado en ese mismo directorio.d# . para poder arrancar con él en caso de que algo grave suceda al introducir modificaciones: root:~# cd /etc/conf/cf. ambas cosas se consiguen mediante el comando link_unix. Tambíen podemos configurar aquí el máximo número de descriptores de archivo en uso en el sistema. Esta utilidad copiará además el kernel actual. en /unix.

Además. Please wait. así como los que el kernel en ejecución está utilizando. se mantienen los valores actuales para el parámetro correspondiente). The UNIX Kernel has been rebuilt. El comando inconfig recibe como argumentos el parámetro a configurar y su nuevo valor. Otro de los parámetros del sistema de red. de esta forma. To activate it. Do you want this kernel to boot by default? (y/n) y Backing up /unix to /unix. en nuestro servidor. ya que inconfig lo actualiza de forma dinámica (si alguno de los nuevos valores es erróneo. Do you want the kernel environment rebuilt? (y/n) y The kernel has been successfully linked and installed. y al contrario de lo que sucede al utilizar configure. así. Root for this system build is /. establecido a veinte minutos. el parámetro de inconfig en este caso será arpt_keep seguido del valor deseado. si por ejemplo deseamos desactivar el IP Forwarding en nuestro servidor (aunque por defecto ya lo está). The new kernel may require changes to /etc/inittab or device nodes. no es necesario reiniciar el sistema para que los nuevos valores se inserten en el kernel.old Installing new /unix The kernel environment includes device node files and /etc/inittab. podemos modificar este tiempo con el parámetro arpt_prune de inconfig. reboot your system. Esta utilidad actualizará los datos definidos en /etc/default/inet. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 51 DE 92 . para evitar que esto ocurra hemos de asignar al parámetro ipnonlocalsrcroute el valor "0" (utilizado por defecto en SCO Openserver). que nos puede interesar modificar de cara a aumentar la seguridad es el tiempo de expiración de las entradas de la tabla ARP (Adress Resolution Protocol) por defecto. Para configurar parámetros globales del sistema de red en SCO Openserver podemos utilizar el comando inconfig. This will take a few minutes. la tabla ARP se escanea cada cinco minutos en busca de entradas caducadas. podemos conseguirlo con un comando como la siguiente: inconfig ipforwarding 0 Un servidor con el IP Forwarding desactivado aún reenvía paquetes source route.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX The UNIX Operating System will now be rebuilt.

caldera. smtp. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 52 DE 92 . que proveen servicios de red. el cual se queda en espera por varios servicios de red. de esta manera solo tenemos un solo demonio ejecutandose y reducimos la carga del sistema. especialmente cuando nos conectamos a Internet. como por ejemplo servidores: ftp. debemos saber que servicios son. TCP wrappers Unix SCO debe ser configurado para que sea seguro antes de conectarlo a una red. el cual le indica que servicios debe atender y que servidor ejecutar en caso de que se produzca un intento de uso de dicho servicio. con un valor entre 16 y 26. deshabilitar todos aquellos que no sean necesarios y configurar de forma segura los servicios que utilizaremos. El número de bits de tcp_secret utilizados realmente como semilla lo define el parámetro tcp_seqbits. Muchas veces necesitamos que una misma computadora brinde varios servicios de red. por lo tanto deberíamos tener en el sistema varios demonios ejecutandose simultáneamente. y su valor puede ser cualquiera entre 0 y 2147483647. luego de finalizar la instalación de UNIX. Estos pueden tener problemas de seguridad.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Para prevenir ataques de IP Spoofing contra el sistema. telnet. lo que le facilitará el ataque pero si es demasiado alto se reduce el intervalo entre la aparición de dos números de secuencia iguales. /etc/inetd.conf .com/support/security/ . es una buena elección para nuestra seguridad: si tcp_seqbits es demasiado bajo.Queda en espera hasta que intenten conectarse. el parámetro tcp_secret es la semilla que alimenta al generador de números aleatorios. kernel de SCO Openserver introduce un número aleatorio para generar los números de secuencia y el incremento de los mismos en los paquetes tcp. Algunas mejoras de la seguridad En esta parte se va a comentar algunos aspectos de modificaciones del kernel y o actualizaciones que se distribuyen libremente en forma de parches y que contribuyen a aumentar la seguridad de un sistema Unix. ejecuta el servidor correspondiente y le da el control de la conexión. existe un "súper server" inetd. aumenta la posibilidad de que un atacante pueda adivinar el número aleatorio que se genera. lee su archivo de configuración. Unix ejecuta un conjunto de programas denominados demonios.Al ejecutarse en el arranque de la PC o cuando lo reiniciamos. cuando un cliente quiere utilizar un servicio. existen varios servicios de red ejecutandose que no son necesarios. es recomedable consultar http://wwww. el valor por defecto es 21. . que son utilizados por el intruso para ganar acceso a nuestra computadora. Para reducir la carga en el sistema. Normalmente. para obtener referencias actualizadas de estos código y otros. lo que evidentemente tambíen facilita un ataque. El súper server o inetd. Esto nos podría producir una sobrecarga en nuestra computadora. Los pasos que realiza el inetd son los siguientes: . etc.

shell.Cuando intentan utilizar un servicio. Veamos brevemente cada campo de una línea de este archivo: . (root. exec.Nombre del servicio.programa que brindara el servicio. etc) .conf : ----------------------------------------------------ftp stream tcp nowait NOLUID /local/etc/tcpd ftpd telnet stream tcp shell stream tcp login stream tcp exec stream tcp nowait NOLUID /local/etc/tcpd telnetd nowait NOLUID /local/etc/tcpd rshd nowait NOLUID /local/etc/tcpd rlogind nowait NOLUID /local/etc/tcpd rexecd nowait nouser /local/etc/tcpd fingerd nowait NOLUID /local/etc/tcpd uucpd wait nouser /local/etc/tcpd tftpd finger stream tcp #uucp stream tcp #tftp dgram udp -----------------------------------------------------------Los servicios habilitados son: ftp. (stream. telnet. ejecuta el servidor correspondiente (indicado en el inetd.conf) y le entrega el control de la conexión. etc) .wait/nowait . etc) . .DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX . dgram. telnet.usuario con el que se ejecutara el servicio.Protocolo. Veamos un fragmento del archivo inetd. Las lineas que comienzan con un '#' son ignoradas (están comentadas).conf) esta compuesto por lineas.Tipo de socket.telnetd) Ejemplo: telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in. (ftp.Vuelve a su estado de espera. finger.conf. y los deshabilitados (comentados con un '#' en el inicio) son: uucp y tftp. login. nobody. El inetd. Veamos como esta formado su archivo de configuración. udp) . (tcp. El archivo de configuración del inetd (/etc/inetd.telnetd Importante: observar que el último campo (programa que brindara el servicio) es siempre: /usr/sbin/tcpd y el path del programa correspondiente al servicio. donde en cada una se indica el nombre del servicio que atenderá y su programa a ejecutar. esto se explicara mas adelante. (/usr/sbin/tcpd /usr/sbin/in. Veamos brevemente la función de algunos de los servicios que maneja el inetd: CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 53 DE 92 .

porque son atendidos por el mismo inetd. nos envía constantemente caracteres. : discard: Descarta. con autentificacion basada en puertos privilegiados y hosts de confianza (trust). es el numero de segundos transcurridos desde el primero de enero de 1900. Servicios estandart. ósea todo lo que enviamos lo recibimos. con autentificacion basada en usuario y contraseña. pero si legible para otra computadora. retorna un reporte de estado del sistema o de un usuario en particular. shell: login: exec: talk: ntalk: Servicios de información. finger: ident: Server que provee información remota. Provee ejecución remota de comandos. ftp: telnet: Se utiliza para realizar a través de la red transferencias de archivos. ósea una consola remota. Provee ejecución remota de comandos. con autentificacion mediante usuario y contraseña. Escucha en determinados ports TCP y retorna el usuario que realiza la conexión. ósea no hace nada con lo que recibe y tampoco envía nada. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 54 DE 92 . Provee una sesión remota. por ejemplo: Wed Jun 14 10:32:20 2000.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Servicios internos. Nota: los cinco servicios anteriores se denominan internos. Protocolos BSD. pueden ser todos desabilitados en la mayoría de los casos. con autentificacion mediante usuario y contraseña. con autentificacion basada en puertos privilegiados y hosts de confianza. Nos envía la fecha en un formato ilegible para nosotros. daytime time Nos envía la fecha en formato legible por nosotros. Los dos siguientes se utilizan para conversar con otro usuario. echo: Realiza un eco en la conexión. Se utiliza para obtener sesión remota. chargen Generador de caracteres.

para que vuelva a leer su archivo de configuración. Una vez deshabilitados los servicios que no vamos a utilizar. el archivo inetd.conf nos quedara así: -----------------------------------------------------------#:STANDARD: These are standard services.Hallamos el PID del inetd. ident. ftp stream tcp nowait NOLUID /local/etc/tcpd ftpd telnet stream tcp nowait NOLUID /local/etc/tcpd telnetd #shell stream tcp nowait NOLUID /local/etc/tcpd rshd #login stream tcp nowait NOLUID /local/etc/tcpd rlogind #exec stream tcp nowait NOLUID /local/etc/tcpd rexecd f#inger stream tcp nowait nouser /local/etc/tcpd fingerd #uucp stream tcp nowait NOLUID /local/etc/tcpd uucpd #tftp dgram udp wait nouser /local/etc/tcpd tftpd --------------------------------------------------------ftp y telnet quedan habilitados para su uso. Supongamos que queremos deshabilitar los siguientes servicios: shell. Aquí se entenderá porque el ultimo campo del archivo inetd. en vez de ejecutar el programa servidor correspondiente.conf es siempre /usr/sbin/tcpd seguido por el path del servidor. para PCs sin disco riguido. ejecuta el tcpd y le pasa como parámetro el nombre del servidor correspondiente. ahora debemos configurar de forma segura los que utilizaremos. es la siguiente: . exec y finger. 2.Cuando inetd recibe un pedido por un servicio. Esto lo podemos realizar de la siguiente manera: 1. exec. Para que los cambios tengan efecto debemos reiniciar el inetd. login. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 55 DE 92 .DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX tftp bootps Ambos se utilizan normalmente como servidores de booteo. bootps. tftp. La operación del inetd con el tcpd en conjunto. en el ejemplo anterior. El tcpd.luego reiniciamos el inetd con el siguiente comando (con el usuario root): # kill -9 97 Los servicios que normalmente se utilizan son : telnet y ftp. Servicios que es recomendable deshabilidarlos (comentarlos): shell. finger. en este ejemplo es 97. con el siguiente comando: # ps -ef | grep inetd root 97 0.7 1292 536 ? S 10:54 0:00 inetd El PID corresponde a la segunda columna. login.0 1.

deny. le dice al tcpd que el host 192.deny en el directorio /etc. . Todos los nombres de hosts que finalicen con ella. .' (punto). se les dejara acceder o no.El tcpd decide si permite el acceso o no al servicio. dependiendo si esta en hosts.168.Por ultimo el programa servidor puede pedir usuario y contraseña para autentificar. dependiendo si esta en hosts. Por ejemplo: ftpd : 192.allow o hosts.deny.allow y hosts.allow y hosts.allow. Si tiene acceso al servicio. hosts.deny. indica las direcciones de las PCs o hosts que pueden acceder a un determinado servicio y hosts.allow. También puede ser la palabra ALL.deny significa que le va a negar el acceso.allow o hosts. es intermediario entre el súper server (inetd) y el servidor correspondiente.deny indica las direcciones a las que se les niega el acceso a determinados servicios de red. dependiendo si se encuentra en hosts. El archivo hosts. dependiendo de unas reglas de acceso y la dirección del cliente que lo solicita. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 56 DE 92 . En cada linea de estos archivos se indica el nombre del o los programas servidores y la dirección o nombre de uno o varios hosts.2 Si esto se encuentra en el archivo hosts. que significa todos los hosts.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX . que significa todos los procesos Ejemplos: ftpd telnetd ALL client_list: Lista de uno a mas direcciones o nombres de hosts sobre los cuales se aplica el acceso o no.1. Dichas reglas se encuentran en los archivos hosts. rechaza la petición. el tcpd ejecuta el programa que brinda el servicio correspondiente y le entrega el control de la conexión.deny respectivamente.allow o hosts. Se ve que el tcpd agrega un nivel más de seguridad mediante reglas de acceso. client_list puede tener alguna de las siguientes formas: 1-Una palabra que comienza con un '. Si estuviera lo mismo en el archivo hosts.168.1. También puede ser la palabra ALL. están formadas de la siguiente manera : daemon_list : client_list daemon_list: Lista de uno o mas nombres de procesos (daemons) sobre los cuales se aplica el acceso o no. Veamos mas en detalle cada linea de estos archivos.Si las reglas de acceso dicen que la computadora que solicitó el servicio no tiene acceso al mismo.2 puede acceder al servidor ftp.

DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Ejemplo .0 hasta 192.deny y dar acceso a lo que necesitamos en el hosts.x.ar ns1.m es la mascara de red.0 hasta 192. Recordemos que esta interfaz es virtual.allow Ejemplo 1: Este ejemplo no tiene utilidad práctica.x.ar hosts12323.impsat. normalmente usamos la IP 127.1.m.net. todo lo que enviamos por el loopback nos vuelve.impsat. Ejemplo: 192.allow y hosts.ar 2.0.m Donde n.168.impsat.1/255.net. no lee el archivo hosts.Reiniciamos el inetd.Una palabra que finaliza con un '.Editamos el inetd. Si lo encuentra. se les dejara acceder o no.net.ar mail.Si en el paso anterior. 2.n. 3.n. Todas las direcciones ip que comiencen con dicha palabra. no encontró el host.1.1.impsat.' (punto).Si en ninguno de los dos archivos encontró el nombre o dirección de host.n/m. 2.ar rdu1256. ejecuta el servicio correspondiente y le da el control de la conexión.1. Regla valida para todas las IPs desde 192. Si es así.impsat.255.n es la dirección de red y m.0. como se indicó mas arriba.n. le permite el acceso.1.net.impsat.conf y habilitamos el telnet.m.deny son: 1.168. rechaza la conexión. 3.Una expresión de la forma: n. Estos nos dice que nos conviene negar el acceso a todo en el hosts.1. 1.168.0 A todas las IPs desde 192.net.Utilizamos la interfaz loopback para hacer algunas pruebas.255 se les dejara acceder o no. pero sirve para aclarar conceptos.deny.Lee el archivo hosts. Toda la red 127. en nuestro caso la utilizaremos para hacer pruebas como si estuviéramos en una red.m.168.168.168. Ejemplo: 192.allow y verifica si la dirección o nombre del host que trata de conectarse.deny y busca la dirección o nombre del host.ar Todos estos cumplen con .m.255 3.1 CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 57 DE 92 . lee el archivo hosts.n.255. tiene acceso al servicio.x es el loopback.net. Los elementos que forman cada lista deben estar separados por espacios en blanco y/o comas. Los pasos que realiza el tcpd con los archivos hosts.

.0.deny negamos todo: ALL : ALL En hosts. Supongamos que nuestra PC se conecta a Internet y también tiene una tarjeta ethernet para conectarse a una red interna.deny no haya ninguna regla (todo comentado. Connected to 127..1 Trying 127. damos permiso a los usuarios de la red interna para que accedan a ftp y telnet.168. Connection closed by foreign host.conf: ftp telnet stream stream tcp tcp nowait nowait NOLUID NOLUID /local/etc/tcpd ftpd /local/etc/tcpd telnetd En hosts.Editamos el hosts.255.1 Trying 127.mx) (ttyp4) login: Vemos que el tcpd nos dejo acceder.allow.0.fie.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Verificamos que en los archivos hosts.1.0 Necesitamos que telnet y ftp estén habilitados para la red interna pero no para Internet. al servidor de telnet.0.0.deny y agregamos: ALL : ALL Con eso negamos el acceso a todo. 5.0.umich. Entonces los archivos nos quedan así: -Habilitamos telnet y ftp en inetd.0. SCO OpenServer(TM) Release 5 (m01. Escape character is '^]'. Hacemos telnet otra vez: # telnet 127. Connected to 127.255.1.0.0.1.1. colocando lo siguiente: CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 58 DE 92 ..0. con dirección 192.. Nos negó el acceso.0 y mascara 255.1. o sea poner '#' al principio de las lineas).Nos hacemos telnet a nosotros mismo: # telnet 127.0. funciona ! Ejemplo 2: Continuamos configurando.allow y hosts. 4.0. Escape character is '^]'.0.

segun lo que nos dice el netstat en este ejemplo son: printer www 6000 (Xserver) smtp telnet sunrpc Supongamos que el servidor web (www) no es necesario para nuestro caso y lo queremos deshabilitar.255. ubicado en el directorio /etc/rc2. podemos utilizar el siguiente comando: # netstat -a | grep LISTEN tcp 0 0 *:printer tcp 0 0 *:www tcp 0 0 *:6000 tcp 0 0 *:smtp tcp 0 0 *:telnet tcp 0 0 *:sunrpc unix 1 [ ACC ] STREAM unix 1 [ ACC ] STREAM unix 1 [ ACC ] STREAM *:* *:* *:* *:* *:* *:* LISTENING LISTENING LISTENING LISTEN LISTEN LISTEN LISTEN LISTEN LISTEN /tmp/.d Existen directorios /etc/rcS. Un ejemplo típico de servidores que no son manejados por inetd son: sendmail y apache.1. que contiene links simbólicos a estos scripts.d donde S es el nivel de ejecución. in. los servicios que están disponibles. . En UNIX SCO existe un scipt por cada servicio que lo inicia.X11-unix/X0 /var/run/gpmctl /dev/log 1808 1293 1209 Los servicios de red son los que comienzan con tcp o udp. lo que podemos hacer es: . En los directorios /etc/rc. se encuentran los links simbólicos a los scripts que inician o detienen servicios. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 59 DE 92 . Una forma de deshabilitarlos podría ser eliminando estos links simbólicos. reinicia y detiene.Deshabilitar el servicio. donde S es el nivel de ejecución.telnetd : 192.Desinstalar la aplicación que brinda el servicio (apache).d/rcS.ftpd.0 Listo ! Misceláneas.0/255. Para visualizar los servicios de red que están disponibles. mediante el script de arranque.168. necesitaran su propia configuración para brindar su servicio en forma segura.255. Aclaremos que no todos los servicios de red que esta brindando nuestra PC son manejados por inetd y tcpd.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX in.d. Por lo tanto son independientes de la configuración realizada.

d/1* I01MOUNTFSYS monta los systemas de archivos.d/2* scripts P03RECOVERY ejecuta los scripts /etc/rc. Esta información tiene el siguiente formato: AUDIT CONNECT pid ruid shost sport dhost dport Conexión desde el servidor al host remoto dhost. filtrarla y almacenarla en archivos. AUDIT ACCEPT pid ruid shost sport dhost dport Conexión desde el host remoto dhost al servidor.d/3* P15HWDNLOAD ejecuta los scripts /etc/rc.d/9* Otra precaución fundamental es asegurarse que los servicios que necesitamos ejecutar no tengan problemas de seguridad y que sean las últimas versiones. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 60 DE 92 . El primer carácter del nombre determina como se ejecutan los archivos al entrar al nivel 2: K* scripts ejecutados en secuencia serie (ordenada) cuando se especifica stop a prc_sync(ADM) S* scripts ejecutados en secuencia serie (ordenada) cuando se especifica start a prc_sync(ADM) P* scripts que prc_sync(ADM) ejecuta en paralelo con otros scripts P* a los cuales es adyacente en orden I* scripts interactivos para los cuales prc_sync(ADM) deberá esperar hasta que estos completen su ejecución y terminen Los archivos que inicien con cualquier otro caracter son ignorados.d son: P00SYSINIT corre los scripts /etc/rc.d se ejecutan en orden de acuerdo al segundo caracter del nombre. inicia la auditoría y ejecuta los scripts /etc/rc.d/8* P90RESERVED ejecuta los scripts /etc/rc. a través del archivo /proc/audit.d/0* y /etc/rc. los archivos /etc/rc2.d/5* P16KERNINIT ejecuta los scripts /etc/rc. Existen varios sitios web y listas de correo que nos alertan cuando se encuentran dichos problemas. por problemas de seguridad. status.d/7* P88USRDEFINE ejecuta los scripts /etc/rc. Auditd El demonio auditd permite al administrador de un sistema Unix recibir la información de auditoría de seguridad que el kernel genera. and archivos temporales P75cron inicia el demonio cron(C) P87USRDAEMON ejecuta los scripts /etc/rc. Normalmente cada distribución UNIX o linux. en su sitio oficial publica las actualizaciones necesarias.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Por ejemplo. Algunos scripts importantes en /etc/rc2.d/6* P20sysetup genera el archivo ID del sistema (/etc/systemid) P70uucp elimina bloqueos uucp(C).

ya que un error puede ser fatal para el servidor. ya que el valor ideal viene dado por las características de cada sistema: cada administrador debe conocer lo que es habitual en sus servidores. Este software se encuentra disponible en http://www. el demonio auditd lee las reglas de filtrado del archivo /etc/security/audit. AUDIT SETUID pid old ruid ruid euid Se ha llamado con éxito a setuid().org/projects/linux/auditd/.conf.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX AUDIT LISTEN pid ruid shost sport El puerto indicado está esperando peticiones de servicio. para de esta forma detectar lo inusual y con ello los posibles problemas de seguridad que puedan existir en sus máquinas. voluntarios o involuntarios. Al leer la información de /proc/audit. la guarda en él con un formato legible. modificando el UID de ruid a euid. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 61 DE 92 . SCO) que pueden beneficiar (o arruinar) su seguridad. se ha particularizado la forma de evitarlos para algunos de los clones de Unix más utilizados. pid y ruid (Real User IDentifier) recibidos con cada una de las reglas del archivo de configuración. AUDIT OPEN pid ruid file Se ha abierto el archivo file. (se trata de información que puede cambiar entre versiones de un mismo sistema operativo). En la tabla 7. Una vez que el demonio auditd ha encontrado el archivo donde almacenar la información recibida. principalmente a nivel de red y de límites de recursos (para prevenir ataques de negación de servicio. es indispensable consultar la documentación del sistema y asegurarse muy bien de lo que se está haciendo antes de reconfigurar un kernel. HP-UX. comparando las flags. Resumen En este capítulo se tratado ciertos parámetros del kernel de varios sistemas Unix (Linux.3 se presentan los parámetros vistos en este capítulo para los diferentes Unix. hasta encontrar la apropiada para tratar el evento. Aunque las bases de todos lo problemas suelen ser comunes a cualquier Unix. Solaris.hert. AUDIT MODINIT pid ruid file Se ha insertado en el kernel el módulo file. por parte de los usuarios). no se dan valores óptimos para cada uno de ellos. AUDIT EXEC pid ruid file Se ha ejecutado el archivo file.

deny (en este orden) una entrada en la que el servicio y el nodo cliente coincidan. las tablas de ruteo.mx.deny.seccion.1. tenemos el soporte de red dentro del kernel del sistema operativo. sin importar lo que haya en hosts. encargado de implementar las tareas de más bajo nivel necesarias para la comunicación entre sistemas. portatil. respectivamente. o el alias. Estos archivos contienen entradas permitiendo y negando acceso. por otro. o el comportamiento de un servidor ante solicitudes de servicio desde otros equipos conectados a el. Si la entrada coincidente aparece en hosts. de forma que para comunicación dentro de la red no se tenga que recurrir a un DNS (Servidor de Nombres de Dominio) a la hora de resolver un nombre de máquina.168. en el espacio de usuario.umich. Las entradas en los archivos de acceso tienen la siguiente estructura: lista servicios: lista nodos [:cmd_shell] Donde: listaservicios CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 62 DE 92 .mx. Si no hay coincidencia en ninguno.168. El archivo /etc/hosts Este archivo se utiliza para obtener una relación entre un nombre de máquina y una dirección IP: en cada línea de /etc/hosts se especifica una dirección IP y el nombre de máquina que le corresponde.1. de forma que un usuario no tenga que recordar direcciones sino nombres de hosts.150 portatil. nombres y aliases de todos los equipos conectados a la red local.deny. La forma de una línea de este archivo es la siguiente: 192.allow.deny y hosts. portatil. Habitualmente se suelen incluir las direcciones. Este software está dividido en dos partes: por un lado. Si la coincidencia se encuentra en hosts. busca en hosts. En esta sección se va tratar exclusivamente del software (tanto utilidades como archivos) que de una u otra forma puede afectar a la seguridad global del servidor. para ciertos servicios y nodos. la petición es aceptada. Cuando tcpd trata una peticion de un servicio como finger de un nodo cliente denominado pegasso. como la dirección IP.seccion. la petición se rechazas cerrando la conexión.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX ARCHIVOS IMPORTANTES El sistema de red del sistema operativo Unix se entiende como el conjunto de software que posibilita la interconexión entre diferentes computadoras (cliente-servidor o viceversa). como la pila de protocolos tcp/ip o los controladores de tarjetas de red. tenemos al conjunto de programas y archivos utilizados para configurar parámetros del sistema relacionados con la red.allow y hosts.150 usar el nombre de la máquina. se garantiza el acceso.allow.mx portatil Esto indica que será equivalente a la dirección 192. cuando deseemos comunicarnos con este servidor: Control de acceso Este control de acceso a el servidor se lleva acabo a través de dos archivos localizados en /etc/ los cuales son: hosts.

respectivamente. UNKNOWN hace coincidir todos los nodos cuya busqueda de nombre o direccióon fallo.mx : echo "peticion de %d@%h" ?? /var/log/finger.fingerd: ALL EXCEPT LOCAL. puede contener un comando de shell para que sea invocado cuando una busqueda coincida con la entrada. Por favor. Todo programa de red debe leer este archivo para obtener el número de puerto (y protocolo) para su servicio. de un conjunto lo suficientemente amplio para que ciertos programas de red funcionen correctamente). si no de todos los existentes.tftpd. el protocolo tcp y con un alias mail.mx" ].umich. . LOCAL. Por ejemplo. Para negar acceso a los servicios finger y tftp a todos los nodos menos a los locales. ALL hace coincidir todos los nodos mientras que LOCAL hace coincidir todos los nombres de nodos que no contengan un punto. Esto es útil para establecer trampas que puedan delatar a atacantes potenciales: in.umich.deny. es un archivo ASCII que proporciona una correspondencia entre nombres textuales. o UNKNOWN. o la palabra clave ALL. Un nombre comenzado por un punto incluye a todos los nodos cuyo dominio es el mismo a ese nombre.umich. lista de servicios de red.dominio cmd_shell Es un campo opcional. para los servicios de red y sus correspondientes números de puerto y tipos de protocolo yacentes. Para especificar todos los servicios excepto finger y tftp.log fi Los argumentos %h y %d son expandidos por tcpd al nombre del nodo cliente y al nombre del servicio.allow vacio: in.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Es una lista de nombres de servicios de /etc/services. . existirá una línea similar a la siguiente: smtp 25/tcp mail CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 63 DE 92 . tfp lista nodos Es una lista de nombres de nodos o direcciones IP. número de puerto.log. if [ %h != "pegasso. protocolo utilizado y alias.mx coincidirá con pegasso. ponga lo siguiente en /etc/hosts. o las palabras clave ALL. y deje /etc/hosts. then finger -l @%h ?? /var/log/finger. Por ejemplo.umich. En cada línea de este archivo se especifican el nombre. Tambien hay formas de especificar direcciones de red IP y números de red. de todos los servicios de red existentes (o. El archivo /etc/services EL archivo services. usa ALL EXCEPT finger.su.ftpd: ALL EXCEPT LOCAL. . refierase a la pagina del manual de hosts_access(5) para mas detalles. in. para especificar que el servicio de smtp utilizará el puerto 25. cómodos.mx.

en cada una de ellas existen al menos seis campos (en algunos clones de Unix pueden ser más). En este último caso se ha de acompañar el nombre del servicio con el número de versión RPC. getservbyname(3). El inetd es el encargado de ofrecer la mayoría de servicios de nuestro servidor hacia el resto de clientes. Cada línea (excepto las que comienza por #. Aunque dependiendo del clon de Unix utilizado existen una serie de identificadores válidos. El archivo /etc/inetd. incluso para los servicios que son exclusivos de TCP. generalmente TCP o UDP. y su política actual es la de asignar tanto los protocolos TCP y UDP cuando se asigna un número de puerto.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Las funciones getservent(3). Los números de puerto por debajo de 1024 (los llamados "puertos de baja numeración" o puertos privilegiados) sólo pueden ser enlazados por el superusuario. en este caso podríamos tener protocolos como rpc/tcp o rpc/udp. tanto ofrecidos por este demonio como servidos independientemente. Protocolo Este es el campo del protocolo. para que los clientes que se conecten a los puertos de baja numeración y puedan confiar en que el servicio que se esta ofreciendo en el puerto es una implementación estándar y verdadera y no un servicio falso ejecutado por algun atacante. la mayoría de las entradas tendrán dos líneas. Esto es. o en /etc/rpc si se trata de servicios basados en el RPC (Remote Procedure Call) de Sun Microsystems. setser-vent(3). y por tanto debemos cuidar mucho su correcta configuración.conf le indica a inetd cómo se ha de comportar cuando recibe una petición en cierto puerto. y endservent(3) de la biblioteca de C permiten consultar este archivo desde un programa. el nombre ha de existir en /etc/services para ser considerado correcto. Por tanto.conf Este archivo es el utilizado por el programa inetd. Si se trata de servicios RPC. al igual que sucedía con el nombre. En el capítulo siguiente hablaremos de cómo restringir servicios. Los números de puerto bien conocidos especificados por la IANA se localizan normalmente es este espacio exclusivo del root. que son tratadas como comentarios) del archivo /etc/inetd. de nuevo hay que indicarlo utilizando RPC antes del nombre del protocolo. cuyo significado es el siguiente: Servicio En este campo se indica el nombre del servicio. mientras que si el protocolo es UDP (User Datagram Protocol) el tipo del socket sea dgram (datagrama). por ejemplo. separado de él por el carácter /. Los números de puerto son asignados por la IANA (Internet Assigned Numbers Authority: Autoridad para la Asignación de Números de Internet). debe ser un protocolo definido en /etc/protocols. getservbyport(3). separando ambos con el carácter /. conocido como el demonio superservidor de red. Socket En este se indica el tipo de socket asociado a la conexión. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 64 DE 92 . lo normal es que asociado al protocolo TCP se utilicen sockets de tipo stream.

puede atender varias peticiones simultáneamente). lo que por supuesto no es conveniente para el sistema. separado de él por un punto) el número máximo de peticiones a un servicio durante un intervalo de tiempo (generalmente un minuto). si inetd se queda bloqueado por cualquier motivo). especialmente para prevenir ataques de negación de servicio (DoS). Si especificamos wait. algo muy común entre administradores es aprovechar las facilidades de planificación (cron) de Unix para enviar cada poco tiempo la señal sighup al demonio inetd. de forma que este vuelva a leer su archivo de configuración y funcione normalmente. el resto de tipos han de contener una entrada nowait en este campo. por lo que deja de ofrecer ese servicio durante cierto tiempo (algunos clones de Unix incluso paran inetd. Por ejemplo. 30. para conseguir esto podemos agregar al archivo /usr/spool/cron/crontabs/root una línea como la siguiente: 00. Si por el contrario se trata de un servidor de un hilo (acepta peticiones de forma secuencial.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Concurrencia El campo de concurrencia sólamente es aplicable a sockets de tipo datagrama (dgram). con lo que un posible error en su funcionamiento no tenga consecuencias excesivamente graves. Para evitar ataques de este estilo. Especificar correctamente el modelo de concurrencia a seguir en un determinado servicio es muy importante para la seguridad del sistema. de forma que si este número se sobrepasa inetd asume que alguien está intentando una negación de servicio contra él. por lo que si este servicio es muy costoso la segunda petición no será atendida en un tiempo razonable (o incluso nunca. Si por el contrario especificamos nowait. inetd no podrá atender una petición hasta que no finalice el servicio de la actual. aunque se puede indicar un grupo diferente indicándolo junto al nombre. Usuario En este campo se indica el nombre de usuario bajo cuya identidad se ha de ejecutar el programa que atiende cada servicio. Como evidentemente esto tambíen es una negación de servicio. la mayoría de sistemas Unix actuales permiten especificar (junto a wait o nowait. se asume el grupo primario del usuario especificado. 20. el número de conexiones simultáneas quizás llegue a ser lo suficientemente grande como para degradar las prestaciones del sistema. Para el grupo. hasta que no finaliza con una no puede escuchar la siguiente) especificaremos wait. Si el servidor que ha de atender la petición es multihilo (es decir. killall -HUP inetd CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 65 DE 92 . 40. separado de éste por un punto. en este caso utilizaremos la opción nowait. esto es así para poder lanzar servicios sin que posean los privilegios del root. es conveniente consultar la documentación en cada caso). 10. hemos de indicarle al sistema de red que libere el socket asociado a una conexión de forma que inetd pueda seguir aceptando peticiones en dicho socket. 50 * * * * y ejecutar: # crontab /usr/spool/cron/crontabs/root Con esto conseguimos que inetd se reconfigure cada diez minutos.

ejemplos de este tipo de servicios son time. el sistema de red en Unix utiliza un número especial. pseudo protocol number icmp 1 ICMP # internet control message protocol igmp 2 IGMP # Internet Group Management ggp 3 GGP # gateway-gateway protocol ipencap 4 IP-ENCAP # IP encapsulated in IP (officially `IP'') st 5 ST # ST datagram mode tcp 6 TCP # transmission control protocol egp 8 EGP # exterior gateway protocol pup 12 PUP # PARC universal packet protocol udp 17 UDP # user datagram protocol hmp 20 HMP # host monitoring protocol xns-idp 22 XNS-IDP # Xerox NS IDP rdp 27 RDP # "reliable datagram" protocol CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 66 DE 92 . para identificar el protocolo de transporte específico que el servidor recibe. En este caso. denominado número de protocolo.1. si en /etc/inetd. ip 0 IP # internet protocol.1. El servidor inetd es capaz de ofrecer pequeños servicios basado en TCP por sí mismo. esto permite al software de red decodificar correctamente la información recibida. El archivo /etc/protocols Es el archivo de definición de protocolos. De esta forma.conf tenemos una línea como esta: telnet stream tcp nowait root /usr/sbin/in.1 (Berkeley) 4/17/89 # # Updated for NetBSD based on RFC 1340. junto a los argumentos de dicho programa.1 1999/12/27 21:11:58 chmouel Exp $ # # Internet (IP) protocols # # from: @(#)protocols 5. en cada línea de /etc/inetd. echo o chargen.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Programa Por último. sin necesidad de invocar a otros programas.conf se debe de indicar la ruta del programa encargado de servir cada petición que inetd recibe en un puerto determinado.telnetd.telnetd inetd sabe que cuando reciba una petición al puerto telnet ha de abrir un socket tipo stream (el habitual para el protocolo TCP) y ejecutar fork() y exec() del programa /usr/sbin/in. bajo la identidad de root. En el archivo /etc/protocols se identifican todos los protocolos de transporte reconocidos junto a su número de protocolo y sus alias: # /etc/protocols: # $Id: protocols. el valor de este campo ha de ser internal. Assigned Numbers (July 1992).v 1.

0 localnet 195. Por lo tanto NO es recomendable que el administrador modifique este archivo. de una forma similar a lo que /etc/hosts hace con los hosts. es decir. El archivo /etc/networks Este archivo. En la actualidad el archivo /etc/ethers no se suele encontrar (aunque para el sistema sigue conservando su funcionalidad.195. si existe se tiene en cuenta) en casi ningun servidor Unix.0. en este archivo se establece una correspondencia entre nombres de hosts y direcciones ethernet. cuando aún no dispone del servicio de un servidor de nombres. ya que ha sido desplazado por el DNS.seccon.0.5. que esta cada vez más en desuso.0 El uso de este archivo es casi exclusivo del arranque del sistema. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 67 DE 92 . En cada línea del archivo se especifica un nombre de red. Los números y nombres de los protocolos se definen en el DDN (Network Information Center). es el software de red el que lo va actualizando al ser instalado en el servidor. su dirección. en la operación habitual del sistema no se suele utilizar. y sus alias: loopback 127. en un formato muy similar al archivo /etc/hosts: 00:10:5A:AC:6F:89 portatil. permite asignar un nombre simbólico a las redes.umich.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX iso-tp4 29 ISO-TP4 # ISO Transport Protocol class 4 xtp 36 XT P # Xpress Tranfer Protocol ddp 37 DDP # Datagram Delivery Protocol idpr-cmtp 39 IDPR-CMTP # IDPR Control Message Transport ipv6 41 IPv6 # IPv6 ipv6-route 43 IPv6-Route # Routing Header for IPv6 ipv6-frag 44 IPv6-Frag # Fragment Header for IPv6 ipv6-crypt 50 IPv6-Crypt # Encryption Header for IPv6 ipv6-auth 51 IPv6-Auth # Authentication Header for IPv6 ipv6-icmp 58 IPv6-ICMP # ICMP for IPv6 ipv6-nonxt 59 IPv6-NoNxt # No Next Header for IPv6 ipv6-opts 60 IPv6-Opts # Destination Options for IPv6 rspf 73 RSPF # Radio Shortest Path First. vmtp 81 VMTP # Versatile Message Transport ospf 89 OSPFIGP # Open Shortest Path First IGP ipip 94 IPIP # Yet Another IP encapsulation encap 98 ENCAP # Yet Another IP encapsulation Este archivo no se debe modificar porque los cambios pueden producir paquetes IP incorrectos. El archivo /etc/ethers Al igual que en /etc/hosts se estable una correspondencia entre nombres de hosts y sus direcciones IP. ya que las direcciones hardware se obtienen por ARP (Address Resolution Protocol).mx.

en mayor o menor medida. consiste en registrar todos los programas ejecutados por cada usuario. ya que la gran cantidad de información que potencialmente se registra puede ser aprovechada para crear negaciones de servicio o más habitualmente. Aunque muchos de los archivos de log de los que hablaremos a continuación son comunes en cualquier sistema. Sistema de bitacoras (logs) en Unix Otra desventaja agregada al sistema de auditoría en Unix puede ser la complejidad que puede alcanzar una correcta configuración. sin embargo. ya que no necesita de herramientas especiales para poder revisar los logs (aunque existen algunas utilidades para hacerlo. como utilizar una máquina fiable para registrar información del sistema o incluso enviar los registros más importantes a una impresora. como swatch) e incluso puede programar shellscripts para generar informes de forma automática. se puede iniciar mediante : CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 68 DE 92 . grep o sed. más adelante se mencionan. los informes generados en este proceso pueden llegar a ocupar muchísimo espacio en disco (dependiendo del número de usuarios en nuestro sistema) por lo que sólo es recomendable en situaciones muy concretas. Existe un punto muy interesante de los archivos log (bitacoras) en Unix. su localización. esto implica una cosa muy importante para un administrador: nunca ha de confiar al 100% en lo que los informes de auditoría del sistema le digan. evidentemente. los programas ejecutados o incluso el tiempo de CPU que cada usuario consume. la localización de archivos y ciertas comandos relativas a la auditoría del servidor van a ser diferentes en ellas. En los sistemas System V el process accounting está desactivado por defecto. Dentro de Unix hay dos grandes familias de sistemas: se trata de System V y BSD. La principal diferencia entre ellos es el denominado process accounting o simplemente accounting. el hecho de que estos archivos sean texto plano hace que un atacante la tenga muy fácil para ocultar ciertos registros modificando los archivos con cualquier editor de textos. así como tambíen detectar usos indebidos de los recursos o actividades “'sospechosas”'. Para minimizar estos riesgos se pueden tomar diversas medidas. por ejemplo para detectar actividades “'sospechosas”' en un servidor o para cobrar por el tiempo de CPU consumido. en cada Unix el sistema de logs tiene peculiaridades que pueden propiciar la pérdida de información interesante de cara al mantenimiento de sistemas seguros. Por una parte esto es bastante cómodo para el administrador del sistema. por lo que es muy recomendable consultar las páginas del manual antes de ponerse a configurar el sistema de auditoría en un equipo concreto. monitoreadas: desde las horas de acceso de cada usuario al sistema hasta las páginas web más frecuentadas. No obstante. Obviamente esta facilidad de Unix para recoger información tiene unas ventajas inmediatas para la seguridad: es posible detectar un intento de ataque casi inmediatemente después de producirse el mismo. esa cantidad de información puede hacer difícil la detección de problemas por el volumen de datos a analizar. es que la mayoría de ellos son simples archivos de texto. que se pueden visualizar con un simple cat o un more. o incluso su formato. existen tambíen desventajas.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX AUDITORÍA DEL SISTEMA La mayoría de las actividades realizadas en un sistema Unix son susceptibles de ser. desde algunas quizás demasiado complejas para entornos habituales hasta otras más sencillas pero igualmente efectivas. con comandos como awk. por si la dificultad del sistema no fuera suficiente. pasando por los intentos fallidos o existosos de conexión. pueden variar entre diferentes Unix.

# Logging much else clutters up the screen.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX # /usr/lib/acct/accton /usr/adm/pacct /usr/adm/pacct es el archivo para almacenar los registros. close() o read(). El demonio syslog El demonio syslogd (Syslog Daemon) se lanza automáticamente al iniciar un sistema Unix. si no se dispone de mecanismos para interpretar o reducir la gran cantidad de datos registrados: el administrador guarda tanta información que es casi imposible analizarla en busca de actividades sospechosas. Recibe mensajes de las diferentes partes del sistema (kernel. #kern. Esto se consigue asignando un identificador denominado Audit ID a cada grupo de procesos ejecutados (desde el propio login). sin este argumento el process accounting se desactiva. Para visualizar los informes se utiliza el comando acctcom. y es el encargado de guardar informes sobre el funcionamiento del servidor. authpriv. en Unix C2 se proporciona una pista de auditoría donde se registran los accesos y los intentos de acceso de una entidad a un objeto.=info. # Don't log private authentication messages! *.) y los envía y/o almacena en diferentes localizaciones. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 69 DE 92 . se ignorara la línea completa. así como cada cambio en el estado del objeto.info.* /dev/console # Log anything (except mail) of level info or higher. mientras que con el modelo clásico se genera un registro tras la ejecución de cada proceso. identificador que se registra junto a la mayoría de llamadas al sistema que un proceso realiza.mail. con lo cual son ignoradas de la misma forma que las líneas en blanco. programas. open().*.conf. tanto locales como remotas. el modelo de auditoría C2 es innecesario.* /var/log/secure # Log all the mail messages in one place.* /var/log/maillog # Everybody gets emergency messages. por lo que en la mayoría de sistemas (especialmente en entornos habituales. incluyendo algunas tan comunes como write(). siguiendo un criterio definido en el archivo de configuración /etc/syslog. si ocurriera un error al interpretar una de las líneas del archivo. y no sólo esto.none /var/log/messages *. mail. por parte de la entidad o el sistema global.=notice /var/log/messages # The authpriv file has restricted access. sino que en muchas ocasiones tambíen se convierte en un monitoreo inútil. Es un mundo aparte a la hora de generar (y analizar) informes acerca de las actividades realizadas sobre un servidor Unix en los sistemas con el modelo de auditoría C2. A nadie se le puede escapar la cantidad de espacio y de CPU necesarios para mantener los registros a un nivel tan preciso.none.none. etc. plus log them on another # machine.authpriv. Las líneas de este archivo que comienzan por “'#”' son comentarios.conf es el siguiente: # Log all kernel messages to the console.news. Un ejemplo de /etc/syslog. como los mencionados aquí). donde especificamos las reglas a seguir para gestionar el almacenamiento de mensajes del sistema.

cron.log # # INN # news. news. Además de los términos mencionados hasta ahora. Todos los mensajes de la prioridad especificada y superiores son almacenados de acuerdo con la acción requerida. error (equivalente a err). notice. info. kern.=crit news. mark. crit.crit /var/log/spooler *.* /var/log/maillog verb''' verb' ' verb''' (blanco.info /var/log/tcpd.news.”'). ambas son indiferentes a mayúsculas y minúsculas. nulo) CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 70 DE 92 .crit /var/log/news/news. uucp. err. user. daemon.notice /var/log/news/news.emerg * # Save mail and news errors of level err and higher in a # special file. uucp y local0 hasta local7. todos los programas relacionados con el correo generarán mensajes ligados al servicio mail).log local7. alert. espacio. warn (equivalente a warning). security (equivalente a auth). La parte del servicio contiene una de las siguientes palabras clave: auth. dependiendo de dónde son usados (si antes o después del carácter de separación “'. El nivel de prioridad está compuesto de uno de los siguientes términos. separadas por un punto (“'. La prioridad define la gravedad o importancia del mensaje almacenado.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX *.log # bitacora de tcpd (TCP-Wrappers) local0. el demonio syslogd emplea los siguientes caracteres especiales: * (asterisco) Empleado como comodín para todas las prioridades y servicios anteriores. auth-priv. warning. syslog. emerg. separados por espacios o tabuladores.notice Se puede ver que cada regla del archivo tiene dos campos: un campo de selección y un campo de acción.err /var/log/news/news. lpr.=crit /var/log/critical # Save boot messages also to boot.* /var/log/boot. Esta parte especifica el “'sistema”' que ha generado ese mensaje (por ejemplo.=err news. mail. y panic (equivalente a emerg).”'): # Guardar todos los mensajes del servicio mail en /var/log/maillog # mail. El campo de selección está formado a su vez de dos partes: una del servicio que envía el mensaje y otra de su prioridad. en orden ascendente: debug.

DIRECCIÓN DE OPERACIÓN

CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX

Indica que no hay prioridad definida para el servicio de la línea almacenada. “',”' (coma) Con este carácter es posible especificar múltiples servicios con el mismo patrón de prioridad en una misma línea. Es posible enumerar cuantos servicios se quieran: # Guardar todos los mensajes de error de mail, uucp y news y en # /var/log/spool uucp,news.crit /var/log/spooler “';”' (punto y coma) Es posible dirigir los mensajes de varios servicios y prioridades a un mismo destino, separándolos por este carácter: # Guardamos los mensajes de prioridad "info" y "notice" # en el archivo /var/log/messages *.=info;*.=notice /var/log/messages “'=“' (igual) De este modo solo se almacenan los mensajes con la prioridad exacta especificada y no incluyendo las superiores: # Guardar todos los mensajes criticos en /var/log/critical *.=crit /var/log/critical “'!”' (exclamación cerrado) Preceder el campo de prioridad con un signo de exclamación sirve para ignorar todas las prioridades, teniendo la posibilidad de escoger entre la especificada (!=prioridad) y la especificada más todas las superiores (!prioridad). Cuando se usan conjuntamente los caracteres “'=“' y “'!”', el signo de exclamación “'!”' debe preceder obligatoriamente al signo igual “'=“', de esta forma: != # Guardar mensajes del kernel de prioridad info, pero no de # prioridad err y superiores # Guardar mensajes de mail excepto los de prioridad info kern.info;kern.!err /var/log/kernel-info mail.*;mail.!=info /var/log/mail Por otra parte, el campo de acción describe el destino de los mensajes, que puede ser: Un archivo plano

CENTRO NACIONAL DE CAPACITACIÓN CELAYA

PÁGINA 71 DE 92

DIRECCIÓN DE OPERACIÓN

CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX

Normalmente los mensajes del sistema son almacenados en archivos planos. Dichos archivos han de estar especificados con la ruta de acceso completa (comenzando con “'/”'). Podemos preceder cada entrada con el signo menos, “'-”', para omitir la sincronización del archivo (vaciado del buffer de memoria a disco). Aunque puede ocurrir que se pierda información si el sistema cae justo después de un intento de escritura en el archivo, utilizando este signo se puede conseguir una mejora importante en la velocidad, especialmente si estamos ejecutando programas que mandan muchos mensajes al demonio syslogd. # Guardamos todos los mensajes de prioridad critica en "critical" *.=crit /var/log/critical Una terminal (o la consola) Tambíen tenemos la posibilidad de enviar los mensajes a terminales; de este modo podemos tener uno de los terminales virtuales que muchos sistemas Unix ofrecen en su consola “'dedicada”' a listar los mensajes del sistema, que podrán ser consultados con solo cambiar a esa terminal: # Enviamos todos los mensajes a tty12 (ALT+F12 en Linux) y todos # los mensajes criticos del kernel a consola *.* /dev/tty12 kern.crit /dev/console Una tubería con nombre Algunas versiones de syslogd permiten enviar registros a archivos de tipo pipe simplemente anteponiendo el símbolo “'verb'|'“' al nombre del archivo; dicho archivo ha de ser creado antes de iniciar el demonio syslogd, mediante comandos como mkfifo o mknod. Esto es útil para debug y tambíen para procesar los registros utilizando cualquier aplicación de Unix, tal y como veremos al hablar de logs remotos cifrados. Por ejemplo, la siguiente línea de /etc/syslog.conf enviaría todos los mensajes de cualquier prioridad a uno de estos archivos llamado /var/log/mififo: # Enviamos todos los mensajes al pipe con nombre # /var/log/mififo *.* |/var/log/mififo Un servidor remoto Se pueden enviar los mensajes del sistema a otro servidor, de manera a que sean almacenados remotamente. Esto es útil si tenemos un servidor seguro, en el que podemos confiar, conectado a la red, ya que de esta manera se guardaría allí una copia de los mensajes de nuestro sistema y no podrían ser modificados en caso de que alguien entrase en nuestro servidor. Esto es especialmente útil para detectar usuarios ocultos en nuestro sistema (usuarios maliciosos que han conseguido los suficientes privilegios para ocultar sus procesos o su conexión):

CENTRO NACIONAL DE CAPACITACIÓN CELAYA

PÁGINA 72 DE 92

DIRECCIÓN DE OPERACIÓN

CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX

# Enviamos los mensajes de prioridad warning y superiores al # archivo "syslog" y todos los mensajes (incluidos los # anteriores) a la maquina "pegasso-security.umich.mx" *.warn /usr/adm/syslog *.* @192.168.1.97 Los registros generados por syslog se almacenan en /var/adm/syslog de la máquina especificada. Usuarios del sistema (si están conectados) Se especifica la lista de usuarios que deben recibir un tipo de mensajes simplemente escribiendo su login, separados por comas: # Enviamos los mensajes con la prioridad "alert" a root y rafael *.alert root, rafael Todos los usuarios que estén conectados Los errores con una prioridad de emergencia se suelen enviar a todos los usuarios que estén conectados al sistema, de manera que se den cuenta de que algo anda mal: # Mostramos los mensajes urgentes a todos los usuarios # conectados, mediante wall *.=emerg *

Archivos de bitacoras
Dependiendo de la configuración del sistema de auditoría de cada equipoUnix los eventos que sucedan en el servidor se registrarán en determinados archivos; aunque podemos loggear en cualquier archivo (incluso a través de la red o en dispositivos, como veremos luego), existen ciertos archivos de registro “'habituales”' en los que se almacena información. A continuación se explican los más comunes y la información que guardan. En La mayoría de Unix actuales (Linux, FreeBSD, OpenBSD) las bitácoras se guardan en /var/log, pero en Unix más tradicionales (como Solaris, HP-UX, AIX) se guardan en /var/adm/ syslog El archivo syslog (guardado en /var/adm/syslog) es quizás el archivo de log más importante del sistema; en él se guardan, en texto claro, mensajes relativos a la seguridad de la máquina, como los accesos o los intentos de acceso a ciertos servicios. Este archivo es escrito por syslogd, por lo que dependiendo de nuestro archivo de configuración encontraremos en el archivo una u otra información. Al estar guardado en formato texto, podemos visualizar su contenido con un simple cat o more: Mar 19 10:51:44 pegasso snort[500]: IDS152 - PING BSD: 148.216.1.152 -¿ 148.216.250.2500 Mar 19 13:04:16 pegasso snort[500]: IDS152 - PING BSD: 148.216.30.150 -¿ 148.216.250.250
CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 73 DE 92

type=IDE ctlr=sec cfg=mst dvr=Srom->wd %disk 0x01F0-0x01F7 14 .216. UDP(1) STEALTH Mar 19 13:08:19 pegasso snort[500]: ICMP Destination Unreachable: 148.1. dumpdev = 1/41 kernel: Hz = 100.150 (THRESHOLD 4 connections exceeded in 0 seconds) messages Este archivo almacena los mensajes de los servicios del sistema. user = 247488k swapdev = 1/41.type=W0 unit=0 cyls=1024 hds=255 secs=63 mem: total = 261184k.type=2.1 is not responding Mon Aug 25 04:46:04 2003 WARNING: portmapper on server 192.250.168.PING Nmap2.36BETA: 148. Podemos ver su contenido con el comando last: User root root Line Device PID Login time Elapsed Time Comments p5 ttyp5 4317 Mon Aug 25 19:44 00:03 logged in c03 tty03 548 Mon Aug 25 19:17 00:30 logged in PÁGINA 74 DE 92 CENTRO NACIONAL DE CAPACITACIÓN CELAYA . i/o bufs = 6652k Mon Aug 25 04:45:33 2003 WARNING: portmapper on server 192.216.250.90 Mar 19 13:12:55 pegasso snort[500]: spp_portscan: PORTSCAN DETECTED from 148.1 is not responding Mon Aug 25 04:46:35 2003 WARNING: portmapper on server 192.150 -¿ 148.PING Nmap2.250.1.168.150 Mar 19 13:08:19 pegasso snort[500]: spp_portscan: portscan status from 148.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Mar 19 13:04:18 pegasso last message repeated 2 times Mar 19 13:07:46 pegasso snort[500]: IDS162 .216..36BETA: 148.1. swplo = 0. pipedev = 1/42.150 (THRESHOLD 4 connections exceeded in 0 seconds) Mar 19 13:07:48 pegasso snort[500]: ICMP Destination Unreachable: 148.250. kernel = 13696k.216.250 -¿ 148.1. utilerias y aplicaciones cuando fallan las llamadas al sistema.250.216.78 Mar 19 13:12:54 pegasso snort[500]: IDS162 . swapmem = 48000k rootdev = 1/42. addr=00:50:bf:16:1c:c4 %cd-rom .216. nswap = 96000.150: 62 connect ions across 1 hosts: TCP(61).90 Mar 19 13:07:47 pegasso snort[500]: spp_portscan: PORTSCAN DETECTED from 148.216.1.1.1 is not responding wtmp Este es un archivo binario (no se puede leer su contenido directamente) que almacena información relativa a cada conexión y desconexión al sistema.216.216.168.150 -¿ 148.216.8.216. Para visualizar su contenido es suficiente con cat o similares: # tail -15 /var/adm/messages Speed 100 Mbps %ethernet 0xDC00-0xDC1F 10 .190 -¿ 148.250.1.

junto a otros archivos de log. Los archivos de las tareas que se CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 75 DE 92 . w o who: #last -w /var/adm/utmp User Line Device PID Login time Elapsed Time Comments root p5 ttyp5 4317 Mon Aug 25 19:44 00:07 logged in root p4 ttyp4 3436 Mon Aug 25 17:48 02:03 logged in root p1 ttyp1 2134 Mon Aug 25 16:03 03:48 logged in root p0 ttyp0 2071 Mon Aug 25 16:03 03:48 logged in root c03 tty03 548 Mon Aug 25 19:17 00:34 logged in sam co tty01 547 Mon Aug 25 19:52 00:00 logged in root 02 tty02 1069 Mon Aug 25 16:03 03:48 logged in sulog Este archivo es de texto donde se registran las ejecuciones del comando su. el archivo se encuentra en /usr/lib/cron/log. Aunque habitualmente este archivo está situado en /var/adm/. mientras que init lo elimina cuando desconecta. se guarda en /var/adm/sulog: SU 12/27 07:41 + console root-rafael SU 12/28 23:42 .que lo situan en /etc/ Para visualizar el contenido de este archivo podemos utilizar los comandos last (indicando el nombre de archivo mediante la opción -w). terminal asociada y éxito (+) o fracaso (-) de la operación. indicando fecha. usuario que ejecuta el programa y usuario cuya identidad adopta.vt01 rafael-root SU 12/28 23:43 + vt01 rafael-root SU 12/29 01:09 + vt04 rafael-root cron En este archivo se guardan todos los mensajes del servicio cron. contiene información de cada usuario que está conectado en un momento dado. hora. es posible encontrar algunos Unix -los más antiguos. el programa /bin/login genera un registro en este archivo cuando los usuarios se conectan. se guarda tambien cierta información que es de utilidad como las tareas que se programaron para ser ejecutadas en determinada fecha y hora.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX root root root root root root root root ftp root ftp utmp p5 ttyp5 p5 ttyp5 p5 ttyp5 p5 ttyp5 typ5 ttyp5 typ5 ttyp5 typ5 ttyp5 typ5 ttyp5 ftp ftp2822 p3 ttyp3 ftp ftp2689 4195 4008 3838 3813 3779 942 930 918 2822 2700 2689 Mon Aug 25 19:13 Mon Aug 25 19:07 Mon Aug 25 18:49 Mon Aug 25 18:47 Mon Aug 25 18:44 Mon Aug 25 05:04 Mon Aug 25 05:02 Mon Aug 25 05:01 Mon Aug 25 04:30 Mon Aug 25 04:15 Mon Aug 25 04:13 00:28 00:01 00:07 00:01 00:00 00:02 00:00 00:00 00:01 15:32 logged in 00:07 El archivo utmp es tambien binario.

0 0. tenemos que definir el puerto de syslog en /etc/services y ejecutar syslogd con el parámetro -r para que acepte conexiones a través de la red: root:~# grep syslog /etc/services syslog 514/udp root:~# ps aux | grep syslogd root 41 0. echo ) >/dev/console Bitacoras remotas El demonio syslog permite fácilmente guardar registros en servidores remotos.conf del servidor del que nos interesa guardar información. si queremos registrar toda la información de prioridad info y notice en el servidor remoto pegasso.hour > /dev/null > uucp 1038 c Mon Aug 25 20:39:00 2003 > CMD: (echo -n ' '.conf hacemos que el demonio lea su archivo de configuración enviandole la señal sighup o HUP (por ejemplo. con kill): [root@portatil /root]# kill -HUP syslogd Por su parte.4 852 304 ? S Mar21 0:01 /usr/sbin/syslogd root:~# kill -TERM 41 root:~# syslogd -r CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 76 DE 92 .=info. aunque la seguridad de un sistema se vea comprometida y sus logs sean modificados se puedan seguir registrando las actividades sospechosas en un servidor a priori seguro. date. lo indicaremos de la siguiente forma: *.hour > /dev/null > uucp 4542 c Mon Aug 25 20:09:00 2003 < uucp 4542 c Mon Aug 25 20:09:00 2003 ! *** cron started *** pid = 286 Mon Aug 25 20:10:27 2003 ! *** cron started *** pid = 800 Mon Aug 25 20:19:26 2003 ! *** cron started *** pid = 872 Mon Aug 25 20:25:01 2003 > CMD: date > root 940 c Mon Aug 25 20:30:00 2003 < root 940 c Mon Aug 25 20:30:01 2003 > CMD: (echo -n ' '. en el host donde deseemos almacenar los logs. echo ) >/dev/console > sam 1020 c Mon Aug 25 20:38:00 2003 < sam 1020 c Mon Aug 25 20:38:00 2003 > CMD: /usr/lib/uucp/uudemon.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX ejecutan se encuentran en /usr/spool/cron/crontabs/username. de esta forma se pretende que.=notice @pegasso Tras modificar /etc/syslogd. date. Esto se consigue definiendo un LOGHOST en lugar de un archivo normal en el archivo /etc/syslogd. un ejemplo del archivo log es el siguiente: ! *** cron started *** pid = 4509 Mon Aug 25 20:06:23 2003 > CMD: /usr/lib/uucp/uudemon.*. por ejemplo.

requiere algo más de trabajo (nada del otro mundo). en este archivo apareceran entradas del servidor que ha enviado la información: root:~# tail /var/log/messages Mar 26 07:43:37 root syslogd 1. algo que hacen muchos clones de Unix?. utilizamos comunicaciones cifradas (por ejemplo con ssh) para enviar los registros a otro servidor. no es necesaria una gran potencia de cálculo: podemos aprovechar un viejo 386 o 486 con Linux o FreeBSD para esta tarea. en nuestro caso. El segundo caso. que en muchas situaciones es muy recomendable.2): Mar 23 04:59:15 pegasso login[3487]: FAILED LOGIN 1 FROM portatil FOR 5k4@b&-.ftpd[7606]: connect from zeus Esto.3-3: restart. Para evitar este problema existen dos formas: una. si no se realiza correctamente puede incluso comprometer la seguridad del servidor que guarda registros en otro equipo: por defecto. registran los mensajes de la prioridad especificada antes en /var/log/messages. es un riesgo que no podemos correr.Quizás alguien pueda pensar que una clave por sí sola no representa mucho peligro. porque cuando el usuario teclee su login y su password correctamente (en principio. User not known to the underlying authentication module Como se puede ver se registraría una contraseña de usuario. sin emitir tráfico al resto de la red. el tráfico se realiza en texto claro. este mensaje será similar a este (en Linux): Mar 26 05:56:56 rafael login[6997]: invalid password for `UNKNOWN' on `ttyp5' from `paricutin' Pero. utilizar comunicaciones cifradas para guardar registros en otro equipo de la red.telnetd[7504]: connect from paricutin Mar 26 07:57:44 oracle in. recordemos que el usuario trata de acceder a su cuenta) el sistema generará un mensaje indicando que ese usuario (con su nombre) ha entrado al sistema. ya que el atacante no conoce el nombre de usuario en el sistema. una por donde enviar el tráfico hacia la red local y la otra para conectar con la máquina donde almacenamos los logs. dos. esto sucederá poco después de equivocarse. si suponemos que estas reglas. contraseña que estamos enviando a la máquina remota en texto claro a través de la red. ¿qué sucedería si en lugar de UNKNOWN el sistema almacenara el nombre de usuario que se ha introducido. por lo que cualquier atacante con un sniffer entre los dos servidores puede tener acceso a información importante que habría que mantener en secreto. en un archivo o en un dispositivo (por ejemplo la cinta de respaldo. esto generará un mensaje de error que syslogd registrará. aquí no es estrictamente necesario que la máquina CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 77 DE 92 . En esta situación el mensaje sería muy parecido al siguiente (Linux Red Hat 6.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX A partir de ese momento todos los mensajes generados en el servidor origen (portatil) se enviarán al servidor destino (pegasso) y se registrarán según las reglas de este. De ninguna forma: el atacante sólo tiene que esperar unos instantes. registramos los logs en un equipo directamente conectado al nuestro. Mar 26 07:43:46 rafael in. Evidentemente. En el primer caso sólo necesitamos un equipo con dos tarjetas de red. evidentemente. que sólo será accesible desde nuestro equipo y que no ha de tener usuarios ni ofrecer servicios. imaginemos una situación muy habitual: un usuario que teclea su password cuando el sistema le pide el login.

2 1372 156 ? S 03:01 0:00 syslogd -m 0 pegasso:~# kill -HUP 7877 Una vez realizados estos pasos ya conseguimos que se registren los eventos que nos interesan en el archivo /var/run/cifra. Por ejemplo. una vez tecleada podemos parar el proceso y relanzarlo tambíen en segundo plano (esto es simplemente por comodidad. si tenemos que introducir la clave del root. es fundamental que el sistema donde almacenamos los logs sea seguro. si lo hacemos así se debe de tener cuidado con la autenticación. por ejemplo. en este caso vamos a enviar logs a una lista tipo fifo (primero en entrar. ya que la transferencia de información se va a realizar de forma cifrada. si lo hacemos así.0 0. primero en salir) con nombre. lo único que necesitamos es el servidor sshd en el servidor destino y el cliente ssh en la origen.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX esté aislada del resto de la red. desde donde los cifraremos con ssh y los enviaremos al sistema remoto a través de la red. realmente no es necesario). sino que sólo esperan a que un proceso lector los recoja. Ese proceso lector será justamente el cliente ssh. Lo primero que necesitamos hacer es crear un archivo de tipo pipe (tubería) en el servidor origen. aunque no esté aislado. para ello debemos ejecutar un comando como el siguiente: cat /var/run/cifra | ssh -x portatil 'cat ¿¿/var/log/pegasso' Si tenemos configurado ssh para que autentique sin clave podemos lanzar el proceso directamente en background. evidentemente. por ejemplo con mknod o mkfifo: pegasso:~# mknod /var/run/cifra p pegasso:~# chmod 0 /var/run/cifra pegasso:~# ls -l /var/run/cifra p--------. logrando que un potencial atacante no obtenga ningún dato comprometedor analizando el tráfico. este archivo es una tubería con nombre. de forma que los datos que le enviamos no se graban en el disco.conf para agregar una línea como la siguiente: *. como hemos dicho antes.1 root root 0 Apr 2 10:18 /var/run/cifra| Este es el archivo al que enviaremos desde syslogd los registros que nos interesen. ya que si ssh requiere una clave para conectar con el sistema remoto es probable que la máquina tarde más de lo normal en arrancar si un operador no está en la consola: justamente el tiempo necesario hasta que ssh produzca un timeout por no teclear el password de root en el sistema CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 78 DE 92 . hemos de modificar /etc/syslog. los de prioridad warn. Para enviar un log cifrado a una servidor remoto podemos utilizar. imaginemos que queremos utilizar a portatil para almacenar una copia de los registros generados en pegasso conforme se vayan produciendo. Lo único que estamos haciendo con este mecanismo es cifrar lo que llega a la fifo y enviarlo de esta forma al sistema remoto. en el que se descifrará y se guardará en el archivo /var/log/pegasso.warn |/var/run/cifra A continuación haremos que syslog relea su nueva configuración mediante la señal sighup: pegasso:~# ps xua | grep syslog | grep -v grep pegasso 7877 0. Es recomendale agregar unas líneas en los scripts de arranque de nuestro servidor para que este proceso se lance automáticamente al iniciar el sistema. ssh unido a las facilidades que ofrece syslogd. encargado de cifrarlos y enviarlos al sistema remoto.

Si al producirse el timeout el programa ssh no devuelve el control al shell. Por supuesto. con un número máximo de usuarios excedido o simplemente que ese sistema esté apagado. si ese timeout se produce no estaremos registrando ningún evento en la otra máquina.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX remoto. tambíen se debe prestar atención a otros problemas con la máquina destino que eviten que la conexión se produzca. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 79 DE 92 . de cualquier forma. el sistema ni siquiera arrancará.

2 (b)).DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX FIREWALLS (CORTAFUEGOS) Recuerde que TCP/IP está diseñado para proporcionar interconexión universal entre máquinas independientemente de las redes particulares a las cuales se conectan. a pesar de sus conexiones físicas. La figura 10. el software de acceso a internet se necesita en cada uno de los hosts para permitir a los programas de aplicación usar internet como si fuera una red física real. Sin embargo el usuario ve a Internet como un red virtual única a la cual todas las máquinas están conectadas.1. Figura 10. simplifica los detalles y facilita al usuario la conceptualización de la comunicación.1 muestra con detalle los procesos que ocurren cuando una máquina "Host A" y otra computadora "Host B" se comunican a través de una máquina intermedia denominada "Pasarela" o Gateway. El principio de las capas cuando se utilizan pasarelas CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 80 DE 92 . La figura 10-2 (a) muestra cómo el pensar en una internet en lugar de las redes que la constituyen (figura 10. Además de las pasarelas (gateways) que interconectan redes físicas.

llamada zona de riesgo. es decir. no tener conectada la máquina o la red a otros equipos o a Internet (figura 10.3 (A)). denominado perímetro de seguridad. suele ser propiedad de la misma organización. en la mayoría de organizaciones.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Figura 10.3 (B)). El espacio protegido. desde cualquier parte del mundo.2 (a) El punto de vista del usuario de una Internet TCP/IP (b) Estructura de las redes físicas y gateways que proporcionan la interconexión Un firewall o cortafuegos es un sistema o grupo de sistemas que hace cumplir una política de control de acceso entre dos redes. De una forma más clara. podemos definir un cortafuegos como cualquier sistema (desde un simple router hasta varias redes en serie) utilizado para servicios y protocolos que desde el exterior puedan suponer una amenaza a la seguridad. puede potencialmente tener acceso a nuestros recursos. Sin embargo. El punto opuesto consistiría en una conectividad completa con la red (figura 10.3 (C)). Evidentemente la forma de aislamiento más efectiva para cualquier política de seguridad consiste en el aislamiento físico. y la protección se realiza contra una red externa. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 81 DE 92 . Un término medio entre ambas aproximaciones consiste en implementar cierta separación lógica mediante un cortafuegos (figura 10. lo que desde el punto de vista de la seguridad es muy problemático: cualquiera. no confiable. con lo que no es posible un aislamiento total. Los usuarios necesitan compartir información con otras personas situadas en muchas ocasiones a miles de kilómetros de distancia.

Esquema del cortafuegos Antes de hablar de cortafuegos es casi obligatorio dar una serie de definiciones de partes o características de funcionamiento de un firewall.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Figura 10. aunque el filtro más elemental puede ser un simple router. El host bastión filtra tráfico de entrada y salida. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 82 DE 92 . esta actividad puede realizarse además en un puente o en una máquina individual. y a los dispositivos que lo implementan se les denomina chokes. o las deniegan y las devuelven a quien las solicitó. que autorizan las peticiones y las envían a los servidores reales. que tiene como función ser el punto de contacto de los usuarios de la red interna de una organización con otro tipo de redes. el choke puede ser la máquina bastión o un elemento diferente. trabajando en el nivel de red del protocolo OSI. y el resto de Internet) de acuerdo a unas normas predefinidas.. El filtrado tambíen se conoce como screening. protegida con el firewall.3. pero en principio vulnerable a todo tipo de ataques por estar abierto a Internet. Un proxy es un programa (trabajando en el nivel de aplicación de OSI) que permite o niega el acceso a una aplicación determinada entre dos redes. Los clientes proxy se comunican sólo con los servidores proxy. y tambíen esconde la configuración de la red hacia fuera. por máquina o host bastión (tambíen se denominan gates) se conoce a un sistema especialmente asegurado. Por filtrado de paquetes entendemos la acción de denegar o permitir el flujo de tramas entre dos redes (por ejemplo la interna.

la más importante. desde el más simple al más avanzado. hace referencia a la política de seguridad de la organización propietaria del firewall: evidentemente. por ejemplo al mover un equipo que se encuentra en el área protegida a la DMZ (veremos más adelante lo que estas siglas significan). la configuración y el nivel de seguridad potencial será distinto en una empresa que utilice un cortafuegos para bloquear todo el tráfico externo hacia el dominio de su propiedad (excepto. un simple modem en sus PCs o estaciones de trabajo. aunque tambíen se considera firewall a un simple router filtrando paquetes. pero todos los expertos recomiendan que no se usen en lugar de otras herramientas. esto ya no es un problema de los firewalls sino algo de sentido común. El típico ejemplo de estos últimos son los usuarios que instalan sin permiso. es un grave error. supone la violación y la ruptura total del perímetro de seguridad. actuando como choke. automáticamente va a tener la posibilidad de controlar toda nuestra red. Los firewalls son cada vez más necesarios en nuestras redes. tan habitual en muchas organizaciones. pero tambíen otros factores que a priori no deberían suponer un problema. Esto. En esta sección hablaremos de los tipos de cortafuegos más habituales y de sus características. quizás. este acto. sino junto a ellas. Además. es decir. en el cortafuegos suelen existir servidores proxy para las aplicaciones que han de atravesar el sistema. ya que en el momento que un pirata acceda a nuestro cortafuegos. pero en el momento en que instala el cortafuegos y lo configura asume que toda su red es segura. por lo que se suele descuidar enormemente la seguridad de los equipos de la red interna. Otro problema de sentido común es la reconfiguración de los sistemas al pasarlos de una zona a otra con diferente nivel de seguridad. ya que posibilita accesos a la red no controlados por el cortafuegos. de forma que si éste se ve comprometido y el resto de nuestra red no está lo suficientemente protegido el atacante consigue amenazar a toda la red simplemente poniendo en jaque a una máquina. sin conocimiento del administrador de la red. la primera de ellas. tambíen comentaremos aspectos de dos de los cortafuegos más utilizados hoy en día: FW-1 y la herramienta de Linux ipchains. esto. sino simplemente conectarlo en una toma de red diferente. por lo que cada vez que un cambio de este estilo se produzca no sólo es necesaria la reconfiguración del sistema. como acabamos de comentar. Características de diseño Existen tres decisiones básicas en el diseño o la configuración de un cortafuegos. presenta dos gravísimos problemas de seguridad: por un lado. Tambíen se implementa en el choke un mecanismo de filtrado de paquetes. en casi todos los cortafuegos existen al menos un choke y una máquina bastión.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Físicamente. y en alguno de los dos elementos se suele situar otro mecanismo para poder monitorizar y detectar la actividad sospechosa. centralizan todas las medidas en un único sistema. que en ocasiones no implica ni tan siquiera el movimiento físico del equipo. El segundo problema. recordemos que es un sistema muy expuesto a ataques externos. y que se situan habitualmente en el host bastión. y muchas veces sin pensar en sus consecuencias. es la falsa sensación de seguridad que un cortafuegos proporciona: generalmente un administrador que no disponga de un firewall va a preocuparse de la integridad de todas y cada una de sus máquinas. relacionado con éste. sino la revisión de todas las políticas de seguridad aplicadas a esa máquina. desde el punto de vista lógico. cualquier cortafuegos. así como de las posibles políticas de seguridad que pueden implementar. puede ocasionar graves problemas de seguridad en nuestra organización. un cortafuegos evidentemente no protege contra ataques que no pasan por él: esto incluye todo tipo de ataques internos dentro del perímetro de seguridad. las consultas a su página web) frente a otra donde sólo se intente evitar que los usuarios CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 83 DE 92 .

por ejemplo un router.debemos gastar más o menos dinero. una vez definida la política a seguir. más fácil será su mantenimiento y por tanto mayor su seguridad. ya que va a soportar por sí sola todos los ataques que se efectúen contra nuestra red al ser elemento más accesible de ésta. serán igual de vulnerables que antes de instalar el firewall. Si la seguridad de la máquina bastión se ve comprometida. Por último. Sobre esta decisión influyen. o aprovechar los routers de salida de la red. si por el contrario utilizamos una máquina Unix con un cortafuegos implementado en ella. Evidentemente. en este caso se pueden utilizar sistemas propietarios. motivos administrativos de cada organismo. o suponer un desembolso de varios miles de pesos: seguramente un departamento o laboratorio con pocos equipos en su interior puede utilizar un PC con Linux. la primera decisiónc técnica a la que nos vamos a enfrentar a la hora de instalar un cortafuegos es elemental: ¿dónde lo situamos para que cumpla eficientemente su cometido?. la tercera decisión a la hora de instalar un sistema de cortafuegos es meramente cómica: en función del valor estimado de lo que deseemos proteger. bloqueando por ejemplo todos los servicios de salida al exterior excepto el correo electrónico. si aprovechamos como cortafuegos un equipo ya existente en la red. Una vez que hemos decidido dónde situar nuestro cortafuegos se debe elegir qué elemento o elementos físicos utilizar como bastión. mantener esta máquina especialmente asegurada es algo vital para que el cortafuegos funcione correctamente. hay que definir cómo implementarla en el cortafuegos indicando básicamente qué se va a permitir y qué se va a negar. eran básicamente políticas. pero esta aproximación evidentemente no funciona cuando el sistema a proteger es una red de tamaño considerable. evidentemente es la primera la más recomendable de cara a la seguridad. que suelen ser caros. en la zona de riesgo. la amenaza se traslada inmediantamente a todos los equipos dentro del perímetro de seguridad. aunque concernientes al diseño. Sin importar donde situemos al sistema hemos de recordar siempre que los equipos que queden fuera del cortafuegos. Cuanto más simple sea el host bastión. por eso es posible que si por obligación hemos tenido que instalar un cortafuegos en un punto que no protege completamente nuestra red. no tenemos muchas posibilidades de elección: con toda seguridad hemos de dejarlo donde ya está. La segunda decisión de diseño a tener en cuenta es el nivel de monitorización. no es recomendable a la hora de evaluar el dinero a invertir en el firewall fijarse sólo en el coste de su instalación y puesta a punto. Un firewall puede no entrañar gastos extras para la organización. los usuarios y sus protestas por no poder ejecutar tal o cual aplicación a través del firewall). Solaris o FreeBSD a modo de cortafuegos. redundancia y control deseado en la organización. aumentando así la seguridad de las partes más importantes.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX internos pierdan el tiempo en la red. algo más barato pero que requiere más tiempo de configuración que los cortafuegos sobre Unix en PC de los que hemos hablado antes. o no gastar nada. cuanto menos servicios ofrezca. para tomar esta decisión existen dos principios básicos: mínima complejidad y máxima seguridad. tenemos varias posibilidades para situarla con respecto a la red externa y a la interna. aparte de motivos de seguridad. Suele ser una buena opción elegir como máquina bastión un servidor corriendo alguna versión de Unix (desde una sparc con CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 84 DE 92 . sino tambíen en el de su mantenimiento. pero no siempre es aplicable debido a factores no técnicos sino humanos (esto es. pensemos en añadir cortafuegos internos dentro de la misma. sin gastarse nada en él (excepto unas horas de trabajo y unas tazas de café). Para esto existen dos aproximaciones generales: o bien se adopta una postura restrictiva (negamos todo lo que explícitamente no se permita) o bien una permisiva (permitimos todo excepto lo explícitamente negado). Estas decisiones. De cualquier forma.

la forma de generar las tablas dependerá obviamente del sistema sobre el que trabajemos.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Solaris a un simple PC con Linux o FreeBSD). Ya hemos decidido qué utilizar como firewall y dónde situarlo. Componentes de un cortafuegos Filtrado de paquetes Cualquier router ip utiliza reglas de filtrado para reducir la carga de la red. udp. ya que aparte de la seguridad del sistema operativo tenemos la ventaja de que la mayor parte de aplicaciones de firewalling han sido desarrolladas y comprobadas desde hace años sobre Unix. Además de la información de cabecera de lasctramas. Livingston y Cisco). y el puerto destino. (TISInternet Firewall Toolkit sobre Unix) y tambíen en la obra indispensable al hablar de cortafuegos:(screend. aunque tambíen puede utilizarse un sistema Unís para realizar esta función. pueden encontrarse en (routers NetBlazer). Siempre hemos de tener presente el orden de análisis de las tablas para poder implementar la política de seguridad de una forma correcta. pero manteniendo intactos los accesos autorizados. y en función de una serie de reglas establecidas de antemano la trama es bloqueada o se le permite seguir su camino.0 & * & Tipo & Puerto & Acción hline &* &* & Deny PÁGINA 85 DE 92 CENTRO NACIONAL DE CAPACITACIÓN CELAYA . etc. estas reglas suelen contemplar campos como el protocolo utilizado (tcp. el filtrado de paquetes se puede utilizar para implementar diferentes políticas de seguridad en una red. o simplemente tramas de broadcast. Su funcionamiento es habitualmente muy simple: se analiza la cabecera de cada paquete. NetBlazer. ¿Cómo se especifican tales reglas? Generalmente se expresan como una simple tabla de condiciones o acciones que se consulta en orden hasta encontrar una regla que ermita tomar una decisión sobre el bloqueo o el reenvío de la trama. algunos ejemplos particulares. pero aplicables a otros sistemas. por lo que es indispensable consultar su documentación. más difícil será para el administrador comprenderlas. y tambíen en la interfaz por donde ha llegado hasta nosotros. imaginemos una hipotética tabla de reglas de filtrado de la siguiente forma: Origen & Destino 158. se descartan paquetes cuyo ttl ha llegado a cero. Más adelante se comentan diferentes arquitecturas de cortafuegos con los elementos utilizados en cada una de ellas como chokes y como bastiones. paquetes con un control de errores erróneos. el proxy de aplicación y la monitorización y detección de actividad sospechosa. una vez hecho esto hemos de implementar sobre él los mecanismos necesarios para hacer cumplir nuestra política de seguridad.43. algunas implementaciones de filtrado permiten especificar reglas basadas en la interfaz del router por donde se ha de reenviar el paquete. por ejemplo. Independientemente del formato. las direcciones fuente y destino. icmp. adicionalmente. (routers Cisco). el objetivo principal de todas ellas suele ser evitar el acceso no autorizado entre dos redes. Por ejemplo. Vamos a hablar a continuación de cada uno de estos componentes. En todo cortafuegos existen tres componentes básicos para los que debemos implementar mecanismos: El filtrado de paquetes. Además de estas aplicaciones. a la vez que elegimos un bastión para nuestro cortafuegos hemos de decidir qué elemento utilizar como choke. generalmente suele ser un router con capacidad para filtrar paquetes.). ciertas implementaciones permiten indicar si el bloqueo de un paquete se notificará a la máquina origen mediante un mensaje icmp. cuanto más complejas sean las reglas y su orden de análisis. Evidentemente.0.

si la última entrada era un Allow se niega el paso de la trama. y si era un Deny se permite). A esto se le suma el hecho de que si utilizamos un simple router como filtro. el paquete atravesaría el cortafuegos. y suponiendo que las entradas se analizan en el orden habitual. llega un paquete que no cumple ninguna de nuestras reglas?. pero esto no siempre sucede así. el paquete sebloquearía porque leemos antes la última regla.53.34. Una de las reglas nos indica que dejemos pasar todo el tráfico proveniente de 158. y las vamos a comentar en el punto siguiente. y otras vulnerabilidades.0 & * &* &* &* & Deny & Allow & Deny Si al cortafuegos donde está definida la política anterior llegara un paquete proveniente de una máquina de la red 158.22. otras dejan pasar este tipo de tramas. si operamos al revés. pero la siguiente nos dice que si el destino es 193. a tales aplicaciones se les denomina servicios proxy. Los servicios proxy poseen una serie de ventajas de cara a incrementar nuestra seguridad CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 86 DE 92 .42.0 & * 158. lo mejor es insertar siempre una regla por defecto al final de nuestra lista. Proxy de aplicación Además del filtrado de paquetes. El sentido común nos dice que por seguridad se debería bloquear.22.34. ¿Qué sucedería si. telnet o ftp.0. de la misma forma. si por ejemplo deseamos bloquear el resto del tráfico que llega al firewall con la tabla anterior.53. En este caso depende de nuestra implementación particular y el orden de análisis que siga: si se comprueban las reglas desde el principio.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX * & 195.22.42. con la tabla del ejemplo anterior.0 lo bloqueemos sin importar el origen.42.22.0.0 tambíen se detendría. por lo que si extendemos el ejemplo a un firewall real podemos hacernos una idea de hasta que punto hemos de ser cuidadosos con el orden de las entradas de nuestra tabla. es habitual que los cortafuegos utilicen aplicaciones software para reenviar o bloquear conexiones a servicios como finger. todo el tráfico hacia la red 195. ya que al analizar la tercera entrada se finalizarían las comprobaciones. Como podemos ver.22. recordemos una vez más la cuestión del orden. sin importar el destino de la trama. muy simple.0. mientras que a la máquina donde se ejecutan se le llama pasarela de aplicación.0. el mayor problema es que un sistema de filtrado de paquetes es incapaz de analizar (y por tanto verificar) datos situados por encima del nivel de red OSI. ni siquiera en nuestra tabla. no obstante. por lo que en ocasiones es difícil la detección de un ataque. De cualquier forma. ¿qué sucedería si llega un paquete de un sistema de la red 158. podríamos añadir a nuestra tabla la siguiente regla: Origen Destino Tipo * * * * Puerto Accion Deny La especificación incorrecta de estas reglas constituye uno de los problemas de seguridad habituales en los cortafuegos de filtrado de paquetes. Algunas deniegan el paso por defecto.34. las capacidades de registro de información del mismo suelen ser bastante limitadas. es recomendable utilizar aplicaciones software capaces de filtrar las conexiones a servicios.0 & * &* * & 193. se puede considerar un mecanismo de prevención más que de detección.0?.43.0. Para intentar solucionar estas. las cosas son obvias. otras aplican el contario de la última regla especificada (es decir. Pero.0 se bloquearía su paso. a dichas aplicaciones se les denomina proxies de aplicación. para evitar problemas cuando uno de estos datagramas llega al cortafuegos. con la acción que deseemos realizar por defecto. diferentes implementaciones ejecutan diferentes acciones en este caso.0 hacia 193.

si el análisis de cada trama es costoso). Una segunda ventaja es que en la pasarela es posible filtrar protocolos basándose en algo más que la cabecera de las tramas. Evidentemente. por lo que si en nuestra organización la pasarela de aplicación contiene únicamente proxies para telnet. o direcciones fuente y destino) recomienda auditar información de la conexión (origen y destino. en primer lugar.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX ([WC94]). si la cantidad de logs generada es considerable nos puede interesar el uso de herramientas que filtren dicha información. Una variante de las pasarelas de aplicación la constituyen las pasarelas de nivel de circuito (Circuit level Gateways). CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 87 DE 92 . para hacernos una idea de que tipo de tramas `extra nas' se pueden llegar a detectar. incluso algunas implementaciones necesitan clientes modificados para funcionar correctamente. todos esos registros han de ser leidos con frecuencia. intentos de uso de protocolos denegados. http y ftp. además se trata de un elemento que frecuentemente es más caro que un simple filtro de paquetes. bloqueando el resto.). la pasarela es el único sistema cuyo nombre está disponible hacia el exterior). y su rendimiento es mucho menor (por ejemplo. ¿Qué información debemos registrar?. como socks. recordemos el servicio ident. nombre de usuario. El principal inconveniente que encontramos a la hora de instalar una pasarela de aplicación es que cada servicio que deseemos ofrecer necesita su propio proxy. La principal ventaja de este tipo de pasarelas e s que proveen de servicios a un amplio rango de protocolos. En el caso de protocolos cliente/servidor (como telnet) se añade la desventaja de que necesitamos dos pasos para conectar hacia la zona segura o hacia el resto de la red. etc. se limitan simplemente a autenticar al usuario (a su conexión) antes de establecer el circuito virtual entre sistemas. facilita la autenticación y la auditoría del tráfico sospechoso antes de que alcance el host destino y. sistemas capaces de redirigir conexiones (reenviando tramas) pero que no pueden procesar o filtrar paquetes en base al protocolo utilizado. no obstante. el resto de servicios no estarán disponibles para nadie. lo que hace posible por ejemplo tener habilitado un servicio como ftp pero con órdenes restringidas (podríamos bloquear todos los comandos put para que nadie pueda ir ficheros a un servidor). necesitan software especial que tenga las llamadas al sistema clásicas sustituidas por funciones de librería seguras. y el administrador de la red ha de tomar medidas si se detectan actividades sospechosas. la monitorización nos facilitará información sobre los intentos de ataque que estemos sufriendo (origen. tipos de acceso. Además. permiten únicamente la utilización de servicios para los que existe un proxy. Monitorización de la actividad Monitorizar la actividad de nuestro cortafuegos es algo indispensable para la seguridad de todo el perímetro protegido. intentos de falsificación de dirección por parte de máquinas internas al perímetro de seguridad (paquetes que llegan desde la red externa con la dirección de un equipo interno) y tramas recibidas desde routers desconocidos. Además de los registros estándar (los que incluyen estadísticas de tipos de paquetes recibidos. hora y duración). así como la existencia de tramas que aunque no supongan un ataque a priori sí que son al menos sospechosas. simplifica enormemente las reglas de filtrado implementadas en el router (que como hemos dicho antes pueden convertirse en la fuente de muchos problemas de seguridad): sólo hemos de permitir el tráfico hacia la pasarela. puede llegar a limitar el ancho de banda efectivo de la red. frecuencias. franjas horarias. los application gateways permiten un grado de ocultación de la estructura de la red protegida (por ejemplo. quizás más importante.

un choke. como sucede en los cortafuegos basados en una máquina con dos tarjetas de red). y por otro nos permite entretener al pirata ante una posible traza de su conexión. No obstante. es tambíen importante para la seguridad bloquear los paquetes con encaminamiento en origen activado. este mecanismo nos permite descubrir posibles exploits utilizados por los piratas. esa persona no intenta otro ataque quizás más peligroso. así como el acceso desde máquinas no confiables hacia nuestra red. es recomendable bloquear todos los servicios que no se utilicen desde el exterior (especialmente NIS. nos estamos arriesgando a que nuestro atacante descubra el mecanismo y lance ataques más peligrosos. elegir un cortafuegos tan sencillo puede no ser recomendable en ciertas situaciones. por lo que muchas veces el administrador no puede determinar si el router está siendo atacado o si su seguridad ha sido comprometida. Los accesos desde la red interna al exterior no bloqueados son directos (no hay necesidad de utilizar proxies.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX Un excelente mecanismo para incrementar mucho nuestra seguridad puede ser la sustitución de servicios reales en el cortafuegos por programas trampa. lo que por un lado nos beneficia directamente. Si a pesar de esto decidimos utilizar un router como filtro de paquetes. Evidentemente. pero como el nivel de conocimientos de los atacantes de redes habituales en general no es muy elevado (más bien todo lo contrario). X-Window y TFTP). Además las reglas de filtrado pueden llegar a ser complejas de establecer. de forma que un posible atacante piense que dicho servicio está habilitado y prosiga su ataque. basado simplemente en aprovechar la capacidad de algunos routers para bloquear o filtrar paquetes en función de su protocolo. o para organizaciones que requieren una mayor seguridad para su red. suele tener una finalidad múltiple: aparte de detectar y notificar ataques. como las que vemos aquí. observar a qué tipo de atacantes nos enfrentamos. Arquitecturas de cortafuegos Cortafuegos de filtrado de paquetes Un firewall sencillo puede consistir en un dispositivo capaz de filtrar paquetes. Dual-Homed Host El segundo modelo de cortafuegos estaba formado por simples máquinas Unix equipadas con dos tarjetas de red y denominadas anfitriones de dos bases. se trata del modelo de cortafuegos más antiguo. su servicio o su dirección IP de forma que el router actue como gateway de la red. ya que los simples chokes presentan más desventajas que beneficios para la red protegida. Este tipo de programas. y por tanto es difícil comprobar su corrección: habitualmente sólo se comprueba a través de pruebas directas. por lo que esta arquitectura esla más simple de implementar y la más utilizada en organizaciones que no precisan grandes niveles de seguridad. e incluso divertirnos con ellos. con los problemas de seguridad que esto puede implicar. NFS. La idea es sencilla: se trata de peque nas aplicaciones que simulan un determinado servicio. el atacante permanece entretenido intentando un ataque que cree factible. en las que una de las tarjetas se suele conectar a CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 88 DE 92 . El principal problema es que no disponen de un sistema de monitorización sofisticado. pero que realmente nos están enviando toda la información posible sobre el pirata. una especie de troyano.

cuando una máquina de la red interna desea comunicarse con el exterior ha de hacerlo a través de servidores proxy situados en el host bastión. conectados ambos a la red perimétrica como se muestra en la figura 10. En esta configuración el choke y el bastión coinciden en elmismo equipo: la máquina Unix. y tambíen es necesario que el IP Forwarding esté deshabilitado en el equipo: aunque una máquina con dos tarjetas puede actuar como un router. por ejemplo reactivando el IP Forwarding). para aislar el tráfico entre la red interna y la externa es necesario que el choke no enrute paquetes entre ellas. se ejecutan los proxies de las aplicaciones. como baterías de módems o el CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 89 DE 92 . y además ayuda al administrador a comprender la necesidad de un elevado nivel de fiabilidad en esta máquina. de forma que se consiguen reducir los efectos de un ataque exitoso al host bastión: en los modelos anteriores toda la seguridad se centraba en el bastión. y los usuarios externos sólo pueden acceder a la red interna tambíen a través de este sistema. en la red interna o en el exterior del router? La mayoría de autores recomiendan situar el router entre la red exterior y el host bastión. Como la máquina bastión es un objetivo interesante para muchos piratas. de forma que si la seguridad del mismo se veía comprometida. ya que un usuario que consiga aumentar su nivel de privilegios en el sistema puede romper toda la protección del cortafuegos. mientras que el choke se encarga de filtrar los paquetes que se puedan considerar peligrosos para la seguridad de la red interna. De esta forma. se utilizan dos routers. Screened net es la arquitectura más segura. o bien permitiendo a los usuarios conectar directamente al mismo (algo muy poco recomendable. tambíen conocida como red perimétrica o De-Militarized Zone (DMZ) añade un nivel de seguridad en las arquitecturas de cortafuegos situando una red (DMZ) entre las redes externa e interna. ¿dónde situar el sistema bastión. la amenaza se extendía automáticamente al resto de la red. pero otros defienden justo lo contrario: situar el bastión en la red exterior no provoca aparentemente una degradación de la seguridad. la arquitectura DMZ intenta aislarla en una red perimétrica de forma que un intruso que accede a esta máquina no consiga un acceso total a la red protegida. asumiremos la primera opción por considerarla mayoritaria entre los expertos en seguridad informática. que combina un router con un host bastión.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX la red interna a proteger. En esta red perimétrica.4. permitiendo únicamente la comunicación con un reducido número de servicios. ya que está sujeta a ataques externos y no tiene por qué ser un host fiable. se incluye el host bastión y tambíen se podrían incluir sistemas que requieran un acceso controlado. pero tambíen la más compleja. El sistema Unix ha de ejecutar al menos un servidor proxy para cada uno de los servicios que deseemos pasar a través del cortafuegos. que constituye el sistema cortafuegos. En la máquina bastión. de cualquier forma. y donde el principal nivel de seguridad proviene del filtrado de paquetes. Screened Host Un paso más en términos de seguridad de los cortafuegos es la arquitectura screened host o choke-gate. Pero. Screened net (DMZ) La arquitectura Screened net. y la otra a la red externa a la organización. denominados exterior e interior. Todo el intercambio de datos entre las redes se ha de realizar a través de servidores proxy situados en el host bastión. único sistema accesible desde el exterior.

un atacante habría de romper la seguridad de ambos routers para acceder a la red protegida. mientras que el interior hace lo mismo pero con el tráfico entre la red interna y l a perimétrica. que serán los únicos elementos visibles desde fuera de nuestra red. Evidentemente existen problemas relacionados con este modelo: por ejemplo.4 Arquitectura Screening Net (DMZ) Otras arquitecturas Algo que puede incrementar en gran medida nuestra seguridad y al mismo tiempo facilitar la administración de los cortafuegos es utilizar un bastión diferente para cada protocolo o servicio en lugar de uno sólo. Aunque. lo que puede dar lugar a un incumplimiento de la política de la organización. sin embargo. no se trata de la panacea de los cortafuegos. así. situando los servicios que requieran de menor fiabilidad en las redes más externas. esta arquitectura presenta el grave inconveniente de la cantidad de máquinas necesarias para implementar el firewall. si en cada red perimétrica se siguen las mismas reglas de filtrado. Cada día es más habitual en todo tipo de organizaciones dividir CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 90 DE 92 . de esta forma. es que la mayor parte de la seguridad reside en los routers utilizados. quizás más g rave. Evidentemente. Una variante más barata consistiría en utilizar un único bastión pero servidores proxy diferentes para cada servicio ofertado. como hemos dicho antes las reglas de filtrado obre estos elementos pueden ser complicadas de configurar y comprobar. lo que impide que muchas organizaciones la puedan adoptar. El router exterior tiene como misión bloquear el tráfico no deseado en ambos sentidos (hacia la red perimétrica y hacia la red externa).DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX servidor de correo. Un segundo problema. se puede utilizar el firewall para que los servicios fiables pasen directamente sin acceder al bastión. niveles adicionales no proporcionan mayor seguridad. lo que puede dar lugar a errores que abran importantes brechas de seguridad en nuestro sistema. como hemos dicho antes. la arquitectura DMZ es la que mayores niveles de seguridad puede proporcionar. Figura 10. el atacante habrá de saltar por todas y cada una de ellas para acceder a nuestros equipos. Incluso es posible si se desean mayores niveles niveles de seguridad definir varias redes perimétricas en serie.

un servidor donde se almacenen expedientes o datos administrativos del personal) insertando cortafuegos internos entre estas zonas y el resto de la red. CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 91 DE 92 . ya sea a nivel de aulas o laboratorios o a nivel de todo el campus. Aparte de incrementar la seguridad. esto es especialmente aplicable en entornos universitarios. aunque realmente esto no evitaría que todos los usuarios siguieran jugando desde los equipos de la universidad. firewalls internos son especialmente recomendables en zonas de la red desde la que no se permite a priori la conexión con Internet. empresas medianas. etc. por ejemplo a través de un servidor que disponga de conexión en otros puertos. Concretamente en el caso de redes de universidades sería muy interesante filtrar las conexiones a irc o a muds. sí conseguiría que la mayor parte de ellos dejara de hacerlo. En esta situación es recomendable incrementar los niveles de seguridad de las zonas más comprometidas (por ejemplo. 8888 y similares.DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX su red en diferentes redes. donde con frecuencia se han de conectar campus o sucursales separadas geográficamente. edificios o laboratorios diferentes. como laboratorios de prácticas: un simple PC con Linux o FreeBSD que niegue cualquier conexión con el exterior del campus va a ser suficiente para evitar que los usuarios se dediquen a conectar a páginas web o chats desde equipos no destinados a estos usos. denegando en el router de salida de la red hacia INet cualquier tráfico a los puertos 6667.

Y David Gunter “Utilizando Linux” Prentice Hall 2ª. Commer "Internetworking with TCP/IP" Vol. Prentice Hall 2ª. 1992 Heywood.edu/pub/Linux/docs/HOWTO/translations/Directory-Structure CENTRO NACIONAL DE CAPACITACIÓN CELAYA PÁGINA 92 DE 92 . Protocols and Architecture" Prentice Hall 2ª . Ed.unc.unc. Ed..DIRECCIÓN DE OPERACIÓN CURSO: ADMINISTRACIÓN DEL SISTEMA OPERATIVO UNIX BIBLIOGRAFÍA 1 Douglas E. ed.. 1997 Stephen Coffin "Unix Sistema V versión 4" Mc Graw Hill. 2ª. Drew “Redes con Microsoft TCP/IP”. 1996 Harley Hahn “Internet Manual de referencia” Osborne McGraw-Hill .edu/LDP/ http://metalab. 1991 Jack Tackett Jr. Edición. 1998 2 3 4 5 6 7 http:// sunsite.. 1 "Principles.

Sign up to vote on this title
UsefulNot useful