1. ADMINISTRACIÓN DE MÁQUINAS UNIX: UNA GUÍA
DE EVALUACIÓN PARA SISTEMAS SUN SOLARIS ™
Jeimy J. CANO†
___________________________________________________________________
Descriptores: UNIX, SUN Solaris, evaluación, auditoría de sistemas, seguridades y controles, sistemas
operacionales
Resumen
Este documento se presenta como una guía de evaluación para la administración de
máquinas UNIX, basada en la implementación efectuada por Sun Microsystems: Sun
Solaris 2.6, la cual pretende orientar a todos aquellos profesionales que se ocupen de
las labores de administración o evaluación de ambientes UNIX. Así mismo, esta guía
identifica de manera práctica elementos que deben considerarse al adelantar un
análisis de la administración del sistema operacional SUN Solaris 2.6, como son la
administración del hardware, software, red, seguridad y operaciones, que permitan
una mayor disponibilidad de los recursos computacionales y mejores prácticas y
procedimientos de control.
INTRODUCCIÓN
El fundamento de la administración de un sistema UNIX, se concentra en el
entendimiento de la operación del sistema operacional, el conocimiento de sus
componentes y en la comprensión de la organización de sus archivos.
UNIX es un sistema que consta de tres niveles, como se observa la siguiente gráfica:
el nivel de usuario, donde se encuentran los programas y el shell; el kernel y el
hardware. En particular nos concentraremos en el nivel de usuario y el kernel como
fundamento de la administración del sistema operacional.
†
Ingeniero de Sistemas y Computación, Universidad de los Andes, Colombia-1996. Magister
en Ingeniería de Sistemas y Computación, Universidad de los Andes, Colombia-1997.
Doctor of Philosophy in Business Administration – Ph.D, Newport University, USA-2000.
Profesor Facultad de Derecho y de la Facultad de Ingeniería, Universidad de los Andes,
Colombia. Profesor Engineering School. Newport University.
Especiales agradecimientos al Ing. Martín E. Ayala, por sus acertados comentarios y
recomendaciones sobre los temas tratados en este artículo.
1
2. Programas del
Usuario
Nivel de USUARIO
Nivel del KERNEL
Librerías
Interfaces de llamados al sistema
Subsistema de Archivos
Comunicación
Interprocesos
Buffer Cache
Caracter
Subsistema
Control de
Procesos
Bloque
Scheduler
Administrador
Memoria
Controladores de dispositivos
Control de Hardware
Nivel del KERNEL
Hardware
Nivel del HARDWARE
Estructura Básica del Sistema UNIX. [En BACH 1990, pág. 20]
El nivel superior ilustrado en la gráfica conforma el ambiente en el cual el usuario
interactúa con el sistema directamente. Los programas y herramientas utilizadas por
el sistema son todos aquellos utilitarios que vienen con el sistema, programas
desarrollados por el administrador o por analistas de sistemas, archivos de
comunicaciones, bases de datos, procesadores de palabras, herramientas de
programación y aplicaciones de usuario final.
Con el fin de utilizar las aplicaciones del nivel superior (nivel de usuario) una capa
intermedia se requiere para interpretar y ejecutar las instrucciones efectuadas por los
programas, así como el procesamiento y atención de las respuestas entre el usuario y
el nivel inferior. Este intermediario es el shell.
El shell actúa como un interpretador, que optimiza e interactúa con el usuario para
hacer los llamados al sistema, con el fin de traducir los requerimientos de los usuarios
a la máquina y sus componentes.
De otro lado, tenemos el kernel, que constituye el corazón del sistema operacional
UNIX. Éste es cargado en memoria en el momento de inicialización de la máquina y
permanece en ella mientras el equipo se encuentre encendido. Él es el reponsable por
mantener el control de acceso al computador, la administración de los recursos, el
mantenimiento del sistema de archivos y administración de la memoria.
2
3. Cuando se interactúa con el kernel, el usuario envía un requerimiento a través de un
programa, comando o utilidad esperando una respuesta del kernel. El kernel
responde ejecutando un programa especial llamado proceso. Durante la ejecución del
proceso, el kernel maneja la creación y eliminación de archivos; administra el
movimiento de datos a memoria y separa los propietarios del proceso, para efectuar
una administración de los mismos.
Los procesos son iniciados por el kernel a través de los llamados al sistema (interface
de llamados al sistema), así mismo son removidos de memoria cuando su ejecución se
ha completado o son detenidos por el propietario o el administrador.
Existe un tipo especial de procesos que son llamados demonios. Una vez iniciados,
usualmente en el momento de inicio de la máquina, los demonios proveen servicios a
los usuarios, ejecutándose sin supervisión del mismo (background execution).
Algunos ejemplos de demonios son: el demonio de impresión (lpsched) que es
invocado por el comando lp, el cron utilizado para ejecutar programas o comandos
en un horario indicado definido por el administrador o cualquier usuario con
privilegios para la realización de éstas tareas.
Adicionalmente a estos elementos presentados sobre el sistema operacional UNIX, se
tienen los conceptos de permisos y variables de entorno, que configuran la autoridad
y capacidad del administrador para mantener el sistema adecuadamente en
funcionamiento y con apropiados niveles de servicio y seguridad para todos sus
usuarios.
Finalmente tenemos el hardware, que hace referencia a la arquitectura de
computación de la máquina. Frecuentemente éste se relaciona con tecnologías Intel o
Sparc, las cuales establecen una estructura en el manejo de instrucciones de bajo
nivel, en cuanto a ciclos de reloj y capacidad de procesamiento, características que
escapan al alcance de este documento.
En este contexto se presenta una guía de evaluación de la administración de un
sistema UNIX, en particular orientada hacia la versión implementada por SUN
Microsystems: SUN Solaris.
DIRECTRICES DE LA EVALUACIÓN
La guía de evaluación desarrolla una serie de directrices que orientan al profesional
en la formulación de sus apreciaciones sobre la administración de los diferentes
componentes del sistema operacional, con el fin de formular recomendaciones viables
para mantener o mejorar las labores de los administradores de las máquinas UNIX.
Con el fin de implementar y mantener una adecuada administración de una máquina
UNIX, los administradores deben considerar los siguientes criterios extraídos de las
mejores prácticas elaboradas por los proveedores de sistemas operacionales e
3
4. institutos Internacionales de Auditoría y Control de Sistema de Información
[WEBER 1999]
1. La organización considerando la información como uno de sus activos más
importantes, debe desarrollar modelos de administración de sus recursos
informáticos acordes con sus prácticas de negocio.
2. La función del administrador del sistema pasa de la categoría de intermediario de
la información y control de operaciones entre el usuario y el sistema, a un
profesional entrenado y capacitado para mantener la operación continua de la
empresa y el complejo ambiente técnico.
3. El administrador del sistema evalúa, analiza e implementa nuevas políticas,
prácticas y procedimientos que permitan una mayor disponibilidad de los recursos
computacionales dentro de las limitaciones del ambiente computacional.
Con estas directrices en mente, la administración de un sistema UNIX, cambia
sustancialmente con respecto a la visión tradicional de la administración de máquinas,
pues ofrece una visión más amplia del role del administrador en la organización,
otorgándole mayores posibilidades e integración con el ambiente de negocio de la
organización. Así mismo, le reconoce la importancia de su función para la operación
y desarrollo de servicios que soportan las funciones internas y externas de las
empresas, haciendo de su labor un factor clave de éxito para las empresas que fundan
sus estrategias competitivas en tecnología informática.
Seguidamente presentaremos el alcance de la evaluación, para especificar de manera
concreta en los elementos del sistema operacional las acciones y actividades sugeridas
que den sentido a los criterios establecidos para reformular las labores del
administrador del sistema UNIX.
ALCANCE DE LA EVALUACIÓN
La evaluación de la administración del sistema operacional UNIX describe, en sí
mismo, una serie de variables que deben considerarse para establecer un modelo de
administración formal, que periódicamente debe aplicarse para dar sentido y soportar
los criterios de análisis planteados en la sección anterior.
De acuerdo con WETSCH 1998, las principales variables que deben considerarse
son:
1. Administración de Software
1.1 Procedimientos de mantenimiento y afinamiento del sistema operacional.
1.2 Procedimientos de mantenimiento y afinamiento de aplicaciones
4
5. 1.3 Procedimientos de medición y reporte sobre performance y funcionamiento de
aplicaciones.
1.4 Procedimientos para mantenimiento de los procesos del sistema operacional.
2. Administración de Hardware
2.1 Procedimientos para enfrentar fallas de hardware
2.2 Procedimientos para proveer servicio y soporte
2.3 Procedimientos para medir el rendimiento del hardware
2.4 Procedimientos para adicionar y eliminar periféricos del sistema
2.5 Procedimientos de inicio y terminación del sistema.
3. Administración de Red
3.1 Procedimientos para proveer servicios de red a los usuarios.
3.2 Procedimientos para evaluar rendimiento de la red.
4. Administración de seguridad
4.1 Procedimientos para asegurar la integridad y precisión de los datos.
4.2 Procedimientos para asegurar el control de acceso
4.3 Procedimientos para asegurar la privacidad de la información
4.4 Procedimientos mantener un control del ambiente físico.
4.5 Procedimientos para implementar y controlar tareas automáticas.
4.6 Procedimientos para respaldo de información
5. Administración de operaciones
5.1 Procedimiento para atender los requerimientos de los usuarios
5.2 Procedimientos para monitorear y mantener la configuración del sistema
5.3 Procedimientos para entregar información de servicios a los usuarios.
5.4 Procedimientos de Administración de Información
5.5 Procedimientos de Organización, selección y entrenamiento técnico.
Para cada uno de los cinco componentes vamos a elaborar una serie de elementos de
evaluación a manera de preguntas sobre las características básicas asociadas con el
sistema operacional Solaris que nos permitan adelantar la revisión y verificación de
cada uno de los componentes.
LISTAS DE CHEQUEO
En este aparte la idea es desarrollar en el contexto general del sistema operacional
Sun Solaris, los componentes expuestos en la sección anterior, ofreciendo preguntas
y características básicas del sistema basados en los aspectos de evaluación propuestos
en el alcance.
Es importante anotar, que la persona designada para llevar a cabo el ejercicio de
evaluación debe contar con conocimientos básicos en la plataforma Sun Solaris,
5
6. TCP/IP e interconectividad de redes, como fundamento conceptual para debatir con
el administrador soluciones o propuestas.
ADMINISTRACIÓN DEL SOFTWARE
•
Se encuentran definidas las variables de ambiente básicas para los usuarios del
sistema mediante el uso del archivo .profile en su directorio de trabajo?
•
Se encuentran definidos y documentados los file system básicos del sistema? Se
tiene actualizado el archivo vfstab?
•
Existe una lista definida de permisos sobre los directorios considerados críticos
sobre el sistema? Cada cuánto y cómo se actualiza?
•
Se cuenta con una actualización periódica de errores reportados por el proveedor
del sistema operacional (SO), los cuales son corregidos mediante patches? Con
qué frecuencia se realiza esta operación?
•
Se cuentan con herramientas de monitoreo de utilización de recursos: espacio,
disco, memoria? Se generan los reportes de las herramientas? Se analizan y
discuten con un tercero?
•
Se cuenta con la documentación de la instalación del sistema operacional? Se
documentan las actualizaciones de versión?
•
Se cuenta con el listado de procesos asociados con las aplicaciones críticas que se
ejecutan en el sistema?
•
Existe una base de conocimiento sobre el desempeño o uso de recursos por parte
de las aplicaciones? Se mantiene monitoreo sobre ellas? Con qué frecuencia?
•
Existe un procedimiento a seguir cuando se requiere la instalación de una nueva
aplicación? Se cuenta con los requerimientos exigidos para su adecuado
funcionamiento?
•
Se presentan recomendaciones para mejorar el desempeño de las aplicaciones?
Con qué frecuencia? En que se basan?
•
Existen herramientas automáticas que permitan establecer y revisar la
configuración del sistema, informando los cambios sucedidos sobre la estructura
de directorios y archivos?
ADMINISTRACIÓN DE HARDWARE
•
6
Existe una lista y sus permisos de los diversos dispositivos del sistema de
entrada/salida críticos para el sistema como son: /dev/console, /dev/kmen,
/dev/null, /dev/systty, /dev/rdsk. Qué procedimiento se sigue para cambios en la
configuración?
7. •
Se cuenta con una revisión de las conexiones de los periféricos del sistema
(impresoras, modems, discos externos, CD Roms, unidades de tape backup,
routers, terminales, etc.) y sus respectivos archivos de configuración? Qué
procedimiento se sigue y con que periodicidad?
•
Se posee una tabla o registro de mantenimientos preventivos y correctivos sobre
la máquina? Se genera análisis de dichos registros?
•
Existe un registro del reporte de fallas del Sistema Operacional? Se registran
como fueron solucionados?
•
Se cuenta con un procedimiento para deshabilitar la máquina (shutdown)? Se
lleva un registro de dichos eventos y sus razones?
•
Se cuenta con un ambiente físico controlado en el cual funcionan las máquinas?
Que tipo de verificaciones se efectúan: humedad, alarmas, etc?
ADMINISTRACIÓN DE RED
•
Se cuentan con verificadores o probadores de tarjetas de red? Estas tarjetas se
adecúan con las especificaciones planteadas para la red donde se encuentran?
•
Se tienen documentados los protocolos activos en la máquina?
•
Se tiene conocimiento de los archivos /etc/netmasks, etc/host, /etc/host.equiv,
etc/protocols, etc/services los cuales configuran los servicios del sistema para su
funcionamiento en red?
•
Se utilizan herramientas de monitoreo de tráfico de conexiones en el sistema
como apoyo a la labor de mantenimiento y análisis de la disponibilidad de la red?
•
Se mantiene un registro de las conexiones efectuadas entre el sistema y sus
dispositivos o sistemas vecinos?
•
Mantiene documentación sobre los servicios de red ofrecidos a los usuarios del
sistema? LAN Ethernet, UUCP, Dial-up, WAN, etc.
•
Se conoce en que parte de la red se encuentra la máquina (subred)? Los cambios
de dirección son frecuentes, se encuentran documentados?
ADMINISTRACIÓN DE LA SEGURIDAD
•
Se mantiene una lista de usuarios del sistema, el grupo o grupos a los que
pertenece y sus permisos asociados? Existen procedimientos para el
mantenimiento de usuarios y permisos?
•
Existe revisión periódica de los permisos de los usuarios del sistema sobre los
dispositivos de entrada salida como tty, raw devices, archivos de configuración
/etc, archivos de cron entre otros?
7
8. •
Se mantiene registro de los cambios o actualizaciones sobre los archivos base del
sistema operacional?
•
Se lleva un registro sobre los archivos /etc/host y /etc/host.equiv como control
del acceso al sistema por parte de terceras personas?
•
Se considera la revisión periódica de los registros del sistema (log) como el
lastlog, utmp, wtmp?
•
Existe una revisión de problemas de seguridad sobre los diferentes programas
base del sistema? Con qué frecuencia se realiza?
•
El administrador ha sido entrenado y notificado sobre procedimientos que le
permitan identificar posibles situaciones donde se encuentre comprometida la
máquina?
•
El control de acceso a los archivos, aplicaciones o dispositivos en el sistema se
encuentra de acuerdo con algún tipo de políticas de seguridad establecidas?
Enumere algunas de ellas.
•
Se tiene un procedimiento o actividad relacionada con la realización de análisis de
riesgos y controles sobre la máquina? Cada cuánto se realiza?
ADMINISTRACIÓN DE OPERACIONES
•
Se cuenta con un listado o elementos considerados como críticos para el
adecuado funcionamiento de la máquina? Servicios especiales, archivos, proceso
activos, file systems, funciones de limpieza de basura, etc?
•
Se cuenta con un programa de entrenamiento y actualización de los
administradores del sistema? Con qué frecuencia se hace?
•
Los usuarios del sistema cuentan con un procedimiento para reporte de fallas?
•
Se cuentan con los manuales del sistema y documentación atención de primera
instancia en caso de problemas en el sistema?
•
Existen archivos de ejecución automática (scripts) para realización de tarea
administrativas como backups, limpieza de archivos temporales, archivos core,
reporte de estadísticas de utilización de disco, memoria y procesador, entre otras?
•
Están segregadas funcional y operacionalmente las funciones relativas a la
administración del sistema, de otras como las labores de programación y
seguridad del sistema operacional?
8
9. ANÁLISIS DE RESULTADOS
Considerando que la lista propuesta en la sección anterior, no pretende convertirse en
una enumeración exhaustiva para analizar la administración de máquinas UNIX, y
que posiblemente existan elementos que no hayan sido incluidos, si establece un
parámetro de evaluación que trata de cubrir los elementos más significativos para
efectuar dicha administración.
De acuerdo con lo anterior y basados en estudios de expertos en el tema, textos
académicos y la experiencia de auditores de sistemas, los resultados obtenidos para
cada una de las preguntas deberán valorarse de acuerdo con la precisión y
especificidad utilizada por el administrador para responder a cada uno de los
interrogantes en los diferentes aspectos evaluados.
En particular, cada respuesta deberá estar orientada y asociada con procedimientos o
rutinas de trabajo cotidianas del administrador, pues en la medida en que se mantenga
una documentación y adecuada definición del papel del administrador, su labor se
verá reflejada en un ambiente de mayor control técnico de los procesos y una visión
más amplia de lo que significa alta disponibilidad de los recursos de cómputo.
En razón a lo anterior, cada variable evaluada se calificará de manera conjunta con el
administrador como administración apropiada, administración promedio y
administración deficiente, según se verifique la existencia de procedimientos y
controles sobre las tareas del administrador que validen las respuestas efectuadas por
el mismo.
Es importante anotar que esta evaluación debe adelantarse como una ejercicio de
revisión técnica en un ambiente de cordialidad y aprendizaje por parte del evaluador y
el evaluado, buscando no una connotación enjuiciadora de las labores del
administrador, sino una forma de comprender las labores que éste desarrolla y apoyar
el mejoramiento continuo de su trabajo.
Finalmente al concluir las conversaciones y recomendaciones con el administrador,
por cada una de las variables, se establece el nivel de administración actual de la
máquina y los esfuerzos requeridos para alcanzar un mejor nivel de administración
que permita al evaluador ofrecer mayor valor agregado a la labor del administrador y
un incremento importante de la disponibilidad y seguridad de los servicios de la
empresa.
REFERENCIAS
WETSCH, J. (1998) Distributed Unix Systems Administration. Team procedures for
the enterprise. R&D Books.
BACH. (1990) The Unix Operating Systems. Prentice Hall.
WEBER, R. (1999) Information Systems control and audit. Prentice Hall.
9
10. GARFINKEL, S. y SPAFFORD, G. (1996) Practical Unix and Internet Security.
O’Really & Associates.
SUN Microsystems. (1998) Sun Educational Services. EU-118. Fundamentals of
Solaris.
SUN Microsystems. (1998) Sun Educational Services. SA-235. Administration I.
SUN Microsystems. (1998) Sun Educational Services. SA-286. Administration II.
WINSOR, J. (1998) Solaris System Administrator’s guide. Macmillan. Technical
Publishing.
WONG, B. (1997) Configuration and capacity planning for Solaris Servers. Prentice
Hall.
10