Departamento de Electrónica Principales Problemas de Seguridad en Redes Corporativas e Institucionales Nombre alumno: Juan Pablo Escobar Zorn Rol: 2721063-5 Nombre Profesor: Agustín González V. Fecha: 04/08/08 Resumen Seguridad Corporativa: Seguridad en redes es mantener bajo protección los recursos y la información con que se cuenta en la red, a través de procedimientos basados en una política de seguridad tales que permitan el control de lo actuado Riesgos en una Red Corporativa: Las personas son el recurso de mayor importancia al evaluar los riesgos en una red, puesto que la seguridad en una red comienza y termina con las personas. Estimación de los niveles de riesgo en una red: El análisis de riesgos debe incluir lo siguiente: Qué se necesita proteger De quién protegerlo Cómo protegerlo La evaluación total del riesgo estimativo de un recurso, resulta del producto del riesgo de pérdida del recurso y la importancia del recurso. Procedimientos de seguridad a nivel de usuario Los datos del usuario deben llenar los siguientes campos: nombre y apellido, puesto que ocupa en la corporación, nombre del superior directo que confirme la posición del individuo, etc. Procedimientos de seguridad a nivel global Entre los procedimientos a nivel global se encuentran: Verificación de accesos, Chequeo del tráfico de red, Monitoreo de los volúmenes de correo, Monitoreo de conexiones activas, Monitoreo de modificación de archivos, etc. Tipos de Ataques y Vulnerabilidades Entre los ataques a los terminales y a la red se encuentran: La negación de servicios, obtención o uso ilícito de claves de acceso, Ataques mediante abuso de “bugs” o debilidades de los servicios y protocolos de conexión, etc. Herramientas de control y seguimiento de accesos Entre las herramientas se encuentran: tcp-wrappers, Netlog, Courtney, tcpdump, SATAN, ISS, Argus. Introducción Toda red presenta “problemas”. Los problemas, se quiera o no, siempre tendrán que ver con un individuo. Sea cual sea la causa del problema, los parámetros a considerar son normalmente los mismos. Las causales de dichos problemas pueden ser analizados, expuestos y resueltos por medio de protocolos de prevención y seguridad que los permitan evitar, ahorrando tiempo, recursos y por sobre todo, protegiendo a los miembros de la organización. Las redes corporativas presentan problemáticas que pueden ser resueltas a través de estudios y herramientas de organización, control y seguimiento que permiten que la funcionalidad de la corporación permanezca lo más estable posible dentro de los parámetros que su seguridad lo permitan. El objetivo de este estudio es observar cuáles son los principales riesgos en una red corporativa, su evaluación y las herramientas que permitirán la prevención de los problemas que podrían generar, tanto por los miembros de la corporación como agentes externos a la misma. Seguridad Corporativa Para comenzar, se debe tener en cuenta qué es lo que consideramos como una corporación. Corporación no es más que una (o cualquier) organización de personas regulada por un conjunto de normas en función de determinados fines. Bajo este concepto pueden ser tratadas como corporaciones cualquier empresa, institución, grupo, departamento, subdepartamento, etcétera, que cumpla con la condición de estar conformado por personas con funciones en común. Y el desarrollo de este estudio se verá enfocado de acuerdo a esta realidad, específicamente en el área de seguridad de una red computacional de tipo corporativo. De acuerdo con el estudio de seguridad en el cual se encuentra basado este trabajo, seguridad en redes es mantener bajo protección los recursos y la información con que se cuenta en la red, a través de procedimientos basados en una política de seguridad tales que permitan el control de lo actuado. Bajo esta premisa, debemos hacernos la pregunta: ¿Qué es lo importante en una corporación, las personas o los datos? Si lo vemos de una perspectiva de mando, ambos resultan recursos de gran valor para cualquier corporación. Visto desde fuera, la respuesta sería siempre las personas, pero visto desde el punto de vista de este estudio se considerará que el valor del recurso humano tendrá siempre mayor valor en la medida que el recurso informático le entregue dicho valor. Dicho de otra manera, la información de la cual es responsable una persona determinará su importancia en una corporación. Y dicho esto, la información manejada por esta persona poseerá cierto nivel de importancia, y el hecho de mantener y cuidar de esta información (y el tráfico de la misma por la red) permitirá cuidar de su integridad (la de las personas), al resguardar su privacidad y capacidad productiva dentro de la corporación. Riesgos en una Red Corporativa En concordancia con lo anteriormente expuesto, podemos por lo tanto concluir que las personas son el recurso de mayor importancia al evaluar los riesgos en una red, puesto que la seguridad en una red comienza y termina con las personas. Para empezar, lo mejor siempre es organizar la red (y por supuesto las personas que la incluyen) en grupos de trabajo. Por ejemplo, en un edificio de oficinas lo correcto sería dividir la red por pisos y por departamentos; luego individualizar los sujetos para finalmente establecer los niveles de responsabilidad de cada piso, departamento e individuo, de acuerdo a su función y ocupación. Hago especial hincapié en este punto debido a que las cifras avalan esta posición: el 80 % de los problemas generados en una red son básicamente responsabilidad de sus integrantes, y sólo el 20 % se debe a factores externos de una corporación. Los tres factores que alimentan esta estadística son: Ignorancia, haraganería y malicia. La ignorancia como factor puede ser fácilmente solucionado mediante cursos (seminarios de seguridad internos), publicidad (pop-ups en las ventanas de inicio de sesión, folletos, publicaciones en murales, etc.) y mediante exámenes periódicos de las habilidades de cada miembro. La haraganería, o flojera, es un factor muy común en las grandes corporaciones, en las cuales las principales brechas de seguridad se deben a la incompetencia de sus miembros, al no apagar su equipo cuando se retira de su lugar de trabajo, olvidan cerrar su sesión, o simplemente, dejan encendido su terminal, sin protección alguna de otros individuos que buscan dañar su posición. Y en este último punto saltamos al tercer factor: la malicia. En ningún lado nos encontramos libres de las emociones de nuestros pares, especialmente cuado tratamos con personas que trabajan par a par con nosotros, que buscan o anhelan ascender de cualquier manera en los niveles de una organización. Basta decir que evitar ambientes de rivalidad y competencia desleal, e incentivar la lealtad entre los pares de una organización logran solucionar este tipo de problemas. La participación condicionada también ayuda a incrementar la seguridad de una organización, al preguntar y escuchar los diversos problemas que las personas tienen con los equipos conectados a red. Esto permite ver las cosas desde el enfoque de aquellos que participan en la red (usuarios). El punto que quizás más problemáticas genera al poner en marcha un plan de seguridad es, por supuesto, la puesta en marcha del plan. La mayoría de los usuarios tienen problemas para “aclimatarse” con las nuevas disposiciones de seguridad, y tienden a desconfiar, cometer errores, y obviamente, reclamar por los problemas que tienen. La solución es dar por lo general un cierto período de “marcha blanca”, en el cual la red debe ser monitoreada de manera frecuente para ir solucionando los diferentes problemas imprevistos en el plan de seguridad, y además para evitar posibles ataques externos que se aprovechen de la vulnerabilidad del sistema. Estimación de los niveles de riesgo en una red No todos los recursos en una red poseen el mismo nivel de riesgo. Así mismo, si consideramos que el factor humano tiende a ser el nivel de mayor riesgo, la manipulación de un determinado recurso entrega un nivel diferente de riesgo que otro. Así, el daño físico a un recurso no siempre generará una consecuencia mayor que el que puede hacerse mediante un software o un determinado recurso de la red. Por ejemplo, no podríamos decir que el daño provocado por un desperfecto en un cable puede ser mayor a la filtración de cierta información confidencial. De esta manera, el análisis de riesgos debe incluir lo siguiente: Qué se necesita proteger De quién protegerlo Cómo protegerlo Del análisis de estos puntos, es posible realizar estimaciones del riesgo de la pérdida de un determinado recurso (R) (a todo nivel) versus su importancia (I). Si les asignamos un valor numérico, digamos de cero a diez, tendremos entonces que para “R”, cero indica que no existe riesgo y diez como el nivel de riesgo más alto, y para “I”, cero indicaría un recurso sin importancia, mientras que un valor de diez indicaría al recurso más importante de la red. Estos valores tienden a ser subjetivos a nivel global, pero si se consideran dentro del marco de funcionalidad de una red, podemos ver, por ejemplo, que será muy difícil encontrar un recurso sin importancia, o que simplemente no exista riesgo de pérdida. Así también probablemente tan sólo uno o dos recursos alcanzarán los valores máximos en ambas escalas, o quizás la funcionalidad de la red dependa de la funcionalidad total de todos los recursos (véase, por ejemplo, el caso de una red privada que requiera que todos sus elementos funcionen en sincronía). Como sea, la evaluación total del riesgo (W) estará determinada por el producto de ambos factores, dando así: Wi=Ri * Ei Siendo “W” la importancia del riesgo de pérdida de un determinado recurso, “R” el riesgo de pérdida del recurso, “E” la importancia del recurso, y el subíndice “i” el número del recurso evaluado. Ejemplificando, supongamos una red simple con un servidor, un MODEM y un router. Los valores fueron entregados luego un análisis previo que entregaba estas cifras como las mejores para estimar esta red (en este caso, por ejemplo, puede ser el Router R2=6 E2=7 laboratorio de una escuela). A cada componente se le ha asignado un cierto riesgo y una cierta importancia, de acuerdo a la funcionalidad que cumpla esta red. Tenemos entonces Servidor: MODEM: Router: R1=10 E1=10 R3=3 E3= 3 R2=6 E2=7 Servidor R1=10 E1=10 MODEM R3=3 E3=3 El cálculo del riesgo evaluado será, por lo tanto: Servidor: 10 x 10 = 100 (máximo valor de riesgo!!) MODEM: 3 x 3 = 9 (nivel de seguridad bajo) Router: 6 x 7 =42 (nivel de seguridad medio) Mediante este método, podemos evaluar cuáles son los principales puntos de riesgo en una red. En este caso, vemos que el servidor muestra un valor máximo ponderado de riesgo; la seguridad de este recurso debe ser, por tanto, prioridad por sobre la de los demás. Al realizar cualquier análisis de riesgo, deben ser considerados todos los recursos (aún por triviales que parezcan) cuya seguridad esté en riesgo de ser quebrantada. Los recursos que deben ser considerados en cualquier análisis son: Hardware: procesadores, tarjetas, teclados, terminales, estaciones de trabajo, computadoras personales, impresoras, unidades de disco, líneas de comunicación, cableado de la red, servidores de terminal, routers, Bridges, etc. Software: programas fuente, programas objeto, utilerías, programas de diagnóstico, sistemas operativos, programas de comunicaciones. Datos: durante la ejecución, almacenados en línea, archivados fuera de línea, back-up, bases de datos, en tránsito sobre medios de comunicación. Gente: usuarios, operadores, técnicos. Documentación: sobre programas, hardware, sistemas, procedimientos administrativos locales. Accesorios: papel, formularios, cintas, información grabada. Ahora bien, de todos estos recursos, el que siempre lleva estadísticamente la delantera en cuanto a riesgo es el recurso humano, en lo que respecta al universo de personas que pueden afectar una corporación. Como ya habíamos dicho, un 80 % corresponde a problemas generados por los mismos integrantes de la organización o corporación, y solo el 20 % restante a elementos externos. Luego de notar esta estimación, se podrán realizar los diagramas correspondientes, considerando el número del recurso y su grado de responsabilidad en cuanto a nivel de acceso a los recursos no humanos de la red. Por ejemplo: Recurso nº: 52 Nombre del recurso: Router inalámbrico (5° piso) Identificación del Usuario o Grupo: Oficinas de Gerencia COXXXX Tipo de acceso: Local y remoto Permiso(s) otorgado(s): Lectura (con seguridad habilitada), acceso a Internet. Solucionado el problema interno, es importante abocarse a la seguridad contra elementos externos, estimando las posibles falencias que posee nuestra red en cuanto a accesos clandestinos y posibles ataques. Para ello se deben planificar las acciones a seguir mediante un procedimiento de supervisión, con herramientas de control y seguimiento de accesos que permitan verificar periódicamente los eventos que ocurren en la corporación. Por ejemplo, verificar diariamente el número de correos recibidos y/o enviados, el número de conexiones de red levantadas en las últimas 24 hrs., etcétera. También es posible extraer semanalmente un estado sobre los ingresos desde el exterior a la intranet (si es que los hay), obtener un informe de los archivos descargados y quién los realizó, informes de tráfico en la red, etcétera. Procedimientos de seguridad a nivel de usuario Todos lo que es recurso humano (persona) en una corporación en general debería al menos tener un acceso mínimo, con las limitaciones correspondientes, a la red. En caso de que un individuo no posea acceso, éste aún debería ser considerado dentro de un informe de autorización. Esto para maximizar las posibilidades de supervisión al interior de la red corporativa. Los datos del usuario deben al menos llenar los siguientes campos: Nombre y Apellido Puesto que ocupa en la corporación Nombre del superior directo que confirme la posición del individuo Descripción de los recursos a los cuales desea tener acceso y su motivo Consentimiento de que sus actividades son susceptibles de ser supervisadas en cualquier momento y de que conoce las normas de “buen uso de los recursos” (para lo cual, se le debe dar una copia de tales normas). Explicaciones breves, pero claras de cómo elegir su contraseña. Tipo de cuenta Fecha de caducidad y/o expiración Datos referentes a los tipos de acceso (sólo lectura, lectura y escritura, sin acceso, acceso limitado, etc.) Horario de uso (en general). Con respecto a las contraseñas, es importante “revisar” si la contraseña entregada es segura, haciendo correr por ejemplo, un programa (crack) para determinar cuánto se demora en descifrarla. La baja del usuario se realiza cuando un elemento de la organización se aleja o cuando cesa en el cumplimiento de sus actividades por un tiempo determinado (vacaciones, viáticos prolongados, cambio de departamento, etc.). Esta debe ser informada por el o los departamentos correspondientes a la administración de redes, que determina la inhabilitación o eliminación de la cuenta, con las consecuencias que ello significa (respaldo o eliminación de la información, directorios y archivos de la cuenta). Procedimientos de seguridad a nivel global Entre los procedimientos a nivel global se encuentran: Verificación de accesos: Mediante aplicaciones que informen anomalías, incluyendo fecha, hora, recurso y detalles técnicos. Chequeo del tráfico de red: también mediante aplicaciones que entreguen informes periódicos de los programas que se ejecutan, quién es el encargado de monitorear los datos generados, los intervalos de monitoreo, etc. Monitoreo de los volúmenes de correo: Permite entregar detalles como el ingreso de “spam” a la red, posibles invasiones o mal uso de los recursos de la red. Monitoreo de conexiones activas: Este procedimiento se efectúa con el fin de prevenir que algún usuario deje su terminal abierta y sea posible que alguien use su cuenta. También se usan aplicaciones para monitorear la actividad de las conexiones de los usuarios. Si la cuenta tiene cierto tiempo inactiva, cierra la sesión y genera un informe (log) con el acontecimiento. Monitoreo de modificación de archivos: Permite determinar la modificación no autorizada de los recursos de software y/o de la integridad de los mismos. Este es quizás el procedimiento más importante dentro de lo que es seguridad global, pues permite saber si, por ejemplo, un archivo es eliminado o la presencia de algún tipo de virus en el sistema. Respaldos de seguridad: No sólo es importante respaldar la información que se encuentra en la red, sino además la configuración de todos los recursos de la red, incluyendo la labor que desempeña cada elemento de la red, a fin de crear una respuesta rápida en el momento de que se suscite un problema. Verificación de terminales: Esto se hace mediante la revisión de los programas instalados en los equipos terminales de la red, lo que permite monitorear qué aplicaciones sin licencia, archivos bajados potencialmente peligrosos (virus, programas satélite). Monitoreo de puertos: Permite saber qué puertos están habilitados en la red, en los enrutadores y en el servidor. Esto se puede hacer incluso con los mismos enrutadores, los cuales poseen aplicaciones integradas que permiten administrar los puertos en forma más eficiente. Información de los procedimientos: Esto es la clave para cualquier sistema que desee evitar el mayor número de problemas en una red. Informando apropiadamente, mediante seminarios internos de seguridad, vía e-mail y publicaciones periódicas, se llega a más gente de manera más eficiente. Determinación de los niveles de responsabilidad y acceso: Es importante además identificar a cada usuario en un grupo determinado (por ejemplo, equipo técnico, oficina gerencial, oficina zonal, alumnos, profesor, etc.) para determinar el nivel de acceso a los recursos de la red. Recuperación del sistema: En caso de un ataque o un colapso eventual del sistema (Se quemó el servidor, necesidad de actualizar todos o algunos recursos de la red) es necesario preparar un procedimiento que regule la forma de recuperarlo a través de los respaldos de seguridad realizados. Para ello se debe estimar la forma y los costos (en materiales y en tiempo) para llevar a cabo la restauración. Listas de elementos a verificar (check-list): Es importante enlistar todos los procedimientos, con el fin de asegurar la realización de cada uno en su totalidad. Tipos de Ataques y Vulnerabilidades 1. Negación de servicio (denial of service) Tipo de ataque cuyo propósito es negar el acceso de un determinado recurso o de varios recursos de la red. Esto puede traer como consecuencia la pérdida de tiempo valioso para realizar una determinada operación, incomunicación o finalmente, la inoperancia de uno o de varios recursos de la red. Existen 3 tipos de ataques básicos para negar un servicio: Consumo de recursos escasos, limitados, o no renovables: Los recursos propios de los terminales (datos, ancho de banda de subida y/o bajada, acceso a otros terminales) son utilizados por el atacante para su propio beneficio, o en su defecto, para simplemente interrumpir la labor/función/actividad de la víctima. Las maneras son, por ejemplo, negar la conexión a la red de los terminales mediante “SYN Flood”; aprovechar la conectividad de la víctima contra sí misma creando una congestión mediante el servicio UDP; consumiendo el ancho de banda también mediante el envío masivo de paquetes, etc. Destrucción o alteración de información de configuración: Simplemente, acceder a su terminal ingresando ilícitamente al recurso (Hack) y eliminar o desconfigurar el sistema operativo y/o datos existentes; o en forma presencial, ingresando a su terminal directamente, obtener su contraseña o realizar un crack de la misma, y luego realizar una operación similar. También es posible ingresar ilícitamente a la configuración del router, cambiar la información, lo que deshabilitaría a la red. Destrucción o alteración física de los componentes de la red: Es muy importante mantener aislados los componentes físicos de una red, limitar los accesos a los mismos y lo más importante, mantener un control periódico de la integridad física de routers, servidores y terminales. Prevención: Entre las medidas a tomar, se encuentra el uso de listas de acceso en los routers (Muchos routers poseen filtros de MAC, los cuales permiten el acceso de sólo aquellas terminales que coincidan con el número de MAC correspondiente); instalar parches contra flooding de TCP SYN (Muchos equipos vienen ya con esta ventaja incluida); invalidar cualquier servicio de red innecesario o sin utilizar; realizar controles regulares y establezca una línea base de actividad de la red, lo cual permitiría detectar un aprovechamiento de ancho de banda ilícito. Instalar boot disks (tarjetas de booteo) en los terminales importantes y servidores, esto permite que una vez se reinicie el equipo este mantenga la configuración original. 2. Obtención o uso ilícito de claves de acceso. Existen 3 maneras de obtener una clave de acceso: Poseer una clave de acceso: Por lo general, la poseen elementos alejados de la corporación, por uno u otro motivo. Dicha clave puede ser usada por el mismo o por otro usuario, lo que generaría una eventual brecha de seguridad. Crear una clave de acceso: Esto se logra mediante el ingreso ilícito (Hack) a los servidores y/o terminales, mediante la creación de un nuevo usuario y contraseña. Cracking de clave de acceso: Mediante un programa específico, se obtiene la clave de acceso del terminal y/o servidor (cracking). Además es posible obtener las listas de claves mediante ingreso ilícito a los servidores/terminales (incluyendo las listas encriptadas las cuales pueden ser descifradas mediante un programa específico (crack)). 3. E-mail bombing y spamming (ataque SMTP) E-mail bombing: Consiste en enviar muchas veces un mensaje idéntico a una misma dirección, saturando el correo (Inbox) del destinatario. Spamming: Se refiere a enviar el email a centenares o millares de usuarios e, inclusive, a listas de interés. El Spamming puede resultar aún más perjudicial si los destinatarios contestan el mail, haciendo que todos reciban la respuesta. Esto, combinado con e-mail poofing (que altera la identidad de la cuenta que envía el e-mail, y por consiguiente, oculta la identidad del emisor real) hacen del spamming una de las herramientas favoritas para iniciar ataques hacia redes desprotegidas. En la actualidad, los servicios de mensajería (como Gmail, Yahoo o MSN) poseen filtros de mensajes “spam”, los cuales deben estar bien configurados y actualizados para evitar situaciones que puedan generar un problema mayor a la red. La manera en que afectan este tipo de ataques a la red es principalmente en lo que respecta a la conectividad en sí, sobrecargando las conexiones, maximizando la utilización de recursos y saturando la memoria del disco. Es muy importante procurar mantener la bandeja de entrada de los servicios de mensajería (Inbox), limpias y vacías, y mantener un respaldo de los mensajes importantes recibidos en otra unidad de memoria. En redes privadas, que poseen su propio código de mensajería ([email protected]) se deben crear o mantener en los terminales filtros anti-spam, herramientas de detección de correos iterativos, y especialmente incrementar la capacidad del log de los terminales para recibir correo, lo que evitaría inicialmente los problemas que generan este tipo de ataques. Otra manera es configurar las listas de acceso de los enrutadores (port 25 para SMTP) para la dirección IP del atacante (sólo luego de haber identificado al atacante y siempre después de un ataque). 4. Ataques por FTP Los ataques por FTP son quizás uno de los favoritos de los “hackers” y “crackers” en la actualidad, puesto que el enlace generado ocupa un puerto de preferencia (el 21) en los servidores y además entrega las facilidades obvias de transferencia de archivos, condición muy ventajosa para un ataque. El “ftp Bounce”, por ejemplo, es un recurso de ataque usado para ingresar a la terminal de un tercero, utilizando un servidor como escudo y medio de ocultación a la vez. Consiste básicamente en realizar una conexión FTP regular con un servidor, pero con la diferencia que la elección del puerto cliente no es arbitraria. La idea de usar la conexión “arbitraria” del puerto cliente permite al atacante elegir un puerto que no sea el de su propio equipo, sino que “otro” diferente (el puerto del terminal de la víctima). Esto permite, entre otras cosas, realizar una conexión ilícita con el puerto de la víctima, el servidor y el atacante ocultando la identidad de este último con la del servidor. Cliente (hacker) solicita conexión de control mediante ftp (puerto 21). Cliente (hacker) mantiene abierto el canal de control Host (servidor) solicita conexión de datos en puerto aleatorio. Ahora el servidor actúa ocultando (lavando) la identidad del atacante Cliente (hacker) entrega puerto de acceso de otro cliente (víctima). Terminal atacado “ignora” la conexión ilícita, pues el puerto abierto se encuentra bajo el radar del firewall Entre los medios para ingresar ilícitamente a otro terminal mediante ftp se encuentran el ftp Bounce (ya mencionado), el escaneo de puertos (ports), que utiliza el mismo recurso de escaneo arbitrario para ubicar un puerto abierto del servidor (o bajo el radar del firewall) que luego se utiliza para invadir el terminal. Para neutralizar estas medidas, es muy importante tener en cuenta que de acuerdo a su funcionalidad hay servidores que pueden trabajar sin conexiones arbitrarias, mientras que otros dependen de éstas para cumplir su función. Un caso de los primeros sería el servidor de una empresa, y un caso de los segundos, un servidor de uso público. Para los segundos, existen algunos convenios que entregan mayor seguridad a la hora de iniciar una conexión. Por ejemplo, el comando PORT incluye parámetros que indican al servidor cuál dirección IP conectar y qué puerto abrir en aquella dirección. Este es el medio en el cual se manejan los atacantes para organizar toda su estrategia. Pero trabajando en exclusiva conformidad con las funciones del RFC, se puede lograr que la máquina sólo trabaje para un solo terminal por vez, y sólo con este terminal. En líneas generales, esto evita que un terminal realice una conexión con el servidor con la intención de crear otra conexión alterna con diferente dirección. La otra alternativa es realizando un proceso de condicionamiento selectivo de los terminales conectados al servidor, suprimiendo directamente aquellos que no han realizado una conexión inicial. En particular, el servicio ftp es un servicio de gran utilidad, puesto que es rápido y confiable a nivel de usuario, pero sus brechas como se puede ver son muchas, y en lo posible es importante procurar evadir su uso como servicio público. 5. Ataques por WWW En líneas generales, los ataques vía web Server son variados, y los más aprovechan los Bugs de los scripts de las páginas para que el servidor entregue información que no desea entregar. Un ejemplo muy sencillo es ingresar al directorio raíz del web Server, omitiendo la extensión “index.htm”. Otra manera es cambiando los scripts de la página; por ejemplo, crear un “clon” web con el código fuente de la página, luego bajar los scripts y finalmente adulterarlos para que entreguen la información que se solicita. 6. Existen otras formas de ataque, como lo es el uso de TFTP (trivial file transport protocol), que a diferencia de FTP, usa el protocolo UDP; realizar un pin-log directo usando el protocolo TELNET, el abuso de los comandos “r”, y el más común es el uso y abuso de keyloggers, que registran los caracteres ingresados en los terminales. 7. Seguridad en NetBIOS El sistema operativo más usado actualmente es Windows. La mayoría de las redes corporativas ocupan este sistema operativo por una razón muy sencilla: es “amigable” y “fácil de usar”. Pero es un sistema cerrado. No admite modificaciones, ni libertad de acción en sus subrutinas. Esto quizás por un lado es positivo, ya que también entrega un sistema muy difícil de romper, desde el punto de vista de un atacante. Como sea, los sistemas operativos de Microsoft usan el protocolo NetBIOS para comunicarse entre sí. Esto significa una gran desventaja desde el punto de vista comunicacional, debido a que otros sistemas operativos no requieren de NetBIOS para comunicarse entre sí, pero sí para comunicarse con terminales que usan sistemas operativos Microsoft (como todo en Microsoft, es exclusivo de su sistema operativo, pero con un buen parche… quien sabe). Este protocolo a su vez debe ir sobre otro de inferior nivel que puede ser uno de los siguientes: NetBEUI, IPX/SPX o TCP/IP. Desde la implementación de Windows Vista, el protocolo NetBEUI (Interfaz de usuario extendida de NetBIOS) ya no se usa, pero también debido a la falta de interés en este último sistema operativo, lo incluiremos en el estudio. A la implementación de NetBIOS sobre TCP/IP se la conoce como NBT. La ventaja en una red Microsoft es que esta implementación nos permite compartir archivos e impresoras en una red Microsoft. Por lo general, en redes en las que se encuentran presentes equipos Microsoft la mejor combinación es usar NBT, aunque a veces es mejor usar otras combinaciones, como es en el caso de una red LAN con conexión a Internet. En este caso, quizás la mejor combinación es NetBIOS sobre IPX/SPX, que además tiene la ventaja de compatibilidad con otros sistemas operativos. Dentro del tema, quizás uno de los mayores problemas a los que nos enfrentamos cuando se habla de redes Microsoft, son las carpetas compartidas. Grave error. La mayoría considera trivial incluir una contraseña para acceder a una carpeta compartida de “sólo lectura”. Y lo que es peor, ignora absolutamente que esta carpeta puede ser vista por todos los usuarios de Internet. En efecto, si tiene montado el protocolo NetBIOS sobre TCP/IP, la carpeta será considerada como compartida no sólo por todos los usuarios de la red local, sino por todos los usuarios de Internet. Esto se evita de manera relativamente sencilla: se configura el enrutador filtrando los puertos que usan NBT para uso exclusivo de la red local. Esto también obviamente aplica a redes WAN. Otras maneras de incrementar la seguridad de las redes son: uso de tarjetas de booteo (boot disks) en los terminales de la red, trabajar con enrutadores confiables (Cisco Systems para redes WAN, no menos de D-Link para redes LAN) y por supuesto, informar a los usuarios acerca de las normas y regulaciones de uso de la red. Herramientas de control y seguimiento de accesos Finalmente, para cualquier administrador de redes le es indispensable poseer herramientas que permitan diagnosticar, supervisar, realizar estimaciones, obtener datos y por sobre todo, defenderse de posibles ataques y resolver los problemas que se generan a nivel interno y externo de una red corporativa. Estas herramientas nos permitirán mantener un control sobre todos los paquetes que entran por la capa de red y de aplicación de la máquina. Está demás decir que su uso también puede ser usado de manera perjudicial, por lo que la instalación de estos programas debe ser de manera aislada, preferentemente de uso particular del administrador y en un terminal que no sea de tipo servidor. Naturalmente, esto(s) terminal(es) administrativo(s) deben permanecer también aislados del uso de otros usuarios de la red. 1. tcp-wrappers: Software de dominio público cuya función es proteger a los sistemas de operaciones no deseadas a determinados servicios de red, permitiendo a su vez ejecutar determinados comandos ante determinadas acciones de manera automática. Con este programa es posible monitorear y filtrar peticiones entrantes de distintos servicios TCP/IP. Se pueden controlar los accesos mediante el uso de reglas y dejar una traza de todos los intentos de conexión tanto admitidos como rechazados (por servicios, e indicando la máquina que hace el intento de conexión). 2. Netlog: Es una herramienta que genera trazas referentes a servicios basados en IP (TCP, UDP) e ICMP, así como tráfico en la red que pudiera ser “sospechoso” y que indicara un posible ataque a la máquina. Está constituido por 3 subprogramas independientes para cada servicio (TCP, UDP, ICMP), y generan estados de todas las conexiones realizadas, indicando hora, máquina de origen y puerto de esta conexión; 1 subprograma que monitorea la red buscando ciertos protocolos con actividad inusual (como una conexión TFTP), y 1 subprograma que nos entrega las estadísticas de uso de varios protocolos, que nos puede enseñar cambios sospechosos en los patrones de uso de la red. 3. Argus: Esta herramienta nos permite realizar supervisiones del tráfico IP de la red, mostrándonos todas las conexiones del tipo indicado que descubre. 4. tcpdump: Herramienta que imprime las cabeceras de los paquetes que pasan por una interfaz de red. Tanto en la captura como en la visualización de la información, es posible aplicar filtros por protocolo, puerto, direcciones fuente, direcciones destino y direcciones de red. Los filtros pueden ser realizados por operadores lógicos, y además ver el tamaño de los paquetes de datos. 5. SATAN (Security Administrator Tool for Analyzing Network): Esta herramienta es mi favorita. Permite entre otras cosas, chequear máquinas conectadas en red y genera información sobre el tipo de máquina, qué servicios da cada máquina, y avisa de varios tipos de fallos de seguridad de cada máquina. La gracia de SATAN es que ocupa una interfaz de página web, similar a las que usan los enrutadores para su configuración. Crea una base de datos de todos los terminales y los va relacionando entre ellos. Por ejemplo, si determina un terminal inseguro, y nota que este terminal está relacionado con otro, el segundo terminal también lo considera como inseguro. Sin embargo, así como puede entregar datos valiosos de potenciales ataques y/o problemas de la red, también puede ser usado como herramienta para detectar todas las características de todos los terminales de una red y así preparar un ataque estratégico. El sucesor natural (actual) de esta herramienta es Nessus. 6. ISS (Internet Security Scanner): Esta aplicación chequea una serie de servicios para comprobar el nivel de seguridad que tiene esa máquina. Es capaz de chequear una dirección IP o un rango de direcciones IP, con una IP inicial y una final. Ej: Quiero revisar el nivel de seguridad en el que trabajan los terminales del grupo 8 (4 piso, departamento de administración técnica). Los terminales son 15, pero además sé que la IP del primer terminal es 215.1.4.1, y la IP del terminal de la oficina del jefe del departamento es 215.1.4.15. Lo único que debo hacer entonces es escribir ambas IP como rango para escanear todos los terminales del piso. 7. Courtney (o anti SATAN): Como se dijo anteriormente, SATAN puede ser usado de manera maliciosa para recaudar información de las máquinas de una red. Pues bueno, Courtney conjuntamente con tcpdump para determinar si se está realizando un chequeo de puertos en un determinado intervalo de tiempo. Si detecta este chequeo de puertos, Courtney da un aviso, entregando un log con la información del terminal que está realizando el chequeo. Conclusiones El principal factor de riesgo en una corporación es el factor humano. Como recurso siempre resultará indispensable, y la seguridad de una red dependerá siempre de cómo evaluar correctamente su grado de responsabilidad en el uso de la red. Dentro de todo procedimiento, los niveles de responsabilidad de cada miembro deben ser considerados a la hora de emitir un juicio de quién debe usar un determinado recurso de la red y de qué manera. Y por sobre todo, siempre mantener un control constante del uso de los recursos de la red, para así evitar su colapso o la pérdida de su funcionalidad. Tener conocimiento de cuáles son las características de cada recurso (ya sea humano o máquina), controlar sus limitaciones, estar preparado para eventuales ataques y problemas internos, contar con las herramientas adecuadas y mantener supervisión constante de los recursos de la red son la clave de todo buen estudio de seguridad en una red corporativa. Referencias Manual de Seguridad en Redes (ArCERT) Coordinación de Emergencia en Redes Teleinformáticas de la Administración Pública Argentina http://www.arcert.gov.ar/webs/manual/manual_de_seguridad.pdf Libro Guía: James F. Kurose and Keith W. Ross, \"Computer Networking: A top-Down Approach Featuring the Internet\", Addison Wesley, Third Edition 2005.