Bonsoir,
je me permets de vous soumettre le cas suivant:
Contexte :
Usage domestique de ma sme8 (serveur+passerelle). Cette machine est sur une IP extérieure dynamique mais gère un domaine (www + mail + ftp ...) qui est accessible de l'extérieur par son nom (DNS enregistrés).
Elle est donc parfaitement joignable.
Du côté des clients qui devraient se connecter avec ma sme, c'est très simple: du windows, une box (il me semble...) et très certainement une config auto (je branche, j'allume et ça marche ).
Besoin :
Je souhaiterais que des membres de ma famille situés en France puissent se connecter à ma sme pour que nous puissions partager (downloader / uploader) des fichiers trop volumineux pour être transférés par email.
Ceci devrait être fait de manière sécurisée pour les fichiers et ...........pour ma sme (cad sans tout ouvrir à tout le monde).
Les membres de ma famille maîtrisent le double-clic, mais c'est tout!! De plus ils n'ont quasiment aucune compétence en info, (ni surtout l'envie! ) de se mettre les mains dedans --> il va falloir que je leur fournisse tous les éléments en mode pré-mâché, voir digéré... Les tests et essais vont devoir être réalisés avant, chez moi.
Schéma :
Par acquis de conscience, voici le schéma complet:
Je pense que dans ce cas ci, nous pourrions ne laisser que l'essentiel du schéma, le reste n'ayant à mon avis pas d'importance ici:
Modem/Routeur/Box :
une fritzbox en mode bridge.
C'est elle qui gère le DNS dynamique.
Firewall/Serveur-passerelle multifonctions :
comme indiqué dans le schéma: ma sme8 "intel" en serveur+passerelle fait quasiment tout ce que pour quoi une sme est faite.
Un détail qui pourrait être utile ultérieurement: dansgardian est actif, configuré, mais laissé volontairement cout-circuitable.
Adressages :
Rien de particulier:
du côté externe je suis en IP dynamique.
du côté interne je suis en IP fixe entre la box et la sme et entre la sme et les clients.
Question :
Je m'applique volontairement à décrire et à détailler plus mon besoin qu’une solution particulière (qui n’est peut être pas nécessairement la plus adaptée à la réponse du besoin/souhait) – la remarque dans ce sens de jdh ces derniers jours m’a fait réfléchir…..
J’aimerais donc bien avoir vos opinions sur les solutions décrites ci-dessous et le cas échéant des pistes sur d’autres solutions qui m’ont échappées (mais pas du style « grave un cd et envoie le par la poste »……svp !).
De plus j’aimerais bien savoir comment ceux d’entre vous qui doivent administrer à distance (=qui ont donc besoin d’un login root + d’un accès total à la machine distante) ont résolu dans la pratique les défauts pré-cités. Pour des connexions à partir d’une IP dynamique ?
Quand nous serons d’accord sur la méthode, j’espère que vous me donnerez des pistes pour en diminuer les inconvénients.
Pistes imaginées :
1) Fichiers déposés dans un répertoire situé dans ibays(de mon domaine)/http, cad au même niveau que « index.html » :
- Avantages : simplicité maximale
- Inconvénients : aucune protection mis à part qu’il faut connaitre l’existence et le nom du répertoire pour avoir la bonne URL.
pas d’upload.
transfert des données en clair
2) Fichiers déposés dans /http d’une ibay d’échange avec mot de passe :
- Avantage : simplicité + pas de mot de passe d’utilisateurs
- Inconvénients : faible protection (il suffit d’un générateur de mots de passe pour y arriver)
transfert des données + mot de passe en clair
pas d’upload.
3) Fichiers déposés dans /file d’une ibay réservée à l’échange. Accès par FTP (utilisateur + mot de passe) :
- Avantage : simplicité
- Inconvénients : protection assez médiocre (user+mot de passe)
Obligation d’autoriser l‘accès FTP pour tous les utilisateurs --> possibilité d’attaque sur tous les logins utilisateurs. En cas de succès, accès au https (Horde) car même login+mot de passe.
Données + mot de passe en clair.
Bien entendu, on peut limiter un peu de casse (accès à toutes les données) avec la contrib’ « accès utilisateurs » en chroot-ant tous les utilisateurs vers l’ibay d’échange. Mas ca ne résout point le problème de l’accès https pré-cité.
4) Accès par ssh, uniquement avec clés publiques/privées (accès via mots de passe seul interdit) :
- Avantage : ne nécessite aucune installation pour windows + tout le nécessaire (client ssh + clé = ~9,2MB) peuvent être envoyés par email (la clé séparément).
Pour les utilisateurs concernés, on peut ajouter une passphrase à la clé.
Les autres utilisateurs n’ont pas de clé de créé à connexion impossible
Bonne sécurité d’après ce que j’ai lu
Via le server-manager, il est possible de gérer les accès individuellement et de tout bloquer en 1 clic
- Inconvénients : vu que ma sme est sauvegardée via affa par une autre sme de mon réseau, je suis obligé d’autoriser root à se connecter par ssh , et sa clé (crée par affa) est sans passphrase. En autorisant les connexions shh depuis l’extérieur, j’autorise de ce fait également celle de root depuis l’extérieur.
J’ai lu sur le forum de contribs qu’il est/serait possible de limiter l’accès ssh à une/des adresse IP. Malheureusement, mes « adversaires » sont en IP dynamique --> pas applicable.
Toutes les ibays sont visibles, même celle que l’on ne peut ouvrir.
Durant les essais que j’ai effectué il y a quelques semaines de ça pour unprojet presque similaire , je peux vous dire que je suis tombé sur le c## au vu du nombre d’attaques qu’a subies ma sme dès que j’ai ouvert ssh à l’internet : en moyenne une toutes les 3 heures et d’une durée d’environ 30 minutes.
--> Une clé ssh sans passphrase (celle de root en plus !) est-elle vraiment suffisante dans la pratique???
Bien sûr il est, tout du moins imaginable, de bloquer la connexion de root depuis l’extérieur tout en l’autorisant depuis l’intérieur, mais je ne sais pas comment et n’ai encore rien trouvé dans cette direction.
5) Accès par OpenVPN :
- Avantage : ne nécessite aucune installation pour windows + tout le nécessaire (client ssh + clé = ~5MB) peuvent être envoyés par email (la clé séparément).
Via le server-manager, il est possible de gérer les accès individuellement et de tout bloquer en 1 clic
Pas de danger de connexion root
- Inconvénients :
En donnant un accès VPN, je donne également accès à ma connexion internet et à mon réseau interne. En fait, je ne voulais donner l’accès qu’à une ibay…………..Ca fait un peu beaucoup !
Toutes les ibays sont visibles, même celle que l’on ne peut ouvrir.
Windows 7 met environ 10 minutes pour trouver le réseau samba de ma sme (ce n’est pas dû au VPN car c’est la même chose en local. Il me semble avoir vu que l’on peut améliorer ça en trifouillant les registry de windows (valables / nécessaires avec sme8 ?) mais je n’ai pas approfondi le sujet par manque de nécessité jusqu’á présent.
Pour bloquer l’accès à ma connexion internet, je pourrais bien entendu utiliser dansgardian (avec authentification) de ma sme. Malheureusement, si l’on ne spécifie pas d’utiliser le port 8080, on ne passe pas par le proxy. Ceci est volontaire car j’ai pas mal de petits grigris (applet de météo, webradios, enregistrement de podcasts vidéo etc…) dans mes ubuntu’s qui ne supportent pas l’authentification du proxy. J’utilise dansgardian non comme contrôle parental, mais comme protection infantile et j’ai simplement configuré mes browsers pour passer par lui et ca me suffit.
Solution possible si l’acceptance du proxy par ubuntu est résolue (ce que je n’ai pas réussi á obtenir, malgré recherches assez intensives)
On peut bien évidemment améliorer considérablement l’aspect sécurité en fermant les accès lorsque ceux-ci ne sont pas utilisés (=prendre RDV avec moi pour que j’ouvre) et utiliser des ruses de sioux en n’utilisant pas les ports standards pour SSH ou FTP, par exemple, mais je ne considère pas ca comme une véritable solution, même si ca ne peut faire de mal de faire ca en plus d’une vraie solution.
Ma préférence perso dans tout ceci: ssh ouvert à la demande, et lors de l’ouverture, blocage du login de root via ssh (2 clics en tout dans le server-manager) à attention à ne pas entrer en collision avec les sauvegardes affa.
Autre piste / remarque d'ordre générale:
Ce qui serait cependant intéressant, et ce pour toutes les méthodes d’authentification (https inclus également dans cette remarque), serait de limiter (à 3 ?) le nombre de tentatives de connexion. Passé ce nombre, le login (root ou utilisateur) depuis l’extérieur se bloquerait et il faudrait le débloquer depuis l’intérieur (un peu comme quand on entre 3 fois un mauvais code à un distributeur de billets : la carte est avalée par le distributeur et il faut le lendemain aller voir le banquier pour la récupérer).
Recherches :
- Re-lecture de la doc au chapitre connexions distantes
- Recherches dans le sens : VPN interdire connexion internet, interdire login root de l’extérieur, acces distant ibay
- Je n’ai pas encore cherché en ce qui concerne la limitation des tentatives de connexions : ca m’est venu à l’écriture de ces lignes.
Logs et tests :
mis à part la vérification que je suis capable de mettre en place les solutions décrites plus haut, encore aucune (normal, j'en suis encore au concept)
En tous cas, je vous remercie déjà de vous être donné la peine de lire attentivement tout ceci !
@+
Arnaud