Загрузка по FTP недостаточно безопасна - пароль отображается в fiddler - PullRequest
0 голосов
/ 24 сентября 2011

Мое приложение загружает клиента с моего сервера через FTP.В этом случае я должен использовать FTP, так как я запретил публичное использование файла на моем сервере;таким образом, единственный способ загрузить файл - это быть администратором, что я могу сделать, указав имя пользователя и пароль для клиента FTP.Проблема с этим, однако, заключается в том, что с помощью Fiddler я могу "вынюхивать" пароль, отправленный на FTP-клиент из c #.

Код:

var downloadFileRequest = (FtpWebRequest)WebRequest.Create("ftp://" + Public.ftp_host + "//" + fileName);
            downloadFileRequest.Credentials = new NetworkCredential(Public.ftp_username, Public.ftp_password);
            downloadFileRequest.Method = WebRequestMethods.Ftp.DownloadFile;
            downloadFileRequest.UseBinary = true;

            ServicePoint sp = downloadFileRequest.ServicePoint;
            sp.ConnectionLimit = 2;

                var downloadResponse = (FtpWebResponse)downloadFileRequest.GetResponse();

                    Stream downloadStream = downloadResponse.GetResponseStream();

Есть ли какой-то способскачивать файлы через FTP, не выставляя этот пароль?

Спасибо, Эван

Ответы [ 3 ]

4 голосов
/ 24 сентября 2011

Неа. FTP отправляет учетные данные прямо. Вы должны использовать SFTP или что-то подобное.

1 голос
/ 24 сентября 2011

Если вы можете настроить FTP-сервер самостоятельно или установить другой, существует протокол под названием FTPS , который использует TLS / SSL для защиты соединения по FTP.В Википедии есть список программного обеспечения FTP-сервера с указанными возможностями.Это может быть проще для HTTPS, как предлагается.

Любое незашифрованное соединение отправит пароли в открытом виде.

1 голос
/ 24 сентября 2011

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

FTP не имеет безопасного механизма аутентификации. Вам нужно будет использовать что-то еще (SFTP или SCP или HTTPS).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...