Unidad IV Almacenamiento de Datos

Anuncio
Unidad IV Almacenamiento de
Datos
M.C. Juan Carlos Olivares Rojas
Temario
4.1. Nombres
g
4.2. Criptografía
4.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 sugerido
g
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ía
4.7. Protección
4.8. Seguridad
4.1. Archivos distribuidos
• Parte esencial de cualquier sistema
corresponde con el almacenamiento de la
información, esto se logra a través de un
sistema de archivos.
• Los archivos son las unidades lógicas para
representar la información, y en un sistema
distribuido los archivos pueden estar en
prácticamente cualquier parte.
Archivos distribuidos
• Un sistema de archivos distribuidos va más
allá de un sistema de múltiples archivos
multiusuarios.
• En general un servidor de archivos provee
los servicios de archivo y de directorios.
• Las características de
archivos distribuidos son:
un
servidor
de
Archivos distribuidos
• Transparencia de nombres (localización)
• Los modelos de acceso a los archivos
pueden ser remoto o de carga/descarga.
• El nombre de los recursos puede ser
/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 y escritura son secuenciales, es
raro el acceso aleatorio
• La mayoría de los archivos tiene una vida
corta.
Archivos distribuidos
• Es poco usual compartir archivos
• Los procesos promedio utilizan
archivos
pocos
• Se recomienda el uso de cachés para evitar
problemas de escritura simultánea.
NFS
• Network File System fue creado por Sun
para tener un sistema de archivos
distribuidos en entornos Unix. Actualmente
muchos sistemas operativos no Unix lo
soportan.
• NFS basa su funcionamiento en RPC para la
operación de archivos de manera remota y
utiliza XDR para representar datos
independientes de la plataforma
NFS
• El núcleo de la arquitectura NFS
corresponde al VFS (Virtual File System), el
cual se encarga de los procedimientos sobre
los archivos.
• VFS está formado por una estructura
llamada vnode (nodo virtual), los cuales son
únicos para cada archivo e independiente de
los ii-node
node o nodos físicos del sistema.
NFS
• Todo directorio tiene referencia a un sistema
de archivo padre y al sistema de archivos del
cual se encuentra montado.
• NFS utiliza un sistema de caché para
soportar
operaciones
básicas
del
mantenimiento de los vnodes así como los
permisos.
• NFS es un servidor sin estado.
NFS
• La lista de directorios que se exportan se
encuentran en /etc/exports
• Se pueden montar directorios NFS de
manera automática (depende de las
versiones *X)
• NFS no es el único sistema de archivos
remotos existen otros como RFS,
remotos,
RFS Coda,
Coda etc.
etc
NFS
• Basa su esquema de permisos igual que el
sistema de archivos en Unix.
Unix Puede
auxiliarse de NIS (Network Information
Service).
Service)
• Con el comando mount se puede acceder a
un 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 comando
rpcinfo –p
• Deben estar los procesos nfs y mountd
• Para inicializar el servicio se ocupa nfs start
desde la línea de comandos y nfs stop para
detener el servicio.
servicio
NFS
• En Linux NFS se compone de 4 demonios
principales: rpc.statd, rpc.quotad, rpc.mountd
y rpc.nfsd
• Sintaxis del archivo /etc/exports
• /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 a
exportar se debe hacer uso del comando
exportar,
exportfs –a
NFS
• Se recomienda
/etc/host.deny
editar
/etc/host.allow
• Se recomienda editar /etc/fstab
automontar una unidad remota
y
para
• carlitros:/home /home/carlos nfs rw,bg,intr,
rw bg intr
soft 0 0
4.2. Duplicidad
p
de datos
• Se utiliza la duplicidad de los datos para
tener sistemas tolerantes a fallos,
fallos de más
fácil acceso, entre otras ventajas.
• El principal problema que presenta la
duplicación de los datos tiene que ver con la
transparencia de almacenamiento.
• Otro problema importante consiste en la
consistencia de la información.
Duplicidad
p
de datos
• Un sistema de archivos distribuidos se
caracteriza por tener un servidor de réplicas.
• El servidor de réplicas debe contener un
protocolo de actualización eficiente (e.g., no
se debe enviar un mensaje de actualización
a todas las copias).
Duplicidad
p
de datos
• Se manejan esquemas de actualización de
réplicas primarias y secundarias, basado en
quorum, entre otros mecanismo.
• La duplicidad de los datos se puede hacer a
nivel físico como los sistemas RAID.
• Las cachés son un ejemplo de duplicidad de
datos que traen grandes beneficios.
beneficios
4.3. Fallas de partición
p
• Son las fallas de comunicación más
importantes ya que fragmentan la red en
pequeñas áreas llamadas particiones
haciendo imposible el manejo de la
consistencia de los datos.
• Son difíciles de detectar ya que no son
visibles para todos los nodos de la red.
Fallas de partición
p
• Las fallas de partición pueden ser muy
comunes por lo que los sistemas de archivos
deben tener un mecanismo que permita
reintegrar los datos una vez eliminada la
partición.
• Esta idea atraído como consecuencia el uso
de sistemas de archivos con soporte a
desconexión, los cuales son útiles en
entornos de cómputo móvil.
4.4. Beneficios de la duplicidad
p
• De los beneficios de la duplicidad ya se ha
comentado mucho al respecto en láminas
anteriores. A continuación se destacan los
principales beneficios:
• Mejor desempeño (tiempo de respuesta)
• Alta disponibilidad
• Tolerancia a fallas
4.5. Nombres
• En los sistemas distribuidos los nombres
hacen referencia a cualquier entidad, ya sea
un archivo, un periférico, un proceso, etc.
que se pueden encontrar en máquinas
remotas.
• Los servidores de nombres ayudan a
localizar fácilmente y hacer transparente el
acceso a los recursos (transparencia de
localización).
Nombres
• Los servidores de nombre ayudan a
simplificar el acceso a los recursos al tener
un identificador fácil de recordar como un
nombre propio, a tener una dirección
numérica.
• Uno de los servicios de nombres más
famosos es DNS (Domain Name Service) el
cual mapea direcciones IP a nombres
alfanuméricos.
Nombres
• DNS se originó para sustituir el viejo
esquema de
d almacenar
l
l
los
nombres
b
d las
de
l
máquinas en un archivo (/etc/hosts).
• Actualmente existen diversas variantes de
DNS como el DDNS o DNS dinámico.
• Procesos como portmap, rmiregistry, orbd y
UDDI se les considera servidores de
nombres.
Nombres
• Las operaciones más comunes con los
servidores de nombres son la resolución
(obtención del nombre real a partir del
abstracto) y la resolución inversa (obtencion
del nombre abstracto a partir del real).
• Se puede utilizar el comando lookup o dig
para hacer la resolución de nombres en
sistemas DNS.
Nombres
• Los nombres deben ser únicos y mantener
una nomenclatura estándar.
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 de
dominios y subdominios.
• Los recursos pueden ser movibles,
movibles por lo
que el servicio de nombres debe actualizarse
Nombres
• Se recomienda que los servidores de
nombres sean jerárquicos,
jerárquicos descentralizados,
descentralizados
con
duplicación
de
contenidos
y
redundantes.
redundantes
• En general, el esquema de nombres de
Internet viene dado por las URI:
• Protocolo://maquina
Protocolo://maquina.dominio/recurso?param
dominio/recurso?param
entros
4.6. Criptografía
p g
• Viene del griego crypto que significa oculto y
grafía escritura.
escritura
• L
La criptografía
i t
fí es ell arte
t de
d cifrar
if
l
la
información.
• El criptoanálisis
p
es el arte de descifrar un
mensaje.
• Criptografía y criptoanálisis van de la mano.
Criptografía
p 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 por
otra).
• En la actualidad los métodos de cifrados son
más robustos pero no indescifrables. Se trata
de que el obtener el mensaje en claro sea
más costoso que obtener el original.
Criptografía
p g
• Los métodos actuales de cifrado basan la
codificación d e la información en base a una
llave, dicha llave puede ser simétrica o
asimétrica.
asimétrica
• Algunos algoritmos importantes
son:
de cifrado
• DES (Data Encryption System) creado por
IBM en 1974 utilizando claves de 64.
Criptografía
p g
• En 1999 DES fue roto, por lo que ya no se
utiliza en sistemas de alta seguridad.
seguridad
• L
La firma
fi
di it l es una clave
digital
l
muy grande
d
utilizada para cifrar información.
• Otro algoritmo
g
de cifrado importante
p
es RSA
(Rivest-Shamir-Adleman).
• El algoritmo de cifrado más robusto es AES.
Criptografía
p g
• AES (Advanced Encryption System) fue
presentado
t d en 2001,
2001 utiliza
tili
ell algoritmo
l it
RIJNDAEL con llaves de 128, 192 y 256 bits.
S espera tenga
Se
t
una vida
id útil de
d 20 años.
ñ
• Existen variaciones de los algoritmos como
g
de libre distribución
3DES,, o algoritmos
como 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 vital.
vital
• Para la protección se necesita plantearse
metodologías adecuadas que garanticen una
mayor protección.
• Una de las mejoras maneras de tener
protegido un sistema es a través de la
autenticación y autorización de usuarios.
Protección
• La autenticación generalmente se da a
través de esquemas de contraseñas, las
cuales si no cuentan con una política robusta
de generación y mantenimiento se vuelven
fácilmente vulnerables.
• Un esquema de autenticación seguro es
kerberos, el cual se utiliza para autenticar el
uso de servicios como NFS, etc.
Protección
• Kerberos se basa en un esquema de boletos
entregados para la autenticación y de dos
llaves secretas una dada por kerberos y otra
conocida por los usuarios para entrar al
sistema.
• Un buen mecanismo de protección debe
evitar que usuarios roben ciclos de CPUs a
otros, tener más derechos que otros sin
habercelos otorgado previamente, etc.
Protección
• Se debe garantizar la integridad y provacidad
de los datos de los usuarios.
usuarios
• Se debe proteger la cesión de derechos de
algún recurso en el sistema.
• El esquema básico de protección radica en
una matriz de acceso, en la cual se listan los
recursos y las actividades que se pueden
realizar sobre él.
Protección
• Las matrices de acceso no son tan eficientes
ya que dependen de la cantidad de recursos,
recursos
usuarios y accesos.
• Un mejor esquema son las lista de control de
acceso en las cuales se puede especificar el
acceso a cada recurso de una mejor forma.
• Un mejor esquema de protección es el
acceso a través de roles
4.8. Seguridad
g
• Existen muchos riesgos en los sistemas
distribuidos y en general en cualquier
sistema basado en red, por ejemplo:
•
•
•
•
•
Virus y troyanos
Entrada no autorizada a sistemas
Destrucción o pérdida de información
Alteración de transacciones
Etcétera
Seguridad
g
• Los principales ataques y vulnerabilidades de
seguridad son los siguientes:
•
•
•
•
Ingeniería social
Spoofing (suplantación)
Denegación de servicio
Uso de sniffers
Seguridad
g
• Algunas recomendaciones para mejorar la
seguridad
id d de
d un sistema
i t
son:
• Revisar
patrones
de
acceso
y
p
a cuentas de usuarios y
comportamiento
servicios.
• Verificar que las políticas del sistema no
hayan cambiado,
cambiado de tal forma que no se
permitan muchos puertos abiertos, etc.
Seguridad
g
• Se debe hacer especial énfasis en la
seguridad física por que muchos problemas
de seguridad vienen desde el interior.
• Las políticas de seguridad deben ser
independientes de la tecnología empleada.
• En general existen dos tipos de ataque:
pasivos y activos,
activos siendo éstos últimos los
más perjudiciales.
Seguridad
g
• Una buena forma de otorgar seguridad a los
sistemas distribuidos es a través de un
Firewall, el cual se encarga de autorizar o no
el acceso a determinados recursos en base
algunas reglas definidas.
• Otro mecanismo de seguridad son los proxys
que permiten centralizar el tráfico de cierto
servicio pudiendo denegar el acceso o bien
limitarlo para los diferentes usuarios.
Seguridad
g
• La implantación de políticas de seguridad
puede hacerse desde dispositivos de red
como conmutadores y encaminadores.
• La seguridad es un área con un crecimiento
exponencial en los últimos años. Se
recomienda basar las políticas de seguridad
en estándares internacionales de tecnologías
de la información como ITIL, COBIT, etc.
Referencias
• Tanenbaum, Andrew (1996). Sistemas
Operativos Distribuidos. México, Prentice
Hall.
• Shah,
Steve
(2001).
Manual
de
administración de Linux. Capítulo 18:
Sistema de archivos de red (NFS), pp 375375
386. España, Osborne McGraw-Hill.
¿
¿Preguntas?
g
Descargar