VPN იცავს გზას, და ყველა გზას დასასრული აქვს. როცა გვირაბი კომპანიის კარიბჭეზე მთავრდება, ფაილის გადაცემა იქიდან გრძელდება იმ დაცვით, რომელსაც მისი საკუთარი პროტოკოლი იძლევა. ეს განსხვავება წყვეტს, დაცულია გადაცემა დასაწყისიდან ბოლომდე თუ მხოლოდ კარიბჭემდე. Connected მაჩვენებელი არც ერთ მათგანზე არაფერს ამბობს.

ორი განლაგება, ორი დარჩენილი გზა

აიღეთ ლეპტოპი, რომელიც კომპანიის VPN-ს უერთდება და შემდეგ FTP სესიას ხსნის ცალკე შიდა სერვერთან. გვირაბი კარიბჭეზე ჩერდება, და კარიბჭიდან ამ სერვერამდე მონაკვეთი მის გარეთ რჩება.

ჩვეულებრივი FTP დაშიფვრას არ იძენს მხოლოდ იმიტომ, რომ მისი პაკეტები გვირაბით მოვიდა. იმ დარჩენილ მონაკვეთზე ბრძანებები, საკრედიტო მონაცემები და ფაილის შიგთავსი ზუსტად ისე მოძრაობს, როგორც პროტოკოლი განსაზღვრავს, ანუ ღიად. ეს მნიშვნელოვანია თუ არა, დამოკიდებულია ტოპოლოგიაზე და იმაზე, თუ კიდევ რა იცავს ამ მონაკვეთს, და მისამართის კერძო უწოდება კითხვას არ პასუხობს. იგივე მსჯელობა საპირისპიროდაც მოქმედებს, როცა სერვერი ღრუბლოვან ქსელშია, რომელსაც კარიბჭე კიდევ ერთი ნახტომით აღწევს.

VPN-ის ბოლო წერტილი და FTP სერვისი ერთ მანქანაზე მოათავსეთ და შემდგომი მონაკვეთი აღარ რჩება სანერვიულოდ. ეს სხვა განლაგებაა და არა მტკიცება, რომ ჰოსტის პროცესები, ფაილები და საკრედიტო მონაცემები უსაფრთხოა.

ჩვეულებრივი FTP, FTPS და SFTP სამი გადაწყვეტილებაა

ჩვეულებრივი FTP არაფერს შიფრავს, პაროლსაც კი არა. FTPS FTP-ს TLS-ს უმატებს, ამიტომ საკონტროლო არხი და, როცა შეთანხმდებიან, მონაცემთა არხი დაცულია. 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-ის შემთხვევაში კლიენტი კონკრეტული ბრძანებით ითხოვს დაცულ მონაცემთა არხს, და სერვერის პოლიტიკამ შეიძლება უარყოს ღია ალტერნატივა. დაადასტურეთ, რომ პოლიტიკა ამას მოითხოვს და ნუ ჩათვლით, რომ კლიენტის ნაგულისხმევი საკმარისია. პასიური რეჟიმი მეორე სირთულეს მატებს, რადგან სერვერი მონაცემთა კავშირისთვის მისამართსა და პორტს აცხადებს. firewall ან 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-ს ეყრდნობა, ჩაწერეთ ეს როგორც ის გადაწყვეტილება, რაც არის. მიღების ჩანაწერი, რომელიც ნახტომს და მის ნდობის დაშვებას ასახელებს, უფრო ღირებულია, ვიდრე დაკავშირებული კლიენტის ეკრანის სურათი.

დაკავშირებული სტატიები