Вопрос: Какие порты брандмауэра мне нужно открыть при использовании FTPS?


Мне нужно получить доступ к серверу FTPS (vsftpd) на сайте поставщика. У поставщика есть брандмауэр перед сервером ftps. У меня есть брандмауэр перед моим клиентом FTPS.

Я понимаю, что порты 990, 991 и, возможно, 989 должны быть открыты для управления трафиком.

У меня есть несколько вопросов:

  1. Если посмотреть на него с точки зрения брандмауэра поставщика, должны ли эти порты быть открыты для входящего и исходящего трафика?
  2. Что относительно портов для канала DATA?
  3. Должен ли я открывать все порты выше 1000?
  4. Должен ли я делать это как для входящего, так и для исходящего трафика?

28
2018-05-21 15:18


Источник




Ответы:


Мое понимание FTP через SSL (ftps) заключается в том, что он плохо работает с брандмауэрами и NAT. В обычном сеансе FTP информация о соединениях данных считывается и для NAT изменяется брандмауэром, чтобы брандмауэр динамически открывал необходимые порты. Если эта информация защищена SSL, брандмауэр не может ее прочитать или изменить.

Использование SFTP или scp упрощает работу сетевого администратора - все происходит на порте сервера 22, а транзакция соответствует нормальной модели клиент / сервер.

Не упоминается, что ваш брандмауэр выполняет NAT и является ли он статическим NAT или динамическим NAT. Если ваша клиентская машина имеет статический адрес или статически NATed, вам может не потребоваться никаких изменений в брандмауэре, если вы разрешаете весь исходящий трафик, а сервер работает только в пассивном режиме (PASV).

Чтобы точно знать, какие порты вам нужно открыть, вам необходимо:

а) поговорить с продавцом, чтобы узнать, как их система была настроена.

b) Используйте анализатор протоколов, например tcpdump или wirehark, чтобы посмотреть на трафик, как снаружи вашего брандмауэра, так и внутри вашего брандмауэра

Вам нужно выяснить, какой порт является Control Connection. Вы перечислите 3, что мне кажется странным. Предполагая, что сервер работает только в режиме PASV (пассивный), вам нужно выяснить, как сервер настроен на выделенные порты DATA. Заблокировали ли они канал DATA на один входящий порт? Заблокировали ли они канал DATA в небольшом диапазоне или в портах?

С помощью этих ответов вы можете начать настройку брандмауэра.


16
2018-05-21 20:28



пассивный режим FTPS будет использовать порт управления через порт # 1024, и поэтому он будет работать лучше с брандмауэром, чем с непассивным. клиент сообщает порту 21, который должен открыть верхний порт, и чтобы вы могли настроить клиент, чтобы сказать «управление находится на сервере 2000 или 2001», а затем сервер будет открывать исходящий порт 2000 или 2001. Большинство FTP-клиентов поддерживают определение определенного диапазона портов для «управления», и это упрощает определение брандмауэра. - djangofan


Я считаю, что порты около 990 были для неявного SSL, который был старым нестандартным способом FTP / SSL. «Правильный» способ в настоящее время является явным SSL, что означает, что вы все еще подключаетесь к порту 21, а затем согласовываете SSL перед отправкой ваших положительных героев. Для поддержки соединений через брандмауэр вам необходимо использовать режим PASV и жестко настроить используемые порты данных.

Я считаю, что вам нужен хотя бы один порт для подключения данных, которое вы хотите поддерживать. Если это только вы, вы, вероятно, прекрасно открываете только несколько дополнительных портов. В частности, для меня я использую 21000-21010.

В vsftpd.conf у меня есть эти две строки (вместе со всеми остальными для поддержки SSL):

pasv_min_port=21000

pasv_max_port=21010

На моем брандмауэре у меня есть открытый статический IP-адрес с индивидуальным / статическим NAT для внутреннего IP-адреса и только для портов tcp 21, 21000-21010.


21
2018-06-07 08:29





Я знаю, что это очень старая нить.

Обратите внимание, что SFTP полностью отличается от FTPS. (SSH против SSL)

FTPS ворски в 2-х направлениях. Явный и неявный. Явное менее безопасно, поскольку после первоначального рукопожатия пропускает шифрование во время передачи данных [если шифрование данных поддерживается на стороне сервера с PROT P], а Implicit также сохраняет шифрование данных после подтверждения. По умолчанию явный порт FTPS равен 21. Неявный порт по умолчанию - 990 (после установления связи он автоматически переключится на 989 ​​для передачи данных, если не настроен по-разному). Хотя порт 21 обычно принимается как EXPLICIT FTPS и 990 как IMPLICIT FTPS, в действительности, какой бы порт вы не настроили, кроме 990/989, это приведет к EXPLICIT FTPS, в то время как ТОЛЬКО 990/989 будет принято как IMPLICIT FTPS.

Итак, чтобы ответить на ваш вопрос: - в зависимости от конфигурации сервера FTPS вам необходимо открыть порт 21 или 990/989. Однако, чтобы быть уверенным, вы должны связаться с администратором сервера FTPS и запросить указания. Кроме того, имейте в виду, что для пассивного режима, как и для любого другого программного обеспечения FTP, вам придется открывать дополнительные порты (TCP / UDP), как правило, что-то из диапазона 64000-65000.


6
2018-03-20 11:49





В основном ftps почти бесполезен, потому что вы должны создавать смущающие запросы администраторам брандмауэров. Совет по ограничению портов до 10 хорош. Гораздо больше, это становится жалким.

sftp намного лучше в теории. Но вам нужен жизнеспособный sftp-сервер, например. который ограничивает клиентов своим собственным домашним каталогом.

В зависимости от приложения, рассмотрите HTTPS. Загрузка файла очень проста, и загрузка явно также. Если вы все равно скриптируете FTP, скорее всего, будет проще всего запускать загрузку файла HTTPS.

Автоматизированный FTP является признаком проблемы с дизайном. Я заметил это, имея в общей сложности около дюжины продавцов, которые «требовали» места, которое я работал, чтобы делать автоматизированный FTP (для ОЧЕНЬ важных вещей), и когда десятки клиентов делают это с тем же магазином (сбой проектирования 20 явных свидетельств). Было легко убедить большинство пользователей приложений использовать HTTPS (обычно при упоминании, они сказали: «Подождите, нет причин, по которым мы не просто получаем их с HTTPS с веб-сервера, на котором мы уже обслуживаем их данные»? ), за исключением нескольких, которые дали ответы типа «ну, у нас уже есть эти скрипты, которые, похоже, работают, и никто из нашей команды не очень хорош в написании сценариев, поэтому мы не можем действительно внести какие-либо изменения» (команда из 5-10 программистов, притворяясь, что не понимают, что они могут написать его на языке по своему выбору, потому что они не знают, как писать тривиальную программу с нуля.).


2
2018-06-29 05:14





Поставщик может настроить узкий диапазон портов для портов соединения DATA, если они еще не установлены. Затем вы можете открыть тот же диапазон на вашем конце, для хостов, которым нужен такой доступ. Должен использоваться режим PASV.


1
2018-05-21 15:41





Порт 22 является стандартным, так как демон SSH в UNIX имеет SFTP-модуль, который позволяет включить явный SFTP-сервер. Если вы хотите запустить неявный FTP-сервер с помощью Filezilla, вы можете запустить его на любом порту, который вам нужен, но есть улов: если вы используете клиента FileZilla, вам нужно указать URL-адрес ftp-сайта как ftps: //mysite.com: 8086 вместо того, чтобы помещать порт в отдельное поле порта, которое предоставляет клиент FileZilla.

Для явного варианта вам нужен только один порт: 22. Для неявного варианта вам нужно только открыть брандмауэр для порта управления: 8086 (который пересылает внутренне в порт 21 на сервере filezilla).


0
2018-04-28 21:49



Вопрос задал вопрос о FTPS, а не SFTP. - Michael Lang


если ftps совпадает с SFTP, то вам нужно только иметь доступ к порту 22 на сайте поставщика.

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


-6
2018-05-21 15:24



SFTP - это не то же самое, что ftps (codeguru.com/csharp/.net/net_general/internet/article.php/...). SFTP - это протокол передачи файлов, используемый с SSH. FTPS - это FTP с SSL, FTPS запускает новое соединение DATA на новом случайном порту, что затрудняет развертывание за брандмауэрами, но я не могу удалить брандмауэр в этой ситуации.
Тогда извини. Я оставлю это сообщение, хотя, если у других будет такая же путаница. - Brent
Это очень распространенная путаница. Со стороны брандмауэра sftp проще разрешить, за исключением того, что он построен на протоколе, предназначенном для входа в систему. Небрежный для независимых групп безопасности, которые позволяют без существенной независимой проверки. Сложно для системных администраторов находить / настраивать разумный сервер sftp для ненадежных клиентов. Любое обсуждение sftp или ftps должно упоминать другой протокол, потому что путаница настолько распространена. - carlito