El arte de la administración de sistemas Gunnar Wolf gwolf@gwolf.cx http://www.gwolf.cx/arte_admin Sección de Desarrollo y Administración de Sistemas en Red ENEP Iztacala UNAM ¿Qué es la administración de sistemas? * Garantizar servicio o Correo o Web o SMB o Bases de datos o FTP * Garantizar la seguridad de la información o Confidencialidad o Consistencia (a nivel sistema y a nivel usuario) * Proponer, investigar y crear o Programación para labores triviales o Automatización de la administración o Nuevos servicios para el usuario o Proyectos personales adaptables al sistema * Aprendizaje contínuo o Importancia de los servicios de noticias en tecnología, listas de correo y revistas o Libros, cursos y seminarios ¿Cómo administrar? * Precisar necesidades y servicios o ¿Qué requieren de mí? o ¿Cómo puedo ofrecerlo? o ¿Qué más puedo ofrecer que sea de utilidad? * Desarrollar políticas o Políticas de uso aceptable o Políticas de seguridad o Análisis de riesgos o Aplicación de las políticas * Elección de herramientas o Sistema operativo y programas de servicio + UNIX + Libre o Consejos de seguridad + Bitácoras + Deshabilitar servicios innecesarios + Administración remota y encriptación + Sistemas de detección de intrusos * Crear cultura informática o Computadoras o Servicios en red o Trabajo en red ¿Qué es la Administración de Sistemas? La administración de sistemas no es fácil. No es tranquilo. No es algo que pueda hacer cualquier persona - mucho menos aún si lo toma como una tarea más y no como un trabajo de tiempo completo. La administración de sistemas es uno de tantos trabajos que nadie se entera si está funcionando correctamente... Pero cuando cualquier cosa pasa, no pasan ni cinco minutos antes de que veinte personas nos estén reclamando con diferentes grados de histeria y urgencia que el servicio se reestablezca de inmediato. Un administrador de sistemas debe ser todólogo. Si hay un problema que no sea capaz de resolver, su plaza peligra. Sin embargo, hay pocos trabajos tan interesantes, divertidos y - para los afortunados que le hemos agarrado cariño - excitantes como este. Intentaré presentar a ustedes por medio de estas páginas un breve y no demasiado bien organizado esbozo de lo que día a día debe hacer un administrador de sistemas, lo que debe saber, y el tipo de carácter que debe tener para desempeñarse en su diario trabajo. Cabe mencionar que yo soy administrador de sistemas desde hace ya más de seis años. Sistemas chicos y grandes, comerciales y voluntarios, por hobby y por dinero. Estoy, por tanto, acostumbrado a poner buena cara cuando me gritan... No teman interrumpirme, si es que tienen la tremenda mala fortuna de que yo sea un conferencista, o de enviarme un correo si sólo encontraron este texto aventado en la red. Garantizar servicio La principal labor de un administrador de sistemas, al menos a ojos del siempre presente usuario, es mantener las cosas funcionando. Si el usuario quiere utilizar nuestros servidores a las cuatro de la mañana está en todo su derecho de hacerlo. Y si el servidor se niega a dejarse utilizar, la mayor parte de los usuarios tienen la más plena convicción de que tenemos el deber divino de estar allí para ellos. Es por ello que pongo como primer apartado el garantizar un servicio. Claro, no con esto quiero decir que no tengan el derecho de reclamar que el servicio esté funcionando... Pero los dolores de cabeza nadie nunca nos los quitará. Claro está, cada organización tendrá un diferente esquema de servicios, pero en términos generales, los servicios comunmente ofrecidos son demandados de acuerdo al siguiente órden: Correo Cuando a un usuario se le atora el programa de correo, cualquier calamidad puede ocurrir. Hoy en día cada vez más información fluye por correo. Contrario a lo que muchos creen, la mayor parte de los problemas no se origina en el servidor, sino que en la configuración del programa cliente del usuario. Un consejo - Si pueden convencer a los usuarios de utilizar clientes que se ejecuten en el servidor (por telnet, web o el método que prefieran o descubran) se ahorrarán muchos dolores de cabeza. Web Esto creo que no sorprende a nadie. El servicio predilecto del mundo entero es el Web. Cuando algo falla - sea en nuestro servidor o en un sitio remoto - la llamada cae de inmediato. Muchas veces es muy difícil hacer entender al usuario que las fallas en otros sitios no las podemos corregir desde nuestros asientos... Pero bueno, una vez más, gajes del oficio. SMB Las redes que incluyen servicios SMB (también conocidos como redes Microsoft, por ser el tipo de red que se instala por default en Windows) requieren tener este servicio vivo todo el tiempo, sin fallar ni un minuto. Los usuarios muchas veces toman a las unidades compartidas hacia la red como si fueran sus discos duros personales - y bien por ellos, pues es justamente lo que buscamos, para ayudarnos a hacer respaldos y facilitarles el compartir la información. A mí me sorprende, más bien, que este vital servicio quede en tercer lugar, cuando su importancia dentro de una organización típicamente excede con creces a la del Web... Pero bueno, tomémoslo como un respiro para el administrador. Bases de datos Una organización puede tener diferentes tipos de bases de datos en red, desde un esquemita muy sencillo y que es requerido una o dos veces al día hasta un sistema muy complejo, con muchos recursos y aún mayor demanda. No podemos generalizar respecto a las bases de datos, pero sí tienen una innegable demanda y sería un error omitirlas, ya que todo sistema, de alguna o de otra manera, tiene una base de datos que requiere mantenerse en forma. FTP Este antiguo soberano de los servicios ha caído hasta el último lugar de los cinco. Uno de los principales usos de la red siempre ha sido el de compartir archivos. Por mucho tiempo, la manera más sencilla de hacerlo fue mediante el Protocolo de Transferencia de Archivos - FTP. Hoy en día hay ya muchas alternativas, principalmente HTTP y SMB. Sin embargo, por mas que haya perdido fuerza, FTP sigue siendo uno de los protocolos más importantes en la red. Obviamente, el garantizar servicio no se limita a estos cinco protocolos, pero sí son estos los que más son utilizados. Garantizar la seguridad de la información Una de mis más constantes ocupaciones al administrar servidores - y juzgo que así debería de ser para todo administrador - es la de mantener al sistema seguro - y hacerlo a dos diferentes niveles: a nivel usuario y a nivel sistema. Las consideraciones para estos dos niveles son muy parecidas, pero se logran de manera muy diferente. El lograr la seguridad a nivel usuario (que, a fin de cuentas, es lo que los usuarios requieren de nosotros) implica haber logrado plenamente la seguridad a nivel sistema. Los principales a incluir la seguridad en la administración son: Confidencialidad A nivel usuario, la confidencialidad significa que nadie que no esté explícitamente autorizado pueda tener acceso a los datos privados de cada usuario. A nivel sistema es un poco más ambiciosa: Nadie que no sea el administrador debe tener acceso a la información de configuración y funcionamiento del sistema. Si un atacante quiere penetrar nuestro sistema, lo primero que debe hacer es reunir cuanta información le sea posible antes de hacerlo - ¿Qué sistema operativo corremos? ¿Qué programas utilizamos para brindar cada uno de los servicios? ¿Qué servicios tenemos que sean más fáciles de explotar? ¿Cómo tenemos configurado cada uno de estos servicios? Si logramos negarle el acceso a esta información, no sólo nos evitaremos dolores de cabeza de varios días de duración en lo que reinstalamos todo (medida indispensable cuando la seguridad de nuestro sistema ha sido comprometida), sino que garantizaremos la confidencialidad a nivel usuario. Consistencia La consistencia significa que todo funcione como debería funcionar, que todo esté donde lo dejamos, que no haya nada en el sistema que nos llame especialmente la atención. Para un usuario, esto puede significar que algún archivo suyo, su correo o su página Web hayan sido alterados o simplemente borrados. A nivel sistema, esto es más grave. En un sistema Unix típico hay varios miles de archivos, incluyendo binarios, bibliotecas, archivos de configuración, archivos de datos, archivos de los usuarios... Y la modificación de cualquiera de estos no puede significar más que problemas. Muchas veces, el atacante lo hará con el objetivo de: * Mantener una puerta secreta abierta para permitirle acceso en el futuro. Para lograrlo, las modificaciones son normalmente a binarios (programas) del sistema, aunque muchas veces son archivos de configuración. * Capturar información confidencial de los usuarios. Para esto normalmente modifican un binario de uso frecuente (por ejemplo, ls, que despliega los contenidos de un directorio, o el popular lector de correo pine). * Dañar la imágen de la corporación. La manera más común de hacerlo es modificando la página principal o alguna sub-página para que de información ilegítima. Hay muchas otras maneras de dañar la imágen, pero este texto no es un tutorial para atacantes - y los atacantes normalmente son personas muy creativas. Proponer, investigar y crear Es muy importante para un administrador de sistemas el ser cerativo. La manera más socorrida - y útil - de creatividad es la programación. Programación para labores triviales Un administrador de sistemas conoce a fondo las utilidades básicas de su sistema, de tal manera que sin mayor complicación puede en minutos crear un programita que haga por él labores que serían muy tediosas de lograr a mano. De hecho, aunque el trabajo tome el mismo tiempo de hacer a mano que programándola, es un mayor reto y es más divertido hacerlo programando un poquito. Automatización de la administración Si hay alguna actividad que hay que realizar todos los días, la mayor parte de los administradores la olvidaríamos cotidianamente por estar en otras de las tantas actividades que nuestro trabajo nos requiere. El respaldo diario y la ejecución periódica de ciertos programas son perfectos candidatos para la automatización. Dependiendo qué tanto queramos hacer esto implicará más o menos programación. Nuevos servicios para el usuario Aquí ya estamos hablando de la programación tradicional en el sentido más estricto: Crear un nuevo servicio para los usuarios implica analizar una situación, sugerir varias propuestas, elegir una de ellas e implementarla en algún lenguaje. ¿Qué lenguaje? Depende del gusto de cada administrador, pero el favorito de los administradores casi siempre es Perl, un lenguaje con una estructura sintáctica similar a C, pero sin tanta tipificación de variables, con mucha mayor libertad para elegir el estilo de programación (no estructurada, estructurada, orientada a objetos) y sin la constante preocupación del manejo y liberación de memoria. Además, Perl maneja a la perfección la interacción con bases de datos, suministrando un sencillo formato interno para bases de datos sencillas, y conexión a casi cualquier base de datos relacional que puedan nombrar. Proyectos personales adaptables al sistema Cada quién tendrá sus intereses personales, y hará diferentes cosas durante su tiempo libre. A un administrador que haya agarrado gusto por la programación siempre le gustará llevar un proyecto personal además de la programación que haga específicamente para el sistema, tal vez con el oculto deseo de algún día integrar a su recién creado hijo al sistema que administra. Aprendizaje contínuo No debemos descartar el aprendizaje contínuo. Cada día aparecen nuevos inventos, desarrollos, programas y riesgos en el campo de la computación, y el administrador responsable debe estar al tanto de tantos como le sea posible. Importancia de los servicios de noticias en tecnología, listas de correo y revistas Para estar al tanto de los acontecimientos conforme se van dando, no hay como leer estas fuentes de información. Doy el nombre de algunas de las que juzgo más importantes, al menos siguiendo mi estilo de administración, que no es el único. * http://www.slashdot.org tiene las últimas noticias de interés para un administrador. Se anuncian como "News for nerds. Stuff that matters", y no podrían definirlo mejor. Slashdot es el lugar favorito de los activistas del software libre, de usuarios de los sistemas operativos Linux, FreeBSD, OpenBSD y NetBSD. Mucho administrador, mucho programador. * http://www.freshmeat.net es el equivalente a Slashdot en lo que a programas se refiere. A diario aparecen anuncios de mas de 20 nuevos programas (o nuevas versiones de programas ya existentes). El público que lee y participa en Freshmeat es muy similar al de Slashdot. * http://www.rootshell.org, http://www.asc.unam.mx, http://www.insecure.org y otros muchos son sitios dedicados a la seguridad en sistemas de cómputo. Vale la pena asomarse a estos periódicamente para estar al tanto de los posibles nuevos ataques y saber qué medidas tomar. * Listas de correo Independientemente del sistema operativo que hayan decidido utilizar, es altamente recomendable estar suscrito a cuando menos una lista específica de este sistema. Para Linux, que se ha vuelto uno de los sistemas más populares para servidores en el mundo, les recomiendo subscribirse a ayuda@linux.org.mx. Listas relativas a seguridad? En http://www.asc.unam.mx/Servicios/listas_de_correo.html encontrarán las listas de correo del Área de Seguridad en Cómputo de la UNAM, el organismo más serio y dedicado a la seguridad de México. * SysAdmin (http://www.samag.com) es una revista dedicada completamente a la administración de sistemas. La pueden encontrar en cualquier tienda donde haya revistas importadas de computación en México. * Server/Workstation Expert (http://sw.expert.com)) está también dedicada a la administración de sistemas, aunque es un poco mas teórica en su contenido. Está disponible completa en línea. Libros, cursos y seminarios Por mejores revistas, listas y noticias que leamos, nunca habrá un substituto para un buen libro, un curso y un seminario. Claro, no puedo listar todos los buenos libros, pero una buena pista es que los libros de O'reilly Associates (http://www.ora.com) siempre han sido reconocidos como los mejores en su género. ¿Seminarios y similares? El congreso más importante en México es el Congreso General de Cómputo organizado anualmente por la DGSCA (UNAM). Vale la pena también asistir al DISC (Día Internacional de Seguridad en Cómputo) organizado por el Área de Seguridad en Cómputo, también de la UNAM. ¿Cómo administrar? Muy bien, ya vimos las heróicas labores que a diario tiene que realizar un administrador de sistemas. Lo que no vimos, sin embargo, es cómo hacerlo. Toda administración exitosa incluye una extensa fase de planeación, que si bien se continuará presentando en el trabajo diario, siempre cargarán consigo las consecuencias de nuestras decisiones iniciales. Un punto tan importante que requiere un apartado por sí sólo - y que, desafortunadamente, es dejado de lado por casi todos los administradores para ser desarrollado en un hipotético luego - es el de las políticas de seguridad y de uso aceptable, el análisis de riesgos y la aplicación de las mismas. Esto no puede seguir siendo así en estos días en que los administradores nos hemos ido convirtiendo en héroes o villanos universales. A continuación tocaremos el punto de las herramientas - ¿Con qué conviene administrar? ¿Cómo aplicar estas herramientas? El último punto que tocaré es el de la creación de una cultura informática. Esto es de singular importancia, ya que sin una, nuestro árduo trabajo será completamente inútil e ignorado. Precisar necesidades y servicios ¿Qué requieren de mí? Lo que nunca debemos perder de vista es que nuestro trabajo es brindar un servicio. Muy bien, cuál es la primera fase de brindar un servicio? Descubrirlo. Descubrir que existe una necesidad, desarrollarla, encontrar de qué maneras podría esta ser satisfecha. Pensar a futuro, anticipar - tanto como nos sea posible - cómo crecerá esta necesidad, plantear y fundamentar los requisitos a la hora de solicitar un presupuesto. Desafortunadamente, debemos anticipar también que no podemos presentar un plan demasiado justo, puesto que una petición de presupuesto muy rara vez se va a cubrir al 100%. ¿Cómo puedo ofrecerlo? Toca ahora planear de nuevo, pero sobre algo más tangible. Es un hecho, voy a tener dos servidores Intel y un servidor Sparc. ¿Cómo los podré aprovechar para lograr satisfacer las necesidades de la organización? ¿Qué sistemas operativos utilizaré? Qué programas montaré sobre esos sistemas operativos? ¿Qué más puedo ofrecer que sea de utilidad? Tras tener un esbozo bastante claro del sistema, dado que nuestro sistema fue planeado con miras al crecimiento futuro, obviamente veremos que podemos ofrecer más de lo que inicialmente ofrecimos. Tal vez no pensamos en aprovechar que tendremos un servidor de Web para que cada uno de nuestros usuarios tenga un espacio propio para poner sus páginas. Tal vez compramos un disco duro suficientemente grande como para compartirlo con las computadoras, creando una siempre conveniente área compartida. En fin, no hay límite para las propuestas. Desarrollar políticas Políticas de uso aceptable Nuestro sistema será utilizado - esperamos - por decenas, cientos o miles de personas, dependiendo de la magnitud de la oraganización y del proyecto. Siempre habrá alguien que guste de hacer cosas que a todas luces van en contra de los propósitos que tenemos (pornografía en una institución educativa, sitios de chat o de correo personal en ambientes corporativos, etc.) Pueden no sólo ir en contra, sino hasta entorpecer el funcionamiento (audio/video en línea, intercambios de música Napster, etc.). Si no definimos claras y explícitas políticas de uso aceptable y de seguridad, no tendremos ninguna carta para obligar a dichos usuarios a no continuar con su ofensiva conducta. Políticas de seguridad No menos importantes son las políticas de seguridad - y tampoco menos extensas. La seguridad se divide varios incisos: * Seguridad Física - ¿Quién tiene acceso a nuestros sistemas? ¿Cómo están protegidos de eventos tales como temblores o incendios? ¿Qué tan confiable es la alimentación eléctrica? * Seguridad de la información - ¿Tenemos respaldos diarios de la información? ¿Están en un medio confiable y en un lugar adecuado?¿Alguien más tiene copia del respaldo? ¿Debe un usuario tener acceso de lectura a los archivos de otro? ¿Y de escritura? * Seguridad ante ataques - ¿Tenemos procedimientos escritos para actuar en caso de una emergencia informática? ¿Conocemos perfectamente qué corre en nuestro sistema? ¿Podemos identificar - ya sea a mano o por medio de una herramienta - si hay alguna modificación en el sistema? ¿Tenemos contacto y relación con un Equipo de Respuestas a Incidentes en Computación? Análisis de riesgos Como extensión de las políticas de seguridad, debemos ponernos en perspectiva, analizando qué está en juego. No debemos descuidar a un sistema con información altamente sensible o delicada tan sólo por prestarle igual atención que a uno de menor importancia. Claro, no existe ningún servidor que no requiera atención - Cualquier intrusión en nuestra red, por más que sea en un servidor de impresión cuya impresora esté en servicio, representa una incursión exitosa en nuestro terreno, y la aparición de un sistema base (que creemos seguro) desde el cual puede originarse un ataque a nuestros otros servidores. Aplicación de las políticas; Las políticas son muy bonitas, pero de muy poco sirven en papel. La parte más difícil es la implementación de un conjunto de políticas es convencer a los usuarios de seguirlas. Muchos administradores abandonan brillantes trabajos de políticas representando meses de esfuerzo al toparse con esto. Por ello, es indispensable al crear políticas hacerlo conjuntamente con una figura que represente autoridad en la organización, y que sean presentadas a los usuarios por él. Esto se hace más evidente al tratar de poner en práctica alguna de estas políticas - Si surge algún conflicto, más vale que contemos con un apoyo en las capas superiores. Escribir políticas es algo que va mucho más allá de esta breve plática. Les invito a leer el tutorial que César Vega Calderón y yo hicimos al respecto para el Área de Seguridad en Cómputo en http://www.asc.unam.mx/disc/1999/tutoriales/politicas/politicas.html. Elección de herramientas Cuando administramos un sistema, tenemos que elegir las herramientas que utilizaremos. Nuestra herramienta fundamental es el sistema operativo y los programas que darán el servicio que ofreceremos, y nos apoyaremos siempre en diversas herramientas de seguridad. Sistema operativo y progarmas de servicio UNIX Aunque hay muchas y muy diferentes opciones de sistema operativo, casi todo administrador preferirá utilizar un sistema UNIX a cualquier otra cosa. Esto no es casual. UNIX es un sistema con muy gran trayectoria - más de treinta años de desarrollo. Prácticamente todos los servicios que daremos fueron originalmente desarrollados en sistemas UNIX, y de ahi porteados a otros sistemas. UNIX tiene una filosofia que lo hace ideal para el administrador y para el programador: Muchos, muchisimos programitas que saben hacer una sola cosa (y la hacen bien), y son muy faciles de hacer colaborar con otros programas. Una ventaja de los sistemas UNIX sobre su competencia es que toda la configuracion la guardan en archivos de texto que pueden ser editados a mano - a diferencia, por ejemplo, del desafortunadamente celebre Registry de Windows, una tremenda base de datos que si llega a corromperse significa la absoluta corrupción del sistema completo. Hay quien dice que UNIX es un sistema operativo complejo y poco amigable. Para un administrador, no hay nada más sencillo que un sistema diseñado con lógica para que un operador humano pueda darle mantenimiento sin depender de programitas gráficos que lo hagan por él - aunque esos programitas están siempre ahí, por si hay alguna operación que no conoce. Cada vez hay más personas que instalan sistemas operativos UNIX como su sistema operativo principal, para casa o trabajo, dada la facilidad con que se maneja después de haberse quitado algunos vicios del mundo de DOS/Windows - Y claro, impulsados a esto también por la legendaria estabilidad de UNIX. Por último -y por si estas fueran pocas razones- hay otra razón más para elegir un sistema UNIX: Los programas. La mayor parte de estos sistemas vienen con una rica colección de servicios para red, y si un servicio que queremos implementar en especial no está incluído, hay una amplia variedad de estos programas listos para ser bajados, compilados e instalados. Libre Muy bien, ya los convencí con argumentos muy fuertes de utilizar UNIX. Ahora... ¿Cual? ¿Solaris, OpenBSD, HP/UX, AIX, Linux, FreeBSD, IRIX, SCO, NetBSD, IBSD u otro? Cada uno de ellos, naturalmente, tiene ventajas y desventajas. Algunos (HP/UX, AIX) requieren sistemas muy grandes, servidores de decenas de miles de dólares. Otros (Solaris, IRIX) funcionan en máquinas medianas y grandes, pero su mero mole, donde nadie les gana, es con supercomputadoras de 32 procesadores o más. Por otro lado, hay otros diseñados para correr en computadoras chicas - servidores basados en CPUs compatibles con Intel (SCO, IBSD). No mencioné de la lista a cuatro sistemas operativos, pues estos están en una categoría completamente diferente: Linux, FreeBSD, NetBSD y OpenBSD. Estos sistemas operativos son sistemas libres. ¿Qué es esto? Son sistemas operativos que no sólo son de distribución gratuita, ayudándonos a reducir el costo sensiblemente en máquinas pequeñas y medianas, sino que nos garantizan la libertad de poder aprender de su código fuente, modificarlo para cumplir alguna necesidad específica, y redistribuirlo con las modificaciones que le hagamos. Esto es lo que ha llevado a que estos sistemas operativos corran en prácticamente cualquier computadora que se nos ocurra ponerles enfrente (siempre habrá algún usuario técnico dispuesto a meterle coco para que funcione en su sistema), a que sean los que administren los recursos más eficientemente (mucha gente los corre en computadoras de hace diez años, y se esfuerzan por que sigan corriendo adecuadamente, mientras que también hay programadores y administradores que reciben el equipo que está al último grito de la moda y le quieren sacar todo el jugo posible), a que sean los más seguros (como dice el conocido lema, si hay suficientes ojos, cualquier defecto se vuelve obvio). No solo eso. Los sistemas operativos libres vienen por lo general acompañados de una gran cantidad de programas - también libres - que nos permitirán dar casi cualquier servicio, administrar la máquina, editar, navegar, jugar, etc. Va pues, de nueva cuenta y para cerrar esta sección, mi mas fuerte exhorto a todos ustedes a administrar exitosamente con sistemas operativos UNIX libres. El sistema más común de estos es Linux. El que todos reconocen como más seguro es OpenBSD. Una alternativa similar a Linux, aunque ligeramente más eficaz al manejar comunicación por red, es FreeBSD. El que corre en más diferentes plataformas es NetBSD. Consejos de seguridad Bitácoras Fundamental para todo operador: La primera manifestación de un problema, sea cual sea, estará siempre en las bitácoras. Leer las bitácoras del sistema con detenimiento una vez al día no toma mas que unos 20 minutos, y nos puede evitar muchos problemas. En un sistema UNIX, prácticamente la totalidad de las bitácoras estarán en el directorio /var/log Algunos de los datos que podemos obtener de las bitácoras son: * El sistema está reportando algún error extraño, desde un error de configuración en software hasta una falla potencial en hardware. * Hay comportamiento inusual. Por ejemplo, si aparecen intentos de conectarse con diferentes nombres de usuario desde la misma dirección IP, lo más probable es que alguien esté intentando atacarnos desde dicha dirección. * Hay un error con nuestras páginas. Si aparecen muchas solicitudes fallidas a una página, hay que revisar qué página les origina el intentar abrir esa dirección. Deshabilitar servicios innecesarios Cuando instalamos un sistema, por lo general viene con la seguridad muy relajada, otorgando casi todos los servicios. Es muy importante revisar los servicios que estemos otorgando (archivos /etc/inetd.conf y /etc/rc?.d tipicamente). La razón para deshabilitar estos servicios es que si no requerimos dar cierta información, no deberíamos requerir estar pendientes de actualizaciones y parches de seguridad de diferentes programas. Además de esto, entre menos información demos de nuestro sistema a un atacante en potencia, más seguros estaremos de él. Administración remota y encriptación Los sistemas UNIX permiten la administración remota, lo cual es una muy gran ventaja para todo administrador - poder manejar todos los sistemas desde una sola computadora es muy, muy cómodo. Sin embargo, muchos administradores continúan utilizando protocolos prehistóricos como telnet y los comandos R (rsh, rcopy, etc.) Estos comandos tienen la gran desventaja que todo el texto que fluya por la red para ellos irá en claro o, lo que es lo mismo, sin encriptación de ningún tipo. Estos protocolos fueron reemplazados por Secure Shell (ssh) y Secure Copy (scp). Con estos nuevos protocolos y algoritmos, toda comunicación entre el servidor y determinado cliente irá encriptada, imposibilitando a un tercero que esté olfateando la conexión ver o modificar los datos. Sistemas de detección de intrusos Es conveniente instalar cuando menos un sistema básico de detección de intrusos en cualquier servidor. Estos sistemas pueden ser desde muy simples y pequeños (como el PortSentry de Psionic, que imposibilita que un atacante nos pueda hacer barridos de puertos en búsqueda de información) hasta grandes y complejos (como el Internet Security System (ISS) o el FireWall toolkit (FWTK). Como la elección de uno o más sistemas de detección de intrusos depende del análisis de cada sitio, no entraré más en detalles. Crear cultura informática Una parte de nuestro trabajo que no podemos dejar de lado es la de crear una cultura informática en nuestra organización. De poco sirve brindar un servicio si no vamos a brindarselo a nadie. Crear una cultura informática no se logra de la noche a la mañana. Es un proceso muy largo, con el que muchos usuarios no tendrán interés alguno en colaborar. Los tres grandes pasos que tendremos que hacer que todos los usuarios den son: Computadoras Este primer punto no nos costará tanto como los otros dos. Para que haya una cultura informática, lo primero que tienen que hacer los usuarios es utilizar las computadoras para su trabajo cotidiano. Hoy en día, este primer punto está - en casi todas las organizaciones, a casi todos los niveles - ya un hecho implementado. Habrá siempre quien no quiera utilizar computadora, y es a ellos a quien debemos dedicar nuestro esfuerzo para que nuestros esfuerzos se reflejen en todas las áreas y nuestro trabajo sirva al máximo. Servicios en red Toca el turno de ir presentándoles cada vez más servicios en red: Correo electrónico, algún sistema de mensajería como el ICQ, consultas de información de uso cotidiano por Web, impresoras compartidas, etc. El usuario así se va familiarizando con la interacción con la red y con los servicios que esta presta, hasta que se convierte en algo natural para él. Muchas organizaciones no requerirán ir más allá de este paso, aunque el tercero es probablemente el más interesante, el que más retos puede ofrecernos. Trbabajo en red Por último, trabajemos todos juntos. Aquí puede entrar una gran cantidad de aplicaciones - Compartir archivos, aplicaciones groupware, bases de datos, y un muy largo etcétera. Los desarrollos nuevos casi siempre caerán en esta clasificación - y es por ello que conviene que sepamos programación - trabajaremos muy de cerca con los desarrolladores en buena parte de los proyectos, ya que cada vez serán más para todos las ventajas del trabajo en red.