krypto pl


Kryptograficzny System Plików pod Linuxem - Jak To Zrobić Autor: Alexander O. Yuriev, alex@bach.cis.temple.edu Wersja polska: Krzysztof G. Baranowski KGB@rubikon.net.pl v1.1 12 Maja 1997 W dokumencie opisano jak skompilować, zainstalować i ustawić Kryp­ tograficzny System Plików (zwany dalej CFS - przyp. tÅ‚umacza), który zostaÅ‚ napisany przez Matta Blaze z AT&T, pod Linuxa. 1. Wprowadzenie NastÄ™pujÄ…ce oÅ›wiadczenie skopiowane zostaÅ‚o bezpoÅ›rednio z CFS 1.12 i opisuje zastrzeżenia co do używania CFS. · Autorem tego oprogramowania jest Matt Blaze. · Copyright (c) 1992, 1993, 1994 by AT&T. · Zezwala siÄ™ używać, kopiować i modyfikować niniejsze oprogramowanie bez żadnych opÅ‚at, pod warunkiem, że zostanie doÅ‚Ä…czona do wszystkich kopii oprogramowania peÅ‚na dokumentacja, uwagi i ostrzeżenia autora. · To oprogramowanie podlega kotroli eksportu ze Stanów Zjednoczonych. · Nie wolno eksportować go, w części lub w caÅ‚oÅ›ci, albo pomagać w eksporcie, bez zgody rzÄ…du USA i pisemnego zezwolenia od AT&T. W szczególnoÅ›ci nie wolno udostÄ™pniać żadnej części 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 dotyczÄ…cej dopasowania oprogramowania do jakichkolwiek potrzeb. · Pomimo, że informacje w tym dokumencie uważa 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 bÄ™dziesz stosowaÅ‚ siÄ™ do niniejszego instruktażu. Informacja zawarta w tym dokumencie jest udostÄ™pniana, taka jaka jest. 2. O 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 . 3. KOMPILACJA I INSTALACJA 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) 4. TWORZENIE KATALOGU CFS Å»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". 5. OCHRONA CFS 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: 1. Sniffing 2. Atak przeciwko protokoÅ‚owi. Informacje zawarte poniżej mogÄ… zostać użyte, aby zmniejszyć prawdopodobieÅ„stwo skutecznego ataku przeciwko CFS. 1. Upewnij siÄ™, że binaria CFS sÄ… oryginalne: a. upewnij siÄ™, że: cattach, ccat, cmkdir, cname, cfsd i cdetach nie zostaÅ‚y zastÄ…pione "koniami trojaÅ„skimi", które zapisujÄ… hasÅ‚a dostÄ™pu, b. upewnij siÄ™, że CFS serwer (cfsd), nie zostaÅ‚ w jakiÅ› sposób zmodyfikowany i że szyfruje dane poprawnie, c. atak przeciwko "cdetach" zazwyczaj wymaga maÅ‚ej modyfikacji kodu, która chroni klucze dostÄ™pu przed zniszczeniem i pozwala intruzowi uzyskać kontrolÄ™ nad zakodowanymi danymi. Najprostszym sposobem na upewnienie siÄ™, ze binaria nie zostaÅ‚y podmienione, jest zlinkowanie ich statycznie i umieszczenie na pÅ‚ycie CD. Inny sposób, to zlinkowanie statyczne, wygenerowanie sum kontrolnych za pomocÄ… programu MD5 i umieszczenie ich na dyskietce zabezpieczonej przed zapisem. Przed użyciem CFS w systemie, zamountuj dyskietkÄ™ i sprawdź czy sumy kontrolne zgadzajÄ… siÄ™; w razie potrzeby zastÄ™pujÄ…c podmienione programy ich oryginalnymi wersjami. 2. Uważaj na programy zapisujÄ…ce do pliku dane wpisywane z klawiatury, tzw. keyboard grabbers i zawsze stosuj siÄ™ do poniższych zasad: a. kiedy wpisujesz hasÅ‚o w oknie xterm-a, upewnij siÄ™, że xterm jest oryginalny i używaj bezpiecznej klawiatury "Secure keyboard". To uniemożliwi przechwycenie hasÅ‚a przez wyżej opisane programy, b. wpisuj hasÅ‚a do terminali przyÅ‚Ä…czonych bezpoÅ›rednio do portów szeregowych systemu, gdy sÄ… one dostÄ™pne, c. upewnij siÄ™, że konsole (pty i tty) sÄ… ustawione tak, aby uniemożliwić innym odczytanie twojego hasÅ‚a. 3. Nigdy nie wpisuj hasÅ‚a poprzez sieć, nawet jeÅ›li znajduje siÄ™ ona za firewallem i wiesz, że nikt podÅ‚Ä…czony do sieci nie używa sniffera. Tyczy siÄ™ to także sieci używajÄ…cych, tzw. scramble routers, ponieważ nie masz pewnoÅ›ci, ze routery używajÄ… odpowiednio silnej enkrypcji, nie majÄ… "tylnych drzwi" albo innych dziur, które pozwoliÅ‚yby intruzowi pokonać enkrypcjÄ™ routera. Jeżeli jednak musisz podać hasÅ‚o poprzez sieć, rób to tylko zaszyfrowanym kanaÅ‚em pomiÄ™dzy hostami. (najbardziej znany i popularny jest (ssh) secure shell - przyp. autora) 4. Zawsze używaj komendy cdetach, kiedy nie pracujesz z danymi. Nawet kiedy przerywasz pracÄ™ na kilka minut. 5.1. ZNANE PROBLEMY Z CFS W tym momencie jedyny znany problem, to komunikat "Permission denied", kiedy próbujesz dostać siÄ™ do plików na pÅ‚ycie CD. 6. PODZIĘKOWANIA 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 # # 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]====================== 7. DODATEK A 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.

Wyszukiwarka