Question

J'ai créé une application Delphi 2010. Il est utilise par de nombreuses sociétés dans la région de confiance aux utilisateurs non fiables. Les utilisateurs authentifient d'applications avec MySQL derrière MD5 mot de passe crypté. Par la suite, la nécessité de l'application pour télécharger et télécharger de nombreux fichiers Trought ftp.

Le fait est: tout sniffer réseau (comme Ethereal également connu sous le nom WireShark) peut saisir mon mot de passe utilisateur simple et de la partie ftp de mon application. mot de passe crypté peut également être saisir et tout le monde peut se connecter avec toute application ftp sur mon serveur et faire des choses unpleaseant.

[TindyFTP] est utilisé pour gérer la connexion FTP lui-même. Cet objet ceux qui ne soutiennent SFTP que je tought qui pourrait être la fin de mon problème.

[tMyMac] DevArt est utilisé pour gérer connexion MYSQL.

Quel est mon point maintenant: Il est un bon moyen d'utiliser SSH Tunneling pour contrôler le IO gestionnaire des deux (ftp et mysql) type de transaction sur ma demande? Je fais quelques tests en ce moment avec SecureBridge de DevArt qui est compatible avec le composant MyDAC et Tindy.

Dois-je tout simplement besoin de se connecter à Tunnel SSH et aller trought avec MySQL et ftp? Ai-je besoin aussi de mot de passe ftp Crypter en utilisant SSH Tunnel? Pour la partie de MySQL, le mot de passe semble être crypté ou obscurcie lorsque je tente de l'intercepter avec Wireshark.

Merci de me faire connaître votre idée de ce point sans changer toute la structure de mon programme qui est de 99% terminé:)

Merci, Jonathan

Était-ce utile?

La solution

Vous devez d'abord déterminer, quel protocole exactement vous devez / pouvez utiliser. FTP n'est pas SFTP, FTP et SSH sur peu de sens aussi bien (mais il est possible). Passons en revue les options:

  1. FTPS d'utilisation (FTP-over SSL). Exige que votre serveur FTP a un certificat SSL, sinon il est une option Vialbe. Con: ne garantit pas la connexion MySQL.
  2. utilisez FTP sur le tunnel SSH. Ne vois pas pourquoi on pourrait le faire s'il peut utiliser SFTP. FTP sur SSH est possible avec Indy et notre produit SecureBlackbox .
  3. Utilisation SFTP (SSH File Transfer Protocol) aux fichiers de transfert et d'utilisation redirection de port SSH pour sécuriser la connexion de MySQL. Techniquement, il est possible d'exécuter les deux sous-système SFTP et la redirection de port via une session SSH établie, et notre SecureBlackbox supporte. Je ne sais pas à propos de choses DevArt, cependant, parce que leur client SSH / SFTP est assez jeune et peut avoir certaines limites.

Si vous avez un serveur Linux (MySQL suggère que vous faites), il a OpenSSH comme un serveur SSH, et OpenSSH a intégré dans le serveur SFTP. Si vous exécutez MySQL sur Windows, vous aurez du mal à utiliser les ports OpenSSH sur Windows, et le serveur SSH Bitvise serait une meilleure option (nous l'utilisons nous-mêmes sur notre serveur interne).

Dans le cas d'authentification SFTP et le chiffrement est effectué au niveau SSH et vous n'avez pas besoin à peine obtenir plus le mot de passe utilisé pour l'authentification - il est déjà sécurisé par SSH. Ce que vous devez prendre soin de vérifier si est la clé SSH, présenté par le serveur au client. Vous pouvez le faire en stockant une copie de la clé du serveur dans le module client (rappelez-vous que vous pourriez avoir besoin de remplacer la clé du serveur de temps en temps, il ne faut pas coder en dur dans le module client).

Si vous décidez d'aller la route FTP-over-SSH (bien que je ne vois pas pourquoi vous auriez besoin), vous ne toujours pas besoin de mot de passe FTP sécurisé que vous exécuterez FTP sur tunnel SSH sécurisé.

Autres conseils

TIdFTP dans Indy 10 ne chiffrement de support, aussi bien au niveau de la connexion (SSL / TLS) et le niveau des titres connexion (SASL).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top