VPN chrání cestu a každá cesta má konec. Když tunel skončí na podnikové bráně, přenos souborů odtud pokračuje pod ochranou, kterou poskytuje jeho vlastní protokol. Tento rozdíl rozhoduje o tom, zda je přenos chráněn od začátku do konce, nebo jen po bránu. Indikátor Connected neříká nic ani o jednom z nich.

Dvě umístění, dvě zbývající cesty

Vezměte notebook, který se připojí k podnikové VPN a poté otevře relaci FTP k samostatnému internímu serveru. Tunel se zastaví u brány a úsek od brány k tomuto serveru zůstává mimo něj.

Obyčejné FTP nezíská šifrování jen proto, že jeho pakety dorazily tunelem. Na tomto zbývajícím úseku putují příkazy, přihlašovací údaje a obsah souborů přesně tak, jak to protokol definuje, tedy otevřeně. Zda na tom záleží, závisí na topologii a na tom, co dalšího tento úsek chrání, a nazvat adresu soukromou na otázku neodpovídá. Stejná úvaha platí i opačně, když server žije v cloudové síti, ke které se brána dostává přes další skok.

Umístěte koncový bod VPN a službu FTP na jeden stroj a žádný další úsek, o který by bylo třeba se starat, neexistuje. To je jiné umístění, nikoli důkaz, že procesy, soubory a přihlašovací údaje hostitele jsou v bezpečí.

Obyčejné FTP, FTPS a SFTP jsou tři rozhodnutí

Obyčejné FTP nešifruje nic, včetně hesla. FTPS přidává k FTP protokol TLS, takže řídicí kanál a při vyjednání i datový kanál jsou chráněné. SFTP je jiný protokol nesený uvnitř SSH a není to jiný zápis FTPS.

Server musí tuto volbu podporovat, protože klient nemůže vytvořit posluchače, který tam není. Volba SFTP nepřemění službu fungující jen přes FTP v koncový bod SSH a přejmenování záložky nebo změna portu nic nedokazuje o tom, co bylo vyjednáno. Potvrďte protokol jak na straně serveru, tak na straně klienta. Zámek ve správci souborů je tvrzení o relaci, ne o posluchači za ní.

ProtocolUsual portWhat it protectsIdentity check
FTP21Nothing on the wireNone beyond the login
FTPS21 or 990Control channel, data channel when requiredTLS server certificate
SFTP22The whole session inside SSHSSH host key

Přečtěte si poslední sloupec, když na přenosu záleží, protože právě tam se objeví neočekávaná změna identity.

Datové spojení je druhé spojení

FTP otevře řídicí spojení a poté samostatná datová spojení pro výpisy a přenosy. Chráněné přihlášení neříká nic o těchto pozdějších spojeních, pokud nasazení nevyžaduje ochranu i pro ně.

U FTPS klient požádá o chráněný datový kanál konkrétním příkazem a zásada serveru může otevřenou alternativu odmítnout. Ověřte, že ji zásada vyžaduje, místo abyste předpokládali, že výchozí nastavení klienta stačí. Pasivní režim přidává druhou komplikaci, protože server inzeruje adresu a port pro datové spojení. Firewall nebo zařízení NAT, které tento inzerát přepíše nebo zablokuje, vytvoří relaci, která se autentizuje a poté se zasekne na prvním výpisu.

curl -vk ftps://files.corp.example/ --user alice --ftp-ssl-control
openssl s_client -connect files.corp.example:21 -starttls ftp
ss -tnp | grep -E ':21|:990'

Druhý příkaz ukazuje, co server předkládá v řídicím kanálu, než se dotknete jakéhokoli souboru. Třetí ukazuje, zda vůbec bylo datové spojení navázáno, což je rozdíl mezi selháním autentizace a selháním pasivního režimu.

Kontroly identity přežijí tunel

Klient FTPS ověřuje identitu serveru TLS a klient SFTP ověřuje klíč hostitele SSH. Obě kontroly patří protokolu pro přenos souborů a ani jednu neprovádí VPN.

Toto oddělení je důležité, když chce něco uprostřed relaci zkontrolovat. Vypnutí TLS, aby síťové zařízení mohlo číst příkazy, mění model ochrany, místo aby jej dokončilo, a totéž platí pro přijetí nevysvětleného klíče hostitele proto, že tunel naskočil. Zachovejte zamýšlenou konfiguraci důvěry a získejte správný materiál od operátora. Tunel, který se autentizuje, neříká nic o serveru na svém vzdáleném konci.

Materiál soukromého klíče a certifikátu pro tyto protokoly je zase třetí tajemství, oddělené od přihlašovacích údajů VPN.

Zapište, co jste skutečně ověřili

Vyberte neškodný soubor, který smíte přesunout, a poznamenejte si čtyři skutečnosti o pokusu: který protokol běžel, která identita protistrany byla ověřena, která cesta byla zamýšlena a zda přenos skončil.

lftp -u alice -e "set ftp:ssl-protect-data true; ls; bye" ftps://files.corp.example
sftp -v [email protected]

Výpis adresáře, přihlášení do tunelu a dokončený přenos jsou tři samostatná pozorování a jen poslední říká, že cesta pro soubory funguje. Pokud se návrh spoléhá na důvěrnost na zbývajícím skoku jen na VPN, zapište to jako rozhodnutí, kterým to je. Přijímací poznámka, která pojmenuje skok a jeho předpoklad důvěry, má větší cenu než snímek obrazovky připojeného klienta.

Související články