Необходима, чтобы быть направленным на купирование SSH Tunnel с приложением Delphi
-
26-09-2019 - |
Вопрос
Я создал приложение 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% :)
Спасибо, Джонатан
Решение
- Используйте FTPS (FTP-Over-SSL). Требуется, чтобы ваш FTP-сервер имеет сертификат SSL, в противном случае это вариант Vialbe. CON: не защищает подключение MySQL.
- Используйте FTP над SSH-туннелем. Не видите, почему один сделает это, если он может использовать SFTP. FTP над SSH возможен с Indy и нашим SecureBlackbox продукт.
- Используйте SFTP (протокол передачи файлов SSH) для передачи файлов и используйте переадресацию порта SSH для защиты подключения MySQL. Технически можно запустить как SFTP подсистему, так и переадресацию по порту через одну установленную сессию SSH, и наш SecureBlackbox Поддерживает это. Однако я не знаю о девартских вещах, потому что их клиент SSH / SFTP довольно молод и может иметь определенные ограничения.
В случае аутентификации и шифрования SFTP выполняется на уровне SSH, и вам не нужно мешать дальнейшему крепежному паролю, используемую для аутентификации - он уже защищен SSH. Что вам нужно заботиться о том, чтобы убедиться, что ключ SSH, представленный сервером клиенту. Вы можете сделать это, сохраняя копию ключа сервера в клиентском модуле (помните, что вам может понадобиться время время от времени, поэтому не сложный код в клиентском модуле).
Другие советы
ДЕЛАЕТ Поддержка шифрования как на уровне соединения (SSL / TLS) и уровень учетных данных входа (SASL).