Soukromé „cloudové“ řešení. Hledáme alternativu k otevřeným řešením

Jsem inženýr vzděláním, ale více komunikuji s podnikateli a řediteli výroby. Před nějakým časem se na radu obrátil majitel průmyslové společnosti. I když je podnik velký a byl založen v 90. letech, řízení a účetnictví fungují staromódním způsobem v lokální síti.

To je důsledkem obav o vlastní podnik a zvýšeného dohledu ze strany státu. Zákony a normy mohou být kontrolními orgány vykládány velmi široce. Jako příklad lze uvést změny v daňovém kodexu, které ruší promlčecí lhůty u daňových porušení, faktické zničení bankovního a auditorského tajemství..

V důsledku toho majitel podniku začal hledat řešení pro spolehlivé uchovávání informací a bezpečný přenos dokumentů. Virtuální „trezor“.

Úkol jsme probrali s interním systémovým administrátorem: potřebná je důkladná analýza stávajících platforem.

  • Služba by neměla být cloudová v klasickém smyslu slova, t.j. bez ukládání na zařízeních třetí strany. Pouze vlastní server;
  • je vyžadováno spolehlivé šifrování přenášených a uchovávaných dat;
  • je povinná možnost okamžitého smazání obsahu z jakéhokoliv zařízení stisknutím jednoho tlačítka;
  • řešení je vyvinuto v zahraničí.

Čtvrtý bod jsem navrhoval odstranit, protože ruské aplikace mají oficiální certifikáty. Ředitel jasně řekl, co dělat s takovými certifikáty.

Vybereme varianty

Vybral jsem tři řešení (čím více možností, tím více pochybností):

  • Open Source — projekt Syncthing.net , podporovaný nadšencem a vývojářem Jacobem Borgem.
  • Resilio.com, spravované americkou společností Resilio Inc. (dříve byl tento servis znám jako BitTorrent Sync).
  • Projekt Pvtbox Elektronický trezor od pvtbox.net aplikace pro synchronizaci. Registrace na Kypru.

Majitel společnosti se slabo vyzná v technických detailech, takže jsem zprávu sestavil ve formě seznamu pro a proti každé variantě.

Závěry analýzy

Syncthing

Výhody:

  • Open source;
  • Aktivita hlavního vývojáře;
  • Projekt existuje velmi dlouho;
  • Zdarma.

Nevýhody:

  • Není klient pro shell iOS;
  • Pomalé Turn servery (jsou zdarma, proto zpomalují). Pro ty, kdo
    neví, Turn se používá, když není možné připojit se přímo;
  • Složitá konfigurace rozhraní (vyžaduje dlouholetou zkušenost s programováním);
  • Nedostatek rychlé komerční podpory.

Resilio

Plusy: podpora všech zařízení a rychlé Turn servery.

Nevýhody: Jeden a velmi zásadní – úplné ignorování žádostí ze strany zákaznické podpory. Nulová reakce, ani když se píše z různých adres.

Pvtbox

Plusy:

  • Podpora všech zařízení;
  • Rychlé Turn servery;
  • Možnost stáhnout soubor bez instalace aplikace;
  • Přiměřená zákaznická podpora, včetně telefonické.

Nevýhody:

  • Mladý projekt (málo recenzí a dobrých hodnocení);
  • Velmi ‚technický‘, ne vždy srozumitelný rozhraní webu;
  • Chybí podrobná dokumentace, u mnoha otázek je třeba kontaktovat podporu.

Co si vybral zákazník

Jeho první otázka: jaký je smysl vyvíjet něco zdarma? Od Syncthing se hned vzdali. Argumenty nefungovaly.

Po pár dnech zákazník kategoricky odmítl Resilio Sync pro nedostatek podpory, protože není jasné, na koho se obrátit v nestandardní situaci. Navíc nedůvěra k americké registraci společnosti.

Pro další analýzu zůstal Pvtbox Elektronický trezor. Provedli jsme kompletní technický audit této platformy se zaměřením na možnost odposlechu, dešifrování dat a neoprávněného proniknutí do informačního úložiště.

Proces auditu

Provedli jsme analýzu připojení při spuštění programu, v průběhu jeho činnosti a v klidovém stavu. Provoz podle moderních standardů byl zpočátku šifrovaný. Pokusíme se provést MITM útok a změnit certifikát „za běhu“ pomocí Linux (Xubuntu Linux 18.04), Wireshark, Mitmproxy. K tomu zavedeme prostředníka mezi aplikací Pvtbox a serverem pvtbox.net (existuje výměna dat se serverem pvtbox.net prostřednictvím https připojení).

Spouštíme aplikaci, abychom se ujistili, že program a synchronizace souborů v něm fungují. V Linuxu lze ihned sledovat logy, pokud spustíte program z terminálu.
Soukromé „cloudové“ řešení. Hledáme alternativu k otevřeným řešením

Vypínáme aplikaci a měníme adresu hostitele pvtbox.net v souboru /etc/hosts s právy superuživatele. Adresu měníme na adresu našeho proxy serveru.
Soukromé „cloudové“ řešení. Hledáme alternativu k otevřeným řešením

Nyní připravíme náš proxy server pro MITM útok na počítači s adresou 192.168.1.64 v naší místní síti. K tomu nainstalujeme balíček mitmproxy verze 4.0.4.

Spouštíme proxy server na portu 443:
$ sudo mitmproxy -p 443

Spouštíme na prvním počítači program Pvtbox, sledujeme výstup mitmproxy a logy aplikace.
Soukromé „cloudové“ řešení. Hledáme alternativu k otevřeným řešením

Mitmproxy oznamuje, že klient nedůvěřuje podvrženému certifikátu od proxy serveru. V logách aplikace také vidíme, že certifikát proxy serveru neprochází kontrolou a program odmítá pracovat.

Instalujeme certifikát proxy serveru mitmproxy na počítač s aplikací Pvtbox, aby se certifikát stal „důvěryhodným“. Na počítači nainstalujeme balíček ca-certificates. Poté zkopírujeme certifikát mitmproxy-ca-cert.pem z adresáře .mitmproxy proxy serveru na počítač s aplikací Pvtbox do adresáře /usr/local/share/ca-certificates.

Provádíme následující příkazy:
$ sudo openssl x509 -in mitmproxy-ca-cert.pem -inform PEM -out mitmproxy-ca-cert.crt
$ sudo update-ca-certificates
Soukromé „cloudové“ řešení. Hledáme alternativu k otevřeným řešením

Spouštíme aplikaci Pvtbox. Certifikát opět neprošel kontrolou, program odmítá pracovat. Pravděpodobně aplikace používá ochranný mechanismus Certificate pinning.

Podobný útok byl proveden na host signalserver.pvtbox.net, a také na samotné peer-to-peer spojení mezi uzly. Vývojář uvádí, že aplikace pro zajištění peer-to-peer spojení používá otevřený protokol webrtc, ve kterém se používá end-to-end šifrování podle protokolu DTLSv1.2.

Klíče se generují při každém navázání spojení a přenášejí se šifrovaným kanálem přes signalserver.pvtbox.net.

Teoreticky by bylo možné zachytit nabídky a odpovědi webrtc, podvrhnout tam šifrovací klíče a mít možnost dešifrovat všechny příchozí zprávy přes webrtc. Ale provést mitm útok na signalserver.pvtbox.net se nepodařilo, a proto není možné zachytit a podvrhnout zprávy odesílané přes signalserver.pvtbox.net.

Proto není proveditelný tento útok na peer-to-peer spojení.

Byl také nalezen soubor se certifikáty dodávaný s programem. Soubor se nachází na cestě /opt/pvtbox/certifi/cacert.pem. Tento soubor byl nahrazen souborem, který obsahuje důvěryhodný certifikát od našeho proxy serveru mitmproxy. Výsledky se nezměnily — program odmítal připojení k systému, v logu byla stejná chyba,
že certifikát neprochází kontrolou.

Závěry auditu

Podařilo se mi nezachytit ani podvrhnout provoz. Jména souborů, a tím spíše jejich obsah, se přenášejí zašifrovaně, používá se koncové end-to-end šifrování. V aplikaci je implementováno několik ochranných mechanismů, které brání odposlouchávání a vniknutí.

Společnost si zakoupila dva dedikované servery (fyzicky na různých místech) pro trvalý přístup k informacím. První server slouží k přijímání, zpracování a ukládání informací, druhý pro zálohování.

K získanému jednotlivému cloudu byly připojeny pracovní terminál ředitele a mobilní telefon na iOS. Ostatní zaměstnance připojil interní IT administrátor a technická podpora Pvtbox.

Od známého jsem v uplynulém čase nedostal žádné stížnosti. Doufám, že moje hodnocení pomůže čtenářům Habr v podobné situaci.

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster