TEMA 3: SEGURIDAD EN REDES (INTERNET)
Una red es un conjunto de ordenadores interconectados, pero
totalmente independientes. La gran ventaja de las redes es la posibilidad
de compartir recursos entre los componentes de esta red, pero también
tiene un gran inconveniente respecto a la seguridad, al aumentar el número
de usuarios, aumenta las amenazas que puede sufrir esa red, ya que cabe suponer
que a mayor numero de usuarios con controles de acceso diferentes, dichos
controles seran validos para unos usuarios, pero para todos no.
Asi pues, a todos esos usuarios hay
que garantizarles:
· Confidencialidad:
1.- Criptografía
en las redes
· Cifrado
de enlace: El cifrado de enlace se ubica en la capa fisica. Cada
bit que sale de la maquina sufre un proceso de cifrado y cada bit que entra
en la maquina sufre un proceso de descifrado. El encargado de cifrar es el
software de red, que es el que se comunica con las aplicaciones y el sistema
operativo.
La ventaja del
cifrado de enlace es que se cifra todo tanto los datos como las cabeceras
añadidas por los demas niveles y asi todas las aplicaciones se benefician
de él.
· Cifrado extremo a extremo: Se
cifra a nivel de aplicación. En este caso es la misma aplicación
la que se encarga de cifrar los datos antes de mandarlos al sistema operativo,
el sistema operativo los envia a la capa de red que los descrifra una vez
recibidos.
2.- SMIME
El SMIME es la extensión del MIME aplicada a la criptografía.
Es un protocolo de cifrado de extremo a extremo para comunicaciones sin
sesion. Sirve para enviar un mail codificado. El SMIME utiliza los objetos
PKCS#7 para transportar la información.
La forma de un mail MIME es:
· Cabecera del mail: que indica la version MIME.
· Cabeceras habituales de los mail.
· Cabecera MIME.
· MIME-Version: este campo es imprescindible, en el
se indica la versión del mime que se esta usando. Ej. 1.0
· Content-Type: indicara cual es el tipo de mime del mensaje,
es decir, el tipo de archivo que lleva el mensaje, para que asi el receptor
tenga una idea de lo que ha recibido y sepa como interpretarlo. Sino existe
content-type se supone que el mensaje contiene texto plano sin formato. Los
tipos mime más habituales son:
- text/htmlo
- image/gif
- video/quicktime
- application/pdf
- message/news
Si queremos enviar algun subtipo que no este definido tendremos
que añadir delante del nombre una x. Ej. appliction/x-pkcs7-mime
· Content-transfer-enconding : este campo tambien es imprescindible e indicara
como ha sido codificada la información. Tipos de codificacion: 7 bit
(codificación por defecto), 8 bit, base64, binary, quoted-printable.
· Content-description: cuerpo del mensaje donde ira la descripción
del texto plano. El cuerpo contiene lo que se quiere enviar. Dentro del cuerpo
podemos encontrar mas mensajes MIME ya que esta permitida la recursividad.
Cuando se quiere enviar distinto tipos de documentos en
un mismo email se recurre a unos tipos especiales del mime que permite hacerlo,
son los denominados multipart. Tipos de multipart/:
MENSAJES CIFRADOS
- signed-data: objeto pkcs#7 con información firmada.
- enveloped-data: objeto pkcs#7 con información cifrada.
- signed-and-enveloped-data: objeto pkcs#7 con información firmada y cifrada.
Ejemplo de la estructura
de un mensaje cifrado:
content-type: Application/x-pcks7-mime
conten-transfer encoding: (base64)
--linea en blanco--
Aqui estara todo el mensaje cifrado
content-type:multipart/signed;protocol="application/x-pkcs7-signature";micalg=sha1;boundary="churrito"
churrito
Mail con su cabecera y cuerpo
churrito
content-type:application/x-pkcs7-signature
content-transfer-encoding: base64
Firma
churrito
3.- SSL
El protocolo SSL es un protocolo de cifrado extremo a extremo, para comunicaciones con sesion. Da una capa de seguridad a las comunicaciones a través de Internet. Se suele utilizar, normalmente, para la web. Sirven para comunicarse de manera confidencial utilizando el cifrado y para la autentificación del servidor y opcionalmente del cliente.
Propositos del SSL son:
·
La confidencialidad
· La autentificación
del servidor.
- · La autentificación del cliente, pero esta es opcional.
Para funcionamiento del SSL se crean dos llaves, una privada y una pública en un X509, al conectarse negocian el método criptográfico a utilizar. El servidor envía el certificado, el cliente utiliza la clave pública de la Autoridad Certificadora para descifrar la firma de este. Además hay que comprobar si quien nos da el certificado es el dueño realmente, para lo que el cliente le lanza un reto, que consiste en enviarle un número aleatorio cifrado con la clave pública y si es este es el dueño de dicho certificado, podrá descifrarlo con su clave privada. Ese número aleatorio será la llave de sesión y si todo sale bien se establecerá una comunicación segura.
Opcionalmente el servidor puede querer autenticar al cliente, esto puede hacerlo, una vez establecida una conexión segura, pidiendo una password o lanzándole un reto al cliente. Esto se hará de igual forma que lo comentado anteriormente pero con el certificado del cliente.
4.- Amenazas
Hay varios tipos de amenazas:
- Sniffing: Escuchar las comunicaciones de una red, pinchandola y asi poder extraer cualquier tipo de informacion que circule por esta. Se puede evitar mediante hardware, o bien mediante un switch, o bien mediante un hub, así de este modo las comunicaciones en la red se hacen directamente entre los equipos, sin tener que pasar por tercero que puedan escuchar lo que circula por la red.
- Spoofing: Se trata de suplantar la identidad de otro para disfrutar de sus derechos. Hay muchas formas de suplantación, como por ejemplo, mediante el login y password de otra persona, suplantando la ip de otro equipo, suplantación del correo electrónico, etc. Para poder evitar esto se pueden utilizar llaves de sesión o mediante autentificación CHAP del servidor, que consiste en lanzar un reto al usuario cada x tiempo y asi poder comprobar que el ususario que se conecto es el mismo en todo momento.
- DoS (Deneged of Service): Consiste en atacar un punto de la red para que este deje de prestar sus servicios.
- Intrusión: tener acceso a un sistema de forma indebida, para poder tener acceso a la información que contiene dicho sistema.
-
Stack Overflow: se trata de atacar
un sistema de forma que este genere un nuevo shell que tenga todos los
privilegios de otros usuarios (root).
Hijacking: es un tipo de suplantacion cuando el
ususario ya se ha autentificado, para evitarlo se usan protocolos que comprueben
la identidad periodicamente.
Spam: se trata de un abuso indiscriminado
de la red.
5.- Firewalls
(Cortafuegos)
Los cortafuegos son un conjunto de políticas y técnicas
que pretende alejar al máximo una red del resto de la red (Internet).
Podemos decir que un cortafuegos es basicamente un router programado de
forma especial, que se debe colocar en el sitio que se debe proteger. En
cuanto a dicha programación especial, se trata de filtros que se
aplican a los paquetes tanto recibidos como emitidos.
Los cortafuegos son mecanismos bastante sencillos y faciles
de usar, ademas de permitir al administador establecer políticas
de seguridad de forma centralizada, aunque no porporcionan total seguridad.
El uso básico de los cortafuegos es la protección de una red corporativa. Generalmente se crea un bloqueo entre la red corporativa e Internet.
Hay dos tipos de políticas para los cortafuegos:
- Política abierta (permitir por defecto): Se dejan pasar todos los paquetes, excepto aquellos que se especifiquen en el cortafuegos.
-
Política cerrada (denegar
por defecto): Se bloquean todos los paquetes, excepto aquellos que se
especifiquen en el cortafuegos. Esta política es mucho más
costosa de realizar, pero por el contrario, es mucho más segura.
El filtrado de paquetes es una tecnica que se basa en decidir que paquetes entran y cuales no, en nuestra red corporativa se puede decidir según la direccion de origen o de destino (IP), o según el puerto de origen o de destino (TCP). Con estas cuatro distinciones podremos generar reglas de aceptar o rechazar el envió o recepción de paquetes según sea el origen o el destino de este.