Необходима, чтобы быть направленным на купирование SSH Tunnel с приложением Delphi

StackOverflow https://stackoverflow.com/questions/4026856

Вопрос

Я создал приложение Delphi 2010. Он используется многими компаниями в регионе от доверенного доверие к ненадежным пользователям. Приложение аутентифицирует пользователей с MySQL за зашифрованным паролем MD5. После этого приложение необходимо загрузить и загрузить множество файлов, которые закусили FTP.

Дело в том, что любой сетевой снифер (например, Ethereal также известен как Wireshark), может захватить мой простой пользователь и пароль от FTP-части моего приложения. Зашифрованный пароль также может быть захвачен, и любой любой может войти с любым приложением FTP на мой сервер и сделать развлеченные вещи.

TINDYFTP используется для управления самой компанией FTP. Этот объект тем не поддерживает SFTP, который я не должен был быть в конце моей проблемы.

Tmymac От devart используется для управления MySQL Connexion.

Какова моя точка зрения: Это хороший способ использовать SSH-туннелирование для управления обработчиком IO (FTP-и MySQL) типа транзакции на моем приложении? Я сейчас проверю тест с SecurityBridge От devart, который совместим с MyDac Component и Tindy.

Мне просто нужно подключиться к SSH-туннель И поехать его с MySQL и FTP? Нужно ли мне шифровать пароль FTP при использовании SSH-туннеля? Для части MySQL пароль, похоже, зашифрован или запутан, когда я пытаюсь перехватить его с помощью Wireshark.

Спасибо, что дайте мне знать свою идею с этого момента без изменения всей структуры моей программы, которая завершена на 99% :)

Спасибо, Джонатан

Это было полезно?

Решение

  1. Используйте FTPS (FTP-Over-SSL). Требуется, чтобы ваш FTP-сервер имеет сертификат SSL, в противном случае это вариант Vialbe. CON: не защищает подключение MySQL.
  2. Используйте FTP над SSH-туннелем. Не видите, почему один сделает это, если он может использовать SFTP. FTP над SSH возможен с Indy и нашим SecureBlackbox продукт.
  3. Используйте SFTP (протокол передачи файлов SSH) для передачи файлов и используйте переадресацию порта SSH для защиты подключения MySQL. Технически можно запустить как SFTP подсистему, так и переадресацию по порту через одну установленную сессию SSH, и наш SecureBlackbox Поддерживает это. Однако я не знаю о девартских вещах, потому что их клиент SSH / SFTP довольно молод и может иметь определенные ограничения.

В случае аутентификации и шифрования SFTP выполняется на уровне SSH, и вам не нужно мешать дальнейшему крепежному паролю, используемую для аутентификации - он уже защищен SSH. Что вам нужно заботиться о том, чтобы убедиться, что ключ SSH, представленный сервером клиенту. Вы можете сделать это, сохраняя копию ключа сервера в клиентском модуле (помните, что вам может понадобиться время время от времени, поэтому не сложный код в клиентском модуле).

Другие советы

ДЕЛАЕТ Поддержка шифрования как на уровне соединения (SSL / TLS) и уровень учетных данных входа (SASL).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top