Предисловие. Отличие активного и пассивного FTP.
1. Ставим FTP-сервер (проверено на Gene6 и FileZilla FTP)
2. Настраиваем пользователя, выбираем домашний каталог, назначаем права. В настройках пользователя разрешаем ему как обычное ftp-соединение, так и ssl/tls
3. Заходим по обычному ftp - все работает
4. В настройках пользователя разрешаем ему ftp over ssl/tls
5. Генерируем сертификат (генерация встроена в программу)
6. Привязываем этот сертификат (в случае Gene6 - к созданному в программе домену, в случае FileZilla - в настройках SSL/TLS, ставим галочку allow explict FTP over TLS)
7. Создаем на ISA правило публикации, определяем свой протокол, назовем его FTPS, определяем два диапазона входящих TCP-портов, например 30021-30021 и 30022-30050)
Дополнительных соединений создавать не нужно, только публикация двух диапазонов входящих портов. Второй диапазон нужен потому что клиент находится за NAT, а значит нужно использовать пассивный режим FTP, через эти порты будут проходить данные (data connection), а через 30021 управление. Иначе получите ошибку: Can't open data connection. Так же на ISA можно сделать форвардинг порта, если ваш ftp-сервер слушает 21 порт, или переназначить порт ftp-сервера в его настройках на 30021 как в примере. Фильтр FTP-доступа не работает, ну или не поддерживает ftp over ssl, поэтому не включайте его.
8. В настройках ftp-сервера в PASSIVE MODE иногда бывает нужно прописать IP-адрес куда посылать data connection. Здесь нужно прописать IP внешнего интерфейса ISA (скорее всего это ваш публичный IP). А так же указать диапазон портов для PASSIVE MODE, совпадающий с диапазоном опубликованных портов (в примере это 30022-30050)