VPN защитава път, а всеки път има край. Когато тунелът завършва при корпоративния шлюз, прехвърлянето на файлове продължава оттам под защитата, която осигурява собственият му протокол. Това разграничение решава дали прехвърлянето е защитено от край до край, или само до шлюза. Индикаторът Connected не казва нищо за нито едно от двете.

Две разположения, два оставащи пътя

Вземете лаптоп, който се свързва с корпоративния VPN и после отваря FTP сесия към отделен вътрешен сървър. Тунелът спира при шлюза, а сегментът от шлюза до този сървър остава извън него.

Обикновеният FTP не получава криптиране, защото пакетите му са пристигнали през тунел. На този оставащ сегмент командите, идентификационните данни и съдържанието на файловете пътуват точно както ги определя протоколът, тоест в открит вид. Дали това има значение зависи от топологията и от това какво друго пази сегмента, а наричането на адреса частен не отговаря на въпроса. Същото разсъждение важи и в обратна посока, когато сървърът живее в облачна мрежа, до която шлюзът стига през още един преход.

Поставете крайната точка на VPN и FTP услугата на една машина и няма следващ сегмент, за който да се тревожите. Това е друго разположение, а не доказателство, че процесите, файловете и идентификационните данни на хоста са в безопасност.

Обикновеният FTP, FTPS и SFTP са три решения

Обикновеният FTP не криптира нищо, включително паролата. FTPS добавя TLS към FTP, така че каналът за управление и, когато се договори, каналът за данни са защитени. SFTP е различен протокол, пренасян вътре в SSH, и не е друг начин на изписване на FTPS.

Сървърът трябва да поддържа този избор, защото клиентът не може да създаде слушател, който го няма. Избирането на SFTP не превръща услуга само с FTP в SSH крайна точка, а преименуването на отметка или смяната на порт не доказва нищо за договореното. Потвърдете протокола както от страната на сървъра, така и от страната на клиента. Катинарът във файловия мениджър е твърдение за сесията, а не за слушателя зад нея.

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

Прочетете последната колона, когато прехвърлянето е важно, защото там се появява неочаквана промяна на самоличността.

Връзката за данни е втора връзка

FTP отваря връзка за управление и после отделни връзки за данни за списъци и прехвърляния. Защитеното влизане не казва нищо за тези по-късни връзки, освен ако внедряването не изисква защита и за тях.

При FTPS клиентът иска защитен канал за данни чрез конкретна команда и сървърната политика може да откаже откритата алтернатива. Проверете, че политиката го изисква, вместо да предполагате, че настройката по подразбиране на клиента е достатъчна. Пасивният режим добавя второ усложнение, защото сървърът обявява адрес и порт за връзката за данни. Защитна стена или устройство за NAT, което пренаписва или блокира това обявяване, създава сесия, която се удостоверява и после засича при първия списък.

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'

Втората команда показва какво представя сървърът в канала за управление, преди да бъде докоснат какъвто и да е файл. Третата показва дали изобщо е установена връзка за данни, което е разликата между отказ на удостоверяването и отказ на пасивния режим.

Проверките на самоличността оцеляват през тунела

FTPS клиент проверява самоличността на TLS сървър, а SFTP клиент проверява SSH ключ на хоста. И двете проверки принадлежат на протокола за прехвърляне на файлове и нито една не се извършва от VPN.

Това разделение има значение, когато нещо по средата иска да инспектира сесията. Изключването на TLS, за да може мрежово устройство да чете командите, променя модела на защита, вместо да го завърши, и същото важи за приемането на необяснен ключ на хоста, защото тунелът е тръгнал. Пазете предвидената конфигурация на доверие и вземете правилния материал от оператора. Тунел, който се удостоверява, не казва нищо за сървъра в другия му край.

Материалът за частен ключ и сертификат за тези протоколи е още една, трета тайна, отделна от идентификационните данни за VPN.

Запишете какво действително сте проверили

Изберете безвреден файл, който ви е разрешено да местите, и отбележете четири факта за опита: кой протокол е работил, коя самоличност на отсрещната страна е проверена, кой път е бил предвиден и дали прехвърлянето е завършило.

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

Списък на директория, влизане в тунела и завършено прехвърляне са три отделни наблюдения и само последното казва, че пътят работи за файлове. Ако проектът разчита само на VPN за поверителност на оставащия преход, запишете го като решението, което е. Бележка за приемане, която назовава прехода и допускането му за доверие, струва повече от екранна снимка на свързан клиент.

Подобни статии