VPN штити пут, а сваки пут има крај. Када се тунел заврши на пословном приступнику, пренос датотека се наставља одатле под заштитом коју пружа његов сопствени протокол. Та разлика одређује да ли је пренос заштићен од почетка до краја или само до приступника. Индикатор Connected не говори ништа ни о једном ни о другом.

Два смештаја, два преостала пута

Узмите преносни рачунар који се придружи пословном VPN-у и затим отвори FTP сесију према засебном интерном серверу. Тунел се зауставља на приступнику, а део од приступника до тог сервера остаје изван њега.

Обичан FTP не добија шифровање само зато што су његови пакети стигли кроз тунел. На том преосталом делу команде, акредитиви и садржај датотека путују тачно онако како протокол прописује, односно отворено. Да ли је то важно зависи од топологије и од тога шта још чува тај део, а називање адресе приватном не одговара на питање. Исто размишљање важи и обрнуто када сервер живи у cloud мрежи до које приступник стиже преко још једног скока.

Ставите 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 за поверљивост на преосталом скоку, запишите то као одлуку која то јесте. Белешка о прихватању која именује скок и његову претпоставку поверења вреди више од снимка екрана повезаног клијента.

Повезани чланци