VPN suojaa reittiä, ja jokaisella reitillä on päätepiste. Kun tunneli päättyy yrityksen yhdyskäytävälle, tiedostonsiirto jatkuu siitä eteenpäin oman protokollansa tarjoaman suojan alaisena. Tämä ero ratkaisee, onko siirto suojattu päästä päähän vai vain yhdyskäytävälle asti. Connected-ilmaisin ei kerro kummastakaan mitään.

Kaksi sijoittelua, kaksi jäljellä olevaa reittiä

Ota kannettava, joka liittyy yrityksen VPN:ään ja avaa sitten FTP-istunnon erilliselle sisäiselle palvelimelle. Tunneli pysähtyy yhdyskäytävälle, ja osuus yhdyskäytävältä kyseiselle palvelimelle jää sen ulkopuolelle.

Tavallinen FTP ei saa salausta siksi, että sen paketit saapuivat tunnelin kautta. Tuolla jäljellä olevalla osuudella komennot, tunnistetiedot ja tiedoston sisältö kulkevat täsmälleen kuten protokolla määrittää, eli avoimesti. Onko sillä merkitystä, riippuu topologiasta ja siitä, mikä muu osuutta vartioi, eikä osoitteen kutsuminen yksityiseksi vastaa kysymykseen. Sama päättely pätee päinvastoin, kun palvelin sijaitsee pilviverkossa, johon yhdyskäytävä pääsee vielä yhden hypyn kautta.

Laita VPN:n päätepiste ja FTP-palvelu samaan koneeseen, niin ei jää seuraavaa osuutta murehdittavaksi. Se on eri sijoittelu, ei todiste siitä, että isäntäkoneen prosessit, tiedostot ja tunnistetiedot ovat turvassa.

Tavallinen FTP, FTPS ja SFTP ovat kolme päätöstä

Tavallinen FTP ei salaa mitään, ei edes salasanaa. FTPS lisää FTP:hen TLS:n, joten ohjauskanava ja neuvoteltaessa myös datakanava ovat suojattuja. SFTP on eri protokolla, jota kuljetetaan SSH:n sisällä, eikä se ole FTPS:n toinen kirjoitusasu.

Palvelimen on tuettava tätä valintaa, koska asiakasohjelma ei voi loihtia kuuntelijaa, jota ei ole. SFTP:n valitseminen ei muuta pelkkää FTP-palvelua SSH-päätepisteeksi, eikä kirjanmerkin nimeäminen uudelleen tai portin vaihtaminen todista mitään neuvotellusta. Vahvista protokolla sekä palvelimen että asiakkaan puolelta. Tiedostonhallinnan lukko on väite istunnosta, ei sen takana olevasta kuuntelijasta.

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

Lue viimeinen sarake, kun siirto on tärkeä, sillä siinä odottamaton identiteetin muutos näkyy.

Datayhteys on toinen yhteys

FTP avaa ohjausyhteyden ja sitten erilliset datayhteydet listauksia ja siirtoja varten. Suojattu kirjautuminen ei kerro noista myöhemmistä yhteyksistä mitään, ellei käyttöönotto vaadi suojausta myös niille.

FTPS:ssä asiakas pyytää suojattua datakanavaa tietyllä komennolla, ja palvelimen käytäntö voi hylätä avoimen vaihtoehdon. Varmista, että käytäntö vaatii sen, sen sijaan että olettaisit asiakkaan oletusarvon riittävän. Passiivinen tila tuo toisen mutkan, koska palvelin ilmoittaa osoitteen ja portin datayhteydelle. Palomuuri tai NAT-laite, joka kirjoittaa ilmoituksen uudelleen tai estää sen, tuottaa istunnon, joka todennetaan ja joka sitten jumittuu ensimmäiseen listaukseen.

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'

Toinen komento näyttää, mitä palvelin esittää ohjauskanavalla ennen kuin yhtään tiedostoa kosketaan. Kolmas näyttää, muodostettiinko datayhteys ylipäätään, mikä on ero todennusvirheen ja passiivisen tilan virheen välillä.

Identiteettitarkistukset selviävät tunnelista

FTPS-asiakas validoi TLS-palvelimen identiteetin, ja SFTP-asiakas validoi SSH-isäntäavaimen. Molemmat tarkistukset kuuluvat tiedostonsiirtoprotokollaan, eikä VPN tee kumpaakaan.

Tämä erottelu on tärkeä, kun jokin välissä haluaa tarkastella istuntoa. TLS:n sammuttaminen, jotta verkkolaite voi lukea komennot, muuttaa suojamallia sen sijaan että täydentäisi sitä, ja sama pätee selittämättömän isäntäavaimen hyväksymiseen siksi, että tunneli nousi. Pidä aiottu luottamusasetus ja hanki oikea materiaali operaattorilta. Tunneli, joka todennetaan, ei kerro mitään palvelimesta sen kauimmaisessa päässä.

Näiden protokollien yksityisavain- ja varmennemateriaali on taas kolmas salaisuus, erillään VPN:n tunnistetiedoista.

Kirjaa, mitä todella varmistit

Valitse vaaraton tiedosto, jonka saat siirtää, ja merkitse yrityksestä neljä seikkaa: mikä protokolla toimi, mikä vastapuolen identiteetti tarkistettiin, mikä reitti oli tarkoitettu ja päättyikö siirto.

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

Hakemistolistaus, tunnelikirjautuminen ja päättynyt siirto ovat kolme erillistä havaintoa, ja vain viimeinen kertoo, että reitti toimii tiedostoille. Jos suunnittelu luottaa jäljellä olevalla hypyllä luottamuksellisuudessa vain VPN:ään, kirjoita se muistiin sellaisena päätöksenä kuin se on. Hyväksyntämuistio, joka nimeää hypyn ja sen luottamusoletuksen, on arvokkaampi kuin kuvakaappaus yhdistetystä asiakkaasta.

Aiheeseen liittyvät artikkelit