J'ai eu une dispute avec une personne il y a quelques mois lorsque j'ai proposé de transférer le port 12xyz vers un serveur SSH interne.
Le serveur cible a été attaché d'une manière similaire à celle recommandée par @stribika à https://stribika.github.io/2015/01/04/secure-secure-Shell.html . Plus précisément, aucun accès root, authentification par clé publique uniquement, port ssh non standard, chiffrement de haute qualité, kex et macs.
Je soutenais que le port redirigé n'était pas intrinsèquement dangereux en soi et que la sécurité dépendait du service au port cible. J'ai maintenu que ma méthode était un moyen parfaitement sûr d'accéder à distance. Il a affirmé avec véhémence que ce n'était pas le cas, déclarant qu'un tunnel VPN est le seul moyen sûr d'accéder à distance.
Qui avait raison?
Le transfert de ports n'est PAS intrinsèquement dangereux en soi et OUI, la sécurité dépend du service sur le port cible. Mais la sécurité dépend également de la qualité du pare-feu de votre routeur et de sa protection, à la fois en interne et en externe.
Pour l'accès à distance, SSH et VPN fonctionnent aussi bien l'un que l'autre. Aucun des deux n'est plus sécurisé que l'autre lorsque des niveaux de cryptage similaires sont utilisés. Mais comme SSH fonctionne au niveau de l'application, ne prend en charge que TCP et fournit un accès distant à un seul ordinateur uniquement, je préférerais la tunnellisation VPN qui, en fait, fonctionne au niveau de la couche transport, prend en charge UDP et TCP et permet un accès sécurisé à plusieurs ressources.
Le tunnel VPN n'est PAS le seul moyen sûr d'accéder à distance, mais certainement le moyen préféré pour les raisons ci-dessus. Sans oublier que SSH est vraiment difficile à implémenter correctement en cas de ressources multiples, peut provoquer des fuites DNS et doit être configuré séparément pour chaque application.