  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.

  +o  Autorem tego oprogramowania jest Matt Blaze.

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

  +o  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.

  +o  To oprogramowanie podlega kotroli eksportu ze Stanw Zjednoczonych.

  +o  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.

  +o  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.

  +o  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IK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.

















































