viernes, 30 de septiembre de 2022

I - Introducción a las técnicas de red

Los diseñadores de redes han ido construyendo diferentes estrategias con la idea de simplificar el uso de redes complejas y facilitar la ubicación de los recursos de cara a los usuarios. Una LAN (Local Área Network, red de área local) puede ofrecer servicios de muy diversas maneras dependiendo del método empleado por la red. En esta entrada se describen 3 técnicas que han sido utilizadas para organizar los recursos en red: Servicios individuales, Grupos de trabajo y Servicios de directorio (LDAP)

Servicios individuales

La gran mayoría de las primeras redes incorporaban un solo servidor, de manera que los usuarios tenían poca dificultad para ubicar archivos, impresoras u otros recursos compartidos. Todo estaba situado en el servidor central, y los equipos individuales no podían compartir absolutamente nada con el resto de la red.

NetWare fue el SO dominante en redes pequeñas, normalmente con un único servidor y 30 o menos estaciones de trabajo. N
o requería un sofisticado servicio de administración de recursos, dado que todos los recursos que se compartían estaban conectados directamente al servidor pero si se necesitaba agregar un segundo servidor, el acceso a los recursos por parte de los usuarios y la administración se complicaban significativamente.

Como cada servidor individual mantenía su propia lista de usuarios y recursos, los usuarios tenían que tener cuentas independientes y también saber que recursos se alojaban en cada servidor. Por ello, no es una solución válida para la mayoría de las situaciones actuales y ha hecho que este tipo de redes hayan quedado obsoletas.

Esquema de Servicio individual

Grupos de trabajo

Los grupos de trabajo son conceptualmente opuestos a los servicios individuales. Los servicios individuales son formales y están administrados de forma centralizada por un único servidor; los grupos de trabajo son informales y operados por los usuarios que comparten sus propios recursos locales y no cuentan con ningún servidor. Este tipo de redes se conocen como redes peer to peer, entre pares o entre iguales (no confundir con punto a punto).


Las redes entre iguales se topan con dos problemas en las grandes organizaciones: hay tantos recursos disponibles que los usuarios pueden tener problemas para su localización y los usuarios no disponen de un método fácil para compartir los recursos sólo con un grupo limitado de compañeros

Una posible solución sería el uso de contraseñas para restringir el acceso a los recursos, por ejemplo mediante el cifrado. Sin embargo no es buena idea porque habría tantas contraseñas como recursos y si cambiamos alguna tendríamos que informar a todos los usuarios del recurso. Sería complicada la administración y no tendríamos buen nivel de seguridad.

Otra posible solución sería usar las ACL para controlar el acceso a los recursos sin tener que establecer contraseñas a los recursos. Para cada recurso indicaríamos que usuarios pueden acceder al mismo, pero tenemos el problema que sólo podremos escoger usuarios locales. Esto implica que si queremos acceder desde la red a un recurso compartido de una máquina tenemos que usar el nombre de usuario y la contraseña de un usuario local de dicha maquina.

Las organizaciones grandes o las que quieren más control sobre sus redes requieren algo más que grupos de trabajo. Por ello, Microsoft ha incorporado el concepto de dominio desde Windows NT Server. 

Observación

Los grupos de trabajo de Windows utilizan SMB (Server Message Block) como software para la conexión en red. Este software SMB corre sobre otro software conocido como NetBIOS (Network Basic Input Output System), y a su vez NetBIOS estaba diseñado para funcionar sobre el protocolo NetBEUI (NetBIOS Extended User Interface) aunque también existen implementaciones de NetBIOS sobre IPX/SPX y sobre TCP/IP que es la más usada hoy en día. Este software NetBIOS al ser muy antiguo (1984) es un protocolo de red bastante inseguro y sobre todo, tremendamente ruidoso (utiliza mucho el broadcast en red).
Servicios de directorio

Bajo este sistema, los recursos pueden estar situados en varios equipos, tanto servidores como no servidores, pero se recogen todos en una única lista o directorio (1). Los recursos pueden agruparse de manera lógica en dicho directorio para que los usuarios los localicen más fácilmente.

Los usuarios en vez de conectarse a los recursos de diversos servidores por separado tienen acceso a los recursos de la red a través del servicio de directorio, sin importar cuál servidor ofrezca el servicio o recurso.
El usuario ve el directorio de la red de una forma lógica y puede acceder a los recursos sin preocuparse de quien comparte dichos recursos e iniciar sesión una única vez en cualquier servidor siendo reconocido automáticamente por todos los servidores.
 
Algunos ejemplos de servicios de directorios de red son Banyan, X.500 o NetWare Directory Services, pero por su importancia actual estudiaremos LDAP, un estándar basado en X.500, pero bastante mejorado y simplificado, y que está diseñado para trabajar sin problemas en TCP/IP. 

(1) Directorio es un conjunto de objetos con atributos organizados en una manera lógica y jerárquica. Un ejemplo podría ser la guía telefónica, que consiste en una serie de nombres (personas u organizaciones) ordenadas alfabéticamente y a las que le corresponden una dirección y un número de teléfono adjuntos. 

LDAP 

LDAP (Lightweight Directory Access Protocol, Protocolo Ligero de Acceso a Directorios) es un protocolo a nivel de aplicación que permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa información en un entorno de red.
 
Los despliegues actuales de LDAP tienden a usar Sistema de Nombres de Dominio (DNS) para estructurar los niveles más altos de la jerarquía. Conforme se desciende en el directorio desde los componentes del dominio (dc) pueden aparecer entradas que representan organizaciones (o), unidades organizacionales (ou), impresoras, documentos, grupos de personas o cualquier cosa que representa una entrada dada en el árbol (o múltiples entradas).

Jerarquía LDAP

Habitualmente almacena la información de autenticación (usuario y contraseña) y es utilizado para autenticarse aunque es posible almacenar otra información (datos de contacto del usuario, ubicación de diversos recursos de la red, permisos, certificados, etc.). A manera de síntesis, LDAP es un protocolo de acceso unificado a un conjunto de información sobre una red.
 
Existen diversas implementaciones y aplicaciones reales del protocolo LDAP como pueden ser: 
  • Active Directory (Directorio Activo)
  • OpenLDAP
  • Red Hat DS.
  • Novell Directory Services
  • IPLanet, 
La implementación que vamos a estudiar en este tema es la de Active Directory, utilizada por Microsoft en sus versiones servidores y basada en LDAP versión 3. AD permite integrar otros sistemas que soporten el protocolo. En este LDAP se almacena información de usuarios, recursos de la red, políticas de seguridad, configuración, asignación de permisos, etc.
Dominio 

En los grupos de trabajo todas las cuentas de usuario son locales y se almacenan en cada equipo individual. Al ser una red entre iguales, ningún equipo confía en los demás y no se permite entrar en la maquina a usuarios que no estén en la lista de usuarios locales de dicha máquina. 

Una solución para este problema es crear cuentas globales o comunes, es decir cuentas que no pertenezcan a una sola máquina, sino que sean reconocidas en todas las máquinas de la red. Para hacer esto, necesitamos establecer un ordenador especial que va a ser el encargado de almacenar todas estas cuentas globales, mientras que las cuentas locales seguirán estando almacenadas en cada equipo normal.
Este ordenador especial en el que todos los demás ordenadores confían pasa a ser un servidor y nuestro grupo de trabajo se convierte en un dominio, dado que se ha establecido una relación de dominio de un equipo sobre los demás.

Dominio frente a Grupo de trabajo

Si queremos trabajar en un dominio, hay que indicar en todos los equipos que dejamos de trabajar en un grupo de trabajo, y queremos conectarnos a un dominio. Podemos decir que los equipos deben decidir dejar de ser independientes para pasar a ser dominados por el servidor.
Es importante visualizar que un dominio toma conceptos de los grupos de trabajo y de los servicios de directorio. Por tanto el hecho de que una máquina pase a formar parte de un dominio y disfrutar de los recursos puestos por el servidor no significa que ya no pueda compartir sus propios recursos. Ahora podrá hacer las dos cosas. Los usuarios reciben privilegios de conexión a un dominio más que a un servidor individual. Debido a que un dominio controla los recursos de varios servidores, es más fácil de administrar que una red con muchos servidores individuales.

Los servidores, dentro del dominio, anuncian sus servicios a los usuarios, que se conectan a todos los recursos del dominio para el cual han recibido autorización de acceso, sin importar desde que servidor se conectaron ni que servidor está prestando el recurso.

Cuando las redes se vuelven lo suficientemente amplias como para requerir varios dominios, los administradores pueden establecer relaciones de confianza (trust) entre los dominios. Estas relaciones simplifican la administración, ya que un usuario sólo requiere una cuenta en uno de los dominios. Los otros dominios que confían en el dominio de conexión del usuario pueden depender de que el dominio de conexión autentifique dicha conexión.

Esquema de dominio con un DC

Los servidores dentro del dominio pueden tener uno de los papeles siguientes:
  • Controladores de dominio: Pertenecen al dominio y contienen una copia de las cuentas de usuario y otros datos del Directorio Activo. Es obligatorio que haya al menos un controlador de dominio.
  • Servidores miembro: Pertenecen al dominio y no contienen una copia de las cuentas de usuario y de otros datos del Directorio Activo. Se usan para almacenar archivos y otros recursos de la red.
  • Servidores independientes: Otros servidores fuera del dominio que pueden pertenecer a otros grupos de trabajo.