tema 5. seguridad en redes y protocolos asociados · mensaje de longitud fija. • si el mensaje se...

51
1 Tema 5. Seguridad en Redes y protocolos asociados Ingeniería de protocolos Curso 2012/13 Jaime Benjumea Mondéjar Dpto. Tecnología Electrónica (Univ. de Sevilla)

Upload: others

Post on 29-Mar-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

1

Tema 5. Seguridad en Redes

y protocolos asociados

Ingeniería de protocolos

Curso 2012/13

Jaime Benjumea Mondéjar

Dpto. Tecnología Electrónica

(Univ. de Sevilla)

Page 2: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

2

CRIPTOGRAFÍA

cifrado simétrico

La misma clave se utiliza para cifrar y para descifrar.

Son computacionalmente rápidos.

NO son capaces de soportar el no-repudio.

NO es posible intercambiar claves en entornos no seguros.

Es necesario una clave (distinta) por cada par en la comunicación.

Imagen: Web Security, Privacy &

Commerce, 2nd Edition

Page 3: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

3

CRIPTOGRAFÍA

cifrado asimétrico La clave que sirve para cifrar un

texto, no es capaz de descifrarlo.

La clave pública la conocen todos,

la privada sólo yo.

La clave de cifrado (pública) no

tiene por qué transmitirse sobre un

canal seguro.

Da soporte a la firma digital (no

repudio).

Sólo se necesitan dos claves por

persona.

Pero: son computacionalmente muy caros en comparación con el sistema

simétrico a No son adecuados para transmisión en tiempo real.

Imagen: Web

Security, Privacy &

Commerce, 2nd

Edition

Page 4: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

4

CRIPTOGRAFÍA

funciones hash • Hash: Función que “resume” un

texto de longitud indeterminada en un

mensaje de longitud fija.

• Si el mensaje se modifica, el hash

no coincide.

• Usado con sistemas de cifrado,

ofrece integridad (ambos) y no

repudio (asimétricos) de forma

automática.

• Las funciones hash deben garantizar:

1. Es caro obtener un texto con un hash previamente definido.

2. Debe ser suficientemente largo como para no tener un diccionario de

mensajes para cada hash.

3. Pequeños cambios en el texto agrandes cambios en el hash (la mitad

de los bits).

Imagen: Web Security, Privacy & Commerce, 2nd Edition

Page 5: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

5

CRIPTOGRAFÍA

aspectos finales • Un buen sistema de cifrado debe:

– Ser resistente al criptoanálisis, sólo vale el ataque de fuerza

bruta.

– ¿Su algoritmo tiene que ser conocido?.

• La fortaleza global es la del punto más débil

• ¿Cómo se garantiza la “propiedad” de una clave pública?

– Sistema jerárquico y más bien centralizado (PKI).

– Sistema plano y no jerarquizado (PGP).

• ¿Cómo se generan los números “aleatorios”?

Page 6: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

6

Protocolo SSH Conceptos y autenticación del servidor

• Ofrece un mecanismo de autentificación de servidor y cliente además de

cifrado.

MECANISMO DE OPERACIÓN (I)

(0) El cliente solicita una conexión.

1. Identificación del servidor con su clave pública

(no me fío de la IP). Atención a la primera

vez.

2. El cliente le pide una prueba.

3. El servidor responde correctamente.

(EL SERVIDOR YA ESTÁ AUTENTICADO)

• Se utiliza cifrado asimétrico al

comienzo, y simétrico una vez

negociados y autentificados el cliente y

el servidor.

• Además da soporte a la integridad de

los datos.

Cliente SSH

Servidor SSH

1

2

3

Page 7: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

7

Protocolo SSH

Autentificación del cliente

Cliente SSH

Servidor SSH

4

5

6

Una vez autenticado el servidor, y sólo

entonces, el cliente se autentifica:

(4) El servidor, ya con una conexión segura

(negociada antes) pide al cliente

autenticarse.

(5) El cliente le responde, puede

autenticarse mediante: Kerberos, publickey

y contraseña (entre otros).

(6) Si el cliente responde de forma correcta,

la conexión se permite y ésta será cifrada y

con verificación de integridad.

Por lo tanto: SSH nos ofrece un servicio

de acceso seguro y con garantía de

integridad.

Page 8: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

8

Man-in-the-middle attack

(Tipo de ataque general)

Flujo REAL de la información.

Flujo TEÓRICO de la información

Mediante este ataque es posible …

1. Leer el tráfico de red (sniffing).

2. Inserción y repetición

(replay/insertion attacks).

3. Interceptarlo y modificarlo (ataques

de modificación).

… y se consigue:

1. Leer contraseñas.

2. Ejecutar dos veces una

operación (p.ej. una transferencia

bancaria).

3. Hacernos pasar por uno de los

extremos sin que el otro se de

cuenta.

¿Puede SSH

solucionar

estos

problemas?

Page 9: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

9

Protocolo SSH

Man-in-the-middle attack (II)

• Según veíamos antes, una vez autenticados ambos extremos, SSH ofrece:

– Cifrado: Me protege contra el punto (1).

– Integridad: Me protege contra el punto (3) (casi).

• ¿Y el punto (2)?a En cada mensaje se incluye un código que impide que éste mensaje si se repite, sea válido.

Page 10: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

10

Protocolo SSH

Man-in-the-middle attack

(1)Petición de conexión (que es

interceptada).

(2)Atacante responde con la clave

pública del servidor SSH (que

conoce).

(3)Se envía la prueba (cifrado con la

clave pública)

(4)No sabe que responder.

2

3

1

?

Siempre que el cliente tenga previamente la clave pública del

servidor, no será posible que otros se hagan pasar por éste.

Page 11: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

11

Protocolo SSH

¿de qué no me protege? La primera conexión: Es necesario conocer

previamente la clave pública del servidor

(problema de distribución).

1er Acceso

¡VERIFICAR!

• Certificados.

• Por teléfono.

• En persona.

Determinados ataques DoS: Los referidos a niveles inferiores:

• Físicamente: Corte de la comunicación.

• Nivel de transporte: Se puede resetear una conexión

falsificando segmentos TCP de forma adecuada.

Page 12: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

12

Protocolo SSH

port forwarding (I)

Servidor POP Cliente de

correo

No

cifrado

• Existen muchos protocolos

que no tienen implementados

mecanismos de cifrado.

• Se puede o bien utilizar un

protocolo nuevo, que soporte

cifrado, o bien protocolos de

nivel inferior (como SSL o

IPsec).

• El problema es que estas soluciones requieren o bien un protocolo

nuevo, o bien una configuración más o menos complicada en el extremo

servidor y en el extremo cliente.

• Mediante SSH, sabemos que podemos crear una conexión segura entre

el cliente SSH y el servidor SSH; de lo que se trata es de usar esa

conexión para crear un túnel por el que pueda transportar una conexión

no segura.

Page 13: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

13

Prococolo SSH

port forwarding (II) • El primer paso, consiste en

realizar la conexión con los

parámetros que permitan crear el

túnel.

• En un extremo (cliente o

servidor) se crea la cabecera del

túnel, en el otro la salida.

Cliente de

correo Servidor POP

Cliente SSH Servidor SSH

Conexión segura a través

del puerto SSH (22/tcp).

Para el servidor

POP, el acceso lo

hace “servidor

SSH”.

Salida del

túnel

Entrada del

túnel (“puerto

escuchando”)

Para el cliente

de correo, el

servidor POP es

el cliente ssh PORT FORWARDING COMPLETO (para POP)

Servidor SSH Cliente SSH

ssh <servidor_ssh> -L puerto_cliente_ssh:servidor_pop:puerto_pop

Hacia el servidor

POP real.

Hacia el cliente de

correo real.

Page 14: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

14

Protocolo SSH

port forwarding (III)

Servidor SSH y de

POP

Cliente de SSH y

correo

Paquetes

POP Paquetes

POP

El cliente de correo

accede a un servicio

local POP (cabecera

del túnel). A la salida del túnel, se

accede localmente al

servidor POP

Versión simplificada

A veces, se unen el cliente SSH y el de correo en un solo ordenador

(más habitual).

Y también, se unen el servidor SSH y el servidor POP.

Page 15: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

15

Protocolo SSH

port forwarding (IV) • El túnel se puede iniciar en el cliente SSH (como hemos visto) o

también en el servidor (hacia el cliente SSH).

Cliente SSH Servidor SSH

Cliente del servicio Servicio

En este caso, la

conexión se origina en

el lado del servidor

SSH.

Paradójicamente, el redireccionamiento de puertos puede plantear

problemas de seguridad.

Page 16: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

16

Protocolo SSL

Generalidades

• Originalmente desarrollado por Netscape.

• Provee confidencialidad, integridad y autentificación

(cliente y servidor).

• Está siendo sustituido por TLS1.1 (RFC4346).

Nivel de Aplicación (web, p.ej.)

SSL

Nivel de transporte (fiable)

Se puede usar sobre

cualquier aplicación.

• SSL Handshake P., Change Cypher Specificacion P., Alert P.

• SSL Record Protocol

El protocolo de transporte debe ser

fiable (p.ej. TCP). NO VALE UDP

Page 17: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

17

Protocolo SSL

Vista de niveles

SSL Record Protocol

SS

L H

andshake

Pro

tocol

Change C

ipher

Spec.

Pro

toocol

SS

L A

lert

Pro

tocol

• Record Protocol: Recibe los datos y los

fragmenta, comprime, cifra/descifra y

aplica MAC.

• Change Chipher: Sirve para negociar

cifrado y para cambiarlo (lo usa Record

Protocol).

• Alert Protocol: Indica ciertos grados de

alerta (severidad). Por ejemplo

problemas con un certificado.

• Handshake Protocol: Permite la

negociación previa a la comunicación.

Responsable de coordinar a cliente y

servidor.

Page 18: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

18

Protocolo SSL

Handshake Protocol (1) El cliente solicita la conexión (indica qué soporta).

(2) Indica los parámetros negociados (el común de ambos) y

si se aceptó el modo “resume”.

(3) El servidor envía su certificado.

(4) Si no tiene certificado, se envían claves temporales.

(5) Petición de certificado al cliente.

(6) Fin del servidor.

(7) Si el cliente tiene certificado y se lo piden, lo envía.

(8) El cliente genera unas claves que envía cifradas al

servidor.

(9) Se verifica el certificado

(10) y ss: Se especifica el cifrado y se termina la negociación.

Las partes en gris, son

opcionales.

Existe un procedimiento

de conexión abreviado

(resume).

Cliente Servidor

Imagen: Cryptography and

Network Security, Third Edition

Page 19: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

19

Protocolo SSL

Conclusiones Es transparente para los

protocolos de nivel superior

(usando TCP). Las aplicaciones sí

que se modifican.

Da servicio de autenticidad,

integridad, confidencialidad y no

repudio. Tabla de puertos usados con SSL

Tabla: MariCarmen Romero

Ternero. Apuntes de IP.

Como SSH, sufre ataques a los niveles inferiores.

No se puede usar sobre UDP (requiere un nivel de transporte

fiable).

El proceso de negociación inicial es costoso.

Con todo, es ampliamente usado en páginas

web en todo el mundo.

Page 20: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

20

IPSec

Generalidades • IPSec actúa en el nivel 3, protege más

que en los casos anteriores.

Internet Sevilla Madrid

Confidencialidad, integridad,

autentificación Uso 1: Extender la red

corporativa sin

necesidad de líneas

dedicadas y de forma

segura (con routers

especiales).

Madrid Ordenador con

soporte IPSec

Uso 2: Acceso remoto mediante un s.o.

que soporte IPSec (Windows 2000/XP,

Linux, etc).

Imagen: Cryptography and

Network Security, Third Edition

Page 21: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

21

IPSec

Arquitectura RFC2401

RFC2402 RFC2406

RFC2408

• Arquitectura: Especifica la arquitectura

general del protocolo.

• ESP: Encapsulated Security Protocol.

Protocolo de IPSec que provee

autenticidad/integridad y

confidencialidad.

• AH: Authentication Header. Protocolo

de IPSec que sólo provee

autenticidad/integridad.

• Algoritmos: Separados en dos tareas,

son usados por los dos protocolos.

• DOI: Unifica criterios y conceptos de

todos los documentos.

• Gestión de claves: Indica cómo se

distribuyen éstas.

Imagen: Cryptography and

Network Security, Third

Edition

Page 22: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

22

IPSec

Authentication Header

• Puede viajar sobre un

datagrama IPv4 normal

(protocol=51).

• Provee sólo autentificación

del campo de datos y parte

de la cabecera IPv4. • Next Header: Indica el protocolo que viene después.

• P. Length: Longitud de la AH en palabras de 32-bit menos 2.

• SPI: Permite identificar una SA (Security Association).

• Seq. Number: Permite detectar ataques de repetición, nunca se repite en

una misma SA. Los duplicados se deben descartar.

• Authentication Data: Hash de autenticación. Protege: El campo de datos

(transporte), la propia AH (incluso este campo), parte de la cabecera IPv4

(entre otros: dir. fuente, dir. dest, version, long cab…). Los campos mutables

se ponen a cero.

Imagen: Cryptography and

Network Security, Third Edition

Page 23: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

23

IPSec

Encapsulation Security Payload

• Puede viajar sobre un

datagrama IPv4 normal

(protocol=50).

•Además de autenticidad,

soporta la confidencialidad.

• La autentificación NO incluye

la cabecera IP, sólo la

cabecera ESP.

Imagen: Cryptography and

Network Security, Third Edition

• Payload Data: Es el campo de datos al que hace referencia “Next

header”, está cifrado.

• Se puede usar en conjunción con AH.

Page 24: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

24

IPSec

Security Association

• Una SA es el elemento que suministra la seguridad.

• Se debe definir una por: a) dirección, b) soporte ESP y AH (una para cada).

• Una SA está definida por: – Una dirección destino.

– SPI

– Un protocolo ya sea ESP o AH.

• Modos de operación: – Túnel (gateway-gateway o gateway-host).

– Transporte (host-host).

Page 25: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

25

IPSec

Modo transporte Aplicando AH

Aplicando ESP

• Se aplica entre dos hosts exclusivamente.

• No protege todo el datagrama IP:

• En AH, sólo provee autenticación (parte

de la cabecera IPv4, la cabecera AH y los

datos de nivel superior).

• En ESP, provee de cifrado a todo el

campo de datos de nivel superior y

autenticación sólo a la cabecera ESP.

Los datos dirección fuente y

destino son los reales.

La cabecera IPv4

no va cifrada.

Ejemplo: ESP en modo

transporte (con TCP).

Datos TCP

cifrados.

Page 26: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

26

IPSec

Modo túnel (I)

Aplicando AH

Aplicando ESP

• Se aplica entre host-gateway o bien gateway-gateway.

• Encapsula un datagrama IP sobre otro datagrama IP donde el

campo de datos es el primero.

• En AH, se autentifica el datagrama IP original completamente.

• En ESP, se cifra el datagrama IP original completamente.

Page 27: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

27

IPSec

Modo túnel (y II)

Sevilla Madrid

Encapsulación /

desencapsulación

Direcciones IP de los

gateways (sin cifrar).

Direcciones

“reales” (cifradas). Toda la trama original

aparece cifrada

• El tráfico en las “nubes” es el tráfico IPv4 normal. Los nodos de Madrid y

Sevilla no tienen que soportar IPSec.

• Para un atacante, sólo “ve” tráfico IP entre los dos gateways.

• Puede plantear problemas ya que reduce la MTU efectiva.

Page 28: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

28

IPSec

Conclusiones

En modo túnel los nodos finales “ni se enteran” a Sólo es

necesario configurar los nodos gateway

En modo host se requiere software especial.

En cualquier caso, las aplicaciones no se tocan.

Puede ser complejo de instalar.

Puede ser una vía de entrada de ataques. Se podría entrar a

mi red coporativa a través de IPsec (Y DETRÁS DEL FIREWALL).

Page 29: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

29

X.509 Conceptos generales

• X.509 forma parte de la X.500 (ITU). El RFC3280 define un modo de operación

para Internet. Pretende resolver el problema de la “propiedad” de una clave pública.

Si el certificado (que tiene la clave pública) lo crea

el impostor, el usuario podría suministrale datos

confidenciales sin saberlo.

1. El notario verifica que el

certificado es, realmente, del

banco y firma (valida) el

certificado.

2. El impostor, no puede tener

un certificado con esa firma y,

por lo tanto, es detectado.

• Necesito “notarios” electrónicos que verifiquen los certificados (y, por tanto, la

clave pública).

Mi Banco S.A.

Clave pública:

0x0A00A0B1...

Certificado

(sin firmar)

Mi Banco S.A.

Clave pública:

0x0A00A0B1...

Mi Banco S.A.

Clave pública:

0x0A00A0B1...

Certificado

(sin firmar) Certificado

(firmado)

Verificado

y firma

Page 30: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

30

X.509 Formato Certificado V3

Imagen: Cryptography and

Network Security, Fourth Edition

• Version: Versión del certificado. La última es la V3.

• Serial: Identificador único (dentro de la misma CA) del

certificado.

• Signature ID: Indica el tipo de algoritmo de firma.

• Issuer Name: Identifica (X.500) al que firma ese certificado.

• Validity: Intervalo (GMT) en el que es válido el certificado.

• Subject Name: Identifica (X.500) al propietario del certificado.

• Public Key Info: Indica el tipo y la clave pública del propietario.

• Issuer Unique Id (v2/v3): Un identificador único del que firma.

• Subj. Unique Id (v2/v3): Igual que antes, para el propietario

(útil para reutilizar el Subject Name).

• Extensions (v3): Extensiones adicionales (ver luego).

• Signature: Algoritmo de firma (otra vez) y la firma propiamente

dicha del certficado (lo hace el issuer).

Page 31: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

31

X.509 Extensiones habituales

• Authority/Subject Key Identifier: Facilita tareas de validación. El primero se refiere

a un identificador (hash) del certificado de la CA, el segundo a este mismo certificado.

• Key Usage / Extended key Usage: Sirven para determinar los usos del certificado

(los que no se diga expresamente, no se permite). Ej: TLS Web Server Authentication.

• Authority Information Access: Indica información sobre la CA (políticas p.e.).

• Basic Constrains: Tiene un campo: cA que si es “TRUE”, se trata de un certificado

de Autoridad de Certificación.

• CRL Distribution Point: Indica (casi siempre con una URL)

una lista de certificados revocados.

Identifica al emisor del certificado CRL.

Indica la fecha en la que se emite el certificado.

Indica la fecha (máxima) en la que se emitirá el próximo.

Listado de certificados (serial) con la fecha de

revocación.

Firma del certficado CRL.

CRL Certificate v1

Ima

ge

n: C

ryp

tog

rap

hy a

nd

Netw

ork

Se

cu

rity

, F

ou

rth

Ed

itio

n

Page 32: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

32

X.509 Estructura jerárquica (ejemplo Web)

Autoridades de Certificación Raíz: Sus propios certificados

(como CA) son autofirmados. Pueden firmar a “usuarios

finales” o bien otras CA (Intermedias). Es imprescindible

conocerlas previamente.

Autoridades de Certificación Intermedias: Las CA-Raíz

firman sus certificados. Pueden firmar a “usuarios finales” o

bien otras CA.

Servidor Web

Usuarios finales: Sus certificados los firma una CA (intermedia o no).

No pueden firmar nada a nadie. Nota: En este ejemplo es el servidor web.

Ru

ta d

e a

ute

ntifica

ció

n

Ruta de autentificación (Path Validation): El servidor web (en este

ejemplo), debe presentar,al menos, su certificado más el de todas las

autoridades intermedias. El cliente web comprobará (usando los campos

“Subject” e “Issuer”) que puede llegar a una autoridad raíz.

Page 33: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

33

Usuario final (servicio web)

CA Raíz (instalada en

el navegador)

Autoridad Intermedia

(no hay conocimiento

previo)

Page 34: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

34

1

2 3

Debe

corresponderse

con la URL

Relaciona el certificado

web con la CA intermedia

Relaciona la CA

intermedia con la

CA raíz

1: El certificado de usuario

(web).

2: El certificado de la CA

intermedia (que el propio

servicio web suministra).

3: CA Raíz, instalada

previamente en el navegador

Nota: Es necesario

validar todas las firmas.

Page 35: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

35

Uso de X.509

Aspectos adicionales. • En ocasiones existe una tercera entidad la

RA (Autoridad de registro) [FNMT].

• Distinción entre autentificación y cifrado.

• Existen herramientas disponibles para

generar CA y certificados (openssl).

• En la práctica, todas las CA reconocidas

son iguales.

Page 36: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

36

Firewalls

generalidades

• Un firewall no es sólo un filtro de

paquetes, es toda una arquitectura.

• Hace homogéneo lo que no lo es.

• Permite forzar una política de seguridad

(dos alternativas).

Page 37: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

37

Firewalls

Componentes

• Bastion Host: Ordenador expuesto a

Internet, medidas de seg. extremas.

• Dual-Homed Host: Ordenador con dos

tarjetas de red.

• DMZ (red perimetral): Es la red entre la

red interna e Internet.

• Proxy y filtros: Se ven luego.

Page 38: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

38

Firewalls

Filtros de paquetes (screened host)

• Es uno de los elementos fundamentales

de un firewall.

• Su propósito principal es definir un

sistema de control de acceso en base a

una serie de reglas.

• Se aplica en un router que soporte eso,

o bien en un ordenador configurado como

filtro, Pero siempre en el camino de

entrada/salida.

• Dependiendo de lo complejo que sea,

puede llegar a inspeccionar todos los

niveles OSI.

Internet Red Interna

Filtro

Dirección MAC, EtherType.

Dirección IP origen, destino.

Puerto origen/destino, TCP/UDP.

Datos de nivel de aplicación:

FTP, DNS, otros.

Toma de

decisión en

función de:

¿OK? SÍ NO

Page 39: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

39

Firewalls

Problemas con filtros (I)

• En TCP se señala perfectamente el inicio

de conexión, bastaría con inspeccionar las

banderas de la cabecera TCP.

• Sin la trama primera “SYN” no es posible

iniciar una conexión TCP.

El concepto de dirección (entrada o salida), SÓLO existe

conceptualmente, casi siempre hay tramas en los dos sentidos.

Debo distinguir lo que es un ataque de lo que es una respuesta

normal.

• En el caso de UDP, es más

complicado pues no existe el

concepto de conexión, pero puedo

observar la petición de salida y

esperar la respuesta.

SYN

SYN+

ACK

ACK

Inicio de conexión

TCP.

¡Solo se usa al

principio!

Registro respuesta, compruebo que es de una

pregunta anterior, permito pasar y cierro el

“hueco”. 4

Puerto origen: 5645,

Dirección Origen=10.7.5.3

Puerto destino: 53,

Dirección Destino=10.2.4.5

(PETICIÓN DNS)

1

Registro parámetros

de la petición, abro un

“hueco” en el filtro.

2

Puerto origen: 53,

Dirección Origen=10.2.4.5

Puerto destino: 5645,

Dirección Destino=10.7.5.3

(RESPUESTA DNS)

3

Ejemplo:

Consulta DNS.

Page 40: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

40

Firewalls

Problemas con los filtros (II) • El estándar FTP, cuando no usa el modo

pasivo, al transferirse un fichero, el servidor

inicia una conexión al puerto indicado por el

cliente. Esa conexión entrante “no tiene nada

que ver” con la conexión de control FTP.

Iniciar transferencia. Indico

puerto local abierto (ej. 4531).

21/tcp

20/tcp 4531/tcp

La transferencia se

inicia con una conexión

ENTRANTE.

FTP: conexión de datos

sin modo PASV.

SOLUCIÓN 1: Permitir conexiones con origen puerto 20 y cualquier destino porque

éstas son de una conexión FTP en curso.

1239/tcp

Cualquier conexión entrante se

rechaza excepto las que

provienen del puerto 20/tcp.

20/tcp 22/tcp

Nuestro firewall impedirá esas conexiones

PROBLEMA:

• Si nuestro atacante genera una

conexión con puerto origen 20 (no es

normal, pero es posible), nuestro

servidor está abierto a ataques.

• Se podría paliar con control de acceso

en el propio servidor, pero eso no hace

desaparecer el problema, sólo lo oculta.

Page 41: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

41

Firewalls

Problemas con los filtros (III)

SOLUCIÓN 2: Usar el modo pasivo del FTP, en este modo la conexión de

datos se origina en el cliente, y va hasta el servidor.

PROBLEMA:

• Si el servidor al que se accede

no soporta modo pasivo, no es

solución.

• Si tenemos un servidor FTP en

nuestra red local, el modo pasivo

es, precisamente, un problema.

Se permite acceso al FTP

(puerto de control 21/tcp), se

deniega el resto.

Cliente FTP.

21/tcp

5431/tcp

Solicitud de transferencia

modo pasivo al puerto

5431/tcp. 1 El servidor, acepta ese

modo y permanece a la

escucha en ese puerto.

2

¡La conexión no se

produce por culpa

del filtro!

SOLUCIÓN 3: Permitir el uso de los dos modos, y usar un filtro que

inspeccione el nivel de aplicación (las solicitudes de transferencia).

PROBLEMA:

• Para filtros simples, esto no es posible. Si lo es, suministra más carga al filtro.

• No hay una solución universal para todos los protocolos de Niv. de Aplicación.

Page 42: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

42

Firewalls

Servidor Proxy

• Los clientes no acceden

directamente al servidor, sino que

es el proxy el que lo hace en su

nombre. Me permite inspeccionar

las peticiones.

• A veces es necesario un cliente especial que soporte estar detrás de un

proxy, pero otras (p.ej: smtp, http ) se usa el cliente normal. El proxy, en

cualquier caso, es específico para cada aplicación.

• Lo ideal es que el cliente (usuario) ni siquiera se de cuenta: proxies

transparentes.

El proxy recibe esas

peticiones y es el proxy el

que accede al servidor web.

Servidor WEB Servidor proxy Navegador WEB

Se redirecciona

la petición al

servidor web.

Proxy transparente Servidor WEB

“Cree” que las

peticiones las hace

“proxy

transparente”. (dir.

IP origen == proxy) Navegador WEB

Cree que accede

directamente al servidor WEB

(dir. IP dest == Servidor WEB)

Monitorizar acceso, control de acceso por

horas, impedir acceso a contenidos que violen

las políticas de uso, control de virus, mejorar

rendimiento (proxy-cache).

¿Qué puedo

hacer?

Page 43: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

43

Firewalls

Arquitecturas. Screening router Red Interna Internet

En esta arquitectura, el único

elemento es un filtro de paquetes (ya

sea un router o un ordenador).

Es muy simple de implementar.

Es la primera y “última” línea de defensa. Es conveniente instalar contramedidas en los hosts de la

red interna.

Permite filtrar por puertos (aplicaciones) y por direcciones IP (ordenadores), pero no por usuarios.

Tiene acceso limitado al nivel de aplicación:

• Respecto al filtrado de protocolos complejos.

• No puede hacer un análisis tipo antivirus, filtros por contenidos …

• No puede distinguir un acceso al puerto 80 que transporte HTTP de un acceso al puerto 80

que transporte SSH (se entiende conexiones dentro->fuera).

Se puede implementar con ACL en un router CISCO o con “iptables” en

Linux.

Page 44: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

44

Firewalls

Arquitecturas. Dual-homed host

Imagen: Building Internet

Firewalls, 2nd Edition.

• El host central, tiene las capacidades

de routing desactivadas.

• El acceso directo entre Internet y la red

Interna está prohibido. Sólo se accede a

través de los servicios de proxy

(transparente o no) del host central.

• Es más robusto que la arquitectura anterior, pero sigue habiendo un punto

único de fallo.

• Para redes de tamaño medio es correcto, redes grandes podrían

sobrecargarlo.

• Hay servicios que son difíciles de implementar con proxy, y tener cuentas en

el mismo no es buena idea.

• No permite tener servicios al exterior.

Page 45: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

45

Firewalls Arquitecturas. Bastion Host sin DMZ

• El filtro se establece de forma que sólo se

permita el tráfico desde y hacia el Bastion

Host.

• Los usuarios de la red interna hacen uso de

los servicios de proxy, igual que antes.

• Se permite que el Host Bastion albergue servicios al exterior. En este caso,

el filtro impone medidas adicionales de seguridad ante problemas.

•Opcionalmente se pueden permitir ciertos accesos directos desde la red

interna (aquellos en los que no se puede usar proxy).

• Si alguien accede al Host Bastion, puede aplicar otras tácticas para

acceder a la red interna (incluso en redes con switch).

Imagen: Building

Internet Firewalls,

2nd Edition.

Page 46: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

46

Firewalls Arquitecturas. Bastion Host con DMZ

Imagen:

Building

Internet

Firewalls,

2nd Edition.

• Traslado nuestro Host Bastion a una red

perimetral (DMZ) que es físicamente distinta

de la red interna.

• Los ordenadores de la red interna o bien

acceden a través del Bastion Host, o bien

directamente. El acceso a la red interna está

prohibido, incluso para la DMZ.

• La DMZ y la red interna son ahora dos dominios de broadcast distintos, un

ataque al Bastion Host no afecta a la red interna.

• El router exterior no hace casi nada, además no suelo tener acceso a él.

• En el caso de determinados servicios (DNS, SMTP), se puede plantear algunos

dilemas interesantes.

• Es una arquitectura bastante válida.

Page 47: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

47

Firewalls

Otras arquitecturas

Esta arquitectura tiene dos Bastion

Host, cada un para una tarea

determinada. Permite distribuir carga.

En esta arquitectura, se fusionan el router

interior y el exterior. Siempre que se puedan

definir reglas de filtrado con versatilidad,

sigo teniendo una DMZ.

En este caso, se fusionan el Bastion

Host y el router interno. Esta

arquirectura es mala porque supone

eliminar “de-facto” la red DMZ.

Imágenes: Building

Internet Firewalls, 2nd

Edition.

Page 48: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

48

Firewalls

Otras arquitecturas

Sin embargo, es posible unir el Bastion Host y el

router exterior, por ejemplo si se accede con

modem y es el Bastion Host el que lo hace.

Esta arquitectura no es recomendable

porque suele ser difícil mantener la

coherencia entre los dos router, y basta que

sólo uno esté mal configurado para que

tengamos problemas de seguridad.

Si quiero tener varios routers, esto es

mucho mejor. Además esto me permite

crear distintos niveles de seguridad dentro

de la red interna. Imágenes: Building

Internet Firewalls, 2nd

Edition.

Page 49: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

49

Firewalls

Conclusiones

• ¿Qué puede hacer un firewall?

– Proteger de forma homogénea lo que no lo

es.

– Forzar determinadas políticas.

• ¿Qué no puede hacer?

– Protegerme del “enemigo en casa”.

– Protegerme de lo que no se que existe.

– Protegerme de nuevas amenazas.

Page 50: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

50

Seguridad

Discusión final

• La visión de la seguridad como

vulneración de libertades fundamentales.

• Lo que es cómodo para mi es incomodo

para “ellos”.

• Es fundamental que se establezca una

política de seguridad por parte de la

dirección de la empresa.

Page 51: Tema 5. Seguridad en Redes y protocolos asociados · mensaje de longitud fija. • Si el mensaje se modifica, el hash no coincide. • Usado con sistemas de cifrado, ofrece integridad

51

Bibliografía

• “Building Internet Firewalls 2nd Ed.”, Chapman y otros, O´Reilly.

• “Web Security, privacy and comerce 2nd Ed.”, Garfinkel, O’Reilly.

• “Cryptography and Network Security: Principles and Practice”, W. Stallings,

PrenticeHall 2003.

• http://www.snailbook.com/protocols.html, Documentación SSH.

• http://wp.netscape.com/eng/ssl3/draft302.txt , Documentación SSL.

• RFCs de IPsec.

Agradecimientos: