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].