Опять про sftp и вообще

История

Первая реализация протокола (1971 г.) предусматривала обмен между клиентом и сервером сообщениями, состоящими из заголовка (72 бит) и данных переменной длины. Заголовок сообщения включал в себя запрос к FTP-серверу или ответ от него, тип и длину передаваемых данных. В качестве данных передавались параметры запроса (например, путь и имя файла), информация от сервера (например, список файлов в каталоге) и сами файлы. Таким образом, команды и данные передавались по одному и тому же каналу.

В 1972 г. протокол был полностью изменён, и принял вид, близкий к современному. Команды с параметрами от клиента и ответы сервера передаются по TELNET-соединению (канал управления), для передачи данных создаётся отдельное соединение (канал данных).

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

В 1980 г. FTP-протокол стал использовать TCP. Последняя редакция протокола была выпущена в 1985 г. В 1997 г. появилось дополнение к протоколу, позволяющее шифровать и подписывать информацию в канале управления и канале данных. В 1999 г. выпущено дополнение, посвящённое интернационализации протокола, которое рекомендует использовать кодировку UTF-8 для команд и ответов сервера и определяет новую команду LANG, устанавливающую язык ответов.

Предпосылки

Протокол FTP был составлен в 1971 году для использования в научно-исследовательской сети ARPANET. В те времена доступ к сети ARPANET ограничивался небольшим числом военных объектов и университетов. Узкое сообщество пользователей, которые могли сотрудничать между собой, не нуждалось в защите информации и необходимости предоставления конфиденциальности данных.

С течением времени, сеть ARPANET постепенно перерастала в сеть NSFNET а позже, во Всемирную паутину. Вместе с этим росло количество пользователей, увеличивались расстояния между конечными FTP клиентами и FTP серверами, а также, увеличивался шанс несанкционированного доступа третьих лиц к секретным военным или научным файлам.

В 1994 году, компания Netscape разработала и опубликовала протокол SSL — обертку над протоколами уровня приложений (согласно стеку протоколов TCP/IP). Этот протокол позволял приложениям взаимодействовать между собой по сети в защищенном режиме, предотвращая подслушивание, фальсификацию и разглашение приватных данных. SSL протокол добавлял защиту любому протоколу, который использует надежные соединения (такие как TCP) и начал активно использоваться в браузере Netscape а позже, для формирования защищенного протокола HTTPS.

Протокол SSL был в конечном итоге применен к протоколу FTP в проекте рабочего предложения (RFC) в 1996 году.
Немногим позже, этот проект был зарегистрирован администрацией адресного пространства Интернет. Тем не менее, проект поправок был незавершен до 2005 года.

Безопасный FTP

Существует несколько методов безопасной передачи файлов, в одно или другое время называемых «Безопасным FTP».

SFTP

Основная статья: SFTP

SFTP, или «SSH File Transfer Protocol», не связан с FTP, за исключением того, что он тоже передаёт файлы и имеет аналогичный набор команд для пользователей. SFTP, или безопасный FTP, — это программа, использующая SSH (Secure Shell) для передачи файлов. В отличие от стандартного FTP он шифрует и команды, и данные, предохраняя пароли и конфиденциальную информацию от открытой передачи через сеть. По функциональности SFTP похож на FTP, но так как он использует другой протокол, клиенты стандартного FTP не могут связаться с SFTP-сервером и наоборот.

FTP через SSH (не SFTP)

FTP через SSH (не SFTP) относится к практике туннелирования обычной FTP-сессии через SSH-соединение. Поскольку FTP использует несколько TCP-соединений, туннелирование через SSH особенно затруднительно. Когда много SSH-клиентов пытаются установить туннель для канала управления (изначальное «клиент-сервер» соединение по порту 21), защищён будет только этот канал; при передаче данных программное обеспечение FTP на любом конце установит новые TCP-соединения (каналы данных), которые обойдут SSH-соединение и, таким образом, лишатся целостной защиты.

Иначе, для клиентского программного обеспечения SSH необходимо иметь определённые знания о FTP для отслеживания и перезаписи сообщений потока управления FTP и автономного открытия новых перенаправлений для потока данных FTP. Программные пакеты, поддерживающие этот режим:

FTP через SSH иногда относят к безопасным FTP; но не стоит путать его с другими методами, такими как SSL/TLS (FTPS). Другие методы передачи файлов с помощью SSH и не связанные с FTP — SFTP и SCP; в каждом из них и учётные и файловые данные всегда защищены протоколом SSH.

Основные команды

  • ABOR — Прервать передачу файла
  • CDUP — Сменить каталог на вышестоящий.
  • CWD — Сменить каталог.
  • DELE — Удалить файл (DELE filename).
  • EPSV — Войти в расширенный пассивный режим. Применяется вместо PASV.
  • HELP — Выводит список команд, принимаемых сервером.
  • LIST — Возвращает список файлов каталога. Список передаётся через соединение данных.
  • MDTM — Возвращает время модификации файла.
  • MKD — Создать каталог.
  • NLST — Возвращает список файлов каталога в более кратком формате, чем LIST. Список передаётся через соединение данных.
  • NOOP — Пустая операция.
  • PASS — Пароль.
  • PASV — Войти в пассивный режим. Сервер вернёт адрес и порт, к которому нужно подключиться, чтобы забрать данные. Передача начнётся при введении следующих команд: RETR, LIST и т. д.
  • PORT — Войти в активный режим. Например PORT 12,34,45,56,78,89. В отличие от пассивного режима для передачи данных сервер сам подключается к клиенту.
  • PWD — Возвращает текущий каталог.
  • QUIT — Отключиться.
  • REIN — Реинициализировать подключение.
  • RETR — Скачать файл. Перед RETR должна быть команда PASV или PORT.
  • RMD — Удалить каталог.
  • RNFR и RNTO — Переименовать файл. RNFR — что переименовывать, RNTO — во что.
  • SIZE — Возвращает размер файла.
  • STOR — Закачать файл. Перед STOR должна быть команда PASV или PORT.
  • SYST — Возвращает тип системы (UNIX, WIN, …).
  • TYPE — Установить тип передачи файла (бинарный, текстовый).
  • USER — Имя пользователя для входа на сервер.

Отзывы об услуге

Схема работы

Технически FTP-сервер представляет собой компьютер, к которому подключаются внешние пользователи. Они запускают на своих компьютерах специальный FTP-клиент, который делает попытку подключения. Клиент позволяет загружать и скачивать файлы с сервера. Клиентские FTP-программы могут быть встроены в операционную систему, web-браузер, HTML-редактор, файловые менеджеры, а также быть отдельными программами (FileZilla, Total Commander и другими). Взаимодействие между сервером и пользовательским компьютером выглядит следующим образом:

  • для связи, как правило, используется порт 21, который по умолчанию открыт на серверном компьютере. Клиент подключается к нему и выходит на управляющий канал;

  • после подключения FTP-клиент подает определенные команды интерпретатору;

  • после согласования команд для передачи данных необходимо дождаться получения номера канала, по которому будет осуществляться передача файлов для скачивания или загрузки на сервер. Эта операция осуществляется не через порт 21;

  • после передачи или приема файлов канал закрывается, оставляя открытым порт 21 для обработки новых команд.

Методы предоставления безопасности

Существует два различных метода для обеспечения безопасности FTP клиенту: явный и неявный. Использование неявного метода предполагает, что будет установлена сессия TLS или SSL перед отправкой каких либо данных, это, в свою очередь, нарушает совместимость с FTP клиентами и серверами, которые не поддерживают протокол FTPS. Явный метод использует команды стандартного протокола FTP, но при ответе шифрует данные, что позволяет использовать один и тот же контрольный порт как для протокола FTP так и для FTPS. Такой способ используются в HTTPS, STARTTLS при реализации TLS для протоколов HTTP и SMTP соответственно.

При использовании неявной конфигурации FTPS не поддерживается согласование между клиентом и сервером. FTPS клиент после подключения отправляет серверу TLS сообщение «ClientHello». Если такое сообщение не будет получено от клиента, FTPS сервер должен закрыть соединение.

Для обратной совместимости с клиентами, которые не поддерживают FTPS, для контрольного соединения используется порт 990/TCP а для передачи данных — 989/TCP. Что позволяет сохранить стандартный порт 21/TCP для протокола FTP.

Защита транспортного уровня (TLS)/ Уровень защищенных сокетов (SSL)

Общая поддержка

FTPS включает полную поддержку криптографических протоколов TLS и SSL, включая использование сертификатов открытого ключа на стороне сервера и сертификатов авторизации на стороне клиента. Он так же поддерживает стандартные алгоритмы шифрования — AES, RC4, RC2, Triple DES и DES и хэш-функции SHA, MD5, MD4 и MD2.

Область использования

При неявном режиме, шифруется вся сессия FTPS. Явный режим отличается тем, что клиент полностью контролирует тот трафик, который должен быть зашифрован.
Включение и отключение режима шифрования как для контрольного соединения, так и для соединения передачи данных, можно осуществить в любое время. Единственное ограничение состоит в том, что сервер может отклонять команды в зависимости от собственной стратегии обеспечения защиты данных.

Защищенное контрольное соединение

Перейти в режим защищенного контрольного соединения можно с помощью обеих команд — AUTH TLS и AUTH SSL. В таком режиме все команды между сервером и клиентом будут зашифрованы. Как правило, рекомендуется переходить в такое состояние перед аутентификацией и авторизацией пользователя, чтобы избежать перехвата третьими лицами имени пользователя или пароля.

Защищенное соединение передачи данных

Перейти в режим защищенного соединения передачи данных можно с помощью команды PROT. Она не включена по умолчанию когда используется команда предоставления безопасности AUTH TLS. В таком режиме, все соединения для обмена данными между клиентом и сервером будут зашифрованы. Клиент может изменить режим передачи данных в любой момент при помощи команды CDC.

Причины, по которым следует отключить шифрование

В следующих случаях шифрование канала передачи данных может быть невыгодно:

  • Передача неконфиденциальных данных, в этом случае шифрование бессмысленно
  • Передаваемые файлы уже зашифрованы прикладным приложением или передача происходит через зашифрованное VPN соединение
  • Доступные TLS или SSL протоколы не предоставляют требуемый уровень безопасности.

В следующих случаях шифрование канала передачи команд может быть невыгодно:

  • Использование протокола FTPS, когда клиент и/или сервер работают поверх межсетевого экрана или устройства преобразования сетевых адресов
  • Многократное использование команд AUTH и CCC/CDC анонимным FTP клиентом во время одной сессии. Такое поведение может быть принято за атаку отказа обслуживания, потому что TSL/SSL сессия каждый раз должна быть сгенерирована заново.

SSL сертификаты

Так же как протокол HTTPS, FTPS серверы должны предоставлять сертификат публичного ключа. Эти сертификаты могут быть запрошены и созданы используя такие утилиты как OpenSSL.

Сертификаты должны быть подписаны доверенным центром сертификации, это обеспечивает гарантию того, что клиент подключится к запрошенному серверу, избегая атаки посредника. В случае, если сертификат не подписан, клиент FTPS генерирует предупреждение о недействительности сертификата. Клиент вправе как принять сертификат, так и отклонить соединение.

В отличие от SFTP, который не предоставляет подписанные сертификаты но вместо этого полагается на открытие ключи.

FTP-клиент на CentOS

Для более удобной проверки настроек можно установить FTP-клиент прямо на сервер и с его помощью выполнять подключения.

Для этого выполняем установку клиента:

yum install ftp

И подключаемся к нашему серверу командой:

ftp localhost

Вводим логин и пароль, которые будут запрошены. После подключения мы увидим следующее:

Trying ::1…
Connected to localhost (::1).
220 (vsFTPd 3.0.2)
Name (localhost:root): ftpm1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

Для теста можно загрузить файл на сервер FTP:

> put testfile.txt

* сам файл должен быть в каталоге, в котором мы были перед подключение к серверу FTP.

Если мы получим ошибку 500 active mode is disabled, use passive mode instead, просто переключаемся в пассивный режим:

> passive

Общие черты и отличия

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

Материал обоих кабелей делает их не подверженными к горению, а наличие проводника из медной проволоки позволяет снизить воздействие электромагнитных полей, дающих помехи при выходе в сеть.

Однако основное отличие кабелей SFTP и FTP – это отсутствие протокола безопасности, которым обделен второй вид кабеля. SFTP является тем же самым FTP, но с наличием протокола безопасности SSL, что делает его гораздо более надежным. Он работает через канал управления и всегда требует сертификат безопасности при передаче данных в сети. FTP же в свою очередь легче взломать и перехватить через него конфиденциальные пользовательские данные.

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

Проблемы межсетевых экранов

Как известно, протокол FTP использует для своей работы два соединения: одно — для передачи данных, другое для обмена командами. Множество межсетевых экранов спроектированы так, чтобы определять порт, по которому ведется передача данных и обеспечивать его работу. Однако, если контрольное соединение зашифровано с использованием TLS или SSL, сведения о номере порта соединения для передачи данных оказываются зашифрованными, и межсетевой экран не в состоянии их расшифровать. В этом случае передача данных и работа по протоколу FTPS оказывается либо полностью невозможной, либо ограничивается пассивным режимом. Эту проблему можно решить следующим образом: задать ограниченный диапазон портов для передачи данных и настроить межсетевой экран так, чтобы эти порты оставались открытыми.

Надежность соединения

Благодаря TSL/SSL-сертификатам можно избавиться от фишинга. Проверка подлинности позволяет браузеру точно знать, что его данные направляются в шифрованном виде именно на указанный сервер, а не в компьютер злоумышленников

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

Для полной уверенности можно потребовать использование цифрового сертификата не только от сервера, но и от клиента

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

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

Пример

В примере жирным шрифтом выделены команды, которые подаёт клиент; обычным шрифтом — сообщения сервера. Примечания отделены двумя слэшами:

220 FTP server ready.
USER anonymous
331 Anonymous login ok, send your complete email address as your password
PASS ************
230 Logged in anonymously.
PASV
227 Entering Passive Mode (192,168,254,253,233,92) //Клиент должен открыть соединение на переданный IP
LIST
150 Here comes the directory listing. //Сервер передает список файлов в каталоге
226 Directory send OK.
CWD incoming
250 Directory successfully changed.
PASV
227 Entering Passive Mode (192,168,254,253,207,56)
STOR example.avi
150 Ok to send data. //Клиент передает содержимое файла
226 File receive OK.
QUIT
221 Goodbye.

Аргумент 192,168,254,253,207,56 означает, что соединение к серверу ожидается на узле с IP-адресом 192.168.254.253 на порту 207 << 8 + 56 = 53048 (где << — операция побитового сдвига, 207 записывается в младший разряд, а потом сдвигается в старший, чтобы в младший записать 56 или 207*256+56=53048).

На многих FTP-серверах существует каталог (под названием incoming, upload и т. п.), открытый на запись и предназначенный для закачки файлов на сервер. Это позволяет пользователям наполнять сервера свежими данными.

Методы предоставления безопасности

Существует два различных метода для обеспечения безопасности FTP клиенту: явный и неявный. Использование неявного метода предполагает, что будет установлена сессия TLS или SSL перед отправкой каких либо данных, это, в свою очередь, нарушает совместимость с FTP клиентами и серверами, которые не поддерживают протокол FTPS. Явный метод использует команды стандартного протокола FTP, но при ответе шифрует данные, что позволяет использовать один и тот же контрольный порт как для протокола FTP так и для FTPS. Такой способ используются в HTTPS, STARTTLS при реализации TLS для протоколов HTTP и SMTP соответственно.

При использовании неявной конфигурации FTPS не поддерживается согласование между клиентом и сервером. FTPS клиент после подключения отправляет серверу TLS сообщение «ClientHello». Если такое сообщение не будет получено от клиента, FTPS сервер должен закрыть соединение.

Для обратной совместимости с клиентами, которые не поддерживают FTPS, для контрольного соединения используется порт 990/TCP а для передачи данных — 989/TCP. Что позволяет сохранить стандартный порт 21/TCP для протокола FTP.

История

Первая реализация протокола (1971 г.) предусматривала обмен между клиентом и сервером сообщениями, состоящими из заголовка (72 бит) и данных переменной длины. Заголовок сообщения включал в себя запрос к FTP-серверу или ответ от него, тип и длину передаваемых данных. В качестве данных передавались параметры запроса (например, путь и имя файла), информация от сервера (например, список файлов в каталоге) и сами файлы. Таким образом, команды и данные передавались по одному и тому же каналу.

В 1972 г. протокол был полностью изменён, и принял вид, близкий к современному. Команды с параметрами от клиента и ответы сервера передаются по TELNET-соединению (канал управления), для передачи данных создаётся отдельное соединение (канал данных).

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

В 1980 г. FTP-протокол стал использовать TCP. Последняя редакция протокола была выпущена в 1985 г. В 1997 г. появилось дополнение к протоколу, позволяющее шифровать и подписывать информацию в канале управления и канале данных. В 1999 г. выпущено дополнение, посвящённое интернационализации протокола, которое рекомендует использовать кодировку UTF-8 для команд и ответов сервера и определяет новую команду LANG, устанавливающую язык ответов.

Выставляем права доступа к файлам и папкам на удаленном сервере.

FileZilla дает возможность просмотреть текущие права, выставленные на папки и файлы, которые отображаются в столбце «Права».

При помощи FileZilla можно изменять права доступа к файлам и папкам, находящимся на удаленном сервере.

Для этого на нужной папке или файлике жмем правую кнопку мыши и из контекстного меню выбираем «Права доступа к файлу…»

Появится окно изменения атрибутов файлов.

 

Честно говоря, я сам все время забываю, какие права дают, например, числа 755 или 444.

В этом окне можно вставить в поле «Числовое значение» интересующее нас число и система сама расставит все галочки в соответствии с данным числом, а мы наглядно увидим, какими правами наделяет данное число.

И наоборот, если мы будем выставлять галочки в нужных местах, система автоматически выдаст нам нужное числовое значение в соответствии с расставленными галочками. Очень удобно.

Если мы выставляем права на папку, то у нас появляется возможность распространить права в том числе и на содержимое каталога.

Для этого нам нужно отметить галочкой чекбокс «Перенаправлять во вложенные каталоги». При этом мы можем распространить права только на вложенные файлы, только на вложенные каталоги,  или на вложенные файлы и папки.

Выбираем материал

Срок эксплуатации здания и комфорт внутри помещения зависит от того, из чего построена баня. Для ее строительства чаще всего применяют следующие материалы:

  • кирпич;
  • дерево;
  • пенобетон;
  • газобетон;
  • арболит (древобетон).

Баня из кирпича считается одной из самых долговечных построек благодаря прочности и морозостойкости этого материала. Расчеты, которые подтверждены ГОСТами, показывают, что, учитывая все тонкости строительства, такая постройка может простоять без ремонта фасада до ста лет. Из кирпича можно возводить большие двухэтажные строения, так как этот материал устойчив к природным катаклизмам, эстетичен и экологичен.

Бани из легкого (ячеистого) бетона обычно дешевые и быстровозводимые. Для изготовления пеноблока используют цементно-песчаную смесь с пенообразователем, что позволяет изготавливать их непосредственно на строительной площадке. Он имеет в своей структуре воздух (40–80 %), вследствие этого обладает малым весом. Этот показатель позволяет экономить на фундаменте.

Баня 6 на 5 # Баня под ключ # Баня с террасой в КазаниБаня 6 на 5 # Баня под ключ # Баня с террасой в Казани

Арболит, или деревобетон, является смесью цемента и органического наполнителя. К недостаткам можно отнести его способность поглощать влагу (на 75–85 %). Однако если блок опустить в воду, потом извлечь, то жидкость из пор вытечет, и арболит быстро высохнет. Это свойство позволяет применять деревобетон при сооружении бани, несмотря на высокую влажность этих помещений. По своим характеристикам материал напоминает дерево, но при этом он не гниет, не растрескивается и совершенно не поддается горению. К тому же на арболитовых стенах никогда не появляется плесень.

Дерево относится к традиционным материалам для постройки бань. Русская баня изначально ставилась из бревен (срубленное дерево, очищенное от веток, коры и сучков). Брус – это то же бревно, только распиленное с двух или четырех сторон; в поперечном сечении имеет квадрат или прямоугольник. Они обладают уникальными свойствами: поглощают пар, сохраняя при этом температуру и влажность. Для полной усадки дерева требуется от полугода до двух лет. Каркасная баня является самой легкой и недорогой, даже дешевле, чем из пеноблоков. Для ее строительства чаще всего используют пиленый брус и доску.

Простые манипуляции с файлами с помощью SFTP

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

Например, вы можете изменить владельца файла в удаленной системе с помощью следующей команды:

Обратите внимание, что, в отличие от системной команды , используемая SFTP команда не принимает имена пользователей, подставляя вместо этого UID. К сожалению, не существует удобного способа, позволяющего узнать соответствующий UID пользователя в интерфейсе SFTP

Обойти это ограничение можно следующим образом:

Обратите внимание, что вместо использования команды отдельно, мы использовали ее в качестве префикса для локальной команды оболочки. Данный способ позволяет запустить любую команду, доступную на локальном компьютере, и может использоваться для запуска локальной команды , описанной ранее

UID находится в третьей колонке файла и отделяется двоеточием.

Аналогичным образом, мы можем изменить владельца группы для файла с помощью следующей команды:

Опять же не существует удобного способа получения списка групп удаленной системы. Мы можем обойти это ограничение с помощью следующей команды:

В третьем столбце содержится идентификатор группы, связанной с именем в первом столбце. Именно этот идентификатор мы и ищем.

К счастью, команда работает в удаленной файловой системе стандартным образом:

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

Это можно сделать с помощью команды :

Теперь все загружаемые стандартные файлы (при условии отсутствия флага ) будут иметь разрешения 644.

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

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

Или выполните отдельную команду в локальной системе, указав перед командой , например, следующим образом:

После завершения работы с сеансом SFTP используйте или для закрытия подключения.

Интеграция с использованием шаблона¶

Общие положения

Интеграционный сервис предоставляет возможность просто и быстро создавать sms-рассылки путем формирования и копирования файлов в формате csv. Интеграция осуществляется путем выкладывания Клиентом файла в определенную папку на FTP- сервер Платформы. Пароль на папку должен сообщаться Клиенту безопасным способом. Сервис платформы 1 раз в 10 секунд проверяет папку на наличие архивного файла. При обнаружении файла происходит его обработка, после чего он удаляется с FTP-сервера. Если в папке присутствует много архивов, то сервис начинает обработку самого раннего файла. Файлы обрабатываются по очереди.

Предупреждение

Внимание! Для использования данного вида интеграции необходимо обратиться к своему менеджеру, либо в техническую поддержку support@devinotele.com для настройки доступа

Формат приема сообщений по FTP

Формат названия архива: _.zip
Пример: guest_20120207231932.zip

Файлы для отправки должны быть упакованы в архив .zip без пароля и находиться в папке . Папка должна содержать два файла формата csv (данные разделяются символом «;» ). Кодировка всех файлов по умолчанию — UTF-8. При необходимости выкладывать файлы в другой кодировке, обратитесь в техподдержку. Структура архива:

  • sms
    • contacts.csv
    • template.csv

Первый файл должен называться contacts.csv

Наименование столбца Обязательность Описание
phone Да Номера получателя сообщения в международном формате: код страны +
код сети + номер телефона. Пример: 79031234567
senddate Нет Дата и время отправки сообщения в формате YYYYMMDDThh:mm:ss
(локальное время Клиента). Если сообщение нужно отправить сразу после
получения файла, то поле должно содержать пустое значение. Значение этого
поля является более приоритетным по сравнению со значением из файла
template.csv. Если поле не заполнено, то при отправке должно браться
значение из файла template.csv. Может учитывать часовой пояс абонента,
если заполнено поле localtime в файле template.csv.
Пример: 2010-06-01T19:14:00
attr1 Нет Текстовое поле для подстановки в шаблон.
attrN Нет N-е текстовое поле для подстановки в шаблон.

Второй файл должен называться template.csv (в файле должна быть только одна строка с данными).

Наименование столбца Обязательность Описание
message Да Шаблон сообщения с полями для подстановки. Название поля подстановки
должно быть заключено в символ #. Данные подставляются из
соответствующего столбца в файле contacts.csv. Пример: Уважаемый
#attr1# #attr2# #attr3#! Если соответствующее значение в файле
contacts.csv не найдено, то поле подстановки заменяется на пустое значение
sourceaddress Да Адрес отправителя сообщения. До 11 латинских символов или до 15 цифровых.
Предварительно должен быть запрошен через ЛК и подтвержден техподдержкой.
Пример: TESTSMS (регистр имеет значение).
validity Нет Время жизни сообщения, устанавливается в минутах. Пример: 180
(по умолчанию подставляется 1440 = 24 часа)
senddate Нет Дата и время отправки сообщения в формате YYYYMMDDThh:mm:ss
(локальное время Клиента). Если сообщение нужно отправить сразу после
получения файла, то поле должно содержать пустое значение.
Поле может переопределяться значением для конкретного абонента из файла
contacts.csv. Пример: 2010-06-01T19:14:00
localtime Нет Учитывать часовой пояс абонента.
1 — учитывать,0 – нет.
Применяется только если указана дата отправки в файле template.csv, либо
непосредственно у контакта в файле contacts.csv. Часовой пояс определяется
автоматически по номеру абонента. Пример: 1

Предупреждение

Не заполненных столбцов ни в одном из файлов не должно быть. Если нет необходимости заполнять данными какие-то столбцы, то и сами столбцы добавлять в файл не нужно!

Принцип работы протокола FTPS

С появлением FTPS (File Transfer Protocol + SSL) интернет-соединение между сервером и клиентом стало намного безопаснее. Если же хакерские атаки и перехватывали какие-то фрагменты кода, файла или же целые файлы, то они ничего из этих данных не могли извлечь. Все очень просто, но гениально: перед тем как файл отправится клиенту на компьютер, он шифруется протоколом SSL. Если же открыть подобный файл, который зашифрован, то, кроме неразборчивых знаков, вы ничего там не увидите. Для понимания принципа работы рассмотрим, как взаимодействует сервер и клиент, использующие протокол FTPS:

  • Клиент (например, компьютер) отправляет запрос на шифрование данных, которые ему нужны, после чего выполняются некоторые операции и отправляется запрос CSR на сервер.
  • Как только запрос был доставлен на сервер, определяется то, каким образом будет шифроваться файл, а именно его алгоритм. После чего клиенту отправляется сертификат SSL со специальным ключом, чтобы выполнить следующий шаг.
  • При помощи ключа, полученного от сервера, клиент имеет возможность прочитать информацию, которую содержит сертификат (в нем находятся инструкции), после чего осуществляется проверка на совпадение ключей.
  • Когда ключи не совпадают или же файлы повреждены, то процедура отменяется и сервер получает код ошибки. В случае успешной сверки ключей происходит операция передачи зашифрованных данных.

Расшифровать полученные данные можно, только используя этот ключ, иного способа не существует. Данный вариант гарантирует максимальную безопасность данных, в отличие от обычного FTP.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий