Unidad IV Almacenamiento de Datosdsc.itmorelia.edu.mx/~jcolivares/courses/sd107v/sd1_u4.pdf ·...

Post on 05-Oct-2020

11 views 0 download

Transcript of Unidad IV Almacenamiento de Datosdsc.itmorelia.edu.mx/~jcolivares/courses/sd107v/sd1_u4.pdf ·...

Unidad IV Almacenamiento de Datos

M.C. Juan Carlos Olivares Rojas

Temario

4.1. Nombres 4.2. Criptografía g4.3. Protección 4.4. Seguridad 4.5. Archivos distribuidos 4.6. Duplicidad de datos 4.7. Fallas de partición 4.8. Beneficios de la duplicidad

Temario sugeridog

4.1. Archivos distribuidos (NFS)4.2. Duplicidad de datos 4.3. Fallas de partición 4.4. Beneficios de la duplicidad 4.5. Nombres 4.6. Criptografía4.6. Criptografía 4.7. Protección 4.8. Seguridad4.8. Seguridad

4.1. Archivos distribuidos • Parte esencial de cualquier sistema

corresponde con el almacenamiento de lainformación, esto se logra a través de unsistema de archivos.

• Los archivos son las unidades lógicas pararepresentar la información, y en un sistemarepresentar la información, y en un sistemadistribuido los archivos pueden estar enprácticamente cualquier parte.prácticamente cualquier parte.

Archivos distribuidos• Un sistema de archivos distribuidos va más

allá de un sistema de múltiples archivosmultiusuarios.

• En general un servidor de archivos proveeEn general un servidor de archivos proveelos servicios de archivo y de directorios.

• Las características de un servidor dearchivos distribuidos son:archivos distribuidos son:

Archivos distribuidos• Transparencia de nombres (localización)

• Los modelos de acceso a los archivosLos modelos de acceso a los archivospueden ser remoto o de carga/descarga.

• El nombre de los recursos puede ser/máquina/ruta o máquina:ruta/máquina/ruta o máquina:ruta

Archivos distribuidos• Algunas características que comparten los

sistemas de archivos son:

• En general son pequeños (<10 KB)• La lectura es más común que la escritura• La lectura es más común que la escritura• La lectura y escritura son secuenciales, es

raro el acceso aleatorioraro el acceso aleatorio• La mayoría de los archivos tiene una vida

corta.

Archivos distribuidos• Es poco usual compartir archivos• Los procesos promedio utilizan pocos

archivos

• Se recomienda el uso de cachés para evitar• Se recomienda el uso de cachés para evitarproblemas de escritura simultánea.

NFS• Network File System fue creado por Sun

para tener un sistema de archivosdistribuidos en entornos Unix. Actualmentemuchos sistemas operativos no Unix losoportan.

• NFS basa su funcionamiento en RPC para laNFS basa su funcionamiento en RPC para laoperación de archivos de manera remota yutiliza XDR para representar datosutiliza XDR para representar datosindependientes de la plataforma

NFS• El núcleo de la arquitectura NFS

corresponde al VFS (Virtual File System), elcual se encarga de los procedimientos sobrelos archivos.

• VFS está formado por una estructurallamada vnode (nodo virtual), los cuales sonllamada vnode (nodo virtual), los cuales sonúnicos para cada archivo e independiente delos i-node o nodos físicos del sistema.los i node o nodos físicos del sistema.

NFS• Todo directorio tiene referencia a un sistema

de archivo padre y al sistema de archivos delde archivo padre y al sistema de archivos delcual se encuentra montado.

• NFS utiliza un sistema de caché parasoportar operaciones básicas delmantenimiento de los vnodes así como lospermisos.

• NFS es un servidor sin estado.

NFS• La lista de directorios que se exportan se

encuentran en /etc/exports

• Se pueden montar directorios NFS demanera automática (depende de lasmanera automática (depende de lasversiones *X)

• NFS no es el único sistema de archivosremotos existen otros como RFS Coda etcremotos, existen otros como RFS, Coda, etc.

NFS• Basa su esquema de permisos igual que el

sistema de archivos en Unix Puedesistema de archivos en Unix. Puedeauxiliarse de NIS (Network InformationService)Service).

• Con el comando mount se puede acceder aun directorio remoto: mount serv1:/dir/h/home

• La versión más actual de NFS es la 4.0

NFS• Lo primero es cerciorarse que NFS se está

ejecutando, esto se hace con el comandorpcinfo –p

• Deben estar los procesos nfs y mountdDeben estar los procesos nfs y mountd

Para inicializar el servicio se ocupa nfs start• Para inicializar el servicio se ocupa nfs startdesde la línea de comandos y nfs stop paradetener el serviciodetener el servicio.

NFS• En Linux NFS se compone de 4 demonios

principales: rpc.statd, rpc.quotad, rpc.mountdy rpc.nfsd

• Sintaxis del archivo /etc/exportsSintaxis del archivo /etc/exports

/export/home denon(rw) pepe(rw) \• /export/home denon(rw) pepe(rw) \• Unixadmin(rw, no_root_squash)

NFS• En lugar de nombres de dominio se pueden

dar direcciones IP y de red

• /usr/local 192.168.0.0/255.255.255.0(rw)

• Una vez establecido los directorios aexportar se debe hacer uso del comandoexportar, se debe hacer uso del comandoexportfs –a

NFS• Se recomienda editar /etc/host.allow y

/etc/host.deny

• Se recomienda editar /etc/fstab paraautomontar una unidad remotaautomontar una unidad remota

carlitros:/home /home/carlos nfs rw bg intr• carlitros:/home /home/carlos nfs rw,bg,intr,soft 0 0

4.2. Duplicidad de datos p• Se utiliza la duplicidad de los datos para

tener sistemas tolerantes a fallos de mástener sistemas tolerantes a fallos, de másfácil acceso, entre otras ventajas.

• El principal problema que presenta laduplicación de los datos tiene que ver con latransparencia de almacenamiento.

• Otro problema importante consiste en laOtro problema importante consiste en laconsistencia de la información.

Duplicidad de datosp• Un sistema de archivos distribuidos se

caracteriza por tener un servidor de réplicas.

• El servidor de réplicas debe contener unprotocolo de actualización eficiente (e.g., noprotocolo de actualización eficiente (e.g., nose debe enviar un mensaje de actualizacióna todas las copias).a todas las copias).

Duplicidad de datosp• Se manejan esquemas de actualización de

réplicas primarias y secundarias, basado enquorum, entre otros mecanismo.

• La duplicidad de los datos se puede hacer aLa duplicidad de los datos se puede hacer anivel físico como los sistemas RAID.

• Las cachés son un ejemplo de duplicidad dedatos que traen grandes beneficiosdatos que traen grandes beneficios.

4.3. Fallas de partición p• Son las fallas de comunicación más

importantes ya que fragmentan la red enpequeñas áreas llamadas particioneshaciendo imposible el manejo de laconsistencia de los datos.

• Son difíciles de detectar ya que no sonSon difíciles de detectar ya que no sonvisibles para todos los nodos de la red.

Fallas de particiónp• Las fallas de partición pueden ser muy

comunes por lo que los sistemas de archivosdeben tener un mecanismo que permitareintegrar los datos una vez eliminada lapartición.

• Esta idea atraído como consecuencia el usoEsta idea atraído como consecuencia el usode sistemas de archivos con soporte adesconexión, los cuales son útiles endesconexión, los cuales son útiles enentornos de cómputo móvil.

4.4. Beneficios de la duplicidadp• De los beneficios de la duplicidad ya se ha

comentado mucho al respecto en láminasanteriores. A continuación se destacan losprincipales beneficios:

• Mejor desempeño (tiempo de respuesta)• Alta disponibilidad• Alta disponibilidad• Tolerancia a fallas

4.5. Nombres • En los sistemas distribuidos los nombres

hacen referencia a cualquier entidad, ya seaun archivo, un periférico, un proceso, etc.que se pueden encontrar en máquinasremotas.

• Los servidores de nombres ayudan aLos servidores de nombres ayudan alocalizar fácilmente y hacer transparente elacceso a los recursos (transparencia deacceso a los recursos (transparencia delocalización).

Nombres• Los servidores de nombre ayudan a

simplificar el acceso a los recursos al tenerun identificador fácil de recordar como unnombre propio, a tener una direcciónnumérica.

• Uno de los servicios de nombres másUno de los servicios de nombres másfamosos es DNS (Domain Name Service) elcual mapea direcciones IP a nombrescual mapea direcciones IP a nombresalfanuméricos.

Nombres• DNS se originó para sustituir el viejo

d l l b d lesquema de almacenar los nombres de lasmáquinas en un archivo (/etc/hosts).

• Actualmente existen diversas variantes deDNS como el DDNS o DNS dinámico.

• Procesos como portmap, rmiregistry, orbd yUDDI se les considera servidores deUDDI se les considera servidores denombres.

Nombres• Las operaciones más comunes con los

servidores de nombres son la resolución(obtención del nombre real a partir delabstracto) y la resolución inversa (obtenciondel nombre abstracto a partir del real).

• Se puede utilizar el comando lookup o digSe puede utilizar el comando lookup o digpara hacer la resolución de nombres ensistemas DNS.sistemas DNS.

Nombres• Los nombres deben ser únicos y mantener

una nomenclatura estándaruna nomenclatura estándar.

• En el sistema DNS se utiliza dominios raiz(.com, .net, .org, etc.) y dominios locales(.mx, .it, .cl, etc.) Esto forma una jerarquía dedominios y subdominios.

• Los recursos pueden ser movibles por loLos recursos pueden ser movibles, por loque el servicio de nombres debe actualizarse

Nombres• Se recomienda que los servidores de

nombres sean jerárquicos descentralizadosnombres sean jerárquicos, descentralizados,con duplicación de contenidos yredundantesredundantes.

• En general, el esquema de nombres deInternet viene dado por las URI:

• Protocolo://maquina dominio/recurso?paramProtocolo://maquina.dominio/recurso?paramentros

4.6. Criptografía p g• Viene del griego crypto que significa oculto y

grafía escrituragrafía escritura.

L i t fí l t d if l• La criptografía es el arte de cifrar lainformación.

• El criptoanálisis es el arte de descifrar unpmensaje.

• Criptografía y criptoanálisis van de la mano.

Criptografíap g• Los primeros métodos de cifrado fueron el de

transposición (cambiar el orden de las letras)y el de sustitución (cambiar una letra porotra).

• En la actualidad los métodos de cifrados sonmás robustos pero no indescifrables. Se tratamás robustos pero no indescifrables. Se tratade que el obtener el mensaje en claro seamás costoso que obtener el original.más costoso que obtener el original.

Criptografíap g• Los métodos actuales de cifrado basan la

codificación d e la información en base a unacodificación d e la información en base a unallave, dicha llave puede ser simétrica oasimétricaasimétrica.

• Algunos algoritmos importantes de cifradoson:

• DES (Data Encryption System) creado porDES (Data Encryption System) creado porIBM en 1974 utilizando claves de 64.

Criptografíap g• En 1999 DES fue roto, por lo que ya no se

utiliza en sistemas de alta seguridadutiliza en sistemas de alta seguridad.

L fi di it l l d• La firma digital es una clave muy grandeutilizada para cifrar información.

• Otro algoritmo de cifrado importante es RSAg p(Rivest-Shamir-Adleman).

• El algoritmo de cifrado más robusto es AES.

Criptografíap g• AES (Advanced Encryption System) fue

t d 2001 tili l l itpresentado en 2001, utiliza el algoritmoRIJNDAEL con llaves de 128, 192 y 256 bits.S t id útil d 20 ñSe espera tenga una vida útil de 20 años.

• Existen variaciones de los algoritmos como3DES, o algoritmos de libre distribución, gcomo PGP (Pretty Good Privacy)

• RSA basa sus llaves en números primos.

4.7. Protección • La protección de la información en cualquier

sistema sea distribuido o no resulta vitalsistema sea distribuido o no resulta vital.

• Para la protección se necesita plantearsemetodologías adecuadas que garanticen unamayor protección.

• Una de las mejoras maneras de tenerprotegido un sistema es a través de laprotegido un sistema es a través de laautenticación y autorización de usuarios.

Protección• La autenticación generalmente se da a

través de esquemas de contraseñas, lascuales si no cuentan con una política robustade generación y mantenimiento se vuelvenfácilmente vulnerables.

• Un esquema de autenticación seguro esUn esquema de autenticación seguro eskerberos, el cual se utiliza para autenticar eluso de servicios como NFS, etc.uso de servicios como NFS, etc.

Protección• Kerberos se basa en un esquema de boletos

entregados para la autenticación y de dosllaves secretas una dada por kerberos y otraconocida por los usuarios para entrar alsistema.

• Un buen mecanismo de protección debeUn buen mecanismo de protección debeevitar que usuarios roben ciclos de CPUs aotros, tener más derechos que otros sinotros, tener más derechos que otros sinhabercelos otorgado previamente, etc.

Protección• Se debe garantizar la integridad y provacidad

de los datos de los usuariosde los datos de los usuarios.

• Se debe proteger la cesión de derechos dealgún recurso en el sistema.

• El esquema básico de protección radica enEl esquema básico de protección radica enuna matriz de acceso, en la cual se listan losrecursos y las actividades que se puedenrecursos y las actividades que se puedenrealizar sobre él.

Protección• Las matrices de acceso no son tan eficientes

ya que dependen de la cantidad de recursosya que dependen de la cantidad de recursos,usuarios y accesos.

• Un mejor esquema son las lista de control deacceso en las cuales se puede especificar elacceso a cada recurso de una mejor forma.

• Un mejor esquema de protección es elUn mejor esquema de protección es elacceso a través de roles

4.8. Seguridad g• Existen muchos riesgos en los sistemas

distribuidos y en general en cualquiersistema basado en red, por ejemplo:

• Virus y troyanosVirus y troyanos• Entrada no autorizada a sistemas

Destrucción o pérdida de información• Destrucción o pérdida de información• Alteración de transacciones• Etcétera

Seguridadg• Los principales ataques y vulnerabilidades de

seguridad son los siguientes:

• Ingeniería social• Spoofing (suplantación)• Spoofing (suplantación)• Denegación de servicio• Uso de sniffers

Seguridadg• Algunas recomendaciones para mejorar la

id d d i tseguridad de un sistema son:

• Revisar patrones de acceso ycomportamiento a cuentas de usuarios yp yservicios.

• Verificar que las políticas del sistema nohayan cambiado de tal forma que no sehayan cambiado, de tal forma que no sepermitan muchos puertos abiertos, etc.

Seguridadg• Se debe hacer especial énfasis en la

seguridad física por que muchos problemasseguridad física por que muchos problemasde seguridad vienen desde el interior.

• Las políticas de seguridad deben serindependientes de la tecnología empleada.

• En general existen dos tipos de ataque:pasivos y activos siendo éstos últimos lospasivos y activos, siendo éstos últimos losmás perjudiciales.

Seguridadg• Una buena forma de otorgar seguridad a los

sistemas distribuidos es a través de unFirewall, el cual se encarga de autorizar o noel acceso a determinados recursos en basealgunas reglas definidas.

• Otro mecanismo de seguridad son los proxysOtro mecanismo de seguridad son los proxysque permiten centralizar el tráfico de ciertoservicio pudiendo denegar el acceso o bienservicio pudiendo denegar el acceso o bienlimitarlo para los diferentes usuarios.

Seguridadg• La implantación de políticas de seguridad

puede hacerse desde dispositivos de redcomo conmutadores y encaminadores.

• La seguridad es un área con un crecimientoLa seguridad es un área con un crecimientoexponencial en los últimos años. Serecomienda basar las políticas de seguridadrecomienda basar las políticas de seguridaden estándares internacionales de tecnologíasde la información como ITIL, COBIT, etc.de la información como ITIL, COBIT, etc.

Referencias• Tanenbaum, Andrew (1996). Sistemas

Operativos Distribuidos. México, PrenticeHall.

• Shah, Steve (2001). Manual deShah, Steve (2001). Manual deadministración de Linux. Capítulo 18:Sistema de archivos de red (NFS), pp 375-Sistema de archivos de red (NFS), pp 375386. España, Osborne McGraw-Hill.

¿Preguntas?¿ g