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