  Sistema de Archivos Criptogrfico bajo Linux (CFS) COMO
  Copyright (C) 1996 Alexander O. Yuriev, alex@bach.cis.tem
  ple.edu
  Fernndez Barqun salvador@netspace.com.mx
  Marzo 14, 1996

  Este documento describe cmo compilar, instalar y configurar CFS.
  ______________________________________________________________________

  ndice General:

  1.      Introduccin

  2.      Copyright

  3.      ACERCA DE CFS

  4.      Compilacin e instalacin de CFS.

  5.      Creacin del directorio CFS.

  6.      Proteccin del CFS.

  7.      Problemas conocidos de CFS

  8.      Crditos (Documento en ingls).

  9.      Nota de la traduccin.

  10.     scripts

  11.     Anexo: Grupos LiNUXeros en Espaa.
  ______________________________________________________________________

  1.  Introduccin

  Este documento describe cmo 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 condicin 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 documentacin de soporte para dicho software.

  Este software est sujeto a los controles de exportacin de los
  Estados Unidos. No est permitido exportarlo, en su totalidad o en
  parte, por cualquier motivo o permitir cualquier exportacin, por
  medio de acto u omisin, sin previa autorizacin 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 distribucin general o no restringida a otros, o no
  debera 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 GARANTA EXPRESA O
  IMPLICADA. EN PARTICULAR, NI LOS AUTORES NI AT&T HACEN NINGUNA
  REPRESENTACION O GARANTA DE NINGN TIPO CONCERTANDO LA MERCANTILIDAD
  DE ESTE SOFTWARE O SUS PROPSITOS PARA ALGN PROPSITO EN PARTICULAR.

  A pesar que la informacin en este documento es considerada como
  correcta, ni el Autor ni los Laboratorios CIS, o la Universidad Temple
  da ninguna clase de GARANTAS y no es o se hace responsable de lo que
  pueda pasar si usted sigue esta gua.  La informacin en este
  documento se proporciona TAL CUAL!.

  3.  ACERCA DE CFS

  CFS proporciona una aplicacin independiente de encriptacin-
  desencriptacin de la capa del sistema de archivos que no requiere
  modificacin del cdigo principal del sistema de archivos o ninguna
  clase de modificacin del cdigo del kernel.

  El seguro simtrico implementado en la versin del flujo principal del
  CFS est basado sobre un seguro DES modificado, ejecutndose 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 algn otro seguro simtrico que provea un
  proceso extremadamente seguro. Por favor refirase al "White paper"
  referente al CFS para ms informacin.
  ftp://bach.cis.temple.edu/pub/Papers/cfs.ps

  4.  Compilacin e instalacin de CFS.

  CFS no se compila tal y como viene sobre Linux. Las siguientes
  instrucciones le llevarn a conseguir que CFS se ejecute en su sistema
  Linux. Hay diversos mtodos para hacer que CFS trabaje en Linux, el
  ms limpio de ellos es el basado sobre las modificaciones de Olaf
  Kirch. Su versin 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 versin
  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 instruccin "make".

  Despus de la compilacin, 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
  protjalo contra escritura.

  Cree el directorio /.cfsfs, el cual ser usado como un gancho por el
  servidor CFS. Cree este directorio como dueo root.root y protegido
  con el modo de acceso "000". Cree el directorio /securefs, el cual se
  convertir en la raz del rbol de CFS.

  Aada las siguientes lneas 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 aadir el archivo cfsfs que est includo al
  final de este documento en su directorio /etc/rc.d/init.d.  Realice un
  enlace simblico, S65cfsfs de ste en los directorios apropiados al
  nivel de ejecucin usando la instruccin:

       ln -s ../init.d/cfsfs S65cfsfs

  en /etc/rc.d/rcX.d, donde X es el nmero de nivel de ejecucin (init),
  aada la lnea:

       /.cfsfs         localhost

  en /etc/exports. Finalmente, aada la lnea:

                       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 lnea en el lista de los sistemas
  de archivos:

       localhost:/.cfsfs on /securefs type nfs (rw,port=3049,intr,addr=127.0.0.1)

  5.  Creacin 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 informacin encriptada la cual no ser
  accesible, slo lo ser en el caso de que ste est aadido al rbol
  del CFS.

  Para ordenar que el directorio secreto se aada a la lista de
  directorios administrados por CFS, este ha de ser aadido a el rbol
  CFS usando la instruccin:

       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 instruccin cmkdir
  que cre el directorio originalmente, la informacin 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 aadir el directorio protegido al
  rbol del CFS. Cuando el usuario ha terminado de manipular la
  informacin debe utilizar la instruccin:

       cdetach Gran-Secreto

  Para destruir la llave de acceso. Esta instruccin elimina el
  directorio secreto de la lista de directorios administrados por CFS
  haciendo imposible acceder a la informacin en forma de texto plano en
  este directorio hasta que nuevamente sea aadido usando la instruccin
  cattach.

  6.  Proteccin 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 informacin encriptada a travs del modulo de seguridad Unix.

  Por ello, es extremadamente importante proteger el acceso a las frases
  de paso. Hay dos maneras bsicas 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 estn comprometidos de ninguna
     forma.

  2. Asegurar que cattach, ccat, cmkdir, cname, el servidor CFS cfsd y
     finalmente, cdattach  no sern 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 encriptacin correctamente.

  4. Un ataque contra cdeattach usualmente involucra una pequea
     modificacin que evita la correcta destruccin de las llaves de
     acceso, permitiendo a un intruso obtener acceso a una parte
     supuestamente separada del rbol de directorios.

  5. La manera ms simple para asegurar que los binarios no sean
     comprometidos es compilarlos estticamente y guardarlos en un CD.
     Otra manera es compilar estticamente 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
     estticamente, 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 opcin "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. Cercirese 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 travs de la red, aunque la red
     est localizada tras un cortafuegos y confe en que todos los que
     estn conectados a su red no usen sniffers. Esto es aplicable
     tambin a redes que usen routers seguros (scrambling routers),
     porque no hay garanta en absoluto que los routers usen un
     encriptamiento slido o no tengan una puerta trasera o un agujero
     de seguridad que potencialmente pueda permitir a un intruso anular
     la encriptacin usada por el router.  Si tiene que escribir su
     clave de acceso a travs de la red, hgalo 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 "slo" por un par de minutos.

  7.  Problemas conocidos de CFS

  Hasta este momento slo 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.  Crditos (Documento en ingls).

  Las siguientes personas ayudaron en el proceso de preparacin 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 traduccin.

  Mi nombre es Salvador Fernndez Barqun, formo parte del proyecto
  LUCAS/INSFLUG. Este documento es mi aportacin para que el proyecto
  Linux sea cada vez ms 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
  solucin muy interesante de aplicar.

  Particularmente, espero que este documento sea de ayuda e inters a
  todos aquellos que deseen implementar un esquema de seguridad a nivel
  sistema de archivos en su Linux.

  Hay mucho por traducir, as como tambin hay muchos documentos
  traducidos, visite http://www.infor.es/LuCAS o o sus mltiples espejos
  para conocer ms sobre este proyecto o obtener otros documentos en
  castellano.

  No est de ms decir que intentado ajustarme totalmente al original de
  Alexander O. Yuriev y he revisado la traduccin un par de veces. No
  obstante an puede quedar algo por pulir o se me ha podido colar
  alguna errata, de cuya responsabilidad me hago cargo, pero jams del
  buen o mal uso que pueda derivar la lectura de este documento.

  Para cualquier comentario, errata o consulta sobre la traduccin,
  mndeme un mensaje electrnico a: salvador@netspace.com.mx.

  Un saludo y buen provecho

  Salvador Fernndez Barqun.

  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 <alex@bach.cis.temple.edu>
  #               Derived from cron

  # Cargamos la librara de funciones.
  \&. /etc/rc.d/init.d/functions

  # Averiguamos cmo 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: Grupos LiNUXeros en Espaa.

  Francisco Jos Montilla, pacopepe@iname.com, FidoNet 2:345/402.22 es
  coordinador del INSFLUG: (Impatient & Novatous Spanish Fidonet LiNUX
  Users Group) uno de los varios grupos de usuarios existentes en
  Espaa, y ms concretamente en la mejor ;-) rea de FidoNet: R34.LINUX
  junto con LuCas (LinUx en CAStellano).

  El INSFLUG se orienta preferentemente a la traduccin de documentos
  breves, como los COMOs y PUFs (-- Preguntas de Uso Frecuente, las
  FAQs. :)--) , etc.

  LuCas Coordina y realiza las traducciones de las guides, es decir,
  documentos ms extensos.

  Por supuesto, la orientacin de cada grupo no tiene carcter
  excluyente;  si quiere colaborar en las dos, mejor! ;-).

  Otra fuente de informacin obligada para el recin incorporado son las
  PUF elaboradas a partir del correo circulante por R34.LINUX por Pablo
  Gmez, pgomez@arrakis.es, 2:341/43.40, disponibles prximamente en los
  formatos habituales de documentacin (.ps, especificados ms adelante,
  as como en el mismo rea.
  Necesitamos su colaboracin para futuras traducciones! si quiere
  unirse a nosotros pngase en contacto con:

  INSFLUG: (Traduccin y autora de COMOs)

  Francisco Jos Montilla, pacopepe@iname.com, FidoNet 2:345/402.22

  LuCas:  (Traduccin y autora de guas)

  1. Juan Jos Amor, jjamor@ls.fi.upm.es, FidoNet 2:341/12.19

  2. Alfonso Belloso, alfon@bipv02.bi.ehu.es, FidoNet 2:344/17.2

  Por ltimo, recordar que un inmejorable lugar para estar informado,
  as como consultar y discutir todo lo relacionado con LiNUX lo tiene
  en FidoNet, en R34.LINUX.

  Actualmente, ambos grupos poseen las siguientes listas de correo:

    LuCas: lucas@bipv02.bi.ehu.es

    INSFLUG: insflug@nova.es

  Ambas son listas tipo majordomo; para suscribirse:

  enve un email a majordomo@nova.es, con "subscribe insflug" en el
  cuerpo del mensaje.

  En el caso de LuCAS sera a majordomo@infor.es, con "subscribe lucas"
  en el cuerpo del mensaje.

  Dispone de todos los ``COMOs'' traducidos hasta ahora, as como
  informacin puntual sobre el INSFLUG y temas relacionados en:

  http://www.insflug.nova.es en sus versiones html (-- Actualizacin
  lenta--) , y listas para bajar, en

  ftp://ftp.insflug.nova.es/es (-- Este es el lugar actualizado con ms
  frecuencia; en Sunsite y sus mirrors est replicado en el directorio

  ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/translations/es

  De todos modos, probablemente con su distribucin de Linux vengan
  incluidos.--)

  Otro buen punto de bsqueda, consulta, y obtencin de la documentacin
  traducida, en formato HTML, con links a los dems formatos, as como
  las traducciones de las guas traducidas por LuCAS es:

  http://www.infor.es/LuCAS/

  junto con su ftp:

  ftp://ftp.infor.es/pub/LuCAS/

  Tanto el INSFLUG, como LuCAS, y todos los traductores implicados,
  esperamos que esta traduccin le haya sido de utilidad.

