zaszyfrowane kopie zapasowe dla systemu Linux i FreeBSD, czytelne dla obu

8

Mam komputer z systemem Linux i FreeBSD, oba zaszyfrowane (odpowiednio LUKS i geli). Zastanawiam się, jak tworzyć kopie zapasowe, które również byłyby szyfrowane i byłyby czytelne dla obu (aby w razie awarii jednego z komputerów mógłbym szybko odzyskać dane przy użyciu drugiego).

Niestety wydaje się, że bot LUKS i geli są modułami jądra dla odpowiednich systemów, które nigdy nie zostały przeniesione na inny odpowiedni system. Sądząc po kilku zagrożeniach w systemach plików zgodnych z BSD / Linux, wydaje się, że trudno jest wykonać nieszyfrowane kopie zapasowe, które byłyby czytelne dla obu (ext2 najwyraźniej jest jedyną opcją dla systemu plików, który by na to pozwolił).

Tak więc myślałem o skonfigurowaniu wirtualnego FreeBSD w KVM Linuksa, który byłby w stanie odczytać i zapisać zaszyfrowany dysk zewnętrzny geli i przenieść dane do niezaszyfrowanego wirtualnego woluminu ext2 wewnątrz systemu plików zaszyfrowanego przez LUKS w systemie Linux (i na odwrót na około). Wydaje się to jednak niezwykle skomplikowane i nie wydaje się, aby był to właściwy sposób.

Czy są jakieś lepsze / łatwiejsze / bardziej preferowane sposoby? Czy sposób wyjaśniony powyżej jest obecnie najlepszą możliwą opcją?

Dzięki; Doceniam wszelkie przemyślenia na ten temat.

0range
źródło
2
Jedyną rzeczą , którą widzę na tej liście en.wikipedia.org/wiki/... obsługiwanej w obu przypadkach, jest eCryptFS en.wikipedia.org/wiki/ECryptfs, ale nie jest to szyfrowanie na poziomie bloków. Jest to warstwa systemu plików.
Zoredache,
1
Wcześniej skonfigurowałem inne urządzenie z moim ulubionym systemem operacyjnym do obsługi i przechowywania kopii zapasowych.
Ярослав Рахматуллин
Bardzo dziękuję wam obojgu za wasze przemyślenia. Mam nadzieję, że kiedyś w przyszłości ktoś przeniesie LUKS na FreeBSD lub geli na Linux (niestety brakuje mi zarówno niezbędnych umiejętności / doświadczenia w programowaniu, jak i czasu na ich zdobycie.)
0range

Odpowiedzi:

3

Ustalmy kilka założeń. Skomentuj, jeśli nie są poprawne.

  1. uruchamiasz maszyny z różnymi systemami operacyjnymi i potencjalnie różnymi platformami.
  2. opisujesz to dla przypadku z 2 maszynami, Linux i FreeBSD
  3. twoje maszyny używają zaszyfrowanych systemów plików
  4. chcesz tworzyć kopie zapasowe swoich danych i chcesz, aby te kopie zapasowe również były szyfrowane
  5. chcesz mieć dostęp do danych w tych zaszyfrowanych kopiach zapasowych z dowolnej platformy uczestniczącej w archiwum

(dodano komentarz, aby wprowadzić rozróżnienie między formami szyfrowania)

Wspominasz, że chcesz mieć dostęp do danych innych systemów z maszyny, która przetrwała. Jednym ze sposobów może być przechowywanie niezaszyfrowanych kopii zapasowych na komputerze lokalnym w zaszyfrowanym systemie plików. Innym rozwiązaniem może być przechowywanie zaszyfrowanych kopii zapasowych na komputerze lokalnym w niezaszyfrowanym systemie plików. Sugeruję przechowywanie zaszyfrowanych kopii zapasowych w niezaszyfrowanych systemach plików.

Jednak na marginesie - zawsze istnieją obawy dotyczące zaszyfrowanych kopii zapasowych: - naprawdę musisz uważać na klucz - częściowe uszkodzenie zwykle zabija całą kopię zapasową

moja sugestia: użyj

aby tworzyć kopie zapasowe w jednym lub wielu kontenerach, do których oba komputery mają dostęp.

Aby zachować to wszystko w sieci LAN, możesz:

  1. utwórz system plików „kopii zapasowej” na obu hostach, aby przechowywać zaszyfrowane „pakiety” kopii zapasowych. Nie musi to być zaszyfrowany system plików, ponieważ zapisane w nim „pakiety” kopii zapasowych (bracks nazywa je „fragmentami”) zostaną zaszyfrowane
  2. wyeksportuj te systemy plików, np. za pomocą NFS, i zamontuj odpowiednio na innych hostach
  3. podczas tworzenia kopii zapasowych zrzuć je do lokalnego systemu plików i skopiuj je do katalogu podłączonego do systemu plików NFS na drugim hoście. Ma to fajny efekt uboczny posiadania dwóch wystąpień plików kopii zapasowej.

teraz będziesz mieć następujące systemy plików na swoich serwerach:

w systemie tux twoja maszyna Linux:

/dev/foo            /           # encrypted filesystem
/dev/bar            /tuxdump    # unencrypted filesystem, local backup
beastie:/daemondump /daemondump # NFS backup destination

na beastie, ty maszyna FreeBSD:

/dev/flurb          /           # encrypted filesystem
/dev/baz            /daemondump # unencrypted filesystem, local backup
tux:/tuxdump        /tuxdump    # NFS backup destination

w zależności od ilości danych potrzebnych do utworzenia kopii zapasowej, możesz również pomyśleć o kontenerze zewnętrznym, który zrobiłby każdy dostawca chmury. Obecnie bawię się konfigurowaniem moich kontenerów S3, aby stare rzeczy starzały się w Glacier, co wygląda bardzo obiecująco, drogo.

Florenz Kley
źródło
nie dokładnie. nie potrzebuję, aby był blok po bloku i nie potrzebuję, aby był podłączony do sieci (chociaż sugerowane przez ciebie narzędzia wydają się bardzo interesujące). problemem jest raczej (jak to poprawnie zrozumieli Zoredache i andрослав Рахматуллин), że jeśli któryś z systemów zepsuje się z jakiegoś powodu, potrzebuję jakiegoś sposobu na uzyskanie dostępu do kopii zapasowych. dlatego kopie zapasowe powinny być przechowywane w zaszyfrowanym systemie plików (na innym dysku) dostępnym dla obu systemów. stanowi to problem, ponieważ zarówno rodzime systemy szyfrowania, jak i rodzime systemy plików Linuksa i Freebsd są niekompatybilne. przepraszam, że nie odpowiedziałem wcześniej.
0zakres
och, i powinienem wspomnieć, że niektóre z tych archiwów są po prostu ręcznie szyfrowane dla mnie jako mojego adresata PGP. Mądrzejsze konfiguracje mają później dwa pliki, jedno archiwum zaszyfrowane kluczem symetrycznym, a klucz zaszyfrowany PGP, oba w jeszcze innym archiwum, więc pliki nie gubią się podczas przesyłania. Nic z tego nie jest tak ładnie zautomatyzowane jak wspomniane skrypty, ale spełniło swoje zadanie.
Florenz Kley,
Nigdy nie słyszałem o dwulicowości, ale brzmi to dokładnie tak, jak szukam! Czy wiesz ile to lat? Czy to jest stabilne? Nie mogę znaleźć żadnych dat rozpoczęcia projektu.
cnst
Duplicity [ duplicity.nongnu.org] istnieje od 2002 roku, używam go od ok. 2004.
Florenz Kley,
@ 0range - odrobinę wyczyściłem rozróżnienie „szyfrowanie”. To, co proponuję, nie jest blok po bloku, jest oparte na plikach. Zaproponuj użycie niezaszyfrowanych systemów plików, ponieważ mogą być odczytane przez oba systemy. Przechowuj na nich zaszyfrowane kopie zapasowe, a także mogą być odczytywane na obu platformach przez odpowiednie narzędzia natywne. To powinno zaznaczyć pole zarówno na twoich wymaganiach, szyfrowaniu i czytelności, na obu platformach.
Florenz Kley,
2

Duplikat - świetne narzędzie do tego zadania, wykorzystuje GPG do szyfrowania. Używam go od jakiegoś czasu i naprawdę polecam.

Jako alternatywy możesz spróbować:

  • obnam - to nowy projekt, ale ma kilka fajnych funkcji (jest trochę powolny, jeśli używasz ssh / scp)
  • burp - szyfrowanie hasłem
spinus
źródło
patrz mój komentarz do odpowiedzi Florenza Kleya powyżej. (i dzięki za sugestie dotyczące tych narzędzi)
0range
Przepraszam, mogłem tu tylko dodać komentarz. Narzędzia te nie są blok po bloku, ale FS (możesz wykonać kopię zapasową FS i przywrócić ją nawet w systemie Windows). GPG jest standardem szyfrowania - działa również na obu. Te programy nie są tylko sieciowe, możesz wykonać kopię zapasową katalog do katalogu. Dzięki duplikatowi możesz wykonać kopię zapasową obu komputerów i przywrócić zaszyfrowaną kopię zapasową wszędzie tam, gdzie masz duplikat i klucz GPG.
spinus
2

TrueCrypt powinien działać zarówno pod Linuksem, jak i FreeBSD. Chociaż regularnie używam TrueCrypt tylko w systemie Windows i sam nie próbowałem FreeBSD Truecrypt. YMMV.

Michaił Kupczik
źródło
1

Możesz wykonać kopię zapasową plików swoich komputerów za pomocą zwykłego rsyncna dysku twardym innych komputerów. Ponieważ i tak używasz szyfrowania lokalnego, jest on szyfrowany za pomocą szyfrowania systemów lokalnych, a transmisja jest zabezpieczona przez TLS. Aktualizacje są szybkie i trzymasz się dobrze sprawdzonych mechanizmów szyfrowania i tworzenia kopii zapasowych.

Jeśli po prostu musisz wykonać kopię zapasową plików w jakimś niezaufanym systemie, zwykły GPG działał dla mnie dobrze. Zautomatyzowałem część szyfrowania i przesyłania FTP za pomocą Pythona, który działa ładnie już od dwóch lat.

Michael
źródło