Hubs Versus Switches

Body

Tanto los hubs cuanto los switches son utilizados para conectar dispositivos y formar una red. La diferencia entre los dos dispositivos se basa sobre ya sea el análisis hecho a nivel de host o de dispositivo. Cuando dos dispositivos se comunican directamente, la computadora origen debe identificar la dirección MAC de la tarjeta interfaz de red (NIC) de la computadora destino. Está típicamente grabada en la NIC y es un valor de 6 bytes. Cuando la computadora receptora recibe una trama, verificará para asegurarse la dirección MAC destino coincide con la dirección de la NIC. Si coinciden procesará la trama; y si no coinciden descartará la trama.

Con un hub no se realiza análisis adicional. Cuando una computadora A desea enviar una trama hacia la computadora C, especificará la dirección MAC de la computadora C como MAC de destino y envía la trama hacia el hub. El hub simplemente retransmite la trama hacia cada dispositivo conectado a este y no realiza análisis adicional. Cada computadora receptora verificará la dirección MAC para ver si la trama es para su sistema. Aunque los hubs son bastante básicos, representan algunos problemas de seguridad. Dado cada computadora recibe todas las tramas siendo enviadas a través de la red, si una computadora instala un sniffer, podrá acceder hacia toda la información siendo enviada hacia cada una de las otras computadoras. Un sniffer es una pieza de software el cual pone una NIC en modo promiscuo. Esto en esencia indica a la NIC acepte cada trama sin relevancia de si la dirección MAC coincide o no.

Un switch toma la lógica realizada por las computadoras para verificar la dirección y el switch realiza este análisis. Cuando una computadora se conecta hacia un switch, este prueba el sistema para identificar la dirección MAC de la computadora conectada hacia un puerto específico. El switch almacena la dirección MAC de cada computadora en su memoria. Ahora cuando la computadora A desea comunicarse con la computadora C, envía la trama hacia el switch. El switch examinará la trama, busca la dirección MAC destino y la envía únicamente hacia el puerto conteniendo la dirección MAC. Los switches aumentan la seguridad reduciendo la visibilidad. Ahora si la computadora E está ejecutando un sniffer, no se verá todas las tramas circulando a través de la red.

Fuentes:

https://www.cloudns.net/blog/hub-vs-switch-lan-network/
https://en.wikipedia.org/wiki/Ethernet_hub
https://en.wikipedia.org/wiki/Network_switch

Dispositivos de Red

Body

Muchos tipos de dispositivos son comúnmente utilizados en el núcleo de la red para proporcionar un medio de comunicación fiable y flexible. Es importante comprender como funcionan porque cada uno tiene sus propias fortalezas y debilidades en seguridad.

Un hub opera “repitiendo” los datos recibidos en un puerto hacia los otros puertos. Como resultado una trama de datos transmitida por un sistema es retransmitido hacia todos los demás sistemas conectados al hub. Un hub clásico no tiene capacidades para vigilancia de tráfico y no puede controlar cuales puertos deben o no recibir la trama, formando un gran dominio de colisión. Esta propiedad de un hub tiene significativas implicaciones en seguridad, porque un sistema conectado hacia el hub puede ser capaz de interceptar una trama de datos destinada a alguien más.

Un bridge conecta dos segmentos físicos de una red en una manera muy similar a como un puente sobre el agua conecta dos secciones de una carretera. Cuando un bridge recibe una trama de datos sobre uno de sus puertos, hace una decisión sobre si los datos deben enviarse hacia otro puerto. Esta funcionalidad permite un bridge controle automáticamente el flujo de datos entre los segmentos de red los cuales conecta.

Un switch de red combina la funcionalidad de un hub y switch en un solo dispositivo. Si se piensa en un switch como un bridge con más de dos puertos, se podría asimilar este idea. Al igual a un hub, un switch puede retransmitir datos hacia múltiples puertos. Adicionalmente un switch Ethernet mantiene un seguimiento de las direcciones MAC adjuntas hacia cada uno de los puertos, lo cual otorga capacidades para control de tráfico de un bridge. Vigilar y controlar el tráfico entre sus puertos, un conmutador direcciona una trama de datos únicamente hacia el sistema o segmento de red para el cual está destinada, limitando cada puerto hacia su propio dominio de colisión. El sniffing se torna ineficaz con los switches.

Los routers son frecuentemente considerados para dispositivos del perímetro porque interconectan redes lógicas. Un switch o bridge de otro lado conecta segmentos físicos residiendo sobre la misma red lógica. Mucho del Internet depende de los routers para determinar cuales rutas deben tomar los paquetes para llegar desde una red hacia otra. Similar hacia un switch o bridge, un router hace decisiones sobre donde dirigir los datos pasando a través de éste. Un switch hace sus decisiones mediante el seguimiento de direcciones MAC, mientras un router opera sobre una capa superior observando direcciones IP cuando reenvía paquetes.

A diferencia de un switch o un bridge, los cuales transmiten tráfico hacia destinos desconocidos, un router descarta tráfico si no conoce hacia donde enviarlo. Los routers necesitan ser explicitamente configurados con información definiendo las rutas para direccionar el tráfico hacia todas las redes alcanzables. El router almacena esta información en una tabla de encaminamiento, el cual utiliza para tomar decisiones sobre el reenvío de paquetes. Los routers descartan por defecto todo el tráfico de difusión local a nivel MAC, lo cual contribuye hacia su eficacia para aislar el tráfico de red.

Los dos dispositivos más comunes vistos en las redes actuales son los routers y los switches.

Fuentes:

https://www.watelectronics.com/network-devices-types-working/
 

Cerrar una Sesión TCP

Body

La imagen muestra un ejemplo de sesión TCP, ilustrando las dos maneras en la cual TCP cierra las conexiones sobre la red. El ejemplo asume una PC está conectándose hacia el servidor sobre la red, pero este mismo proceso se aplica para cualquier sesión TCP establecida entre dos dispositivos.

Las flechas en la imagen representan la dirección de las comunicaciones. Una flecha apuntando desde la PC hacia el servidor significa la PC está enviando un mensaje hacia el servidor; una flecha apuntando desde el servidor hacia la PC significa el servidor está enviando un mensaje hacia la PC. Las etiquetas RST, ACK y FIN representan los diferentes tipos de paquetes los cuales son utilizados durante el cierre de la sesión. El paquete RST es utilizado para restablecer o cerrar abruptamente las comunicaciones. El paquete ACK envía una confirmación del mensaje al originador. El paquete FIN inicia el proceso de finalizar la conexión.

La parte superior de la imagen muestra como se cierra una conexión correctamente. Cuando llega el momento de cerrar la conexión, cada extremo de la conexión debe cerrarse por separado. Asumiendo la PC desea cerrar la conexión primero, el proceso inicia cuando la PC envía un paquete FIN hacia el servidor. Esta porción FIN indica al servidor la PC desea cerrar la conexión (continuando con el recuento de secuencia el cual ha estado utilizando con el servidor). El servidor responde enviando un ACK hacia la PC, confirmando el FIN enviado. A continuación el servidor envía un paquete FIN hacia la PC para cerrar su lado de la conexión. Finalmente la PC envía un ACK hacia el servidor para confirmar el FIN.

La parte inferior de la imagen ilustra el cierre abrupto de una sesión TCP con un solo paquete. Cuando abruptamente se cierra una conexión entre dos máquinas, cualquier lado puede enviar un solo paquete para hacerlo.

El proceso inicia cuando un sistema u otro envía un paquete RST hacia el otro. Si el dispositivo receptor está en estado LISTEN para el puerto de destino, el paquete RST es ignorado. Si el dispositivo receptor está en estado SYN-RECEIVED, pero previamente se encontraba en estado LISTEN, regresa hacia el estado LISTEN.

El estado LISTEN significa el sistema está esperando por una conexión y no existen conexiones activas hacia el puerto ni sistemas intentando establecer una conexión. Esto es típicamente como un servidor opera con todos los puertos abiertos en estado LISTEN, esperando por un cliente se conecte. Si el dispositivo receptor tiene una sesión abierta y los detalles del paquete coinciden con la sesión a la cual hace referencia, el dispositivo pasa hacia el estado CLOSED, no envía más paquetes para la sesión y notifica a los procesos de nivel superior la conexión ha sido cerrada. Asumiendo una sesión ha sido ya establecida, el dispositivo emisor la establecerá la sesión hacia un estado CLOSED. Anotar las sesiones cerradas de esta manera son hechas por un solo paquete en cada dirección. No se requieren más paquetes. Cerrar una sesión en esta manera algunas veces se denominada abortar una conexión.

Fuentes:

https://www.ietf.org/rfc/rfc793.txt
 

Establecer una Conexión TCP

Body

Las conexiones TCP son establecidas utilizando el saludo de tres vías. Este procedimiento es necesario antes de los dos hosts puedan intercambiar algún dato. En el saludo de tres vías los segmentos son frecuentemente nombrados según las banderas activas. Por lo tanto un segmento conteniendo un solo segmento SYN es también denominado SYN, y un segmento ACK es denominado un ACK. Un segmento con SYN y ACK se denomina SYN-ACK.

El cliente inicia el saludo de tres vías enviando un SYN para señalar una petición por una conexión TCP hacia el servidor. Si el servidor está funcionando y ofreciendo el servicio deseado, puede aceptar la conexión entrante y responder hacia el SYN. La respuesta consiste ya sea de un acuse de recibo de la petición de conexión inicial del cliente (el indicador ACK está activado) y una petición de conexión propia (La bandera SYN está activa), juntos en un solo paquete (un SYN-ACK).

Finalmente después del cliente recibe el SYN-ACK, el cliente envía un ACK final hacia el servidor. Después el servidor recibe un ACK, se completa el saludos de tres vías, y la conexión ha sido establecida. Los dos servidores pueden intercambiar datos.

Después la conexión ha sido establecida, se activa la bandera ACK para cada paquete. Como resultado la presencia del ACK puede indicar si una conexión ha sido establecida o no. De hecho simples filtros de paquetes permiten todos los paquetes con el ACK activo, y asumen forman parte de una conexión establecida. Es fácil eludir este filtro creando un paquete con el bit ACK activo. Esta técnica se utiliza frecuentemente para probar una red tras un dispositivo de filtrado, siendo denominado como un escaneo ACK.

Para minimizar el tráfico los ACKS se incorporan (con la mayor frecuencia posible) a los paquetes conteniendo datos, opuesto a enviar un paquete solo con un ACK. Los ACKS confirman al cliente y al servidor ambos extremos siguen utilizando la conexión.

Fuentes:

https://datatracker.ietf.org/doc/html/rfc793
 

Diseño Final para Secciones de una Red

Body

La imagen representa un diseño final de ejemplo. El tráfico pasa hacia y desde internet a través del router del borde, el cual filtra tráfico obviamente no deseado mediante listas para el control de acceso (ACLs). El firewall controla el flujo del tráfico hacia y desde las secciones de red semipública (DMZ) y privada. Los switches dentro de cada sección protegen contra sniffers los cuales podrían instalarse sobre sistemas comprometidos. Para mejorar aún más la seguridad a través de los principios para defensa en profundidad, todos los hosts (servidores y estaciones de trabajo) de la configuración general ejecutarían activamente software antivirus con las últimas actualizaciones de firmas. Los hosts también podrían tener firewalls o sistemas para detección de intrusiones basados en host. Todos los sistemas operativos también deberían estar parcheados y actualizados apropiadamente.

El concepto de defensa en profundidad puede ser aplicado hacia diferentes tipos de redes, tanto en la oficina cuanto en el hogar. Por ejemplo si se estuviese configurando una red doméstica, se podría usar un firewall básico integrado en el módem de cable/router DSL para protegerse contra ciberataques directos desde internet. Sin embargo el firewall no puede proteger contra todas las amenazas. Por ejemplo se podría recibir un virus a través de un documento infectado enviado por correo electrónico o en una memoria USB. Sería una buena idea instalar un software antivirus en sus estaciones de trabajo para prevenir estos vectores de ataque. Un sitio web malicioso visitado podría intentar explotar una vulnerabilidad en el navegador web. Un firewall y un software antivirus podrían ayudar a combatir esta amenaza, pero mantenerse al día con los parches para las aplicaciones y el sistema operativo proporciona otra capa de protección muy efectiva. Similarmente un gusano malicioso podría requerir acceso a través de algún puerto de servicio y ser bloqueado en el sistema por el firewall. Aunque algún exploit puede penetrar un firewall, un sistema para autenticación o un sistema para detección de intrusos (IDS) configurados de forma segura pueden frustrar el ataque. No depender de un único mecanismo de seguridad para protegerse contra los ataques es el principio fundamental para la defensa en profundidad.

Fuentes:

https://www.reydes.com/e/Secciones_de_una_Red
https://www.reydes.com/e/Secciones_de_una_Red_Parte_II
 

Secciones de una Red (Parte II)

Body

Para implementar una apropiada seguridad se deben seguir tres reglas fundamentales:

1. Cualquier sistema visible desde internet debe residir en la DMZ y no puede contener información sensible
2. Cualquier sistema con información sensible debe residir sobre la red privada y no ser visible desde internet
3. La única manera un sistema DMZ puede comunicarse con un sistema de la red privada es a través de un proxy sobre el nivel de middleware

Estas tres reglas son un ejemplo para la separación de recursos en funcionamiento: se ubican sistemas con diferentes requerimientos de seguridad en áreas separadas. En este ejemplo agrupar recursos similares permite controlar como interactúan los recursos en diferentes grupos. Fortalecer tales restricciones de acceso frecuentemente es el trabajo de un firewall.

Instalar un firewall es una de las maneras más fundamentales para proteger los sistemas de ataques externos. La decisión de utilizar un firewall es bastante simple, pero una pregunta más interesante es: "¿Dónde debería colocarse?". La idea es posicionar el firewall en una localización la cual permita controlar el acceso o restringir tráfico el cual cruza los límites de las secciones de una red.

Primero, el firewall necesita estar localizado en un lugar el cual permita garantizar cualquier tráfico saliente es legítimo. Asimismo también se quiere controla conexiones entrantes. Esto significa el firewall debe estar en una posición la cual permita otorgar peticiones de conexión para los servidores web, de correo y DNS. El firewall también debe ser capaz de bloquear las conexiones entrantes hacia los sistemas sobre la sección privada de la red.

Para ayudar a determinar el lugar óptimo para el firewall, considerar las rutas básicas el tráfico puede transitar sobre la red:

Desde sistemas privados hacoa internet
Desde sistemas privados hacia servidores semipúblicos
Desde servidores semipúblicos hacia internet
Desde internet hacia servidores semipúblicos

Conocer las rutas básicas de red ayuda a determinar el mejor lugar para un firewall (o varios). Los firewalls deben estar localizados en las intersecciones de las rutas descritas anteriormente. Ahora se ha determinado el lugar del firewall, se debe mirar en añadir capas defensivas adicionales para proteger aún más la red.

La defensa en profundidad es fundamental para el diseño de una red segura. Cualquier software puede tener una falla, el hardware puede fallar, y cualquiera puede cometer un error en la configuración. Para compensar estas posibilidades, no se debe depender de un solo sistema o proceso para defender los datos. Por lo tanto se implementan varias capas de defensa para abarcar cualquier punto de falla.

En el contexto de ejemplo, separar los sistemas en varias secciones de red es una capa de defensa. Configurar el firewall para restringir como el tráfico cruza los límites de las secciones es otra. Otro mecanismo de defensa a emplear es un dispositivo funcionando en conjunción con el firewall para filtrar el tráfico entrando y saliendo de la red.

Este dispositivo puede ser un router del borde ubicado entre el ISP y firewall.

Un router del borde puede utilizarse para filtrar ciertos tipos de tráfico de red los cuales obviamente no son deseados. Por ejemplo el router puede ser configurado para bloquear paquetes los cuales supuestamente provienen de direcciones IP no válidas, como las asignadas a direcciones privadas definidas por el RFC 1918. Similarmente solo los paquetes con direcciones IP de origen encontrándose dentro del rango asignado por el ISP deberían salir desde la red de la empresa. Aunque un firewall puede ser configurado para fortalecer restricciones como esta, el firewall ayuda a proteger el host del firewall de ataque. También asiste al firewall aliviando parte de la carga y permitiendo procesar tráfico para el cual está optimizado maneje.

Fuentes:

https://www.rfc-editor.org/rfc/rfc1918.html
 

Secciones de una Red

Body

La seguridad es siempre un balance entre funcionalidad y seguridad. La regla clave a seguir es brindar a cada entidad el mínimo acceso necesario mientras se le permite realizar su trabajo. Con la arquitectura de red la clave es proporcionar una adecuada segmentación para una persona pueda acceder a los datos apropiados, reduciendo el riesgo de un potencial compromiso.

Si se observa los requerimientos para los sistemas residiendo en la red, probablemente se notará pueden ser agrupados en varias categorías, según el tipo de información la cual contienen:

Público: Estos recursos residen en internet, y desde la perspectiva de la red de la empresa no son confiables.

Semipúblico: Estos recursos son la contribución hacia internet, y toman la forma de publicaciones web, mensajes de correo electrónico, y registros DNS. Los servidores semipúblicos deben ser accedibles desde internet y también deberían acceder hacia internet.

Middleware: Utilizado para separar la DMZ de la red privada. Frecuentemente conteniene servidores proxy filtrando y bloqueando el acceso no autorizado. Proporciona una capa extra de protección debido a las conexiones entre la DMZ y la red privada son de alto riesgo.

Privado: Estos son los sistemas internos de la compañía. No se desea ofrecer ningún servicio de esta categoría hacia los usuarios de internet. Por lo tanto se requiere proteger activamente la información residiendo aquí.

Los sistemas en cada categoría tienen un propósito similar, y tienen requerimientos comunes en seguridad. Esto permite agrupar los recursos dentro de una categoría, colocándolos en una sección de red común. En este diseño la visión del mundo en red se dividirá en tres secciones: pública, semipública y privada. Se puede subdividir aún más en función del riesgo potencial y la funcionalidad del sistema.

Fuentes:

https://en.wikipedia.org/wiki/Network_segment
 

Objetivos para el Diseño de Redes

Body

A continuación se detallarán las etapas fundamentales para diseñar una arquitectura de red básica. En este escenario uno de los requerimientos para la red la cual se necesita diseñar es permitir a los usuarios internos acceder hacia Internet. Adicionalmente ciertos sistemas localizados sobre la red de la empresa necesitan ser alcanzables desde internet:

  • Servidor web el cual muestre información sobre la empresa y sus productos
  • Servidor de correo el cual permita a los empleados de la empresa enviar y recibir correo electrónico
  • Servidor DNS (servicio para nombres de dominio) el cual hospede registros para el dominio público de la empresa (como "example.com")

De acuerdo con estos requerimientos se requiere proporcionar acceso limitado desde Internet hacia la red. Sin embargo aparte de los servidores mencionados anteriormente, no se requiere ningún usuario de internet acceda hacia los sistemas internos. Debido al enlace hacia internet, las defensas deben estar diseñadas para proteger la red de ataques externos.

La mayoría de las decisiones para el diseño se basarán sobre el enfoque de "defensa en profundidad", lo cual aboga por el uso de múltiples capas de protección para salvaguardarse contra las fallas de un único componente de seguridad. Uno de los elementos para la defensa en profundidad es el principio de separación de recursos, lo cual se utiliza cuando se divide la red interna en muchas secciones.

Fuentes:

https://www.allassignmenthelp.com/blog/network-design/
https://www.geeksforgeeks.org/three-tier-client-server-architecture-in-…
 

Diseño para la Arquitectura de Red

Body

Para evitar verse abrumado por vulnerabilidades de seguridad, la mejor perspectiva es una adecuada priorización. La mayoría de redes empresariales son relativamente planas y ofrecen poca resistencia una vez se irrumpe el perímetro, ademas los sistemas de escritorio son el objetivo más probable para el malware. Por lo tanto crear cierta separación entre los sistemas de escritorio y los datos críticos almacenados en los servidores es un gran paso para proteger la red. Lo siguiente podría ser separar los escritorios el uno del otro para limitar el reconocimiento de escritorios y la propagación de gusanos entre estos. La LAN conectada hacia los escritorios debe ser considerada permanentemente hostil, y por lo tanto los escritorios deben únicamente permitir el mínimo de datos requerido para operar. Los servidores deben estar separados entre si y de los escritorios con firewalls.

El flujo de datos o flujo de red es un método para recolectar información del tráfico IP y vigilar el tráfico de red. Mediante el análisis del flujo de datos se puede construir una imagen del flujo de tráfico de red y volumen. El flujo de red permite ver de donde proviene y hacia donde va el tráfico de red, demás de cuanto tráfico está siendo generado. El flujo de red proporciona una contabilidad 24x7 sobre toda la actividad de la red, y cuando ocurre un incidente, la información necesaria para identificar la causa raíz y comenzar la limpieza se encuentra en el flujo de datos almacenado.

El flujo de red permite ver aquello sucediendo en la red más allá del perímetro, lo cual también es el lugar más difícil para aplicar un análisis de ciberseguridad. Con el flujo de red se puede ver teléfonos inteligentes, teléfonos IP, portátiles, servidores, e infraestructura virtualizada en esta capa. Cuanto más grande y distribuida sea la red, mayor será el valor aportado por el flujo de red del tráfico. Solo requiere se ingresen unos pocos comandos sobre el encaminador para tener visibilidad de la red en una ubicación específica. El análisis basado en flujo de red se basa en algoritmos y comportamiento en lugar de coincidencia de firmas, lo cual permite detectar ataques los cuales aún no tienen una firma, algunas veces denominados ataques de día cero.

Fuentes:

https://insights.sei.cmu.edu/blog/traffic-analysis-for-network-security…
https://iesmartsystems.com/network-architecture/
 

Enfoques para el Diseño de una Red

Body

La segmentación en redes de computadoras es el acto de dividir una red de computadoras del resto de la red mediante un dispositivo como un repetidor, un concentrador, un puente, un conmutador o un encaminador, donde cada subred es un segmento de red. Un segmento puede contener una o múltiples computadoras. Los cortafuegos y las VLAN proporcionan una manera de particionar también la red en zonas más pequeñas. Las ventajas de tal división son principalmente para en el aumento del rendimiento y mejorar la cibereguridad.

Implementar controles en múltiples capas: Cuantas más capas de segmentación se añadan más difícil será para un ciberatacante obtener acceso no autorizado. El número de capas requiere sentido común, y debe ser manejable desde una perspectiva de operaciones.

Regla de mínimo privilegio: El acceso solo debe ser proporcionado hacia el usuario o sistema quien lo necesite y a nadie más.

Segmentar basado en los requisitos de seguridad: Definir zonas basado sobre donde reside cierta información sensible.

Listas blancas: En lugar de intentar bloquear todas las cosas "malas", es más simple y eficaz definir lo conocido por ser rutas para comunicación segura y bloquear todo lo demás.

Un Enclave Protegido es un segmento de la red interna definido por un conjunto común de políticas de ciberseguridad. Es necesario cuando la confidencialidad, integridad, o disponibilidad de un conjunto de recursos es diferente de aquellos sobre el resto de la red.

Una Red Definida por Software (SDN) es un término amplio abarcando varios tipos de tecnologías de red, con la intención de hacer la red tan flexible y ágil como una máquina virtual o un almacenamiento virtualizado. Un SDN tiene un gran potencial en cuanto a la segmentación de la red. Una segmentación incorrecta de la red puede aumentar drásticamente la exposición hacia el robo de datos o a ataques hacia sistemas. Con SDN el concepto de "microsegmentación" entra en juego, donde el tráfico entre dos endpoints puede ser analizado y filtrado en base a un conjunto de políticas.

Fuentes:

https://www.linfo.org/network_segment.html
https://www.securityweek.com/improving-security-proper-network-segmenta…