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 для канфідэнцыйнасці на адрэзку, што застаўся, запішыце гэта як рашэнне, якім яно і ёсць. Нататка пра прыёмку, якая называе гэты пераход і яго дапушчэнне пра давер, каштоўнейшая за здымак экрана падлучанага кліента.

Падобныя артыкулы