# [SOLVED] Szyfrowanie partycji - co jak i czym?

## BeteNoire

Lepiej późno niż wcale - postanowiłem zaszyfrować kilka partycji.

Pytanie jak w temacie. A konkretniej chodzi o m.in. o to jaki wybrać filesystem i jaki sposób szyfrowania do sporej partycji (150 GB) z rozmaitymi prywatnymi mediami, z której w 95% czasu następuje tylko odczyt.

Do tej pory miałem na niej xfs, bo najlepiej wypadał w testach dla dużych partycji i dużych plików, ale nie wiem czy nie pogryzie się z szyfrowaniem.

Odrzuciłem z góry reiserfs, bo jest za wolny na duże partycje. Do wynalazków typu reiser4/ext4 nie mam zaufania, wolę zostać na tym co już od lat działa bezawaryjnie.

Dodatkowo chcę zaszyfrować /home, to są przeważnie małe partycje, gdzie trzymam głównie konfigi, maile, dokumentacje i drobne, prywatne rzeczy. Mam na nich reiserfs.

No i podstawowa sprawa: czym szyfrować? Co jest już najbardziej sprawdzone/popularne/bezawaryjne?

----------

## Poe

truecrypt jest czyms najbardziej popularnym, multi platformowym, chyba najłatwiejszym w organizacji, a jednoczesnie daje wysoki poziom bezpieczeństwa. ale z mojej strony, to tylko teoria, w końcu nie testowałem, uznałem, ze szyfrowanie danych na lapku moze mieć negatywny wpływ na działanie baterii (długość działania na jednym naładowaniu) ze względu na operacje (de)/szyfrowania w locie.

co do FS'a, nie chciałbym tutaj robić flamewara żadnego. ale osobiście do XFS nie mam za grosz zaufania. co chwile słysze o utracie danych z tego fs'a. od zawsze mam reiserfs, w tej chwili na partycji niemal 200gb z /home i śmiga jak należy, a zdarzała się i rozładowana bateria, jakieś resety czy tego typu sprawy.

----------

## ryba84

Ja mam zaszyfrowany cały dysk w lapku poza katalogiem /boot. Wszystko szyfrowane z pomocą cryptsetup z luks (algorytm szyfrujący aes-xts-plain z 512 bitowym kluczem). Klucze przechowuję na pendrive. Wszystko zrobione za pomocą tego tutoriala. Z tąd wziąłem plik init.

Ps. przy szyfrowaniu 1 partycji polecam zaszyfrować swapa i /tmp losowym kluczem co by się żadne dane nie wydostały niezaszyfrowane. Można to ustawić w /etc/conf.d/dmcrypt. Partycje szyfrowane stałymi kluczami również tam ustawisz. Tylko przy tak zaszyfrowanym swapie nie działa hibernacja. Jeśli jej potrzebujesz to musisz się posłużyć wyżej wymienionymi tutorialami aby zbudować odpowiedzni initramfs i swapa zaszyfrować również stałym kluczem.

----------

## mormo

Ja osobiscie mam lapka z ext 4 partycja 120G dmcrypt luks

i nie mialem nigdy zadnych problemow  :Smile: 

http://www.lnxadmin.pl/index.php?id=dmcrypt_luks

----------

## SlashBeast

Od niedawna uzywam ext4 na dmcryptach moich (ogarnia juz barrier device mapper!), jestem zadowolony. cryptsetup luks z aex-xts-plain 512. Zarowno rootfs jak i home + kazdy zewnetrzny dysk na tym jedzie. Truecrypta olej, tylko sie nerwow najesz przy aktualizacji jak nagle (znowu) zrzuca wpsarcie dna CLI w linuksie czy cos innego odwala.

Moj init z initramfs:

```
#!/bin/sh

# Dla pewnosci, exit w przypadku bledu.

set -e

# Debugowanie

set -x

#Mount things needed by this script

mount -t proc proc /proc

mount -t sysfs sysfs /sys

#Disable kernel messages from popping onto the screen

echo 0 > /proc/sys/kernel/printk

#Clear the screen

clear

#Create all the symlinks to /bin/busybox

busybox --install -s

#echo -e "\n* Encrypted rootfs\n"

cat welcome.msg

#Create device nodes

mknod /dev/null c 1 3

mknod /dev/tty c 5 0

echo /sbin/mdev > /proc/sys/kernel/hotplug 

mdev -s

#Function for parsing command line options with "=" in them

# get_opt("init=/sbin/init") will return "/sbin/init"

get_opt() {

   echo "$@" | cut -d "=" -f 2

}

init="/sbin/init"

root="/dev/mapper/rootfs"

enc_root="/dev/sda2"

#Process command line options

for i in $(cat /proc/cmdline); do

   case "${i}" in

      root\=*)

         root=$(get_opt $i)

         ;;

      init\=*)

         init=$(get_opt $i)

         ;;

      enc_root\=*)

         enc_root=$(get_opt $i)

         ;;

   esac

done

#Open encrypted partition to create /dev/mapper/rootfs

cryptsetup luksOpen "${enc_root}" rootfs

#Get LVM volumes up

#lvm vgchange -a y

#tuxonice resume

#test -f /sys/power/tuxonice/do_resume && \

#echo 1 > /sys/power/tuxonice/do_resume

#Mount the root device

mount -o ro,noatime "${root}" /newroot

# /usr squashfs updater.

test -f /newroot/var/_squash/usr/usr_new.sqfs && \

mount -o remount,rw,noatime /newroot && \

mv /newroot/var/_squash/usr/usr.sqfs /newroot/var/_squash/usr/usr_old.sqfs && \

mv /newroot/var/_squash/usr/usr_new.sqfs /newroot/var/_squash/usr/usr.sqfs && \

mv /newroot/var/_squash/usr/rw /newroot/var/_squash/usr/rw_old && \

mkdir /newroot/var/_squash/usr/rw && \

mount -o remount,ro,noatime /newroot

#Unmount all other mounts so that the ram used by

#the initramfs can be cleared after switch_root

umount /sys /proc

#Switch to the new root and execute init

if [[ -x "/newroot/${init}" ]] ; then

   exec switch_root /newroot "${init}"

fi

#This will only be run if the above line failed

echo "Failed to switch_root, dropping to a shell"

exec sh

```

----------

## BeteNoire

Ok, a więc dm-crypt i luks. Skoro system plików nie ma znaczenia, to zostanę przy starych wyborach (xfs/rfs).

Dokumenty, które przeglądam, mówią o wykorzystaniu pam do automatycznej autoryzacji i dostępie do szyfrowanej partycji, by nie musieć podawać hasła przy bootowaniu.

Można to osiągnąć bez pam? Wszystkie moje gentoo-boksy są bez-pamowe.

----------

## lazy_bum

Odnośnie szyfrowania… ktoś spotkał się z utratą danych na takich partycjach? Jakiś hardrebooty, błędy fs, kernel panic, podobne przypadki?

----------

## SlashBeast

Mozesz montowac dmcrypt na podstawie klucza. Utraty danych na dmcrypcie czy jego korupcji nigdy nie doswiadczylem (moze dlatego, ze nie uzywam xfs?).  :Smile: 

----------

## ryba84

Żadnych problemów nie doświadczyłem z dmcryptem. System plików to ext4. Co do kluczy ja przechowuję w postaci niezaszyfrowanej na pendrivie. Jak ktoś ma chęć to może np. dla niepoznaki wrzucić te klucze na końcu do plików powiedzmy z mp3, ale mi się nie chciało modyfikować skryptów startowych aby były w stanie z takiego klucza skorzystać. A no i jadę na jajku zen-sources 2.6.31, bo na 2.6.32 mam sporadyczne zwisy przez xorga na intelu.

----------

## SlashBeast

Kluczy moze byc kilka, moze to byc plik czy haslo, albo jedno, albo drugie. Co do intela i 2.6.32 - win zen-sources, przeciez to jest masakryczna anarchia i chaos w tych zrodlach, znajomy ktory to uzywa mowi, ze praktycznie kazda wersja 2.6.32 zena ma jakies hardcorowe bledy.

----------

## ryba84

Zwisy na 2.6.32 to nie wina patchy zen-sources. Mam ten sam błąd, więc problem również z gentoo-sources jak i waniliowym kernelem.

----------

## mbar

też polecam 

```
cryptsetup luks z aex-xts-plain 512
```

 i XFS. Mam tak ogarnięte łącznie 6 TB na moim serwerku.

----------

## winnetou

Witam,

Świeżak jestem na forum więc najpierw chciałbym się przywitać  :Smile: 

Stanąłem ostatnio przed zadaniem zaszyfrowania partycji. Prześledziłem dokładnie cały wątek i chciałbym się upewnić co do kilku spraw.

Maszyna na której będzie szyfrowanie to laptop. Dysk 500GB hybrydowy (na snapshoty volumenów mam zewnętrzny dysk w razie "W")

Jak wygląda sprawa z LVM? Tworzenie i zarządzanie LVM'ami to nie problem rozgryzłem to już na dość znośnym poziomie. Ale jak postępować z szyfrowaniem? Tak samo jak przy standardowych partycjach z tym że zamiast /dev/[hs]daX podawać /dev/mapper/volumen ? No i jeszcze kwestia fbcondecor i splasha - gdzieś mi się tam o oczy obiło w linkach tu zamieszczonych, ale przyznaję, że jeszcze słabo to ogarniam...

OK, znalazłem coś na temat LVM na wiki Archa, jak coś to będę gnębił  :Smile: 

----------

