Gdje se zaštita VPN-a završava na putu do FTP servera
VPN pokriva put do svog pristupnika, a ne dio iza njega. Razdvojite obični FTP, FTPS i SFTP, pa provjerite podatkovni kanal i identitet druge strane.
VPN štiti put, a put ima kraj. Kada tunel završi na poslovnom pristupniku, prijenos datoteka se nastavlja odatle pod zaštitom koju pruža njegov vlastiti protokol. Ta razlika određuje da li je prijenos zaštićen od početka do kraja ili samo do pristupnika. Indikator Connected ne govori ništa ni o jednom ni o drugom.
Dva smještaja, dva preostala puta
Uzmite prijenosnik koji se pridruži poslovnom VPN-u i zatim otvori FTP sesiju prema zasebnom internom serveru. Tunel se zaustavlja na pristupniku, a dio od pristupnika do tog servera nalazi se izvan njega.
Obični FTP ne dobija šifriranje zato što su njegovi paketi stigli kroz tunel. Na tom preostalom dijelu komande, vjerodajnice i sadržaj datoteka putuju tačno onako kako protokol propisuje, odnosno otvoreno. Da li je to važno zavisi od topologije i od toga šta još čuva taj dio, a nazvati adresu privatnom ne odgovara na pitanje. Isto razmišljanje važi i obrnuto kada server živi u cloud mreži do koje pristupnik stiže preko još jednog skoka.
Stavite VPN krajnju tačku i FTP uslugu na jedno računalo i nema daljeg dijela o kojem treba brinuti. To je drugačiji smještaj, a ne dokaz da su procesi, datoteke i vjerodajnice hosta sigurni.
Obični FTP, FTPS i SFTP su tri odluke
Obični FTP ne šifrira ništa, uključujući lozinku. FTPS dodaje TLS na FTP, pa su kontrolni kanal i, kada se o tome pregovara, podatkovni kanal zaštićeni. SFTP je drugačiji protokol koji se prenosi unutar SSH-a i nije drugi način pisanja FTPS-a.
Server mora podržavati taj izbor, jer klijent ne može stvoriti slušatelja kojeg nema. Odabir SFTP-a ne pretvara uslugu samo s FTP-om u SSH krajnju tačku, a preimenovanje oznake ili promjena porta ne dokazuje ništa o tome šta je dogovoreno. Potvrdite protokol i sa serverske i sa klijentske strane. Lokot u upravitelju datoteka je tvrdnja o sesiji, a ne o slušatelju iza nje.
| Protocol | Usual port | What it protects | Identity check |
|---|---|---|---|
| FTP | 21 | Nothing on the wire | None beyond the login |
| FTPS | 21 or 990 | Control channel, data channel when required | TLS server certificate |
| SFTP | 22 | The whole session inside SSH | SSH host key |
Pročitajte zadnju kolonu kada je prijenos važan, jer se tu pojavljuje neočekivana promjena identiteta.
Podatkovna veza je druga veza
FTP otvara kontrolnu vezu, a zatim zasebne podatkovne veze za popise i prijenose. Zaštićena prijava ne govori ništa o tim kasnijim vezama, osim ako implementacija ne zahtijeva zaštitu i za njih.
Uz FTPS klijent traži zaštićeni podatkovni kanal putem posebne komande, a serverska politika može odbiti otvorenu alternativu. Provjerite da politika to zahtijeva, umjesto da pretpostavite da je klijentski zadani izbor dovoljan. Pasivni način dodaje drugu nevolju, jer server oglašava adresu i port za podatkovnu vezu. Vatrozid ili NAT uređaj koji prepisuje ili blokira to oglašavanje stvara sesiju koja se autentificira i zatim zapne na prvom popisu.
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'
Druga komanda pokazuje šta server predstavlja na kontrolnom kanalu prije nego što se dodirne ijedna datoteka. Treća pokazuje da li je podatkovna veza ikada uspostavljena, što je razlika između neuspjeha autentifikacije i neuspjeha pasivnog načina.
Provjere identiteta preživljavaju tunel
FTPS klijent provjerava identitet TLS servera, a SFTP klijent provjerava SSH ključ hosta. Obje provjere pripadaju protokolu za prijenos datoteka i nijednu ne obavlja VPN.
Ta razdvojenost je važna kada nešto u sredini želi pregledati sesiju. Isključivanje TLS-a da bi mrežni uređaj mogao čitati komande mijenja model zaštite umjesto da ga upotpuni, a isto vrijedi i za prihvatanje neobjašnjenog ključa hosta zato što se tunel podigao. Zadržite predviđenu konfiguraciju povjerenja i nabavite ispravan materijal od operatera. Tunel koji se autentificira ne govori ništa o serveru na njegovom udaljenom kraju.
Materijal privatnog ključa i certifikata za ove protokole je opet treća tajna, odvojena od VPN vjerodajnice.
Zapišite šta ste stvarno provjerili
Odaberite bezopasnu datoteku koju smijete premjestiti i zabilježite četiri činjenice o pokušaju: koji je protokol radio, koji je identitet druge strane provjeren, koji je put bio namijenjen i da li je prijenos završio.
lftp -u alice -e "set ftp:ssl-protect-data true; ls; bye" ftps://files.corp.example
sftp -v [email protected]
Popis direktorija, prijava u tunel i završen prijenos tri su odvojena zapažanja, a samo posljednje kaže da put radi za datoteke. Ako se dizajn oslanja samo na VPN za povjerljivost na preostalom skoku, zapišite to kao odluku koja to jeste. Bilješka o prihvatanju koja imenuje skok i njegovu pretpostavku povjerenja vrijedi više od snimke zaslona povezanog klijenta.