Sistema de Archivos Criptogr�fico bajo Linux (CFS) COMO
Copyright (C) 1996 Alexander O. Yuriev,
[email protected]�
ple.edu
Fern�ndez Barqu�n
[email protected]
Marzo 14, 1996
Este documento describe c�mo compilar, instalar y configurar CFS, el
Cryptographical File System.
______________________________________________________________________
�ndice General:
1. Introducci�n
2. Copyright
3. ACERCA DE CFS
4. Compilaci�n e instalaci�n de CFS.
5. Creaci�n del directorio CFS.
6. Protecci�n del CFS.
7. Problemas conocidos de CFS
8. Cr�ditos (Documento en ingl�s).
9. Nota de la traducci�n.
10. scripts
11. Anexo: El INSFLUG
______________________________________________________________________
1. Introducci�n
Este documento describe c�mo compilar, instalar y configurar CFS, que
fue escrito por Matt Blaze de AT&T, bajo Linux.
2. Copyright
La siguiente nota de copyright, copiada directamente de CFS 1.12
describe las restricciones sobre el uso de CFS:
El autor de este software es Matt Blaze. Copyright � 1992, 1993, 1994
por AT&T. Se permite usar, copiar, y modificar este software sin
necesidad de permiso expreso, con la condici�n que este aviso sea
incluido �ntegramente en todas las copias del software tal y como est�
en todas las copias o modificaciones de este software, as� como en
todas las copias de la documentaci�n de soporte para dicho software.
Este software est� sujeto a los controles de exportaci�n de los
Estados Unidos. No est� permitido exportarlo, en su totalidad o en
parte, por cualquier motivo o permitir cualquier exportaci�n, por
medio de acto u omisi�n, sin previa autorizaci�n de parte del gobierno
de los Estados Unidos y permiso escrito de AT&T.
En particular, usted no debe hacer disponible cualquier parte de este
software para distribuci�n general o no restringida a otros, o no
deber�a usted revelar este software a personas diferentes a los
ciudadanos y residentes permanentes de los Estados Unidos y Canad�.
ESTE SOFTWARE SE PROVEE "TAL CUAL", SIN NINGUNA GARANT�A EXPRESA O
IMPLICADA. EN PARTICULAR, NI LOS AUTORES NI AT&T HACEN NINGUNA
REPRESENTACION O GARANT�A DE NING�N TIPO CONCERTANDO LA MERCANTILIDAD
DE ESTE SOFTWARE O SUS PROP�SITOS PARA ALG�N PROP�SITO EN PARTICULAR.
A pesar que la informaci�n en este documento es considerada como
correcta, ni el Autor ni los Laboratorios CIS, o la Universidad Temple
da ninguna clase de GARANT�AS y no es o se hace responsable de lo que
pueda pasar si usted sigue esta gu�a. La informaci�n en este
documento se proporciona TAL CUAL!.
3. ACERCA DE CFS
CFS proporciona una aplicaci�n independiente de encriptaci�n-
desencriptaci�n de la capa del sistema de archivos que no requiere
modificaci�n del c�digo principal del sistema de archivos o ninguna
clase de modificaci�n del c�digo del kernel.
El seguro sim�trico implementado en la versi�n del flujo principal del
CFS est� basado sobre un seguro DES modificado, ejecut�ndose en modo
CBC haciendo un ataque de fuerza bruta en contra del usual espacio de
llave DES, no real de 56 bits.
La estructura del CFS realiza un remplazo del flujo principal del
seguro DES con un Fast-DES o alg�n otro seguro sim�trico que provea un
proceso extremadamente seguro. Por favor refi�rase al "White paper"
referente al CFS para m�s informaci�n.
ftp://bach.cis.temple.edu/pub/Papers/cfs.ps
4. Compilaci�n e instalaci�n de CFS.
CFS no se compila tal y como viene sobre Linux. Las siguientes
instrucciones le llevar�n a conseguir que CFS se ejecute en su sistema
Linux. Hay diversos m�todos para hacer que CFS trabaje en Linux, el
m�s limpio de ellos es el basado sobre las modificaciones de Olaf
Kirch. Su versi�n de CFS esta disponible en
ftp://ftp.mathematik.th-darmstadt.de/pub/linux/okir/cfs-1.1.2.tar.gz
Olaf firm� el archivo modificado. La firma PGP de la versi�n
modificada del cfs-1.1.2 puede ser obtenida de
ftp://ftp.mathematik.th-darmstadt.de/pub/linux/okir/cfs-1.1.2.pgp
En modo mono-usuario, se compila CFS usando la instrucci�n "make".
Despu�s de la compilaci�n, instale cfsd, cdetach, ccat, cmkdir, cname
y cattach en el directorio /usr/local/sbin con propietario-grupo
root.wheel y el modo de acceso 551.
Genere una lista de hashes MD5 de los binarios limpios. Copie estos
archivos junto con el md5sum a un medio tal como un CD o un disquete y
prot�jalo contra escritura.
Cree el directorio /.cfsfs, el cual ser� usado como un gancho por el
servidor CFS. Cree este directorio como due�o root.root y protegido
con el modo de acceso "000". Cree el directorio /securefs, el cual se
convertir� en la ra�z del �rbol de CFS.
A�ada las siguientes l�neas a su /etc/rc.d/rc.local:
echo -n "Inicializando sistema de ficheros encriptado: "
if [ -x /usr/local/sbin/cfsd ]; then
/usr/local/sbin/cfsd > /dev/null
echo -n "cfsd "
/bin/mount -o port=3049,intr localhost:/.cfsfs /securefs
echo -n "loopback "
echo "done"
else
echo "No se ha instalado el sistema de ficheros encriptado"
fi
Los usuarios de las distribuciones Caldera Network Desktop y Red Hat
Commercial Linux deben a�adir el archivo cfsfs que est� inclu�do al
final de este documento en su directorio /etc/rc.d/init.d. Realice un
enlace simb�lico, S65cfsfs de �ste en los directorios apropiados al
nivel de ejecuci�n usando la instrucci�n:
ln -s ../init.d/cfsfs S65cfsfs
en /etc/rc.d/rcX.d, donde X es el n�mero de nivel de ejecuci�n (init),
a�ada la l�nea:
/.cfsfs localhost
en /etc/exports. Finalmente, a�ada la l�nea:
portmap: 127.0.0.1
al el archivo /etc/hosts.allow.
Reinicie su computadora. Esta entrar� en modo multiusuario. Ejecute el
comando mount para verificar que CFS est� corriendo. Si todo esto fue
superado con �xito, ver� una nueva l�nea en el lista de los sistemas
de archivos:
localhost:/.cfsfs on /securefs type nfs (rw,port=3049,intr,addr=127.0.0.1)
5. Creaci�n del directorio CFS.
Para crear un directorio CFS protegido llamado secreto use el comando
cmkdir secreto
Le pedir� que la frase de paso y que la verifique. Si sale bien, un
nuevo directorio llamado secreto aparecer� en el directorio actual.
Este directorio contendr� informaci�n encriptada la cual no ser�
accesible, s�lo lo ser� en el caso de que �ste est� a�adido al �rbol
del CFS.
Para ordenar que el directorio secreto se a�ada a la lista de
directorios administrados por CFS, este ha de ser a�adido a el �rbol
CFS usando la instrucci�n:
cattach secreto Gran-Secreto
CFS requerir� que escriba la frase de paso para el acceso. Si �sta
coincide con la frase de paso proporcionada a la instrucci�n cmkdir
que cre� el directorio originalmente, la informaci�n en el directorio
secreto ser� accesible de forma no encriptada bajo /securefs/Gran-
Secreto al usuario que proporcion� la frase de paso correcta. Note que
usualmente toma cerca de un minuto a�adir el directorio protegido al
�rbol del CFS. Cuando el usuario ha terminado de manipular la
informaci�n debe utilizar la instrucci�n:
cdetach Gran-Secreto
Para destruir la llave de acceso. Esta instrucci�n elimina el
directorio secreto de la lista de directorios administrados por CFS
haciendo imposible acceder a la informaci�n en forma de texto plano en
este directorio hasta que nuevamente sea a�adido usando la instrucci�n
cattach.
6. Protecci�n del CFS.
Para conceder acceso a un usuario a partes encriptadas del �rbol de
directorios, CFS necesita que el usuario proporcione la frase de paso
que es usada para generar un conjunto de llaves de acceso. Una
vulnerabilidad de una frase de paso, permitir� a un intruso acceder a
la informaci�n encriptada a trav�s del modulo de seguridad Unix.
Por ello, es extremadamente importante proteger el acceso a las frases
de paso. Hay dos maneras b�sicas que pueden ser utilizadas por los
intrusos para obtener su frase de paso. Son:
1. Ataques con Sniffers
2. Ataques contra el protocolo.
Las siguientes instrucciones pueden ser utilizadas para minimizar la
posibilidad de un ataque exitoso contra CFS:
1. Asegurar que los binarios de CFS no est�n comprometidos de ninguna
forma.
2. Asegurar que cattach, ccat, cmkdir, cname, el servidor CFS cfsd y
finalmente, cdattach no ser�n sustituidos por versiones
``troyanas'' que capturen las frases de paso o, en el caso del
cfsd, las llaves de acceso.
3. Asegurar que el Servidor CFS no est� comprometido de modo que no se
realice el procedimiento de encriptaci�n correctamente.
4. Un ataque contra cdeattach usualmente involucra una peque�a
modificaci�n que evita la correcta destrucci�n de las llaves de
acceso, permitiendo a un intruso obtener acceso a una parte
supuestamente separada del �rbol de directorios.
5. La manera m�s simple para asegurar que los binarios no sean
comprometidos es compilarlos est�ticamente y guardarlos en un CD.
Otra manera es compilar est�ticamente los binarios, usar md5sum, la
calculadora de procesado de mensaje (message-digest) y escribir los
hashes MD5 en un medio protegido contra escritura.
Antes de usar alguno de los programas de CFS sobre un sistema,
monte un disquete y compare los hashes MD5 de los binarios del
sistema con los hashes de las copias limpias compiladas
est�ticamente, localizadas en el disquete, sustituyendo las
versiones comprometidas.
6. Capturadores de teclado usados para capturar las frases de paso,
tal como los usuarios las van tecleando. Dependiendo de las
circunstancias, muchos usuarios no son lo bastante cuidadosos
ignorando las siguientes indicaciones:
a. Cuando escriba una frase de paso en una xterm, asegurar que el
programa xterm no est� comprometido y use la opci�n "Teclado
seguro" mientras se escribe la frase de paso. Esto previene que
las pulsaciones sean interceptadas por capturadores X-Window.
b. Escriba las frases de paso desde la terminal conectada
directamente a un puerto serie del sistema cuando dicha terminal
est� disponible.
c. Cerci�rese de que sus permisos en ptys y ttys no permitan a
otros la lectura de tus pulsaciones directamente del
dispositivo.
7. Nunca escriba su frase de paso a trav�s de la red, aunque la red
est� localizada tras un cortafuegos y conf�e en que todos los que
est�n conectados a su red no usen sniffers. Esto es aplicable
tambi�n a redes que usen routers seguros (scrambling routers),
porque no hay garant�a en absoluto que los routers usen un
encriptamiento s�lido o no tengan una puerta trasera o un agujero
de seguridad que potencialmente pueda permitir a un intruso anular
la encriptaci�n usada por el router. Si tiene que escribir su clave
de acceso a trav�s de la red, h�galo solamente si est� usando un
canal encriptado entre sistemas tal como el creado por el protocolo
deslogin(8).
8. Los �rboles protegidos CFS deben ser desligados siempre (de-attach)
del sistema de archivos cuando no sean usados, aun cuando vaya a
dejar su sistema "s�lo" por un par de minutos.
7. Problemas conocidos de CFS
Hasta este momento s�lo se conoce un problema que puede ser
reproducido. El error de "Permission denied" que se genera cuando un
usuario intenta acceder a archivos localizados en un disco compacto.
8. Cr�ditos (Documento en ingl�s).
Las siguientes personas ayudaron en el proceso de preparaci�n de este
documento: Topher Hughes del Colegio Dickinson, Elie Rosenblum del
Montgomery Blair High School, Mario D. Santana de la Universidad del
Estado de Florida, Daniel P. Zepeda y Olaf Kirch.
9. Nota de la traducci�n.
Mi nombre es Salvador Fern�ndez Barqu�n, formo parte del proyecto
LUCAS/INSFLUG. Este documento es mi aportaci�n para que el proyecto
Linux sea cada vez m�s grande y conocido entre nosotros los que
hablamos la lengua de Cervantes; ahora que la seguridad en los
servidores de Internet (y Linux en particular) es un tema importante
para todo administrador o usuario de Linux, consider� esta una
soluci�n muy interesante de aplicar.
Particularmente, espero que este documento sea de ayuda e inter�s a
todos aquellos que deseen implementar un esquema de seguridad a nivel
sistema de archivos en su Linux.
Hay mucho por traducir, as� como tambi�n hay muchos documentos
traducidos, visite
http://www.infor.es/LuCAS o o sus m�ltiples espejos
para conocer m�s sobre este proyecto o obtener otros documentos en
castellano.
No est� de m�s decir que intentado ajustarme totalmente al original de
Alexander O. Yuriev y he revisado la traducci�n un par de veces. No
obstante a�n puede quedar algo por pulir o se me ha podido colar
alguna errata, de cuya responsabilidad me hago cargo, pero jam�s del
buen o mal uso que pueda derivar la lectura de este documento.
Para cualquier comentario, errata o consulta sobre la traducci�n,
m�ndeme un mensaje electr�nico a:
[email protected].
Un saludo y buen provecho
Salvador Fern�ndez Barqu�n.
10. scripts
#!/bin/sh
#
# $Header: /Secure/secure-doc/linux/CFS/RCS/CFS-Doc,v 1.4 1996/03/15 04:49:37 alex Exp alex $
#
# cfsfs Crypto filesystem
#
# Author: Alexander O. Yuriev <
[email protected]>
# Derived from cron
# Cargamos la librar�a de funciones.
\&. /etc/rc.d/init.d/functions
# Averiguamos c�mo se nos ha ejecutado.
case "$1" in
start)
echo -n "Arrancando sistema de ficheros encriptado: "
if [ -x /usr/local/sbin/cfsd ]; then
/usr/local/sbin/cfsd > /dev/null
/bin/mount -o port=3049,intr localhost:/.cfsfs /securefs
echo "listo"
else
echo -n "El sistema de ficheros encriptados no ha sido iniciado"
fi
touch /var/lock/subsys/cfsfs
;;
stop)
echo -n "Deteniendo sistema de ficheros encriptado: "
umount /securefs
killproc cfsd
echo
rm -f /var/lock/subsys/cfsfs
;;
*)
echo "Empleo: cfsfs {start|stop}"
exit 1
esac
exit 0
11. Anexo: El INSFLUG
El INSFLUG forma parte del grupo internacional Linux Documentation
Project, encarg�ndose de las traducciones al castellano de los Howtos
(Comos), as� como la producci�n de documentos originales en aquellos
casos en los que no existe an�logo en ingl�s.
En el INSFLUG se orienta preferentemente a la traducci�n de documentos
breves, como los COMOs y PUFs (Preguntas de Uso Frecuente, las FAQs.
:) ), etc.
Dir�jase a la sede del INSFLUG para m�s informaci�n al respecto.
En la sede del INSFLUG encontrar� siempre las �ltimas versiones de las
traducciones: www.insflug.org. Aseg�rese de comprobar cu�l es la
�ltima versi�n disponible en el Insflug antes de bajar un documento de
un servidor r�plica.
Se proporciona tambi�n una lista de los servidores r�plica (mirror)
del Insflug m�s cercanos a Vd., e informaci�n relativa a otros
recursos en castellano.
Francisco Jos� Montilla,
[email protected].