Prywatna chmura. Szukamy alternatywy dla rozwiązań otwartych

Jestem inżynierem z wykształceniem, ale częściej rozmawiam z przedsiębiorcami i dyrektorami zakładów. Jakiś czas temu o radę zwrócił się właściciel firmy przemysłowej. Mimo że zakład jest duży i został założony w latach 90., zarząd oraz księgowość działają według starych zasad w sieci lokalnej.

To skutek obaw o własny biznes i zaostrzającej się kontroli ze strony państwa. Prawo i normy mogą być interpretowane przez organy kontrolne bardzo szeroko. Przykładem mogą być zmiany w Kodeksie podatkowym, likwidujące termin przedawnienia przy naruszeniach podatkowych, faktyczne zniszczenie tajemnicy bankowej i audytorskiej..

W rezultacie właściciel firmy zaczął szukać rozwiązań do niezawodnego przechowywania informacji i bezpiecznego przesyłania dokumentów. Wirtualny "sejf".

Zadanie omówiliśmy z etatowym administratorem systemu: potrzebna jest głęboka analiza istniejących platform.

  • usługa musi być nie chmurowa, w klasycznym rozumieniu tego słowa, tzn. bez przechowywania na zasobach zewnętrznej organizacji. Tylko własny serwer;
  • wymagana jest silna encryptcja przesyłanych i przechowywanych danych;
  • musi być możliwość natychmiastowego usunięcia treści z dowolnego urządzenia po naciśnięciu jednego przycisku;
  • rozwiązanie zostało opracowane za granicą.

Czwarty punkt zaproponowałem usunąć, ponieważ rosyjskie aplikacje mają oficjalne certyfikaty. Dyrektor powiedział wprost, co należy zrobić z takimi certyfikatami.

Wybieramy opcje

Wybrałem trzy rozwiązania (im więcej opcji do wyboru, tym więcej wątpliwości):

  • Open Source — projekt Syncthing.net , wspierany przez entuzjastę-dewelopera Jakoba Borga.
  • Resilio.com, nadzorowane przez amerykańską firmę Resilio Inc. (wcześniej ta usługa nazywała się BitTorrent Sync).
  • Projekt Pvtbox Elektroniczny sejf od pvtbox.net aplikacja do synchronizacji. Rejestracja na Cyprze.

Właściciel firmy słabo orientuje się w technicznych szczegółach, dlatego przygotowałem raport w formie listy zalet i wad każdej opcji.

Podsumowanie analizy

Syncthing

Zalety:

  • Open source;
  • Aktywność głównego dewelopera;
  • Projekt istnieje od bardzo dawna;
  • Darmowy.

Wady:

  • Brak klienta dla interfejsu iOS;
  • Wolne serwery Turn (są darmowe, więc hamują). Dla tych, którzy
    nie wiedzą, Turn jest używane, gdy nie ma możliwości bezpośredniego połączenia;
  • Skomplikowana konfiguracja interfejsu (potrzebne jest wieloletnie doświadczenie w programowaniu);
  • Brak szybkiego wsparcia komercyjnego.

Resilio

Zalety: wsparcie dla wszystkich urządzeń oraz szybkie serwery Turn.

Wady: Jeden bardzo istotny problem to całkowite ignorowanie wszelkich zgłoszeń do działu wsparcia. Zero reakcji, nawet gdy piszemy z różnych adresów.

Pvtbox

Zalety:

  • Wsparcie dla wszystkich urządzeń;
  • Szybkie serwery Turn;
  • Możliwość pobrania pliku bez instalacji aplikacji;
  • Adekwatna obsługa klienta, w tym telefoniczna.

Minusy:

  • Młody projekt (mało recenzji i dobrych opinii);
  • Bardzo techniczny, nie zawsze zrozumiały interfejs strony;
  • Brak szczegółowej dokumentacji, w wielu sprawach trzeba kontaktować się z działem wsparcia.

Co wybrał klient

Jego pierwsze pytanie: jaki sens ma rozwijanie czegoś za darmo? Od razu zrezygnowano z Syncthing. Argumenty nie zadziałały.

Po kilku dniach klient stanowczo odrzucił Resilio Sync z powodu braku wsparcia, ponieważ nie było jasne, gdzie zwracać się w sytuacjach kryzysowych. Dodatkowo brak zaufania do amerykańskiej siedziby firmy.

Dla dalszej analizy pozostał Pvtbox Elektroniczna skarbnica. Przeprowadzono pełny audyt techniczny tej platformy, koncentrując się na możliwości przechwytywania, deszyfrowania danych i nieautoryzowanego dostępu do zbiornika informacyjnego.

Proces audytu

Zrealizowano analizę połączeń po uruchomieniu programu, w trakcie pracy i w stanie spoczynku. Ruch zgodny z nowoczesnymi standardami jest początkowo szyfrowany. Spróbujemy przeprowadzić atak MITM i podmienić certyfikat „na żywo” za pomocą Linux (Xubuntu Linux 18.04), Wireshark, Mitmproxy. W tym celu wprowadzimy pośrednika między aplikacją Pvtbox a serwerem pvtbox.net (jest wymiana danych z serwerem pvtbox.net za pośrednictwem połączenia https).

Uruchamiamy aplikację, aby upewnić się, że program i synchronizacja plików działają. W Linuxie można od razu obserwować logowanie, jeśli uruchomimy program z terminala.
Prywatna chmura. Szukamy alternatywy dla rozwiązań otwartych

Wyłączamy aplikację i podmieniamy adres hosta pvtbox.net w pliku /etc/hosts z uprawnieniami superużytkownika. Podmieniamy adres na adres naszego serwera proxy.
Prywatna chmura. Szukamy alternatywy dla rozwiązań otwartych

Teraz przygotujemy nasz serwer proxy do ataku MITM na komputerze z adresem 192.168.1.64 w naszej lokalnej sieci. W tym celu zainstalujemy pakiet mitmproxy w wersji 4.0.4.

Uruchamiamy serwer proxy na porcie 443:
$ sudo mitmproxy -p 443

Uruchamiamy program Pvtbox na pierwszym komputerze, obserwujemy wyjście mitmproxy i logi aplikacji.
Prywatna chmura. Szukamy alternatywy dla rozwiązań otwartych

Mitmproxy informuje, że klient nie ufa zamiennemu certyfikatowi od serwera proxy. W logach aplikacji zauważamy również, że certyfikat serwera proxy nie przechodzi weryfikacji i program odmawia działania.

Instalujemy certyfikat serwera proxy mitmproxy na komputerze z aplikacją Pvtbox, aby uczynić certyfikat „zaufanym”. Na komputerze zainstalujemy pakiet ca-certificates. Następnie skopiujemy certyfikat mitmproxy-ca-cert.pem z katalogu .mitmproxy serwera proxy na komputer z aplikacją Pvtbox do katalogu /usr/local/share/ca-certificates.

Wykonujemy polecenia:
$ sudo openssl x509 -in mitmproxy-ca-cert.pem -inform PEM -out mitmproxy-ca-cert.crt
$ sudo update-ca-certificates
Prywatna chmura. Szukamy alternatywy dla rozwiązań otwartych

Uruchamiamy aplikację Pvtbox. Certyfikat ponownie nie przeszedł weryfikacji, program odmawia działania. Prawdopodobnie aplikacja wykorzystuje mechanizm ochronny Certificate pinning.

Podobny atak został przeprowadzony na hoście signalserver.pvtbox.net, a także na samym połączeniu peer-2-peer między węzłami. Programista wskazuje, że aplikacja do ustanawiania połączeń peer-2-peer wykorzystuje otwarty protokół webrtc, w którym stosowane jest szyfrowanie end-to-end w protokole DTLSv1.2.

Klucze są generowane na każde nawiązanie połączenia i przekazywane przez szyfrowany kanał przez signalserver.pvtbox.net.

Teoretycznie można byłoby przechwycić wiadomości oferty i odpowiedzi webrtc, podmienić tam klucze szyfrowania i mieć możliwość odszyfrowania wszystkich przychodzących wiadomości webrtc. Jednak nie udało się przeprowadzić ataku mitm na signalserver.pvtbox.net, dlatego nie ma możliwości przechwycenia i podmiany wiadomości wysyłanych przez signalserver.pvtbox.net.

W związku z tym przeprowadzenie tego ataku na połączenia peer-2-peer nie jest możliwe.

Odkryto również plik z certyfikatami dostarczany z programem. Plik znajduje się pod ścieżką /opt/pvtbox/certifi/cacert.pem. Ten plik został zastąpiony plikiem, który zawiera zaufany certyfikat z naszego serwera proxy mitmproxy. Wynik się nie zmienił — program odmawiał połączenia z systemem, w logu pojawiała się ta sama błąd,
że certyfikat nie przechodzi weryfikacji.

Podsumowanie audytu

Nie udało mi się przechwycić ani podmienić ruchu. Nazwy plików, a tym bardziej ich zawartość są przesyłane w formie zaszyfrowanej, stosowane jest zakończone end-to-end szyfrowanie. W aplikacji wprowadzono szereg mechanizmów ochronnych, które uniemożliwiają podsłuch i ingerencję.

W wyniku tego firma zakupiła dwa dedykowane serwery (fizycznie w różnych lokalizacjach), aby zapewnić stały dostęp do informacji. Pierwszy serwer służy do odbierania, przetwarzania i przechowywania informacji, a drugi – do tworzenia kopii zapasowych.

Do utworzonej indywidualnej chmury podłączono roboczy terminal dyrektora oraz telefon komórkowy z systemem iOS. Innych pracowników podłączył etatowy administrator systemów i wsparcie techniczne Pvtbox.

W minionym czasie nie było żadnych skarg ze strony znajomego. Mam nadzieję, że moja recenzja pomoże czytelnikom Habr w podobnej sytuacji.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster