niedziela, 14 stycznia 2018

Jak w bezpieczny sposób tworzyć dokumenty na przykładzie migawek QNAP

Tytułem przydługiego wstępu :)

Dzisiejsza epoka nazywana jest często epoką informacji, bowiem jeszcze nigdy w historii ludzkości nasz gatunek nie wytwarzał ich tak wiele jak obecnie.
Towarzyszą nam one już od młodych lat: uczniowie piszą prace domowe; studenci prace zaliczeniowe i dyplomowe; dorośli tworzą analizy, strategie, plany. Do tego pasuje doliczyć także zdjęcia, filmy wideo, czy innego rodzaju twórczość. 

Takie informacje składujemy zazwyczaj na komputerze z podziałem na pliki, foldery i dyski. 
I tak to sobie działa, aż do momentu kiedy przestanie ;)

Bo jak to zazwyczaj w życiu bywa, prędzej czy później, przypałęta się jakieś zło, które może mieć postać oprogramowania szyfrującego / kasującego, bądź też - bądźmy szczerzy - naszej niefrasobliwości ;)

Pracuję w IT już kilkanaście lat i mogę z dużą dozą pewności stwierdzić, że nic nie stanowi takiego zagrożenia dla naszych danych, jak my sami ;) - przypomnijcie sobie, czy nie zdarzyło się Wam kiedyś usunąć czegoś przez przypadek? Tudzież przygotowując ważny dokument nie nadpisać go innym, tracąc część informacji? ;)
A może byliście bardziej twórczy i jeszcze w jakiś inny sposób udało Wam się udowodnić prawo Muprhy'ego mówiące Jeśli coś może pójść źle, to pójdzie.?

I co wtedy robiliście? Czyż nie mieliście wtedy ochoty użyć historycznego już cytatu Jak żyć panie premierze?;)

Rozwiązaniem na powyższe bolączki mogą być migawki, tak więc dzisiaj będzie właśnie o nich na przykładzie serwera NAS firmy QNAP. 

Nie chcę tutaj przeprowadzać analizy wszelkich możliwych przypadków wykorzystania migawek, ale zamiast tego skupię się na jednym, który być może "uratuje komuś życie", a mianowicie sposobie zabezpieczenia środowiska w którym wytwarzany jest ważny dokument jak np. praca magisterska.
Chyba każdy kto ją pisał może potwierdzić, że sama myśl o jej utracie powoduje nieprzyjemny ścisk w klatce piersiowej, mogący doprowadzić do zejścia z tego świata...

No dobrze. Weźmy się za robotę, a nie straszenie czytelników. 

Poniżej opisane wskazówki są ogólnymi kierunkami, nie zaś szczegółowym poradnikiem opisującym krok po kroku jak należy dokonać konfiguracji.

Założenia wstępne

Głównym założeniem jest bezpieczeństwo tworzonej pracy magisterskiej. Oczywiście jest to przykład, bo w ten sposób można zabezpieczać dowolne inne dane.
Co rozumiem przez pojęcie "bezpieczeństwa":
  • bezpieczeństwo fizyczne na które składa się odporność na awarie urządzenia na którym będzie przechowywana,
  • bezpieczeństwo programowe zapewniające integralność oraz nienaruszalność wytworzonych przez nas informacji dzięki czemu zyskujemy odporność na oprogramowanie złośliwe,
  • możliwość wersjonowania sporządzanego przez nas dokumentu, tj. w przypadku popełnienia przez nas pomyłki (np. wspomniane wcześniej skasowanie części pracy), możliwość cofnięcia się do wcześniejszej wersji.
Zaczynajmy więc :)

Bezpieczeństwo fizyczne

Kwestie bezpieczeństwa fizycznego oprzemy o serwer NAS firmy QNAP HS-251.

NAS QNAP HS-251
QNAP HS-251. Zdjęcie producenta. 
Jest to urządzenie dość nietypowe, przede wszystkim z uwagi na wygląd przypominający jeden z kolejnych elementów zestawu audio - video, a nie typowego NASa. Wyróżnia się on także tym, że nie ma wentylatorów, więc jest całkowicie bezgłośne (słychać jedynie zamontowane dyski).
Jeżeli wiec szukacie czegoś co chcielibyście postawić obok TV i pasowałoby do odtwarzacza Blu-Ray, to przyglądnijcie mu się bliżej.

Z punktu widzenia naszego projektu najbardziej będzie nas interesował fakt, że dzięki obsłudze trybu RAID 1, bezpieczeństwo przechowywanych na nim danych jest znacznie większe niż ma to miejsce w przypadku pojedynczego dysku w komputerze.
Opierając się na NASie należy pamiętać o tym, że nie ma on cudownych właściwości pobierania energii z kosmosu, więc na wypadek wystąpienia braku zasilania warto, aby wspierał go odpowiedni zasilacz awaryjny. Listę kompatybilnych urządzeń możecie znaleźć tutaj.

A jak wygląda kwestia programowa niniejszego projektu?

Zabezpieczenie sprzętowe zapewni nam w/w serwer NAS, ale przecież nie będziemy pisać pracy na komputerze i wysyłać jej do NASa co 5 minut, bo taki proces mógłby nas przyprawić o chorobę nerwową ;)

Co więc należy skonfigurować, aby całość była funkcjonalna i przyjemna?

Utworzenie folderu udostępnionego

Najprostszym rozwiązaniem wydaje się założenie na NASie folderu udostępnionego i zamapowanie go do komputera. Dzięki temu pracę będziemy mogli pisać na komputerze, zaś plik będzie się fizycznie znajdował na bezpiecznym NASie.

Efekt powyższych ustaleń widać na poniższym screenie.

Folder udostępniony "Praca_mgr" widoczny w FileStation5 oraz eksploratorze Windows
Folder udostępniony "Praca_mgr" widoczny w FileStation5 oraz eksploratorze Windows
Od teraz w komputerze lokalnym mamy dodatkowy folder sieciowy, widoczny pod literką Q, w którym będziemy przechowywać pracę magisterską.

Ale folder udostępniony, sam w sobie, nie stanowi szczytu możliwości dzisiejszych NASów i - bądźmy szczerzy - taką funkcjonalność oferują nawet bardzo proste urządzenia innych firm.

Nas interesuje kontrolowanie wersji naszej pracy magisterskiej, tak więc teraz pasuje włączyć tworzenie migawek. Ale zanim to zrobimy pasuje wykonać jeszcze jedną operację.

Konwertowanie folderu udostępnionego do Folderu Udostępnionego Migawek

Migawki tworzone są na wolumenach. Oznacza to, że każda migawka obejmuje wszystkie foldery udostępnione znajdujące się wewnątrz danego wolumenu.
Na poniższym screenie widać, że włączenie migawek dla wolumenu "Dane" objęłoby swoim działaniem wszystkie foldery zaznaczone czerwoną obwódką, a tego nie chcemy.

Foldery udostępnione znajdujące się na wolumenie "Dane" wobec których tworzone byłyby migawki
Foldery udostępnione znajdujące się na wolumenie "Dane" wobec których tworzone byłyby migawki

Bardziej eleganckim rozwiązaniem będzie przekonwertowanie folderu "Praca_mgr" do Folderu udostępnionego migawek. Opcję, która Wam to umożliwi znajdziecie w Panelu sterowania → Foldery współdzielone.

Po jej wykonaniu struktura folderów się zmieni i teraz folder udostępniony "Praca_mgr" nie będzie się znajdował na wolumenie "Dane", ale wewnątrz nowo utworzonego wolumenu "Praca_mgr_vol".

Folder udostępniony "Praca_mgr" został przeniesiony do nowo utworzonego wolumenu "Praca_mgr_Vol"
Folder udostępniony "Praca_mgr" został przeniesiony do nowo utworzonego wolumenu "Praca_mgr_Vol"
Jak wspomniałem wcześniej, migawki włączane są wobec wolumenu. Widzicie teraz, że wynikiem operacji konwertowania folderu udostępnionego do Folderu Udostępnionego Migawek było utworzenie nowego wolumenu "Praca_mgr_Vol", zawierającego wyłącznie utworzony przez nas folder udostępniony "Praca_mgr".
Możemy teraz włączyć na nim migawki i tylko dane z tego wolumenu będą podlegać zabezpieczeniu, zaś pozostałe foldery udostępnione nie będą posiadały tej ochrony.

Włączenie migawek dla wolumenu Praca_mgr_Vol

Dojście do kreatora ustawienia migawek możliwe jest na kilka sposobów. Ja przedstawię ścieżkę poprzez Panel SterowaniaPamięć masowa i migawki → menu po lewej stronie Pamięć masowa/Migawki.

Przejście do Managera kopii migawkowych w NASie QNAP
Przejście do Managera kopii migawkowych w NASie QNAP

Następnie, w Managerze kopii migawkowych należy skorzystać z opcji Ustawienia migawek, aby przejść do formatki umożliwiającej ich konfigurację, a wyglądającej jak poniżej.

Ustawienia wykonywania migawek z częstotliwością co 10 minut
Ustawienia wykonywania migawek z częstotliwością co 10 minut
W powyższym przykładzie wykonywanie migawek zostało ustawione co 10 minut, co jest czasem bardzo krótkim, dającym w efekcie 6 migawek na godzinę, 144 na dobę, lub aż 1008 na tydzień!

Na potrzeby niniejszego tekstu mogłem pozwolić sobie na tak częste wykonywanie migawek, ale w "realu" lepiej dobrać częstotliwość ich wykonywania bardziej rozsądnie z uwagi na to, że ich ilość podlega ograniczeniom wynikającym z:
  • typu procesora,
  • ilości pamięci RAM wbudowanej w serwer NAS,
  • ilości wolnego miejsca (dlatego wcześniej poczyniliśmy konwersję folderu udostępnionego do Folderu Udostępnionego Migawek, aby nie wszystkie foldery udostępnione podlegały ochronie, a jedynie folder z naszą pracą).
Urządzenie, które ja posiadam, ma procesor Intela i 2GB pamięci RAM, a w związku z tym może przechowywać do 32 migawek. 
Maksymalna ilość migawek w NASach QNAP
Procesor NAS Zainstalowana pamięć dla całego NASa Na wolumin/jednostkę LUN opartą na blokach
AMD ≧1GB 32 16
≧2GB 64 32
≧4GB 1024 254
Annapurna Labs ≧1GB 32 16
≧2GB 64 32
≧4GB 254 64
Intel ≧1GB 32 16
≧2GB 64 32
≧4GB 1024* 256
* Modele serii TS-x51/x51+ obsługują maksymalnie 256 migawek zamiast 1024.

W kontekście częstotliwości wykonywania migawek należy wyjaśnić jedną rzecz.
Jak wspomniane zostało wcześniej, posiadany przeze mnie NAS umożliwia wygenerowanie do 32 migawek dla wolumenu. Teraz wyobraźmy sobie, że praca magisterska byłaby pisana np. o godzinie 9.00, a następnie o 21.00 - daje to 12 godzin różnicy. Przy częstotliwości wykonywania migawek na poziomie sześciu na godzinę da nam to możliwość cofnięcia się raptem nieco ponad 5 godzin wstecz (bo 32 migawki / 6 migawek na godzinę = 5,33 godziny).
Czy w takim razie, gdy wieczorem wyjdzie na jaw, że rano usunięta została znaczna część pracy, to migawki nas nie uratują?

Dobre pytanie.

Gdyby migawki były ustawione ze sztywnym harmonogramem wykonywania, to tak by się skończyło. Na szczęście jest tam sprytna opcja nazywająca się Uruchom inteligentne kopie migawkowe.
Jej opis brzmi: Migawka jest wykonywana tylko wtedy, jeśli dane uległy modyfikacji od czasu ostatniej migawki. Pozwala to minimalizować liczbę migawek i obciążenie serwera NAS.

Odnosząc to do naszego przykładu. Gdy opcja ta będzie włączona, migawki będą wykonywane tylko wtedy kiedy praca magisterska będzie ulegała zmianie, a to znaczy, że każda migawka będzie posiadała inną wersję dokumentu. I to jest rozwiązanie symulowanego przed chwilą problemu.

A jak to wygląda w praktyce?
Na poniższym screenie widać, że migawki zostały utworzone o godzinie 16.25 oraz 21.46, bo wtedy plik pracy był zmieniany. W czasie kiedy nie ulegał on zmianie, migawki nie były tworzone.

Migawki utworzone o godzinie 16.25 i 21.46 widoczne w Managerze kopii migawkowych
Migawki utworzone o godzinie 16.25 i 21.46 widoczne w Managerze kopii migawkowych


Jak więc widać, przy konfiguracji migawek w serwerze QNAP warto zwrócić na tą opcję szczególną uwagę.

No i stało się nieszczęście... 

Mamy skonfigurowane migawki. Wykonują się wtedy kiedy chcemy. Wszystko jest skonfigurowane poprawnie i przypuśćmy, że stało się nieszczęście. Naszą pracę zaszyfrowało złośliwe oprogramowanie...

Co teraz?

Na lajcie czyścimy kompa (tudzież stawiamy system od nowa), bez żadnego stresu logujemy się do QNAPa, przechodzimy do zaprezentowanego wcześniej Managera kopii migawkowych i tam wybieramy wersję pliku z czasu kiedy nie była jeszcze zaszyfrowana, na przykład sprzed dwóch godzin. 

Zaznaczenie do przywrócenia pliku "Praca_mgr.docx" z migawki utworzonej przed dwiema godzinami
Zaznaczenie do przywrócenia pliku "Praca_mgr.docx" z migawki utworzonej przed dwiema godzinami

Tam możemy:
  • przywrócić wybrany plik do oryginalnego miejsca nadpisując ostatnią wersję (w naszym teoretycznym przypadku tą, która nieszczęśliwie została zaszyfrowana),
  • przywrócić plik do innego miejsca,
  • przywrócić całą migawkę do oryginalnego miejsca (czyli wszystkie pliki, które ona obejmowała),
  • przywrócić całą migawkę do innego miejsca.
Jak więc widać możliwości nie brakuje :)

Podsumowanie

Czy więc udało nam się spełnić postawione na początku założenia wstępne dotyczące zabezpieczenia pracy magisterskiej? Przypomnę tylko, że były to:
  • bezpieczeństwo fizyczne [...],
  • bezpieczeństwo programowe [...],
  • możliwość wersjonowania [...],
Bezpieczeństwo fizyczne dokumentu zostało zagwarantowane przez umieszczenie go na serwerze NAS. Z założenia jest to urządzenie znacznie bezpieczniejsze niż komputer typu składak. Dodatkowo wyposażenie go w zasilacz awaryjny pozwoli uchronić go przed zanikami / skokami zasilania, a tym samym nieplanowanymi wyłączeniami, które mogłyby źle wpływać na jego żywotność, czy strukturę plików na dysku. 
Pozostaje kwestia nośnika. W komputerze na ogół dane przechowywane są na jednym dysku twardym, tym samym ryzyko utraty danych w przypadku jego uszkodzenia jest znaczne. W zaproponowanym NASie QNAP HS-251 jest możliwość zamontowania dwóch dysków twardych, pracujących w trybie RAID 1, dzięki czemu zyskuje się odporność na awarię jednego z nich.
Ostatnim założeniem była możliwość wersjonowania i to głównie na tym skupił się dzisiejszy tekst. 
To założenie zostało spełnione poprzez włączenie funkcji migawek dla folderu udostępnionego w którym przechowywany jest plik pracy magisterskiej. 

Ale migawki, to nie tylko możliwość cofnięcia się do wcześniejszych wersji pliku. To także bezpieczeństwo przed oprogramowaniem złośliwym. Co mam na myśli?

Spieszę z wyjaśnieniem.

Oprogramowanie złośliwe typu WannaCry jest w stanie szyfrować dane nawet na udostępnionych dyskach twardych. Fakt więc, że nasza praca magisterska znajdowałaby się na serwerze NAS nie uchroniłby jej od zaszyfrowania, jeżeli byłaby ona dostępna w komputerze poprzez zamapowany dysk sieciowy. Możliwość skorzystania z migawek to kolejne pole do popisu w takich przypadkach. Jeżeli praca zostałaby zaszyfrowana, przywracamy wcześniejszą wersję i cieszymy się, że byliśmy na tyle roztropni, aby zawczasu skonfigurować taką opcję :)

No i cóż więcej mogę napisać. 

Życzę Wam, abyście trafili na ten tekst PRZED tym jak dopadnie Was nieszczęście i będziecie mieli czas na skorzystacie z niego w celu zapobieżenia nieszczęśliwemu wypadkowi wynikającemu z Waszej niefrasobliwości, czy też oprogramowania złośliwego.

Brak komentarzy:

Prześlij komentarz

Bardzo proszę o zachowanie netykiety.