Missä VPN:n suoja päättyy matkalla FTP-palvelimelle
VPN kattaa reitin yhdyskäytävälleen, ei sitä seuraavaa osuutta. Erottele tavallinen FTP, FTPS ja SFTP ja tarkista sitten datakanava ja vastapuolen identiteetti.
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.
| 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 |
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.