Quel risque y a-t-il à exécuter un serveur domestique sécurisé derrière SSH?
Lorsque vous avez besoin d'ouvrir quelque chose sur votre réseau domestique vers l'internet plus large, un tunnel SSH est-il un moyen suffisamment sécurisé pour le faire??
La séance de questions et réponses d'aujourd'hui nous est offerte par SuperUser, une sous-division de Stack Exchange, un groupe de sites Web de questions-réponses dirigé par la communauté..
La question
Le lecteur superutilisateur Alfred M. veut savoir s'il est sur la bonne voie en matière de sécurité de connexion:
J'ai récemment installé un petit serveur avec un ordinateur bas de gamme exécutant Debian dans le but de l'utiliser comme référentiel git personnel. J'ai activé ssh et j'ai été assez surpris de la rapidité avec laquelle il a été victime d'attaques par force brute, etc. Ensuite, j’ai lu que c’était assez courant et que nous avions appris les mesures de sécurité de base pour parer à ces attaques (beaucoup de questions et de doublons sur serverfault traitent ce problème, voir par exemple celle-ci ou celle-ci)..
Mais maintenant, je me demande si tout cela en vaut la peine. J'ai décidé de configurer mon propre serveur principalement pour le plaisir: je pouvais simplement compter sur des solutions tierces telles que celles proposées par gitbucket.org, bettercodes.org, etc. Bien qu'une partie du plaisir soit d'apprendre la sécurité sur Internet, je n'ai pas assez de temps à consacrer à cela pour devenir un expert et être presque sûr que j'ai pris les bonnes mesures de prévention.
Afin de décider si je vais continuer à jouer avec ce projet de jouet, j'aimerais savoir ce que je risque vraiment de le faire. Par exemple, dans quelle mesure les autres ordinateurs connectés à mon réseau sont-ils également menacés? Certains de ces ordinateurs sont utilisés par des personnes ayant encore moins de connaissances que le mien qui exécute Windows.
Quelle est la probabilité que je rencontre de réels problèmes si je suis les règles de base telles que mot de passe fort, accès root désactivé pour ssh, port non standard pour ssh et éventuellement désactivation de la connexion par mot de passe et utilisation de l'une des règles suivantes: fail2ban, denyhosts ou iptables?
Autrement dit, y a-t-il des méchants loups dont je devrais avoir peur ou est-ce que tout consiste principalement à chasser les script kiddies?
Alfred doit-il s'en tenir aux solutions tierces ou sa solution de bricolage est-elle sécurisée??
La réponse
Le contributeur de SuperUser, TheFiddlerWins, assure à Alfred qu'il est assez sûr:
IMO SSH est l’un des moyens les plus sûrs d’écouter sur Internet. Si vous êtes vraiment inquiet, écoutez-le sur un port haut de gamme non standard. J'aurais toujours un pare-feu (au niveau de l'appareil) entre votre box et Internet et n'utiliserais que le transfert de port pour SSH, mais c'est une précaution contre les autres services. SSH lui-même est sacrément solide.
je avoir des personnes avaient parfois accès à mon serveur SSH (ouvert à Time Warner Cable). Jamais eu d'impact réel.
Un autre contributeur, Stéphane, souligne à quel point il est facile de sécuriser davantage SSH:
La configuration d’un système d’authentification par clé publique avec SSH est très simple et dure environ 5 minutes..
Si vous forcez toute la connexion SSH à l'utiliser, le système sera alors aussi résilient que vous le pouvez sans investir beaucoup dans l'infrastructure de sécurité. Franchement, c'est tellement simple et efficace (tant que vous n'avez pas 200 comptes - alors ça devient compliqué) que ne pas l'utiliser devrait être une offense publique.
Enfin, Craig Watson propose un autre conseil pour minimiser les tentatives d'intrusion:
Je gère également un serveur personnel git ouvert sur le monde sur SSH, et j'ai les mêmes problèmes de force brute que vous, pour que je puisse comprendre votre situation..
TheFiddlerWins a déjà résolu les problèmes de sécurité liés à l’ouverture de SSH sur une adresse IP accessible au public, mais le meilleur outil pour réagir en cas de tentative brutale est Fail2Ban - le logiciel qui surveille vos fichiers d’authentification, détecte les tentatives d’intrusion et ajoute des règles de pare-feu au système. machine locale
iptables
pare-feu. Vous pouvez configurer le nombre de tentatives avant une interdiction, ainsi que la durée de l’interdiction (ma valeur par défaut est 10 jours)..
Avez-vous quelque chose à ajouter à l'explication? Sound off dans les commentaires. Voulez-vous lire plus de réponses d'autres utilisateurs de Stack Exchange doués en technologie? Découvrez le fil de discussion complet ici.