  Kryptograficzny System Plikw pod Linuxem - Jak To Zrobi
  Autor: Alexander O. Yuriev, alex@bach.cis.temple.edu
  WWeerrssjjaa ppoollsskkaa:: KKrrzzyysszzttooff GG.. BBaarraannoowwsskkii KKGGBB@@rruubbiikkoonn..nneett..ppll
  v1.1 12 Maja 1997


  W dokumencie opisano jak skompilowa, zainstalowa i ustawi Kryp
  tograficzny System Plikw (zwany dalej CFS - przyp. tumacza), ktry
  zosta napisany przez Matta Blaze z AT&T, pod Linuxa.

  11..  WWpprroowwaaddzzeenniiee


  Nastpujce owiadczenie skopiowane zostao bezporednio z CFS 1.12 i
  opisuje zastrzeenia co do uywania CFS.

    Autorem tego oprogramowania jest Matt Blaze.

    Copyright (c) 1992, 1993, 1994 by AT&T.

    Zezwala si uywa, kopiowa i modyfikowa niniejsze oprogramowanie
     bez adnych opat, pod warunkiem, e zostanie doczona do
     wszystkich kopii oprogramowania pena dokumentacja, uwagi i
     ostrzeenia autora.

    To oprogramowanie podlega kotroli eksportu ze Stanw Zjednoczonych.

    Nie wolno eksportowa go, w czci lub w caoci, albo pomaga w
     eksporcie, bez zgody rzdu USA i pisemnego zezwolenia od AT&T. W
     szczeglnoci nie wolno udostpnia adnej czci tego
     oprogramowania i jego nieograniczonych dystrybucji innym osobom,
     ni obywatele USA i Kanady.

    To oprogramowanie jest dostarczane "Takie jakie jest", bez adnej
     gwarancji i ani autorzy, ani AT&T nie udzielaj adnej gwarancji
     jakiegokolwiek rodzaju dotyczcej dopasowania oprogramowania do
     jakichkolwiek potrzeb.

    Pomimo, e informacje w tym dokumencie uwaa si za poprawne, ani
     autor, ani Laboratoria CIS, ani Uniwersytet Temple nie udzielaj
     adnych gwarancji i nie s odpowiedzialni za to, co si stanie
     kiedy bdziesz stosowa si do niniejszego instruktau. Informacja
     zawarta w tym dokumencie jest udostpniana, taka jaka jest.


  22..  OO CCFFSS


  CFS umoliwia niezalene od aplikacji szyfrowanie/deszyfrowanie danych
  na powoce struktury plikw i nie wymaga modyfikacji kodu istniejcego
  ju systemu plikw, ani adnych modyfikacji jdra systemu. Symetryczne
  szyfrowanie zawarte w gwnym strumieniu CFS bazuje na zmodyfikowanym
  standardzie DES pracujcym w trybie CBC, ktry czyni brutalny atak
  przeciwko 56-bitowemu kluczowi DES prawie niemoliwym. Struktura CFS
  zastpuje gwny strumie DES, szyfrem Fast-DES albo jakimkolwiek
  innym szyfrem, w doskonay, bezporedni sposb. Gdyby by
  zainteresowany przeczytaj Bia stron o CFS
  <ftp://bach.cis.temple.edu/pub/Papers/cfs.ps>.


  33..  KKOOMMPPIILLAACCJJAA II IINNSSTTAALLAACCJJAA CCFFSS..


  CFS nie skompiluje si "samo" pod Linuxem. Podaj za niniejszymi
  instrukcjami, jeli chcesz uruchomi CFS na swoim Linuxie. Jest kilka
  metod osignicia tego celu, ale najprostsza bazuje na modyfikacjach
  przeprowadzonych przez Olafa Kircha. Jego wersja CFS jest dostpna z:
  ftp.mathematic.th-darmstadt.de <ftp://ftp.mathematik.th-
  darmstadt.de/pub/linux/okir/cfs-1.1.2.tar.gz>.

  Olaf podpisa zmodyfikowane archiwum. Podpis PGP dla zmodyfikowanej
  wersji cfs-1.1.2 mona otrzyma z: ftp.mathematic.th-darmstadt.de
  <ftp://ftp.mathematik.th-darmstadt.de/pub/linux/okir/>.

  W trybie jednego uytkownika, skompiluj cfs za pomoca komendy "make".
  (przeczytaj najpierw odpowiednie pliki, tzn. README, Changes itp. -
  przyp.  autora). Po kompilacji, zainstaluj: cfsd, cdetach, ccat,
  cmkdir, cname i cattach do katalogu /usr/local/sbin - wacicielem
  tych plikow niech bdzie root, a grupa, do ktrej musz one nalee to
  wheel. Nadaj plikom atrybuty 551.

  Dla bezpieczestwa mona wygenerowa sumy kontrolne MD5, na czystych
  binariach. Nastpnie skopiuj te pliki razem z "md5sum", na media takie
  jak pyta CD, albo dyskietka i zabezpiecz j przed zapisem.

  Utwrz katalog /.cfsfs, ktry bdzie uywany przez serwer CFS. Niech
  wacicielem katalogu bdzie root, grupa root, a jego atrybuty niech
  wynosz: 000. Utwrz katalog /securefs, ktory stanie si korzeniem
  drzewa Kryptograficznego Systemu Plikw.

  Dodaj nastepujc lini do /etc/rc.d/rc.local:


  echo -n "Inicjacja Kryptograficznego Systemu Plikw: "
  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 "Nie zainstalowano poprawnie Kryptograficznego System Plikw"
  fi



  Uytkownicy Red Hata powinni doda plik "cfsfs", ktry znajduje si na
  kocu tego dokumentu do katalogu /etc/rc.d/init.d. Nastpnie utworzy
  doczenie symboliczne "S65cfsfs" i umieci go w odpowiednim katalogu
  startowym, np.  rc3.d uywajc komendy:

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



  we waciwym katalogu startowym. Nastpnie naley doda lini:


  /.cfsfs localhost



  w pliku /etc/exports. Na kocu dodaj lini:


  portmap: 127.0.0.1



  do pliku /etc/hosts.allow.

  Teraz powiniene zrestartowa komputer. Po jego uruchomieniu, uyj
  komendy mount eby sprawdzi, czy CFS pracuje. Jeli wszystko
  zadziaao, powiniene zobaczy now nastpujc lini po wykonaniu
  komendy mount.


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




  44..  TTWWOORRZZEENNIIEE KKAATTAALLOOGGUU CCFFSS


  eby utworzy szyfrowany katalog o nazwie "sekret" uyj komendy:


  cmkdir sekret



  Zostaniesz poproszony o podanie i zweryfikowanie hasa. Jeeli to sie
  uda, utworzony zostanie katalog "sekret", ktry pojawi sie w biecym
  katalogu.  Katalog ten bdzie zawiera zaszyfrowane dane, ktre bdzie
  mona normalnie przeglda pod warunkiem, e doczymy ten katalog do
  drzewa CFS.

  eby mona byo swobodnie korzysta z informacji zawartych w katalogu,
  trzeba doczy go do drzewa katalogw zarzdzanych przez CFS za
  pomoca komendy:


  cattach sekret Tajne



  CFS poprosi Ci o podanie hasa dostpu. Jeeli bdzie si ono
  zgadzao z hasem podanym przy tworzeniu katalogu "sekret", dane
  zawarte w tym katalogu bd dostpne w niezakodowanej formie w
  /securefs/Tajne, TTYYLLKKOO dla uytkownika, ktry poda waciwe haso
  dostpu. (nawet root nie moe odczyta tych plikw ;-) - przyp.
  tumacza)

  Zauwa, e doczenie katalogu do drzewa CFS, moe zaj nawet minut.
  (u mnie na P133/16MB RAM zajmuje nie wicej ni 5 sekund). Od tej pory
  moemy korzysta z katalogu /securefs/Tajne jak z kadego innego
  katalogu.

  Kiedy skoczymy prac powinnimy uy komendy:


  cdetach Tajne



  eby uniemoliwi dostp do danych. Komenda ta usuwa katalog "sekret"
  z listy katalogw zarzdzanych przez CFS, co uniemoliwia odczytanie
  informacji w tym katalogu, gdy s one zakodowane. Aby znowu umoliwi
  sobie dostp do danych naley uy komendy "cattach".


  55..  OOCCHHRROONNAA CCFFSS


  Aby umoliwi uytkownikom dostp do zaszyfrowanych danych, CFS wymaga
  od uytkownika hasa, ktre jest uywane do wygenerowania zestaww
  kluczy.

  Zdobycie hasa przez niepowoane osoby pozwala intruzom odczyta
  zaszyfrowane dane, dlatego jest niezwykle wane, aby uytkownik we
  wasnym interesie chroni haso dostpu. Istniej dwie moliwoci
  zdobycia Twojego hasa przez intruzw:


  1. Sniffing

  2. Atak przeciwko protokoowi.

  Informacje zawarte poniej mog zosta uyte, aby zmniejszy
  prawdopodobiestwo skutecznego ataku przeciwko CFS.


  1. Upewnij si, e binaria CFS s oryginalne:


     a. upewnij si, e: cattach, ccat, cmkdir, cname, cfsd i cdetach
        nie zostay zastpione "koniami trojaskimi", ktre zapisuj
        hasa dostpu,

     b. upewnij si, e CFS serwer (cfsd), nie zosta w jaki sposb
        zmodyfikowany i e szyfruje dane poprawnie,

     c. atak przeciwko "cdetach" zazwyczaj wymaga maej modyfikacji
        kodu, ktra chroni klucze dostpu przed zniszczeniem i pozwala
        intruzowi uzyska kontrol nad zakodowanymi danymi. Najprostszym
        sposobem na upewnienie si, ze binaria nie zostay podmienione,
        jest zlinkowanie ich statycznie i umieszczenie na pycie CD.
        Inny sposb, to zlinkowanie statyczne, wygenerowanie sum
        kontrolnych za pomoc programu MD5 i umieszczenie ich na
        dyskietce zabezpieczonej przed zapisem. Przed uyciem CFS w
        systemie, zamountuj dyskietk i sprawd czy sumy kontrolne
        zgadzaj si; w razie potrzeby zastpujc podmienione programy
        ich oryginalnymi wersjami.


  2. Uwaaj na programy zapisujce do pliku dane wpisywane z klawiatury,
     tzw. keyboard grabbers i zawsze stosuj si do poniszych zasad:


     a. kiedy wpisujesz haso w oknie xterm-a, upewnij si, e xterm
        jest oryginalny i uywaj bezpiecznej klawiatury "Secure
        keyboard". To uniemoliwi przechwycenie hasa przez wyej
        opisane programy,

     b. wpisuj hasa do terminali przyczonych bezporednio do portw
        szeregowych systemu, gdy s one dostpne,

     c. upewnij si, e konsole (pty i tty) s ustawione tak, aby
        uniemoliwi innym odczytanie twojego hasa.


  3. Nigdy nie wpisuj hasa poprzez sie, nawet jeli znajduje si ona
     za firewallem i wiesz, e nikt podczony do sieci nie uywa
     sniffera. Tyczy si to take sieci uywajcych, tzw. scramble
     routers, poniewa nie masz pewnoci, ze routery uywaj odpowiednio
     silnej enkrypcji, nie maj "tylnych drzwi" albo innych dziur, ktre
     pozwoliyby intruzowi pokona enkrypcj routera. Jeeli jednak
     musisz poda haso poprzez sie, rb to tylko zaszyfrowanym kanaem
     pomidzy hostami. (najbardziej znany i popularny jest (ssh) secure
     shell - przyp. autora)


  4. Zawsze uywaj komendy cdetach, kiedy nie pracujesz z danymi. Nawet
     kiedy przerywasz prac na kilka minut.


  55..11..  ZZNNAANNEE PPRROOBBLLEEMMYY ZZ CCFFSS


  W tym momencie jedyny znany problem, to komunikat "Permission denied",
  kiedy prbujesz dosta si do plikw na pycie CD.


  66..  PPOODDZZIIKKOOWWAANNIIAA


  Niej wymienieni ludzie przyczynili si do powstania tego dokumentu:
  Topher Hughes z Dickinson College, Elie Rosenblum z Montgomery Blair
  High School, Mario D. Santana z Florida State University, Daniel P
  Zepeda i Olaf Kirch.


  ====================[pocztek pliku cfsfs]======================
  #!/bin/sh
  #
  # $Header: /Secure/secure-doc/linux/CFS/RCS/CFS-Doc,v 1.
  4 1996/03/15 04:49:37 alex Exp alex $
  #
  # cfsfs Kryptograficzny System Plikw
  #
  # Autor: Alexander O. Yuriev <alex@bach.cis.temple.edu>
  #
  # Derived from cron
  # Source function library.

  . /etc/rc.d/init.d/functions

  # See how we were called.

  case "$1" in
   start)
          echo -n "Uruchamianie Kryptograficznego Systemu Plikw: "
          if [ -x /usr/local/sbin/cfsd ]; then
                  /usr/local/sbin/cfsd > /dev/null
                  /bin/mount -o port=3049,intr localhost:/.cfsfs /securefs
                  echo "done"
          else
           echo -n "Nie zainstalowano poprawnie Kryptograficznego Systemu Plikw"
          fi
          touch /var/lock/subsys/cfsfs
          ;;
   stop)
          echo -n "Zamykanie Kryptograficznego Systemu Plikw: "
          umount /securefs
          killproc cfsd
          echo
          rm -f /var/lock/subsys/cfsfs
          ;;
   *)
          echo "Uycie: cfsfs {start|stop}"
          exit 1
  esac

  exit 0

  ====================[koniec pliku cfsfs]======================


  77..  DDOODDAATTEEKK AA


  Jak najwygodniej posugiwa si CFS...

  Copyright (C) 1997 by Krzysztof G. Baranowski (KGB@rubikon.net.pl)

  Poniewa cige uywanie komend "cattach","cdetach" i przechodzenie
  pomidzy wieloma odlegymi od siebie katalogami moe by na dusz
  met mczce i moe zniechci uytkownika od uywania CFS,
  postanowiem napisa ten dodatek, w ktrym przedstawi naprawd bardzo
  proste porady, dziki ktrym bdzie mona zhumanizowa prac z CFS.

  A zatem zacznijmy od pocztku. Najwygodniej jest utworzy w domowym
  katalogu uytkownika ukryty katalog, w ktrym bdziemy trzyma
  wszystkie zakodowane pliki. Wie si to jednak z ryzykiem. Bo jeeli
  kto pozna nasze haso dostpu to bdzie mg swobodnie manipulowa
  naszymi plikami.

  Z drugiej strony posiadanie wielu katalogw moe przyprawi
  uytkownika o bl gowy, gdy bdzie on musia zapamita ogromn
  ilo hase. A minimalna dugo hasa dostpu do kadego katalogu
  wynosi 16 (szesnacie) znakw. ;-)

  Pozostamy wic przy jednym katalogu. Zatem piszemy:


  /home/kris$ cmkdir .xfiles



  Zakadam, e uytkownik ma login: kris, a jego katalog domowy to
  /home/kris i uywa bash'a jako domylnego shella. Nastpnie CFS
  poprosi nas o haso, ktre musi skada si przynajmniej z 16 znakw.
  Po weryfikacji hasa nasz tajny katalog ".xfiles" zostanie utworzony:

  Nastpnie dopiszmy dwa aliasy do pliku ".bashrc":


  alias dekoduj='cattach /home/kris/.xfiles tajne'
  alias koduj='cdetach tajne'



  W tym przypadku katalog, w ktrym bdziemy mogli przeglda odkodowane
  pliki posiada nazw "tajne", a jego scieka dostpu to:
  /securefs/tajne.

  Oczywicie nazw moemy sobie wybra dowoln. :-)

  Nastpnie w naszym domowym katalogu utwrzmy doczenie symboliczne do
  katalogu /securefs/tajne za pomoc komendy:


  /home/kris$ ln -s /securefs/tajne tajne



  Wybr nazwy doczenia take zaley od uytkownika. I to wszystko.  Od
  tej pory uywanie CFS staje si dziecinnie proste.

  Jeli chcemy dosta si do naszego zakodowanego katalogu wpisujemy:


  /home/kris$ dekoduj

  i podajemy haso. Komenda "cd tajne" od razu przenosi nas tam gdzie
  trzeba, gdzie moemy buszowa sobie do woli :-), a "cd .." przenosi
  nas z powrotem do katalogu domowego. Proste i praktyczne. Po
  zakoczeniu pracy wpisujemy:


  /home/kris$ koduj



  I ju nikt nie odczyta naszych danych, wcznie z nami, chyba e
  uyjemy jeszcze raz komendy "dekoduj".

  Na koniec maa uwaga. Kopiowanie, przenoszenie plikw, przechodzenie
  do katalogw bdcych pod kontrol CFS moe by troch opnione.
  Zwizane jest to z enkrypcj/dekrypcj dokonywan w czasie
  rzeczywistym. No to bawcie si dobrze.

















































