Saltar a contenido

Seguridad Informática

Introducción

Existen muchos aspectos que abarcan la seguridad de un sistema: seguridad frente a pérdida de información, seguridad entendida como capacidad de seguir funcionando frente a un fallo del sistema, seguridad frente a ataques de diversas naturaleza, seguridad frente a fallos de corriente eléctrica, etc.

Existen muchas formas de definir la seguridad, dependiendo del nivel en el que se implante. Se puede hablar de seguridad de la información, en cuyo caso los sistemas de backups son los que cobran mayor relevancia, o bien de sistemas redundantes, en los que la duplicación de elementos (a diferentes escalas) es decisiva para llegar a alcanzar esta característica, o también de seguridad frente a ataques, en cuyo caso la definición de una arquitectura de red y la implantación de "cortafuegos" y métodos de identificación de usuarios, son los elementos principales.

No se puede decir que un mecanismo sea mejor que otro; simplemente son complementarios: el hecho de tener backups no asegura que no se tenga una máquina parada durante cierto tiempo, imposibilitando el trabajo con ella, cuando deja de funcionar algún componente. Por otro lado, el hecho de tener el máximo nivel de redundancia (sistemas completos duplicados) no asegura que no vaya a producirse falta de infortnación: si un usuario borra un fichero, lo borra en todos los discos a la vez. Por último, si la seguridad frente a ataques no está contemplada, la seguridad del sistema se ve altamente comprometida a pesar de los muchos mecanismos de redundancia y sistemas de backups de que disponga.

Otro nivel en el que afianzar la seguridad, es simplemente a nivel físico, más concretamente, a nivel eléctrico; los sistemas de alimentación ininterrumpida (SAI) ofrecen autonomía a un sistema durante un periodo de tiempo limitado; a veces lo suficiente para guardar la información y apagar los sistemas correctamente, y otras incluso para trabajar durante horas.

Tolerancia a fallos

Lo que se entiende como sistemas tolerantes a fallos son aquellos que ofrecen mecanismos para soportar fallos del propio sistema, entendiendo como fallos de esta naturaleza aquellos provocados por el mal funcionamiento de cualquier componente del sistema, como por ejemplo, la parada de un disco duro, el mal funcionamiento de una controladora de disco, etc., o bien caídas del sistema por sobrecarga (las demandas de usuarios, como por ejemplo las de información on line recargan notablemente los recursos de los servidores, llegan- do a ponerlos en situaciones críticas).

Niveles RAID

A nivel teórico, RAID es un conjunto de unidades de disco que aparecen como si fueran uno sólo. Los datos se escriben uniformemente repartidos entre todas las unidades, mediante la técnica denominada Distribución en bandas (striping), aunque cada nivel RAID define su propia técnica de almacenamiento de la información. Por este método se dividen los datos entre dos o más unidades. Esta distribución en banda de los datos se puede producir o bien a nivel de bits o bien a nivel de sectores.

La técnica de striping incrementa el rendimiento y proporciona una forma de redundancia que protege contra el fallo de uno de los discos de la formación, mediante la codificación de los datos dispersos en una unidad de copia de seguridad conocida como unidad de paridad.

Existen varios niveles RAID, ofreciendo cada uno diferentes niveles de protección y diferentes formas de implementarlos. Los niveles RAID soportados por los diferentes sistemas operativos varían. Existen seis niveles RAID fundamentales, aunque algunas casas comerciales empiezan a sacar sus propios niveles añadidos. Los niveles de seguridad más implementados son los niveles uno y cinco, algunos de los otros niveles se quedan únicamente en el plano teórico.

Mirroring

Mirroring significa duplicación de servidores en tiempo real, es decir, la disposición de servidores espejo. .Aunque este término también se utiliza cuando se habla de duplicación de discos únicamente.

El funcionamiento de un conjunto de servidores espejo consiste en lo siguiente: uno ejecuta todas las aplicaciones y gestiona los datos, mientras que el resto permanecen a la espera, haciendo las mismas operaciones pero en segundo plano, esperando que el servidor principal sufra un fallo, para tomar el papel principal.

El espejado de discos es la técnica que propone el nivel uno de RAID; consiste en duplicar únicamente los discos en los que se almacena la información. De esta forma, cuando un disco falla, siempre se puede acceder al otro para obtener la información deseada.

Sin embargo, los niveles RAID definen otros mecanismos menos costosos, para asegurar la integridad de la información, como por ejemplo la técnica de clustering.

Clustering

Consiste en una colección de discos interconectados que se comportan como un único disco virtual. En esta técnica se dispone de varios servidores que comparten los discos; cuando un servidor se cae, automáticamente el otro entra en funcionamiento utilizando los mismos discos con los que el primero estaba trabajando.

Existen diferentes niveles dentro de esta técnica; desde la forma más clásica de clustering hasta las versiones más modernas en las que se aprovecha los últimos avances tecnológicos.

La forma clásica de esta técnica consiste en tener dos servidores: uno trabajando y el otro a la espera; aunque se asegura el funcionamiento del sistema de manera continua, se está desaprovechando la capacidad de trabajo del servidor que se encuentra a la espera, ya que éste no realiza ningún tipo de trabajo hasta que el servidor principal se cae.

Las últimas versiones de clusters aprovechan todos los servidores de esta arquitectura: todos los servidores, conectados al array de discos, se reparten la carga de trabajo; cuando uno de ellos se cae, cualquiera de los otros dstá capacitado para absorber y gestionar el trabajo de éste.

Copias de seguridad

Las copias de seguridad también es un aspecto que debe tenerse en cuenta a la hora de hablar de la seguridad de una red: si no se tiene copia de respaldo de la información, puede ser que se pierda información valiosa y con ella una gran cantidad de dinero.

Es necesario definir una política de backups lo suficientemente robusta como para poder asegurar la recuperación de información en cualquier momento. Esta política de seguridad deberá contemplar entre otras cosas, la periodicidad de la realización de las copias (de nada sirve realizar una copia de seguridad esporádica, es necesario estudiar la automatización de las copias y el intervalo de tiempo que debe transcurrir entre una copia y otra), la definición de la información a salvaguardar (discriminar la información contenida en los discos seleccionando aquella que realmente se debe guardar), la ubicación de las copias (no puede guardarse las cintas en un lugar que no sea seguro; físicamente deberían estar almacenadas lejos de las instalaciones en las que se genera), y la comprobación del estado de las mismas (es necesario verificar periódicamente la validez de las copias).

Existen muchas herramientas para los diferentes sistemas operativos que permiten planificar y llevar un control de las copias de seguridad, de forma cómoda y sencilla.

Seguridad de la red

La seguridad de la red es otro aspecto importante; de nada sirve proteger los datos frente a fallos de sistema, pérdidas de información, etc., si no se protege frente a ataques externos.

Evidentemente estos problemas surgen sólo cuando la red está conectada al exterior, o mejor dicho, a Internet. Teniendo en cuenta que en la actualidad son muchas las empresas con conexión a Intemet y, más concretamente, con visibilidad en Intemet, este aspecto de la seguridad debería ser tenido en cuenta como cualquiera de los citados anteriormente.

La arquitectura de las redes locales ha cambiado: ahora, cuando se define la topología de una red local, se piensa en la implantación de un firewall, de routers de selección, etc.

Firewalls

Los firewalls, o cortafuegos, no son más que software capaz de discriminar infonnación a diferentes niveles dependiendo de distintas características.

Esta definición es muy genérica, pero la realidad es que aunque inicialmente existía un software de firewall propiamente dicho, con el tiempo este término se ha ido ampliando y por tanto aplicando a todo aquello capaz de discriminar en cualquier nivel de la arquitectura de protocolos. Por eso, hoy, un router es considerado un firewall si realiza estas funciones.

En cualquier caso, los firewalls son capaces de decidir para cada paquete de información que llega si éste puede pasar o no, e igualmente discriminar información saliente de la Red. La discriminación se puede hacer por dirección IP (a nivel red), por puerto (nivel transporte) y por usuario (nivel de aplicación); es decir, el firewall puede decidir si deja pasar un paquete de información dependiendo de la dirección origen o dirección destino que lleve, y también dependiendo del puerto TCP al que vaya dirigido o del que provenga, así como dependiendo del usuario que genere o a quien vaya dirigida esta información.

Lo habitual es, cuando la Red se conecta con el exterior, situar un firewall entre la conexión exterior y la red para proteger de esta forma el sistema local. Así, todo el tráfico saliente y entrante pasa por el firewall y éste puede desempeñar sus funciones.

Routers de selección

Los routers de selección son routers que implementan funciones de firewall. Inicialmente estas funciones se limitaban al nivel de red; es decir, se limitaban a controlar el tráfico a través de la dirección IP de origen y destino. Sin embargo, poco a poco, los routers han ido atribuyéndose cada vez más funciones de firewall, y con ello han ido implementando la selección a todos los niveles en los que actúa un firewall propiamente dicho.

Control de acceso

El control de acceso a recursos de la red, como otro aspecto de la seguridad, no debe ser obviado. Es necesario definir una política de control de acceso a todos y cada uno de los recursos de la red, de tal forma que cada recurso (servidores, información contenida en los servidores, impresoras, etc.) tenga asignado una lista de usuarios o grupos de usuarios, que puedan acceder a él. Además se debe definir el tipo de acceso que se establece, es decir, es necesario definir qué puede hacer cada usuario sobre los recursos a los que tiene acceso.

CORS

Cross-Origin Resource Sharing (CORS) es un mecanismo que soporta peticiones y transferencias de datos seguras desde orígenes externos (dominio, esquema o puerto).

Por ejemplo, example.com utiliza una fuente de texto que está alojada en fonts.com. Al visitarlo, el navegador del usuario hará una petición de la fuente a fonts.com. Dado que fonts.com y example.com son dos orígenes diferentes, se trata de una solicitud de origen cruzado. Si fonts.com permite la compartición de recursos entre orígenes a example.com, el navegador procederá a cargar la fuente. En caso contrario, el navegador cancelará la solicitud.

Más concretamente, CORS es una forma de que los servidores web digan: “Acepta las peticiones de origen cruzado de este origen” o “No acepta las peticiones de origen cruzado de este origen”.

Esto es importante porque las peticiones de origen cruzado pueden dar bastante miedo. Yo podría estar conectado a mi cuenta bancaria, y al visitar un sitio malicioso, éste podría hacer peticiones a los servidores del banco sin que yo lo supiera. Si no existieran las reglas CORS, la petición se realizaría, pudiendo cambiar o filtrar la información de mi cuenta.

CORS es un protocolo que define las limitaciones de las peticiones de origen cruzado. Estas limitaciones son aplicadas por nuestros navegadores. Como resultado, podemos hacer peticiones de origen cruzado manteniendo un alto nivel de seguridad. Al especificar qué orígenes pueden hacer peticiones y qué métodos y cabeceras están permitidos, el navegador se asegura de que los actores maliciosos no puedan recuperar datos sensibles con peticiones de origen cruzado.

CORS se inventó para ampliar y añadir flexibilidad a la Política de Mismo Origen - Same Origin Policy (SOP).

La política del mismo origen es esencialmente lo que su nombre sugiere: los recursos sólo pueden cargarse desde el mismo origen. Dos orígenes se definen como el mismo si el protocolo, el puerto (si se especifica) y el host son los mismos.

Desde una perspectiva técnica, un origen puede solicitar un recurso de otro origen, pero el navegador impide que la respuesta sea legible.

Sin embargo, a veces necesitamos acceder a recursos de otros orígenes, como fonts.com. Ahí es donde entra CORS. CORS relaja la Política de Mismo Origen definiendo orígenes, métodos y cabeceras de confianza o permitidos.

Referencias

  • Stephen Cobb. Manual de seguridad para PC y Redes Locales. McGraw Hill,1992
  • Mª Jesús Recio. Artículo: Seguridad de Sistemas. Revista +PC, 1999

Última actualización: December 14, 2022