web-dev-qa-db-fra.com

Est-il plus sûr d'utiliser un port autre que 21 pour FTP?

Habituellement (pour autant que je sache), FTP utilise le port 21.

Étant donné que ce port est utilisé pour FTP si souvent, est-il plus sûr d'utiliser un autre port? Je suppose que si quelqu'un avec des intentions malveillantes tente de casser des comptes FTP, il essaiera le port 21.

28
Kevin

Il n'est pas sûr d'utiliser ftp sur n'importe quel port. Ceux qui ont une intention malveillante d'entrer dans votre réseau ou votre système n'analyseront pas votre système pour le port 21 mais pour tous les ports, et figureront l'autre port en un rien de temps.

Vous êtes meilleur avec sftp comme outil de transfert de fichiers.

D'un autre côté, vous avez la possibilité d'ajouter une certaine sécurité à vos transferts et ports ftp si vous les exécutez sur un tunnel VPN à la place.

63
yetdot

Le FTP est généralement considéré comme non sécurisé parce qu'il n'est pas chiffré, ce qui signifie que si quelqu'un renifle du trafic n'importe où sur le chemin du réseau, tout ce qui le traverse peut être lu. Cela inclut le nom d'utilisateur, le mot de passe, toutes les données transférées, et le port utilisé.

L'utilisation d'un port non standard n'augmentera pas la sécurité, mais cela pourrait réduire le nombre de bots qui tentent de s'y connecter, ce qui remplit de manière ennuyeuse vos journaux réseau.

36
TTT
  1. Si votre serveur FTP est toujours à jour, cela signifie généralement qu'il n'y aura aucun exploit connu contre cette application. D'un autre côté, si le serveur est obsolète, vous risquez que les robots recherchent des vulnérabilités bien connues qui auraient sinon été corrigées.

  2. Si le serveur FTP est mal configuré, par exemple ayant un nom d'utilisateur/mot de passe par défaut, ou un mot de passe faible sur un compte négligé (ou privilégié), alors une attaque par force brute peut facilement passer.

Alors maintenant, vous connaissez les deux attaques les plus courantes, pour répondre spécifiquement à votre question, oui, un numéro de port non par défaut réduira la probabilité d'une telle attaque, en particulier en ce qui concerne les robots qui scannent Internet pour rechercher des vulnérabilités.

Ceci est souvent considéré comme la sécurité par l'obscurité et est mal vu en raison de son effet limité, mais vous ne pouvez pas nier qu'il améliore votre sécurité dans une certaine mesure, en particulier contre les scanners de vulnérabilité des robots. Probablement pas tant contre une attaque ciblée.

Suggestions:

  • Changer le port par défaut est une chose simple que vous pouvez faire si vous n'êtes pas sûr de la sécurité en l'état.
  • La meilleure chose à faire avec un service FTP est de limiter les adresses IP qui peuvent y accéder. Cela empêche l'analyse des vulnérabilités. Par exemple, il est probable qu'il n'y a que certains bâtiments dans le monde que vous utiliseriez pour accéder au serveur FTP. Vous n'avez pas besoin d'autoriser l'accès à partir d'une autre adresse IP.

  • Il est hautement recommandé d'arrêter d'utiliser FTP et de passer à SFTP (SSH) pour protéger vos informations d'identification contre la sortie. Le FTP n'est pas chiffré et, bien que cela ne s'applique pas à votre question, il est très risqué d'utiliser une connexion non chiffrée pour tout sauf l'accès au réseau local sur site.

  • Pensez également à utiliser un VPN, qui vous donne un accès LAN distant sécurisé.

12
Bryan Field

Oui, mais seulement de manière très mineure.

Dans toute évaluation des risques, il y a le facteur coût par rapport à la sécurité fournie.

Lorsque vous déplacez FTP vers un port non standard, vous réduisez les tentatives entrantes de fruits bas. En d'autres termes, les script kiddies essayant une liste de dictionnaires sur le seul port 21 ne seront plus considérés comme des attaquants. De cette façon, c'est plus sûr.

Le coût est cependant que tous les pare-feu (y compris certains hors de votre contrôle) peuvent avoir besoin d'être ajustés. Les clients devront modifier les paramètres et les utilisateurs devront suivre une procédure non standard. Ce sont de petites choses, mais votre gain est faible.

Sur ces mérites seuls, en l'absence de tous les autres, c'est un appel serré (sur la question en vaut la peine).

Cela dit, il existe de bien meilleures façons d'assurer une meilleure sécurité. Une liste blanche d'adresses IP est bon marché et facile. Il offre plus de sécurité que le changement de port. L'accès VPN pour FTP est un autre chemin "facile" si vous avez déjà configuré des VPN.

L'utilisation de ces méthodes ou d'autres pour sécuriser FTP est généralement "moins chère" et plus sécurisée que la simple commutation de ports.

GRANDE NOTE SUPER IMPORTANTE

Bien que FTP ait ses utilisations, il ne doit pas être considéré comme sécurisé. Utilisez SFTP à la place.

4
coteyr

En laissant de côté la question de savoir si cela réduira le balayage automatique (oui) et si vous pouvez vous attendre à une sécurité de FTP dans les deux cas (non), la configuration de FTP sur un port non standard peut même nuire à la sécurité de votre configuration globale .

Si vous exécutez un serveur FTP sur un port non standard sur le même hôte qu'un serveur HTTP, on peut utiliser le serveur FTP pour effectuer XSS sur le serveur HTTP sur certains navigateurs. Lien d'archive

IIRC cela fonctionne en POSTANT les données HTML + JS en utilisant HTTP sur le serveur FTP, ce que le navigateur autorise parce que le serveur FTP est sur un port non standard, et donc le navigateur ne sait pas qu'il est FTP et ne voit aucune raison de ne pas autoriser ce . Le serveur FTP répond ensuite avec des messages d'erreur contenant les données non valides qui ont été publiées. La réponse ne contient pas d'en-têtes HTTP, mais cela fait simplement supposer au navigateur qu'il s'agit d'une réponse HTTP/0.9. Ainsi, le serveur vient de vous donner une réponse qui contient la charge utile que vous lui avez envoyée. Au moins les anciennes versions de IE ignoraient le port par rapport à la même politique d'origine, donc vous avez XSS entre les mains, sans rien faire de mal du côté HTTP.

Je ne sais pas dans quelle mesure cela a été atténué (suppression de la prise en charge HTTP/0.9, interprétation de toutes les réponses HTTP/0.9 comme du texte/simple, correction du port sur IE, etc., etc.) dans les navigateurs modernes, mais cela montre clairement qu'il peut avoir des conséquences inattendues ailleurs. (Et a toujours, au moins si un utilisateur utilise un ancien IE)

Quant à savoir quel est le moindre mal, les scans automatiques ou XSS pour [au moins] certains navigateurs plus anciens: Mec, abandonnez déjà le tout FTP :)

2
Aleksi Torhamo

Petite histoire: changer de port n'est pas la voie à suivre pour sécuriser un service de transfert de fichiers.

Maintenant, pour une explication plus approfondie. Si vous n'avez aucune raison d'avoir un serveur FTP sur une machine, le plus sûr est de n'en avoir aucun quel que soit le port. Et un serveur FTP est rarement nécessaire, sauf pour un service de fichiers public. Il fait partie des protocoles les plus anciens du monde TCP/IP et ne vise qu'à échanger des fichiers. Si vous contrôlez les deux extrémités de la connexion, autrement dit si tous les utilisateurs qui l'utilisent sont connus du système avec un nom d'utilisateur et un mot de passe, vous devez utiliser sftp qui est un cas d'utilisation spécial de ssh. Comme il est construit au-dessus de ssh, tous les échanges sont entièrement cryptés et il fournit immédiatement un système d'authentification à clé publique hautement sécurisé. Bien sûr, certains navigateurs ne seront plus utilisables (Filezilla le fera, grâce à @ dave_thompson_085 pour l'avoir remarqué), mais utiliser un vrai mot de passe avec un serveur FTP normal sur une connexion Internet est ourlet ... pauvre pratique de sécurité car il est transmis non chiffré. Bref ne faites pas ça ! Quoi qu'il en soit, vous pouvez trouver des clients GUI sftp.

Le FTP est encore largement utilisé pour les serveurs de fichiers publics. Vous pouvez trouver des implémentations solides qui ont été fortement testées (ce qui signifie que des défauts d'implémentation sont peu probables) et sont livrés avec des fonctionnalités intéressantes comme la possibilité de redémarrer un transfert interrompu sans perdre ce qui a déjà été téléchargé. Toutes les principales distributions Linux et BSD peuvent être trouvées sur des serveurs FTP, pour cette raison. Mais je n'ai plus de serveur FTP sur mes propres machines depuis des décennies ...

Et juste pour l'augmentation possible de la sécurité de l'utilisation d'un port non standard, oubliez vos illusions: une analyse de port pourrait bientôt le révéler, sans parler d'un simple scanner de paquets à proximité n'importe où sur le réseau. Pire encore, les administrateurs débutants pourraient être tentés en installant un serveur FTP rapidement configuré sur un port non standard pour leur propre usage en disant que personne ne le trouvera là, donc je ne passerai pas de temps à le sécuriser. Le résultat réel est que:

  • une simple analyse de port peut le révéler
  • comme le trafic n'est pas chiffré, toute machine en cours de route à l'aide du scanner en mode promis verra l'utilisateur et le mot de passe sans aucune alerte => imaginez ce qui peut arriver si les informations d'identification donnent des privilèges d'administrateur ...

Et changer un port bien connu est susceptible d'interdire aux utilisateurs derrière un proxy d'entreprise d'accéder à votre serveur.

NOTE IMPORTANTE

Cette partie n'est pas directement liée à la question elle-même, mais à l'affirmation courante: FTP n'est pas sûr, ne l'utilisez pas, ce qui n'est pas correct.

FTP a été utilisé comme protocole sécurisé avec authentification sécurisée avant ssh. Il est vrai qu'il est désormais rarement utilisé de cette façon, mais mot de passe unique est un moyen d'atténuer le risque de vol d'informations d'identification. Bien sûr, n'importe qui sur un réseau peut voir le mot de passe, mais dès qu'il est utilisé, il est immédiatement révoqué. Je l'ai utilisé intensivement dans les années 80, et je serais toujours confiant en OPIE ou OTPW pour une connexion sécurisée sur des lignes non sécurisées. Même si je dois accepter que j'utilise maintenant sftp et ssh au lieu de telnet + ftp + OPIE :-)

Ce que je veux dire, c'est que le FTP n'est pas dangereux en soi et qu'il peut être utilisé en toute sécurité. Une utilisation simplement banale de FTP n'est généralement pas sûre.

2
Serge Ballesta

Cela dépend du modèle de menace

En cas de reniflement de trafic, le changement de port ne fait aucune différence. Il aide à peine contre un pirate humain, essayant d'analyser les vulnérabilités du système.

Cela aidera contre les mécanismes automatiques (botnets, vers), car ils ont tendance à assumer des ports standard.

2
enkryptor

Votre question est vraiment deux questions. L'un concerne la sécurité de l'utilisation de FTP et l'autre concerne les avantages de la modification du port par défaut pour un protocole réseau.

Certaines personnes diront que la modification du port par défaut est un exemple de sécurité par l'obscurité. Cependant, cela n'est vrai que si c'est le seul contrôle de sécurité que vous mettez en place. La modification du port par défaut peut être un contrôle de sécurité légitime, mais uniquement s'il est également combiné avec d'autres contrôles de sécurité. Il est vrai que ce n'est pas un contrôle particulièrement puissant et quiconque ayant un niveau de connaissance modéré trouvera probablement le nouveau port sur lequel votre protocole écoute. Cependant, il s'agit d'une couche de protection supplémentaire, même si seule une couche mince varie et que la sécurité repose sur des couches de protection. Cela n'empêchera peut-être pas une personne expérimentée de pénétrer dans votre système, mais cela pourrait bien arrêter de nombreuses attaques automatisées ou basées sur des scripts.

L'inconvénient de ces approches est qu'elles ont un impact sur l'utilisabilité. Tout utilisateur légitime du service devra désormais connaître le nouveau port et devra probablement utiliser des paramètres de ligne de commande ou de configuration supplémentaires pour utiliser votre service. Dans certaines situations, cela peut être OK, mais dans d'autres, ce sera juste gênant ou déroutant. Cela dépend vraiment de votre situation et de ce contre quoi vous essayez de vous protéger.

Par exemple, je déplacerai souvent mon service SSH du port 22 vers un port différent. Bien que cela n'ait qu'un impact minimal sur la sécurité, il a l'avantage d'éviter le grand nombre de scripts automatisés que je vois qui tentent des tentatives très simplistes d'accéder à mon système, réduisent le `` bruit '' dans mes journaux et ont peut-être un impact minimal sur les services ( dans un endroit où je travaillais, je voyais en moyenne 30 000 tentatives de connexion au port 22 par jour). Comme j'étais le seul utilisateur avec des raisons légitimes à utiliser SSH pour se connecter à ce système, le changement du port par défaut a eu un minimum d'inconvénients et une fois que je suis passé à un autre port, je ne verrais que quelques tentatives par semaine. Cependant, c'était avec SSH, qui est conçu pour être sécurisé par défaut. FTP est une histoire différente.

Dans le cas du FTP, si vous ne faites rien d'autre que de déplacer le port par défaut, alors c'est la sécurité par l'obscurité et aura peu d'impact sur la sécurité globale - cela diminuera l'utilisabilité et ne fera rien pour remédier aux faiblesses fondamentales du FTP. La sécurité de base de votre système ne sera pas améliorée de manière significative car il est trivial de faire une analyse de port et d'identifier le nouveau port sur lequel le service FTP écoute.

Comme l'ont souligné certains des autres articles et commentaires, le vrai problème ici est que FTP est simplement un protocole non sécurisé. Il existe un certain nombre d'alternatives fonctionnellement équivalentes. Par conséquent, si vous êtes préoccupé par la sécurité, la meilleure solution consiste simplement à ne pas utiliser FTP. Il existe des versions de FTP et des moyens de configurer FTP qui peuvent le rendre plus sûr, mais dans une large mesure, ce sont des ajouts/extensions "après coup" au protocole et susceptibles de ne pas être aussi sûrs qu'un protocole qui avait la sécurité intégré en elle depuis le début. Donc, la vraie réponse si la sécurité est un problème est de ne pas utiliser d'anciens protocoles comme FTP et Telnet. Utilisez des choses comme SCP ou même SFTP et SSH ou même HTTPS.

2
Tim X

Je pense que quelque chose que d'autres réponses n'ont pas précisé est que dans la grande majorité des cas sur Internet, le trafic de piratage provient de bots qui scannent les ports connus pour des services connus (comme le port FTP 21) et n'agissent que si le scan renvoie quelque chose d'utile. (comme un serveur FTP). À moins que votre serveur ne soit susceptible d'être la cible de pirates humains, vous ne devriez probablement pas vous inquiéter.

Le FTP est-il généralement sécurisé? Non.

Devriez-vous l'utiliser d'une manière accessible au public? Non.

Si vous l'utilisez sur le port 21 sur une IP publique, un bot volera-t-il vos données? Potentiellement.

Si vous l'utilisez sur un port non standard sur une IP publique, un pirate vous volera-t-il vos données ou compromettra-t-il vos données? Probablement pas.

1
js441