Как автоматизировать обновление пароля пользователя FTP на удаленном FTP-сервере IBM z/OS?
Мы хотим решить бизнес-задачу о том, как запланировать автоматическое обновление пароля на удаленном FTP-сервере (примечание: z/OS), над которым у нас нет административного контроля, до истечения срока действия пароля. Например, раз в месяц обновляйте пароль пользователя JDoe как локально, так и на удаленном FTP-сервере ftp.abc.com.
Наш бизнес-процесс требует передачи файлов с использованием протокола FTPS на / с удаленного FTP-сервера (примечание: z/OS). Отдельная организация администрирует этот удаленный FTP-сервер, предоставляя нашей команде учетную запись пользователя, но без административного контроля на уровне сервера. Политика FTP-сервера автоматически истекает пароли учетной записи пользователя, через некоторое время. Когда это происходит, сотрудники FTP-сервера требуют, чтобы человек, связанный с указанной учетной записью, позвонил в службу поддержки FTP-сервера и подтвердил свою личность. После успешной проверки сотрудники службы поддержки FTP-сервера сбрасывают пароль, требуя от пользователя выбрать новый пароль при следующем входе в систему. Сервер FTP позволяет пользователям сбрасывать свой пароль через командную строку, устанавливая пароль в строку "oldpw/newpw/newpw"; Впоследствии пользователи входят только с "newpw".
Администраторы FTP-сервера не будут устанавливать пароль пользователя FTP, чтобы никогда не истек.
Несколько лет назад ушедший в отставку член команды создал собственное приложение для выполнения этой задачи, используя функциональность FTPS, предоставляемую ComponentPro "Клиентский компонент FTP/SSL для.NET". Из-за ограниченности ресурсов мы бы предпочли решение, которое нам не нужно поддерживать собственными силами. Примечание: если возможно; если дом представляет путь, пусть будет так.
Как мы можем сделать это лучше?
1 ответ
ФОН
Каждая реализация FTP-сервера решает, следует ли / как вызывать элементы управления доступом в соответствии с технической спецификацией протокола передачи файлов (FTP) RFC 959:
2.2. TERMINOLOGY ... access controls Access controls define users' access privileges to the use of a system, and to the files in that system. Access controls are necessary to prevent unauthorized or accidental use of files. It is the prerogative of a server-FTP process to invoke access controls.
Поскольку политика паролей представляет собой форму контроля доступа, а RFC 959 не определяет механизм сброса пароля, представляется разумным заключить, что каждая реализация FTP-сервера решает, следует ли / как поддерживать сброс пароля, инициированный клиентом FTP.
На практике это представляет то, что мы видим:
Некоторые серверы, такие как FTP-сервер Titan, поддерживают команду SITE PSWD:
SITE PSWD "<old_password>" "<new_password>"
Другие серверы, такие как WS_FTP Server, поддерживают команду CPWD:
CPWD <new_password> Yet another
вариант есть:
SITE CPWD <new_password>
Механизм сброса пароля FTP-сервера IBM Z/OS
FTP-сервер IBM z/OS расширяет команду " PASS " протокола передачи файлов (FTP), чтобы предоставить пользователям FTP возможность инициировать изменение пароля через клиент FTP.
В частности, введите "oldpass / newpass / newpass" в поле "FTP" клиента FTP (замените действительные старый и новый пароли на "oldpass" и "newpass" соответственно, сохраняя разделители прямой косой черты). При успешном входе в систему FTP-сервер запускает последующее изменение пароля пользователя FTP на удаленном сервере. Последующие входы в систему требуют, чтобы пользователь FTP предоставил только новый пароль. Существуют дополнительные ограничения; пожалуйста, обратитесь к документации IBM PASS " PASS " для полной информации.
АВТОМАТИЗАЦИЯ СБРОСОВ ПАРОЛЯ IBM Z/OS
Автоматизация зависит как от механизма сброса пароля сервера FTP, так и от клиента FTP, который поддается автоматизации.
В настоящее время мы используем Ipswitch WS_FTP Professional Client v12:
ONERROR GOTO end1 ;(Goes to the end1 label and ends the script)
TRACE SCREEN ;(sends a trace of the script to the screen - you can modify this line to point to a trace files so that any errors can be viewed after the script is run)
LOG SCREEN ;(sends the log file to the screen you can modify this line to point to a trace files so that any errors can be viewed after the script is run)
USER test ;(username command)
PASS oldpw/newpw/newpw ;(password command)
CONNECT 127.0.0.1 21 ;(connects to the remote site)
CLOSE ;(closes the connection)
LABEL end1