Następujące oświadczenie skopiowane zostało bezpośrednio z CFS 1.12 i opisuje zastrzeżenia co do używania CFS.
CFS umożliwia niezależne od aplikacji szyfrowanie/deszyfrowanie danych na powłoce struktury plików i nie wymaga modyfikacji kodu istniejącego już systemu plików, ani żadnych modyfikacji jądra systemu. Symetryczne szyfrowanie zawarte w głównym strumieniu CFS bazuje na zmodyfikowanym standardzie DES pracującym w trybie CBC, który czyni brutalny atak przeciwko 56-bitowemu kluczowi DES prawie niemożliwym. Struktura CFS zastępuje główny strumień DES, szyfrem Fast-DES albo jakimkolwiek innym szyfrem, w doskonały, bezpośredni sposób. Gdybyś był zainteresowany przeczytaj Białą stronę o CFS.
CFS nie skompiluje się "samo" pod Linuxem. Podążaj za niniejszymi instrukcjami, jeśli chcesz uruchomić CFS na swoim Linuxie. Jest kilka metod osiągnięcia tego celu, ale najprostsza bazuje na modyfikacjach przeprowadzonych przez Olafa Kircha. Jego wersja CFS jest dostępna z: ftp.mathematic.th-darmstadt.de.
Olaf podpisał zmodyfikowane archiwum. Podpis PGP dla zmodyfikowanej wersji cfs-1.1.2 można otrzymać z: ftp.mathematic.th-darmstadt.de.
W trybie jednego użytkownika, 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
- właścicielem tych plikow niech będzie
root, a grupa, do której muszą one należeć to wheel. Nadaj plikom atrybuty
551.
Dla bezpieczeństwa można wygenerować sumy kontrolne MD5, na czystych binariach. Następnie skopiuj te pliki razem z "md5sum", na media takie jak płyta CD, albo dyskietka i zabezpiecz ją przed zapisem.
Utwórz katalog /.cfsfs, który będzie używany przez serwer CFS. Niech właścicielem katalogu będzie root, grupa root, a jego atrybuty niech wynoszą: 000. Utwórz katalog /securefs, ktory stanie się korzeniem drzewa Kryptograficznego Systemu Plików.
Dodaj nastepującą linię do /etc/rc.d/rc.local:
echo -n "Inicjacja Kryptograficznego Systemu Plików: " 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 Plików" fi
Użytkownicy Red Hata powinni dodać plik "cfsfs", który znajduje się na końcu tego dokumentu do katalogu /etc/rc.d/init.d. Następnie utworzyć dołączenie symboliczne "S65cfsfs" i umieścić go w odpowiednim katalogu startowym, np. rc3.d używając komendy:
ln -s /etc/rc.d/init.d/cfsfs S65cfsfs
we właściwym katalogu startowym. Następnie należy dodać linię:
/.cfsfs localhost
w pliku /etc/exports. Na końcu dodaj linię:
portmap: 127.0.0.1
do pliku /etc/hosts.allow.
Teraz powinieneś zrestartować komputer. Po jego uruchomieniu, użyj komendy mount żeby sprawdzić, czy CFS pracuje. Jeśli wszystko zadziałało, powinieneś zobaczyć nową następującą linię po wykonaniu komendy mount.
localhost:/.cfsfs on /securefs type nfs(rw,port=3049,intr,addr=127.0.0.1)
Żeby utworzyć szyfrowany katalog o nazwie "sekret" użyj komendy:
cmkdir sekret
Zostaniesz poproszony o podanie i zweryfikowanie hasła. Jeżeli to sie uda, utworzony zostanie katalog "sekret", który pojawi sie w bieżącym katalogu. Katalog ten będzie zawierał zaszyfrowane dane, które będzie można normalnie przeglądać pod warunkiem, że dołączymy ten katalog do drzewa CFS.
Żeby można było swobodnie korzystać z informacji zawartych w katalogu, trzeba dołączyć go do drzewa katalogów zarządzanych przez CFS za pomoca komendy:
cattach sekret Tajne
CFS poprosi Cię o podanie hasła dostępu. Jeżeli będzie się ono zgadzało z hasłem podanym przy tworzeniu katalogu "sekret", dane zawarte w tym katalogu będą dostępne w niezakodowanej formie w /securefs/Tajne, TYLKO dla użytkownika, który podał właściwe hasło dostępu. (nawet root nie może odczytać tych plików ;-) - przyp. tłumacza)
Zauważ, że dołączenie katalogu do drzewa CFS, może zająć nawet minutę. (u mnie na P133/16MB RAM zajmuje nie więcej niż 5 sekund). Od tej pory możemy korzystać z katalogu /securefs/Tajne jak z każdego innego katalogu.
Kiedy skończymy pracę powinniśmy użyć komendy:
cdetach Tajne
żeby uniemożliwić dostęp do danych. Komenda ta usuwa katalog "sekret" z listy katalogów zarządzanych przez CFS, co uniemożliwia odczytanie informacji w tym katalogu, gdyż są one zakodowane. Aby znowu umożliwić sobie dostęp do danych należy użyć komendy "cattach".
Aby umożliwić użytkownikom dostęp do zaszyfrowanych danych, CFS wymaga od użytkownika hasła, które jest używane do wygenerowania zestawów kluczy.
Zdobycie hasła przez niepowołane osoby pozwala intruzom odczytać zaszyfrowane dane, dlatego jest niezwykle ważne, aby użytkownik we własnym interesie chronił hasło dostępu. Istnieją dwie możliwości zdobycia Twojego hasła przez intruzów:
Informacje zawarte poniżej mogą zostać użyte, aby zmniejszyć prawdopodobieństwo skutecznego ataku przeciwko CFS.
W tym momencie jedyny znany problem, to komunikat "Permission denied", kiedy próbujesz dostać się do plików na płycie CD.
Niżej 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.
====================[początek 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 Plików # # 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 Plików: " 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 Plików" fi touch /var/lock/subsys/cfsfs ;; stop) echo -n "Zamykanie Kryptograficznego Systemu Plików: " umount /securefs killproc cfsd echo rm -f /var/lock/subsys/cfsfs ;; *) echo "Użycie: cfsfs {start|stop}" exit 1 esac exit 0 ====================[koniec pliku cfsfs]======================
Jak najwygodniej posługiwać się CFS...
Copyright (C) 1997 by Krzysztof G. Baranowski (KGB@rubikon.net.pl)
Ponieważ ciągłe używanie komend "cattach","cdetach" i przechodzenie pomiędzy wieloma odległymi od siebie katalogami może być na dłuższą metę męczące i może zniechęcić użytkownika od używania CFS, postanowiłem napisać ten dodatek, w którym przedstawię naprawdę bardzo proste porady, dzięki którym będzie można zhumanizować pracę z CFS.
A zatem zacznijmy od początku. Najwygodniej jest utworzyć w domowym katalogu użytkownika ukryty katalog, w którym będziemy trzymać wszystkie zakodowane pliki. Wiąże się to jednak z ryzykiem. Bo jeżeli ktoś pozna nasze hasło dostępu to będzie mógł swobodnie manipulować naszymi plikami.
Z drugiej strony posiadanie wielu katalogów może przyprawić użytkownika o ból głowy, gdyż będzie on musiał zapamiętać ogromną ilość haseł. A minimalna długość hasła dostępu do każdego katalogu wynosi 16 (szesnaście) znaków. ;-)
Pozostańmy więc przy jednym katalogu. Zatem piszemy:
/home/kris$ cmkdir .xfiles
Zakładam, że użytkownik ma login: kris, a jego katalog domowy to /home/kris i używa bash'a jako domyślnego shella. Następnie CFS poprosi nas o hasło, które musi składać się przynajmniej z 16 znaków. Po weryfikacji hasła nasz tajny katalog ".xfiles" zostanie utworzony:
Następnie dopiszmy dwa aliasy do pliku ".bashrc":
alias dekoduj='cattach /home/kris/.xfiles tajne' alias koduj='cdetach tajne'
W tym przypadku katalog, w którym będziemy mogli przeglądać odkodowane pliki
posiada nazwę "tajne", a jego scieżka dostępu to: /securefs/tajne
.
Oczywiście nazwę możemy sobie wybrać dowolną. :-)
Następnie w naszym domowym katalogu utwórzmy dołączenie symboliczne do
katalogu /securefs/tajne
za pomocą komendy:
/home/kris$ ln -s /securefs/tajne tajne
Wybór nazwy dołączenia także zależy od użytkownika. I to wszystko. Od tej pory używanie CFS staje się dziecinnie proste.
Jeśli chcemy dostać się do naszego zakodowanego katalogu wpisujemy:
/home/kris$ dekoduj
i podajemy hasło. Komenda "cd tajne" od razu przenosi nas tam gdzie trzeba, gdzie możemy buszować sobie do woli :-), a "cd .." przenosi nas z powrotem do katalogu domowego. Proste i praktyczne. Po zakończeniu pracy wpisujemy:
/home/kris$ koduj
I już nikt nie odczyta naszych danych, włącznie z nami, chyba że użyjemy jeszcze raz komendy "dekoduj".
Na koniec mała uwaga. Kopiowanie, przenoszenie plików, przechodzenie do katalogów będących pod kontrolą CFS może być trochę opóźnione. Związane jest to z enkrypcją/dekrypcją dokonywaną w czasie rzeczywistym. No to bawcie się dobrze.