Перейти к главному контенту

Что такое протокол безопасной передачи файлов?

Протокол безопасной передачи файлов (SFTP) – это стандартный сетевой протокол для безопасной передачи файлов между подключенными системами. Сетевой протокол – это набор установленных правил, которые являются общим языком независимо от конкретного аппаратного или программного обеспечения, используемого устройствами в сети. SFTP добавляет аутентификацию и шифрование к передаче файлов, что позволяет организациям безопасно обмениваться файлами и соблюдать нормативные требования к конфиденциальным файловым данным.

Почему протокол безопасной передачи файлов важен?

Безопасность и конфиденциальность данных – это базовые требования при передаче файлов в любой сети, будь то корпоративная локальная сеть (LAN) или интернет. Протокол безопасной передачи файлов используется вместе с другими распространенными протоколами сетевой безопасности, такими как HTTPS, для обеспечения защиты данных на сетевом уровне.

SFTP был разработан для замены традиционного протокола передачи файлов (FTP) и применяется для передачи конфиденциальных файлов во многих популярных приложениях, таких как Git, VSCode, Ansible, WordPress и Семейство для пересылки файлов AWS.

Что такое S в SFTP?

SFTP также известен как протокол передачи файлов SSH из-за использования протокола подключения Secure Shell (SSH). Буква S может означать как Secure (безопасная), так и Secure Shell (безопасная оболочка).

SSH

Протокол SSH – это криптографический протокол соединения на основе аутентификации для сетевых коммуникаций. SSH обеспечивает безопасную передачу данных, аутентификацию и соединения по протоколу TCP (протокол управления передачей). TCP – один из основных транспортных протоколов Интернета.

SSH обеспечивает, чтобы любой наблюдатель в сети не мог расшифровать конфиденциальные данные, передаваемые между двумя сторонами после установления сессии. Например, злоумышленник в сети не сможет увидеть пароли или информацию, позволяющую установить личность, (PII), передаваемые через соединение с шифрованием Secure Shell.

SSH предоставляет клиенту (пользователю) возможность выполнять базовые команды на удаленном сервере, однако сам по себе протокол не позволяет передавать и управлять файлами. Для безопасной передачи файлов и операций с ними SSH используется совместно с SFTP в рамках многоуровневого подхода.

Как работает протокол безопасной передачи файлов?

SFTP позволяет пользователям отправлять, получать и управлять файлами и папками на сервере, снижая риск утечки информации при компрометации соединения. SFTP шифрует все содержимое файлов и команды, делая их неразборчивыми во время передачи, что обеспечивает соответствие требованиям безопасности при передаче файлов.

Клиент-серверная архитектура

Протокол SFTP использует модель клиент-сервер на основе SSH для обмена данными. Эта архитектура позволяет серверу контролировать соединения, распределение ресурсов и безопасность, даже если сессию инициирует клиент.

Инфраструктура публичных и частных ключей

SFTP использует публичные и приватные SSH-ключи для аутентификации сессий между клиентами и серверами. Использование инфраструктуры SSH-ключей обеспечивает минимальные накладные расходы на управление безопасностью, затрагивая только SFTP-клиент и SFTP-сервер.

Порт 22 по умолчанию

SFTP по умолчанию использует порт 22 для надежной передачи данных через SSH-соединения по TCP. Однако при необходимости можно указать другой порт, если порт 22 уже занят существующими соединениями.

Возобновление прерванных переводов

SFTP позволяет пользователям возобновлять передачу файлов, которая ранее была приостановлена из-за прерванных сеансов. Возобновление передачи файлов повышает производительность даже при нестабильном подключении.

Каковы некоторые распространенные команды SFTP?

Пользователи могут выполнять команды SFTP через интерфейс командной строки (CLI) или с помощью пошаговых действий в приложении с встроенным SFTP. Пользователи Windows, Mac и Linux имеют доступ к командной строке SFTP через оболочку. Ниже приведены полезные команды SFTP в bash-оболочке.

Запуск и завершение SFTP-сессии

sftp user@hostname Например, sftp dan@example.com

Открывает новое соединение SFTP с сервером example.com. При успешном подключении приглашение командной строки изменится на sftp>. В эту команду можно включить различные опции, например:

  • -P [число] для указания номера порта
  • -i [file], чтобы включить файл закрытого ключа, и
  • -r для включения рекурсивной передачи каталогов.

sftp exit закрывает сеанс SFTP.

Передача файлов

get server_path_and_filename local_path копирует данный файл с сервера в указанную директорию.

Например, get /projects/marketing/proposal.txt /newopportunities

put local_path_and_filename server_path передает локальный файл в указанную директорию сервера.

Еапример, put /finances/invoices/march.txt /projects/marketing/payment

Аналогичным образом команды reget и reput возобновляют прерванные передачи.

Удаленное управление файлами

  • chown user path изменяет право собственности на файл или папку по заданному пути на сервере указанному пользователю.
  • chmod number path изменяет права доступа к файлу или папке по заданному пути на сервере.
  • ls показывает список файлов и папок в текущей директории сервера.
  • cd path переходит в указанную директорию на сервере.
  • mkdir dir_name создает новую папку на сервере.
  • rmdir dir_name удаляет указанную папку на сервере.
  • rename old_file_name new_file_name переименовывает данный файл на сервере.
  • pwd показывает текущую директорию на сервере.
  • lpwd показывает текущий локальный каталог.

Как SFTP сравнивается с другими протоколами передачи файлов?

SFTP – это один из стандартных протоколов передачи файлов.

SFTP против FTPS

FTP Secure (FTPS) использует протоколы безопасности транспортного уровня (TLS) и Secure Socket Layer (SSL) поверх протокола передачи файлов (FTP) для обеспечения безопасной передачи данных. Аутентификация с помощью FTPS основана на методах управления сертификатами SSL. FTPS считается в основном устаревшим.

FTPS основан на FTP, тогда как SFTP был представлен для замены FTP более безопасной архитектурой. Сегодня SFTP используется гораздо шире, чем FTPS, благодаря своей простоте, безопасности и облачной поддержке.

SFTP против TFTP

Trivial File Transfer Protocol (TFTP) – это легкий протокол для передачи файлов, использующий архитектуру клиент-сервер. Протокол TFTP не содержит встроенных мер безопасности, поэтому его необходимо использовать в сочетании с протоколами безопасности или средствами защиты для передачи файлов в обычных средах.

Хотя SFTP используется в самых разных приложениях, TFTP обычно используется только непосредственно в локальной защищенной сети при настройке или загрузке нового оборудования, микропрограммного обеспечения и операционных систем.

Каковы лучшие практики использования SFTP?

Используйте передовые практики управления ключами с открытым и частным доступом, включая ротацию ключей и безопасное хранение на сервере SFTP. Убедитесь, что на вашем SFTP-сервере постоянно обновляются обновления и исправления безопасности, а также используется надежное шифрование, такое как AES. Регистрируйте успешную передачу файлов и неудачные попытки доступа для обнаружения аномалий и реагирования на них.

Помните, что SFTP – это лишь часть сетевой безопасности. Брандмауэры, системы обнаружения вторжений и другие меры безопасности должны быть адаптированы к вашей конкретной сетевой архитектуре.

Как AWS может удовлетворить ваши требования к хранению файлов?

Amazon предлагает ряд решений для безопасного хранения и передачи файлов.

Amazon S3 – это объектное хранилище, рассчитанное на хранение и извлечение любых объемов данных из любой точки сети. Вы можете использовать его для хранения и извлечения любых объемов данных, включая файлы, в любое время и из любой точки мира, включая автоматизированную передачу файлов.

Amazon Elastic File System (EFS) предоставляет безсерверное, полностью эластичное облачное файловое хранилище, которое позволяет создавать файловые системы, доступные для инстансов Amazon Elastic Compute Cloud (EC2) и других сервисов AWS. Он поддерживает полные семантики файловой системы, включая строгую согласованность и блокировку файлов. Вы можете совместно использовать данные файлов без необходимости выделения или управления емкостью и производительностью хранилища.

Семейство для пересылки файлов AWS обеспечивает полностью управляемую поддержку безопасной передачи файлов через SFTP, AS2, FTPS, FTP и веб-браузеры напрямую в Amazon S3 или Amazon EFS и обратно. Вы можете легко переносить, автоматизировать и отслеживать рабочие процессы передачи файлов, сохраняя имеющиеся конфигурации на стороне клиента для аутентификации, доступа и брандмауэров. Благодаря этому ваши клиенты, партнеры и внутренние отделы не заметят никаких изменений в своих приложениях.

Начните работу с файловым хранилищем в AWS, создав бесплатную учетную запись уже сегодня.