-15% na nową książkę sekuraka: Wprowadzenie do bezpieczeństwa IT. Przy zamówieniu podaj kod: 10000

Domowa kopia zapasowa – dlaczego i w jaki sposób zadbać o spokój przed utratą prywatnych plików

20 stycznia 2017, 15:01 | Narzędzia, Teksty | komentarze 34
W temacie backupu mieliśmy już dłuższe teksty o Clonezilli Live oraz Clonezilli Server edition; tym razem dłuższe opracowanie o dostępnym bezpłatnie rozwiązaniu Ur Backup.

Część I – Teoria

O tym, co stanowi o wartości informacji, co zagraża naszym danym oraz jak można się zabezpieczyć przed ich utratą

Posiadanie przez nas podstawowych informacji jest warunkiem niezbędnym dla naszego codziennego funkcjonowania. Posiadanie cennych dla nas informacji umożliwia nam życie w znacznie większym komforcie, np. uzyskiwanie wyższych przychodów, lepsze wykorzystywanie własnych zasobów takich jak czas i pieniądze, skuteczniejszą ochronę naszych dóbr przed zagrożeniami albo po prostu – jest wynikiem dokumentowania wiedzy i wydarzeń. Inaczej ujmując, dzięki opisanym aspektom, pewne powiązane z nimi informacje, są przez nas cenione.

Wartościowe informacje są narażona na trzy kategorie problemów:

  • poufne informacje mogą zostać ujawnione, czego konsekwencją może być np. utrata prywatności i reputacji; należy pamiętać również o dotyczącym wszystkich punktów ryzyka, pojawienia się i wzrostu dodatkowych kosztów podczas prób opanowania konsekwencji problematycznych incydentów,

  • unikalne informacje mogą zostać niepostrzeżenie, przypadkowo lub celowo zmodyfikowane lub wręcz spreparowane od nowa i podrzucone nam, czego konsekwencjami mogą być np. błędne decyzje i oraz ich następstwa,

  • wartościowe informacje mogą stać się dla nas okresowo lub całkowicie niedostępne, co może przełożyć się np. na brak dostępu do wyników pracy, a przez to – utratę przychodów i czasu, utratę pamiątkowych materiałów, zgromadzonej wiedzy – a przez to podejmowanie błędnych decyzji, utratę reputacji, itd.

Przed tym skutecznie uchroni nas jedynie posiadanie kopii zapasowych.

Przyczyny utraty informacji są różnorakie; trudno znaleźć osobę która nigdy dotąd nie słyszała o jednym z poniższych przypadków:

  • usterkach dysków, pendrive’ów lub płyt CD/DVD,

  • zgubach lub kradzieżach urządzeń przechowujących dane, jak np. telefony lub laptopy,

  • przypadkowym skasowaniu lub nadpisaniu cennej treści dokumentu,

  • infekcjach szkodliwym oprogramowaniem usuwającym lub szyfrującym pliki.

Jednocześnie, już nie tak łatwo jest wskazać osobę z kręgu swoich znajomych, która do celów prywatnych albo domowych, korzysta ze specjalizowanego narzędzia wykonującego kopie zapasowe. Owszem, niektórzy korzystają z rozwiązań takich jak poniższe, ale nie mogących aspirować do miana kompleksowego instrumentu:

  • okresowo kopiują dane na dyski przenośne, pendrive’y lub płyty (co jest niewygodne, czasochłonne i dlatego często nieregularne),

  • posiadają domowe serwery plików (często stanowią one podstawową lokalizację danych, a backup jest wykonywany na tych samych urządzeniach – co nawet mimo ewentualnego mirroru dysków, czyni je mniej niezawodnymi; mogą być podatne na zaszyfrowanie wskutek działania wirusa, niekoniecznie wspierają wersjonowanie plików i zwykle są kosztowne),

  • gromadzą dane w usługach chmurowych (często odpłatnie, często dane są niezaszyfrowane a przecież są przechowywane przez zupełnie obcy podmiot, który ma do nich pełny dostęp – co jakiś czas media donoszą o problemach bezpieczeństwa takich usług, np. kradzieży, a następnie publikacji bardzo osobistych danych),

  • wykonują kopie partycji systemowych swoich komputerów (mogących ulec usterce programowej wskutek działania wirusa, instalacji nowego oprogramowania albo nieudanej aktualizacji), z których na co dzień korzystają jako podstawowego narzędzia umożliwiającego dostęp do swoich danych, a na w przypadku ich niedostępności, nie posiadają czekającego w pogotowiu urządzenia zapasowego; kopie te często wykonywane są w niezautomatyzowany sposób.

Powyższe zestawienie dotyczy przede wszystkim wad poszczególnych rozwiązań i ma na celu jawne wykazanie, że istnieją powody do poszukiwań alternatywy. Oczywiście, wymienione metody mają także bezsprzeczne zalety, które – na szczęście zazwyczaj można uzyskać innymi sposobami. Na przykład: dane w chmurze, dzięki oddalonej lokalizacji geograficznej dostawcy, są odporne na zdarzenia w obrębie naszego domu, takie jak: pożar, zalanie lub kradzież – w ostatnim przypadku pod warunkiem, że na utraconym komputerze nie zapisaliśmy naszych uwierzytelnień. Możemy także okresowo przewozić kopie dysków pod inny adres, lub w innej lokalizacji uruchomić serwer plików połączony z internetem i wykonywać kopie zapasowe za pomocą tego medium. Typowy domowy sprzęt jest również bardziej podatny na awarie, niż profesjonalne urządzenia pracujące w serwerowniach chmury, ale my również możemy uzbroić nasz system w dyski pracujące w RAID (na wypadek awarii któregoś), albo okresowo wykonywać kopię… kopii zapasowej, podłączając ręcznie na zmianę, dwa lub więcej osobnych nośników (co całkowicie uchroni nas przed większością skutków przepięcia w sieci energetycznej, które mogłoby uszkodzić wszystkie podłączone do niej urządzenia). Podobnie, możemy częściowo zautomatyzować okresowe testy integralności przechowywanych kopii.

Wracając do typowych metod wykonywania kopii zapasowych, opisane wyżej rozwiązania wymagają zazwyczaj dodatkowych nakładów, tj. pracy albo kosztów, jeśli miałyby uwzględniać także – wcale nie nadzwyczajną – a bardzo pożądaną, funkcjonalność wersjonowania archiwizowanych dokumentów, które okresowo modyfikujemy (ponieważ może pojawić się konieczność przywrócenia poprzedniej treści).

2. Propozycja taniej, ale kompleksowej metody zabezpieczenia się przed utratą danych

Tymczasem, np. nasz stary i niepotrzebny już komputer, albo tania biurowa, poleasingowa jednostka z odzysku, po wyposażeniu w odpowiednie oprogramowanie, może zapewnić nam wszystko powyższe. Przede wszystkim, warto wiedzieć, że do wykonywania kopii zapasowych nie jest wymagane zastosowanie sprzętu o dużej wydajności, czyli kilkuletniego komputera z najsłabszą kartą graficzną, niewielką jak na obecne czasy pamięcią, kartą sieciową i dyskiem o pojemności kilkadziesiąt do kilkuset GB (podana pojemność zależy od naszych oczekiwań, czyli od objętości danych teraz i w przyszłości, które chcemy zabezpieczać) –  dobrego kandydata do tego zadania.

Ewentualny brak licencji Windows, również nie musi stanowić powodu dodatkowych kosztów, ponieważ można znaleźć oprogramowanie dostępne zarówno dla Windows jak i dla Linux, a łatwość instalacji współczesnych dystrybucji tego drugiego, jest większa niż kiedykolwiek. Koszty poboru energii związane z pracą takiego komputera nie powinny być nadmiernie odczuwalne, skoro dedykowany sprzęt nie wymaga włączania monitora, może być uruchamiany o zadanej porze oraz na żądanie (np. przez sieć metodą „wake on lan” automatycznie po uruchomieniu naszego podstawowego komputera) i automatycznie usypiany po wykonaniu okresowych zadań.

Po zorganizowaniu sprzętu, pozostaje zastanowić się nad wyborem właściwego oprogramowania, spełniającego nasze potrzeby oraz dodatkowe wymagania. Wpływ na wybór mają: lista oczekiwanych funkcjonalności, rodzaj użytkowanej przez nas platformy oraz budżet – zwłaszcza, gdy (dość często) okazuje się, że istotne funkcjonalności są dostępne w płatnych wersjach. W sieci dostępnych jest wiele zestawień, umożliwiających wstępne porównanie cech poszczególnych produktów. Jakkolwiek, większość z nich sprawia wrażenie kompilacji oryginalnej dokumentacji danego oprogramowania oraz artykułów, które dotychczas ukazały się na jego temat; w takiej sytuacji, dopiero samodzielne zainstalowanie i użytkowanie danego produktu, pozwala zweryfikować na ile spełnia on nasze potrzeby. Tak właśnie miałem okazję zapoznać się z darmowym programem Cobian 11 (Gravity), który sam w sobie wywarł bardzo dobre wrażenie, a większość brakujących funkcji mogła zostać uzupełniona przez dodatkowe, również darmowe oprogramowanie. Niestety, oferował zbyt ubogie i zawodne metody rozpoznawania już zarchiwizowanych plików w trybie różnicowym, z którego zamierzałem korzystać. Co zresztą, doprowadziło do postawienia tezy, że system wykonujący kopie zapasowe może działać autonomicznie i efektywnie dopiero wtedy, gdy jego architektura dzieli się na komunikujące się ze sobą moduły serwerowe i klienckie.

W opisywanym dalej przypadku domowego wdrożenia, lista stawianych oczekiwań, finalnie przybrała poniższą formę:

  • architektura klient (Windows) – serwer (Windows lub Linux),

  • brak możliwości ingerowania z poziomu klienta w już zarchiwizowane dane, dla ich bezpieczeństwa (nie dotyczy pracy w panelu zarządzającym po zalogowaniu przez przeglądarkę, tam oczywiście jest to możliwe jako czynność administracyjna),

  • uwierzytelnienie użytkownika (aby nieupoważniona osoba nie pobrała kopii zarchiwizowanych plików) i uwierzytelnienie serwera (aby obcy, podstawiony serwer nie pobrał danych z komputera klienckiego),

  • wsparcie dla tworzenia obrazów działających on-line partycji systemowych Windows, korzystając z usługi Volume Shadow Copy (co umożliwia kopiowanie otwartych lokalnych plików), oraz możliwość łatwego przywracania ich na uszkodzony programowo system, ewentualnej ekstrakcji pojedynczych danych z obrazów,

  • weryfikacja integralności przechowywanych danych (okresowe porównywanie sum kontrolnych plików z zapisanymi osobno wartościami oryginałów),

  • wsparcie dla zarządzania energią serwera, tj. możliwość jego uśpienia po wykonaniu zaplanowanych zadań,

  • szyfrowanie i kompresja komunikacji sieciowej,

  • wersjonowanie plików,

  • darmowe oprogramowanie.

Funkcje takie jak np. możliwość utworzenia harmonogramu wykonywania kopii zapasowych, możliwość odzyskiwania zarchiwizowanych plików, albo wybór pomiędzy trybami backupu pełnego lub różnicowego, są oczywiste, ponieważ wynikają z przeznaczenia tego typu rozwiązań i ze współczesnych standardów.

Cześć II – Praktyka

3. Opis podstawowych możliwości programu UrBackup

Zatem czas na opis rzeczywiście przetestowanego i działającego obecnie oprogramowania UrBackup w wersji 2.0.3x

Oprogramowanie jest typu Open Source i jest darmowe, z wyjątkiem pojedynczego i niewymaganego modułu przyspieszającego wykonywanie pełnych obrazów partycji dysków. Części klienckie dostępne są dla wielu systemów operacyjnych, a serwerowe m.in. dla Windows i kilku dystrybucji Linux. Dla klientów Windows, program wykonuje:

  • pełne oraz różnicowe (twórcy niepoprawnie nazywają je przyrostowymi, jakkolwiek obie metody oszczędzają miejsce na dysku, kosztem czasu potrzebnego na odzyskanie danych) kopie folderów i plików – także właśnie otwartych w programach – jeśli „położone” są na fizycznym dysku klienta;
  • pełne, różnicowe i syntetyczne (są to kopie pełne, syntezowane z kopii różnicowych, co pozwala zaoszczędzić czas i zmniejszyć obciążenie sieci) kopie obrazów dysków działających systemów.

Dla trybu różnicowego, zmodyfikowane pliki rozpoznawane są niezawodnie – przez porównanie sum kontrolnych oryginału i backupu, zamiast standardowego polegania na datach modyfikacji lub atrybucie archiwizacji. Serwer wspiera deduplikację plików, co pozwala dodatkowo zaoszczędzić przestrzeń na dysku (na serwerze zapisywana jest jedynie jedna kopia danego pliku, nawet jeśli na kliencie występuje ich wiele – do pozostałych prowadzą powiązania logiczne). Domyślny harmonogram wykonywania kopii, jest przemyślany i konfiguracja przez użytkownika, może ograniczyć się nawet jedynie do wskazania folderów do kopiowania. Klient potrafi sygnalizować użytkownikowi ewentualne kłopoty z zaplanowanym wykonywaniem kopii. Panel zarządzania jest dostępny przez przeglądarkę, umożliwia pełną konfigurację ustawień aplikacji serwerowej, tworzenie użytkowników backupu i nadawanie im różnych poziomów dostępu, np. do odzyskiwania danych jedynie z danego komputera, albo zmian jego konfiguracji, przeglądanie logów i zarządzanie funkcjonalnościami. Przesyłane dane mogą być zaszyfrowane, możliwe jest także wystawienie serwera w internecie, bez dodatkowego zabezpieczenia polegającego na tworzeniu kanału VPN (ponieważ w tym wypadku szyfrowanie jest wprost wymuszone). Jednak uruchomienie szyfrowania komunikacji z konsolą administracyjną przez https pod Linux, wymaga dodatkowej instalacji i konfiguracji serwera web, co początkującym użytkownikom może sprawiać trudności, a czego brak, w zasadzie – ogranicza pracę serwera do naszej domowej sieci lokalnej.

Istnieje także możliwość wysyłania użytkowi raportów oraz archiwizowania backupów (w chwili przygotowywania tego opracowania, tych obu funkcji nie zdążyłem wdrożyć). Odzyskanie obrazu dysku systemowego, jest możliwe po uruchomieniu komputera klienckiego ze startowego pendrive’a, lub gotowej płyty CD, dostępnej pod linkiem. Oczywiście, wymaga to uwierzytelnienia użytkownika i działa bardzo sprawnie. Ewentualne problemy z połączeniem, można rozwiązać np. przez ręczne podanie adresu IP serwera. Proces instalacji przedstawiony jest na poniższej sekwencji komunikatów instalacyjnych.

instal1instal2instal3instal4instal5instal6image9instal7

Odzyskanie plików lub folderów w wersji z danego dnia, jest możliwe przez przeglądarkę – co ciekawe – możliwe jest zainicjowanie tego nie przez użytkownika, ale przez administratora aplikacji, co użytkownik musi jedynie zaakceptować po swojej stronie. Do danych z konkretnego momentu, można dotrzeć zarówno przez otwarcie backupu z daną datą, jak i poprzez odnalezienie wersji pliku z innego okresu, a następnie – wyświetlenie dostępnych wersji dokumentu. Polskojęzyczne oprogramowanie klienckie zainstalowałem docelowo na kilku komputerach z Windows 10. Serwer pracuje na komputerze z darmowym Linux Debian 8.5.0 64-bit w szybkim i mało wymagającym środowisku graficznym lxde, na dysku sformatowanym – w idealnym do takich zastosowań – systemie btrfs. Instalacja serwera wymagała jedynie wskazania folderu, w którym dane będą zapisywane oraz – dla bezpieczeństwa – utworzenia użytkowników i nadania im haseł.

Serwer zbudowany na starym desktopie, umieszczonym w osobnym pomieszczeniu w szafie, jest automatycznie wybudzany w godzinach nocnych w celu wykonania zadań diagnostycznych i porządkujących (godzinę po zaobserwowaniu bezczynności, powraca do stanu uśpienia). Wybudzanie następuje także każdorazowo, po zalogowaniu użytkownika do komputera klienckiego (w Harmonogramie Zadań dodałem uruchamianie darmowego programu opisanego i dostępnego pod linkiem, który potrafi wysłać w sieci pakiet „budzący” serwer po zalogowaniu do Windows) oraz na żądanie – skrótem z pulpitu. Jest to przydatne, gdy np. zmodyfikowano listę folderów do kopiowania, lub w przypadku konieczności wykorzystania zdalnego z panelu zarządzającego aplikacją serwerową. Codzienne korzystanie z klientów z Windows nie jest niczym zakłócane, przerywane ani utrudniane. Wszystkie zaplanowane zadania przebiegają w tle, a szyfrowanie komunikacji lub indeksowanie plików, nie obciąża komputera w zauważalnym stopniu. Jedynie zmieniający się kolor ikony w Zasobniku Systemowym, sygnalizuje status przeprowadzanych prac (co zresztą można zmienić, np. wybierając stosowaną wersję instalatora – „without tray icon”).

Oprogramowanie klienckie jest gotowe do pracy w domyślnej konfiguracji zaraz po instalacji (polegającej na wybraniu języka, potwierdzaniu kolejnych wyborów, jakkolwiek  zmieniałem u siebie niektóre ustawienia zalecane i wskazywałem ręcznie foldery do kopiowania,  ewentualne wykluczenia):

Ustawienia

image16

Serwer domyślnie rozsyła w sieci lokalnej wezwania do podłączenia dla nowo zainstalowanych klientów, zatem operacja sparowania nowego klienta z serwerem przebiega automatycznie. Sparowanie maszyn komunikujących się przez internet, wymaga ręcznego dodania klienta w panelu zarządzającym serwera oraz wpisania na kliencie adresu IP serwera i wygenerowanego na nim hasła dla danego klienta, z czego skorzystałem aby wymusić szyfrowanie nawet w mojej sieci domowej. Istnieje możliwość przepięcia klienta na inny serwer, ale ze względów bezpieczeństwa wymaga to ręcznego podania w pliki konfiguracyjnym klienta klucza pobranego z drugiego serwera. Oprogramowanie jest bogato udokumentowane, np. pod linkami tutaj i tutaj.  Po zapoznaniu z tą dokumentacją, większość funkcji i sposób działania staje się oczywiste. Dodatkowo – można skorzystać z forum, na którym oprócz porad, zamieszczane są odpowiedzi twórców rozwiązania (na nowe pytania).

4. Instalacja serwera UrBackup nabazie Debiana

Poniższy opis zawiera wszystkie zrzuty ekranu oraz opisane wybory przykładowej, bardzo uproszczonej i przeznaczonej dla niezaawansowanych użytkowników instalacji systemu Debian Jessie, ze środowiskiem lxde oraz serwera UrBackup. Obraz płyty instalacyjnej Debian, którą należy wypalić a następnie z której należy uruchomić wybrany na serwer komputer, można pobrać np. stąd.  Instalacja przebiega następująco:

image18

image19

image21

image20

Poniższe definiowanie nazwy sieciowej oraz nazwy domeny, jest w środowisku domowym zwykle mało istotne, jeśli zamierzamy – zamiast nazw – posługiwać się adresami IP.

image23image22

image24

image25

image25

image26

image27

Partycjonowanie oparte o LVM jest rozwiązaniem nowocześniejszym, ale nie jest niezbędne, dlatego skierowany do niezaawansowanych użytkowników opis opiera się o dobrze znany standard.

image29image28

Lepszym od podanego niżej rozwiązania, byłoby utworzenie osobnej partycji na kopie zapasowe, ale wymagałoby to większego nakładu pracy.

image30

image31

Domyślny system plików ext4 nie jest złym rozwiązaniem, ale efektywniejszy jest zalecany przez twórców UrBackup’a, system btfrs i dlatego, warto go zmienić w tym momencie instalacji.

image33

image32

image34

image35

image36

image41

image44

image45

image42

image43

Wybór środowiska graficznego LXDE nie ma bezpośredniego wpływu na konfigurację UrBackup, natomiast (podobnie jak Xfce), w małym stopniu obciąża system, co jest istotne przy wolniejszych i wyposażonych w mniejszą ilość pamięci komputerach.
image47image46Podany niżej identyfikator dysku na pewno będzie inny:

image49

image48

Po ponownym uruchomieniu można zalogować się do nowego systemu operacyjnego. Dobrą praktyką, jest zaniechanie logowania na konto administracyjne „root”. Natomiast w sytuacji dedykowanego do pojedynczego zadania komputera, na którym nie będzie wykonywana typowa desktopowa praca użytkowników, można rozważyć kompromis pomiędzy bezpieczeństwem a wygodą i zdecydować się na taki sposób pracy:

image50

Twierdząca odpowiedź na poniższe pytanie jest przykładem kolejnego kompromisu, który ułatwi pracę z linią komend przez rejestrowanie ich historii:

image51

W tym momencie pojawi się gotowy do pracy pulpit:

image52

Pierwszą proponowaną czynnością jest ustawienie automatycznego przekierowania żądań pobrania pakietu do najlepszego dostępnego serwera lustrzanego w oparciu o szereg czynników, takich jak: dostępność serwera, lokalizacja, architektura oraz jego aktualność. Polega to na zmianie repozytorium w pliku: /etc/apt/sources.list

deb http://httpredir.debian.org/debian jessie main

image53

(podpowiedź: dostępny po opisanej instalacji eksplorator plików nazywa się „Menadżer plików PCManFM” a odpowiednikiem notatnika , jest „Leafpad”)

Za pomocą terminala LXTerminal, należy wprowadzić polecenia aktualizujące listę dostępnych i zainstalowanych pakietów poleceniami

apt-get update

apt-get upgrade

image54

Następnym krokiem, jest pobranie pakietu instalacyjnego serwera UrBackup. Można to zrobić na wiele sposobów. Przyjazną metodą dla niezaawansowanych użytkowników, będzie uruchomienie przeglądarki internetowej Iceweasel oraz pobranie pakietu z witryny i zapisanie pliku z adresu.

image55

Analogicznie jak w oryginalnym Firefox’ie, można podejrzeć status pobranych plików oraz otworzyć zawierający je folder nadrzędny:

image56

W poniższym przykładzie, uruchomienie instalacji polega na uruchomieniu terminala LXTerminal i wykonania poniższego polecenia:

dpkg -i /root/Pobrane/urbackup-server_2.0.33_amd64.deb

image57

image58

Rozwiązaniem dla tego monitu o błędach jest wpisanie polecenia

apt install –f

image59

Poniżej podajemy informację o wybranym przez nas folderze, który zostanie przeznaczony na przechowywanie kopii zapasowych:

image60

W tym momencie serwer UrBackup jest gotowy do pracy. Po uruchomieniu przeglądarki Iceweasel, należy przejść pod adres: 127.0.0.1:55414, po czym ukaże się panel administracyjny UrBackup:

image61

Wskazane byłoby zarezerwowanie stałego adresu IP dla naszego serwera na naszym routerze, pełniącym funkcję serwera DHCP. Można go także przypisać statycznie na samym serwerze. Znając ten adres (w poniższym przykładzie – 192.168.0.104) można wprowadzić go w przeglądarce na innym komputerze podłączonym do naszej sieci lokalnej (ponownie po dwukropku podając nr portu 55414) – 192.168.0.104:55414

image62

Podstawowa i wystarczająca do pracy instalacja jest gotowa, jakkolwiek wskazane jest niezwłoczne ustawienie hasła dla użytkownika „admin”:

image63

Ustawienia dodatkowe

Wartościową funkcjonalnością podnoszącą bezpieczeństwo danych, jest aktywowanie szyfrowania komunikacji z konsolą zarządzającą, czyli włączenie protokołu https, co jest opisane pod linkiem. Wymaga ono wygenerowania certyfikatu SSL, instalacji serwera webowego np. Apache, oraz modułu fastcgi. Za pomocą terminala LXTerminal, można to wykonać kolejnymi krokami i poleceniami:

cd /etc/ssl/private
openssl genrsa -aes128 -out server.key 2048
openssl rsa -in server.key -out server.key
openssl req -new -days 3650 -key server.key -out server.csr
openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650
chmod 400 server.*
apt-get install apache2

Następnie należy zmodyfikować zaznaczoną poniżej treść pliku: /etc/apache2/sites-available/default-ssl.conf

SSLCertificateFile /etc/ssl/private/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key

image64

A następnie wykonać :

a2ensite default-ssl
a2enmod ssl
systemctl restart apache2

Powyższe czynności są dokładnie opisane tutaj i tutaj. Kolejne polecenia do wykonania to:

cd /var/www/html
ln -s /usr/share/urbackup/www urbackup

Następnie, należy pobrać libapache-mod-fastcgi dla naszej wersji Debiana Jessie, np. spod linku i zainstalować go poleceniem:

dpkg -i /root/Pobrane/libapache2-mod-fastcgi_2.4.7~0910052141-1.1+deb8u1_amd64.deb

image65

oraz zmodyfikować zaznaczoną poniżej treść pliku /etc/apache2/mods-available/fastcgi.conf dopisując frazę:

FastCgiExternalServer /var/www/html/urbackup/x -host 127.0.0.1:55413

image66

Po restarcie serwera, panel zarządzający będzie dostępny szyfrowanym połączeniem pod adresem https://127.0.0.1/urbackup (ostrzeżenie dot. certyfikatu jest poprawnym zachowaniem).

Możliwość wybudzania z uśpienia serwera z Debianem przez sieć (WOL, „wake on lan”) wymaga dodatkowej konfiguracji opisanej pod linkiem.
Oczywiście, należy również włączyć tę funkcjonalność ustawieniach biosu naszego komputera, a dokładny sposób wykonania zależy od producenta płyty głównej. Generalnie, odnalezienie tego ustawienia nie jest trudne, ale w niektórych przypadkach potrzebne są nieudokumentowane ustawienia – np. w przypadku komputerów Dell, niezbędne może być wyłączenie funkcji Deep Sleep. Ponadto, komputery mają możliwość zaprogramowania w biosie wybudzania o określonej porze (mogą to być godziny naszej typowej aktywności przed komputerem, lub godziny nocne). Możliwość automatycznego usypiania serwera jest opisana tutaj
Wystarczy aktywować tę funkcję, a następnie – w przypadku Debiana – opisany tam skrypt umieścić np. w lokalizacji /etc/cron.hourly/

5. Przegląd wybranych funkcjonalności oraz ustawień wdrożonego sytemu

Znakomita większość ustawień domyślnych, wystarcza do skutecznego działania programu. Moje wymagania obejmowały dodatkowo np. wymuszenie szyfrowania podczas pracy w domowej sieci lokalnej. To oraz pozostałe, wybrane ustawienia zostały przedstawione i opisane poniżej.

Zakładka „Status” wyświetla podłączone komputery klienckie i umożliwia wykonywanie na nich zadanych akcji:

image67

Można przeglądać zdarzenia który miały miejsce:

image68

listę backupów dla danego klienta

image69

zawartość tych backupów:

image70

z podziałem na foldery:

image71

lub pojedyncze pliki

image72

oraz z podziałem na wersje pojedynczych plików z poszczególnych sesji backupu:

image73

Dostępne są kompletne logi z pracy serwera, z możliwości odfiltrowania kategorii zdarzeń np. wyświetlenia wyłącznie błędów:

image74

Dostępne są statystyki dotyczące wykonanych zadań:

image75

Na zakładce ustawień widać m.in. odblokowanie funkcji wyłączania serwera w stanie bezczynności:

image76

Można zarządzać użytkownikami przez ich tworzenie i nadawanie lub odbieranie uprawnień do backupów poszczególnych komputerów, lub możliwych do wykonania czynności (ich dokładna lista jest dostępna pod linkiem):

image77

Poniższe ustawienia odpowiadają m.in. za włączenie haszowania danych (zamiast trybu RAW), dla uodpornienia ich na błędy transmisji, ograniczenia wykorzystania łącza w trybie różnicowym – przez porównanie bloków danych po stronach klienta i serwera przed ich przesłaniem, aktywowanie deduplikacji plików oraz weryfikację integralności przesłanych danych:

image78

image79

image80

Harmonogram zadań można modyfikować i parametryzować wedle naszych potrzeb i dostępnego miejsca przeznaczonego na kopie zapasowe:

image81

image82

image83

Za wymuszenie szyfrowania w sieci lokalnej odpowiada wymuszenie trybu „Internet”, w którym na kliencie należy ręcznie wpisać adres IP serwera oraz hasło wygenerowane przez serwer:

image84

Jakkolwiek dla pewności właściwym jest ręczne skonfigurowanie klienta przez edycję pliku C:\Program Files\UrBackup\args.txt aby zawierał wersy:

 --internet_only_mode
 true

Dodawanie lub usuwanie folderów do kopiowania jest łatwe:

image16

Na kliencie można na bieżąco śledzić szczegóły wykonanych operacji,

image85

oraz bieżący status:

image86

6. Podsumowanie

Powyższe opracowanie umożliwia niezaawansowanemu użytkownikowi zbudowanie jak najniższym kosztem, bezobsługowego narzędzia dbającego o automatyczne wykonywanie kopii zapasowych, wskazanych folderów oraz partycji systemowych. Możliwości tego narzędzia są wystarczające dla spełniania swojej funkcji w małej lub nawet średniej wielkości firmie, bez nakładania ograniczeń do pojedynczej lokalizacji.

~ Arkadiusz Zacharzewski

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. vod

    heh pisałem prace inż. w oparciu o ten programik i nie tylko :D

    Odpowiedz
  2. pl

    jest:
    „że do wykonywania kopii zapasowych jest wymagane zastosowanie sprzętu o dużej wydajności”
    powinno być:
    „że do wykonywania kopii zapasowych NIE jest wymagane zastosowanie sprzętu o dużej wydajności”

    Odpowiedz
  3. Bardzo dobry i sensowny artykuł. Robiłem dawno temu podejście do tego softu ale jakoś się nie polubiliśmy, widzę, że trzeba jednak spróbować.

    Ja rozwiązuję sprawę trochę inaczej: na stacjach Windows jest Cobian z dwoma zadaniami. Pierwsze robiące kopie lokalnie na innej partycji, drugie kopiujące pliki z archiwum na udział Samby z Linuksa. W nocy na Linuksie uruchamia się skrypt przenoszący kopie ze wszystkich Windowsów do katalogu niedostępnego z sieci – w ten sposób jest załatwiona sprawa ewentualnego zaszyfrowania danych w sieci. Zaletą jest brak konieczności kombinowania z serwerem (wszędzie i tak jest Samba) i przenośność Cobiana – instalacja minutę + import pliku z ustawieniami.
    Bardzo cenię program Cobiana i nie zauważyłem problemów przy kopiach różnicowych i przyrostowych. Do tego ma fajne opcje wykonywania zadań przed i po kopii (np. położenie bazy, uruchomienie skryptu, wyłączenie komputera). Są powiadomienia mailowe i wiele innych opcji, jak ktoś nie zna to niech spróbuje.

    http://www.cobiansoft.com/index.htm

    To jest ostatnia wersja, program nie jest rozwijany. Od dawna chce sprzedać kod, nie wiem czy ktoś już kupił.

    Jest jakaś opcja żeby jeden komputer pełnił rolę głównego dla pozostałych Cobianów (taka konsola do zarządzania) ale nie korzystałem z tego.

    Odpowiedz
  4. xyz

    Świetny artykuł, dzięki!
    Będzie następny z omówieniem poszczególnych funkcji?

    PYTANIE:
    Co z dyskami systemowymi klientów szyfrowanymi VeraCryptem? W przypadku innych programów pojawia się błąd (wymagany reload systemu i post-boot wywala błąd) lub trzeba zrobić pełną kopię zaszyfrowanego wolumenu. Czy w tym przypadku dysk systemowy backupowany jest w czasie normalnej pracy systemu i szyfrowanie dysku nie ma na to wpływu?

    Odpowiedz
    • asd

      Jeśli masz fulldisk encryption to niestety ale został Ci backup sektor po sektorze, który będzie zawsze identyczny z rozmiarem backupowanej partycji – bo dane szyfrowane sa slabo kompresowalne. Ale masz pewność ze po odzysku takiego dysku (niestety na taki sam nosnik, ta sama objetosc) zbootuje Ci sie poprawnie i odszyfruje przy pomocy preboot auth.

      Ja oprocz okresowego pełnego backupu szyfrowanego dysku systemowego (raz na 10 dni) robię codziennie przyrostową kopię samych plików całej partycji systemowej. Wówczas po przywróceniu sektor po sektorze, przywracam i nadpisuje pliki systemowe backupowane w sposob normalny (czyli widoczne jako niezaszyfrowane dla programu do backupów – przez to kompresowalne i zajmujące mało miejsca). Oczywiście wszystkie kopie zapasowe trzymane są na zewnętrznym dysku szyfrowanym podłączanym na USB, który jest montowany przez skrypt dopiero przed robieniem kopii i demontowany z systemu odrazu po jego wykonaniu.

      Polecam wersję darmowa EASEUS TODO BACKUP, ogarniesz nim wszystko o czym napisałem w systemie Windows w bardzo krótkim czasie (setup maksymalnie 5 minut).

      Bardzo zaskakująco zachowuje się natomiast Acronis True Image, który mimo backupu całego dysku szyfrowanego w trybie sektor po sektorze, backupuje dane odszyfrowane, co oczywiscie skutkuje tym ze odzyskany w taki sposob system sie nie zbootuje. Widocznie odczyt danych odbywa się na innym poziomie, TODO Backup działa na tym najnizszym w trybie sector-by-sector stąd wymóg przywracania szyfrowanego obrazu na nosnik o takiej samej objetosci i tego samego typu (czyli ssd lub hdd).

      Odpowiedz
      • K

        w jaki sposób robisz posektorową kopię zaszyfrowanego dysku?

        Odpowiedz
    • asd

      Zapomniałem dodać – tak, backup dysku systemowego szyfrowanego odbywa się w trakcie normalnej pracy na uruchomionym systemie w tle, zupełnie jak przy normalnym backupowaniu systemu nieszyfrowanego (przy czym TODO Backup radzi sobie dobrze, natomiast Acronis TrueImage jak napisałem wyżej robi to nieprawidłowo).

      Odpowiedz
  5. wk

    Wygląda całkiem praktycznie, dzięki

    Odpowiedz
  6. des

    Czegoś takiego szukałem – jednak podpinam się pod pytanie xyz co dyskami szyfrowanymi VeraCrypt’em?

    Odpowiedz
  7. mi-hal

    Cobian jest niezły ale nie zapewnia deduplikacji i zwiazanych z tym rzeczy. A to obecnie już jest spora wada.
    Ten UrBackup mi się podoba -szkoda tylko że nie ma wersji servera na domowe NASy – Synology , Qnap itp

    Odpowiedz
    • Q

      Zawsze można skompilować i stworzyć paczkę. O czym właśnie myślę.

      Odpowiedz
      • Paczka dla QNAP i dla SySlogic jest dostępna w sieci

        Odpowiedz
  8. czesław

    Cześć.
    Jak backup mam zrobiony inaczej (Ferro Backup System) + replikacja na dysk USB. Problemem jest bezpieczne przechowywanie tego dysku, najlepiej robić to w innej lokalizacji.

    Od trzech dni szukam jakiegoś rozwiązania, ale każde ma wady
    -drop box kosztuje 100& rocznie
    -amazon glacier jest tani jesli chodzi o składowanie, ale koszmarnie drogi jesli zechcesz pobrac dane
    -amazon cloud drive- jest unlimited, ale dotyczy to tylko dokumentów i zdjęć, a nie dajmy na to ZIPów i kontenerów.
    -black baze kosztuje $dolarów rocznie, niby tanio, ale jak pom nożymy to przez dajmy na to 10 lat- wychodzi spora sumka

    zwłaszcza, że moge postawić jakiś serwer na starych podzespołach za równowartośc rocznego abonamentu

    -kolokacja- 250 zł miesięcznie

    -skrytka bankowa- praktycznie nie osiagalna w moim mieście.

    jakieś inne pomysły?

    Odpowiedz
    • John

      Ultra tanie i całkiem sporych wymiarów (ale trzeba upolować) dedykowane w Kimsufi.

      Odpowiedz
      • czesław

        kimsufi- jestes kolejną osobą która to poleca. 500 GB mi wystarczy.

        Zwykły hosting- tez używam do często zmieniającysh się danych. Tam backup trafia co 4 godziny po zaszyfrowaniu do owncloud.

        Tylko, że to wszystko robi się strasznie skomplikowane. CO jakiś czas muszę przeglądać disaster recovery i upraszać.

        Pozdrawiam

        dzieki

        Odpowiedz
    • wk

      Wszystko zależy co chcesz przechowywać , ile, i jak szybki mieć dostęp do tego. Zamiast propozycji co wymieniłeś, przychodzi mi na myśl np jakiś umiarkowanej ceny hosting i wrzucać przez ftps zaszyfrowane dane.

      Odpowiedz
  9. Aju

    Czy ten program mozna zastosowac w opcji gdy serwer jest poza siecia LAN? Czy klient wysyla dane czy serwer pobiera?

    Odpowiedz
    • Arek

      Można umieścić serwer poza LAN, wymaga to m.in. podania w kliencie adresu serwera (oczywiście szyfrowanie komunikacji będzie z góry wymuszone; natomiast nie będzie mogła zadziałać opcja automatycznego wyszukiwania i podłączania klientów przez serwer). Klient będzie inicjował połączenie z serwerem, więc odpowiada to przypadkowi w którym klient wysyła.

      Odpowiedz
  10. zakius

    Ja mam pewne paranoidalne wątpliwości, mianowicie nie ufałbym oprogramowaniu na backupowanej maszynie
    To co mi by najbardziej odpowiadało to zamontowanie w serwerze kopii dysku z maszyny zabezpieczanej i wyciąganie z niej w ten sposób, bez pośrednictwa czegokolwiek pod kontrolą potencjalnie zarażonego systemu

    Odpowiedz
  11. metz

    Z tym urBackup wszystko fajnie pięknie, ale minusem jest brak szyfrowania danych na serwerze. W przypadku kiedy kolokujemy maszynę (aby realizować backup nie tylko w domu) to poważne ryzyko. Testowałem urBackup i gdyby nie ten detal to byłby najlepszym rozwiązaniem. Pozostałem przy Duplicati 1.3.4.

    Odpowiedz
  12. CluelessKiwi

    Pytanie: co z laptopami – czy to będzie działać na maszynie, która jest „okazjonalnie włączona” i często zmienia sieci?

    Odpowiedz
    • Arek

      Będzie działać po wystawieniu serwera z publicznie dostępnym adresem.

      Odpowiedz
  13. BrO

    Jest możliwość przypisania limitu przestrzeni do konta klienta? Oraz automatyczne kasowanie/napisanie starych plików

    Odpowiedz
  14. Aż sobie chyba artykuł wydrukuję, na wypadek gdyby mi historię przeglądarki wywaliło ?
    A tak serio to fajna opcja, byle stare pudło kupić, większy dysk, tydzień konfiguracji przy moim ogarnianiu i czasie i śmiga.
    Wygląda na dużo lepszą opcję niż dysk zewnętrzny typu cloud który chciałem kupować, a cenowo wyjdzie podobnie.
    Tylko miejsca odrobinę więcej niż na półce trzeba.
    A właśnie – da się w takiej maszynce dodatkowo poza backupem zrobić funkcjonalność taką właśnie jak dysk cloud typu te WD? Żeby na tym był dostępny z różnych kompów w sieci np magazyn zdjęć i tworzenie ich kopii zapasowych? Żeby albo zamiast albo dodatkowo poza zdjęciami na komputerze użytkowym tam te zdjęcia były?
    Jak tak to już mi to rozwiązanie w 101% pasuje. Tylko wtedy ten malutki minus przez to że to pudło pc a nie dysk wielkości książki na półce. Ale plusy wydają się wtedy to przebijać.

    Odpowiedz
    • metz

      owncloud.

      Odpowiedz
  15. Luk

    A jest możliwość ustawienie udziału sieciowego jako katalogu na backup na innej maszynie? Tzn na 1 sprzęcie serwer urbackup a na innej udział sieciowy? Mam kompa co bym go wykorzystał pod serwer a na innej maszynie mam 9Tb miejsca na backup. Tam stoi win 2k8 póki jest wspierany niech se będzie. Gdy się wykrzaczy albo postawie na nowo albo wrzucę freenas. Zrezygnować z tego nie mogę gdyż tam mam przekierowane foldery userów, backup baz itp.

    Odpowiedz
    • Arek

      Nie wiem. Wymagałoby to wcześniejszego podmontowania zdalnego udziału pod lokalny filesystem serwera UrBackup, i wskazanie go przy instalacji jako folderu na dane, ale bez przetestowania trudno mi odpowiedzieć.

      Odpowiedz
  16. bre

    Miałem plan tego użyć do czasu aż nie sprawdziłem prostego i wydajnego do bólu Veeam Backup Free Edition

    Odpowiedz
  17. mam pytanie
    czy ktoś instalował klienta na Ubuntu Server i
    czy na jednej maszynie będzie działał jednocześnie klient i serwer.

    Odpowiedz
  18. EF

    Czy taki rozwiązanie będzie bezpieczne w razie zainfekowania stacji klienckiej programem szyfrującym dysk? Czy backup też nie zostanie zaszyfrowany/nadpisany w takim wypadku?

    Odpowiedz
    • metz

      Nie zostanie. Będziesz mógł się cofnąć do wersji sprzed zaszyfrowania.

      Odpowiedz
  19. Tomasz

    Czy da się z poziomu serwera stworzyć zadania archiwizujące pulpity podłączonych klientów?
    Próbowałem wpisać:
    Default directories to backup: %USERPROFILE%\Desktop

    w logu dostałem:
    Starting scheduled full file backup…
    Cannot access path to backup: „\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy27\ERPROFILE%\Desktop” Errorcode: 3 – System nie może odnaleźć określonej ścieżki.
    Hint: The path to backup contains Windows environment variables. This is not supported. UrBackup Clients runs as user independent system service. See https://www.urbackup.org/faq.html$rinclude_files for what you probably want to do.
    Hint: Directory to backup („%USERPROFILE%\Desktop”) does not exist. It may have been deleted or renamed. Set the „optional” directory flag if you do not want backups to fail if directories are missing.
    Constructing of filelist of „tomek” failed: error – index error
    Backup had an early error. Deleting partial backup.

    Odpowiedz
    • jarek

      klient działa z konta systemowego wiec ta ścieżka jest niepoprawna z jego punktu widzenia, musisz podać dokładną ścieżkę albo uruchamiać klienta z konta usera tak aby dla niego to była realna ścieżka. Oczywiście uruchamianie z konta usera niesie za sobą pewne niebezpieczeństwo, ale to już chyba oczywiste :)

      Odpowiedz
  20. ArekR

    Kilka pytań:
    – można zahasłować backup aby przy próbie odtworzenia obrazu dysku trzeba było podać hasło (np w Veeam jest taka opcja)?
    – na kliencie jak i na serwerze można ustawić np harmonogram kiedy ma być robiony backup, które ustawienia mają większy priorytet na serwerze czy na kliencie (fajnie aby z poziomu urbackup można było zarządzać wszystkim backupami klientów…)

    Odpowiedz

Odpowiedz