2012-05-13

Accès exterieur NAS Freebox v6 en FTP

Hi Blog!

La Freebox v6 est munie d'un NAS de 250Go. Il est possible d'y accéder par FTP, Samba et par uPNP depuis le LAN.

Malheureusement, il n'est pas possible d'y accéder depuis l'exterieur puisque seule l'interface de gestion est accessible. Ceci est probablement volontaire de la part de Free.

Je vais vous presenter ici une methode pour partager votre NAS avec vos amis qui pourront y accéder depuis l'exterieur sur un de ces trois protocoles. Je présente ici en détail l'accès FTP.

Seul contrainte: avoir une machine linux (ou bsd) sur votre LAN accessible depuis l'exterieur sur laquelle les connexions rebondiront comme sur un proxy. Pour les incondionnels de Windows, il vous faudra installer un serveur ssh sur la machine windows, ceci n'est pas traité dans ce tutorial.

La methode suivante s'applique aussi à un client Linux ou bsd mais un client windows peut tout aussi facilement y acceder via Putty.

Sur le LAN de la freebox, il faudra faire une redirection de port pour laisser accessible le serveur ssh qui tourne sur votre machine linux interne.

Pour des raisons de sécurité, il est conseillé d'interdire l'accès au serveur ssh via password (ou alors avoir un mot de passe très costaud puisque ce serveur ssh sera donc accessible depuis l'exterieur et les tentatives de connexions seront incessantes). Une autre idée et de ne pas ouvrir le port par défaut de ssh (22) ce qui limitera un peu les script kiddies. Ici je choisi 2222

  • Sur la FreeBox, faire une redirection de port:
Port source: 2222
Destination: IP_de_votre_machine_linux , Port destination: 22

  • Configurer votre server ssh pour refuser les accès par mot de passe et n'autoriser que les accès par clef publique/privée. Il faudra alors que vos amis vous transmette leur clef publique pour qu'ils soient autorisés à se connecter. Decommenter la ligne PasswordAuthentication dans la config de votre serveur ssh (/etc/ssh/sshd_config sous linux) pour avoir l'authentificiation par mot de passe à no.
# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no
Redemarrer le serveur ssh: /etc/init.d/ssh restart

A partir de ce moment, seuls ceux qui ont leur clef publique dans votre serveur pourront accèder à votre serveur ssh. Aucune attaque par brute force n'est désormais possible sur le serveur ssh. Sur les clients, pour avoir une clef publique ($HOME/.ssh/id_rsa.pub) il faut lancer la commande ssh-keygen. Si vous en avez déja une, la commande ssh-keygen vous previendra, nul besoin d'en recreer une. Le plus propre est d'avoir exporté sa clef publique sur un serveur de clef.

Penser à creer un utilisateur spécifique sur le serveur ssh, appelons le toto. En effet, vos amis pourront se connecter sur ce compte ssh, vous n'avez peut etre pas envie qu'ils aient accès à tous les fichiers de votre utilisateur principal. <a completer>

C'est fini pour la configuration du LAN! Chez vos amis, sur les machines clientes:
  • Lancer un client ssh qui va faire proxy socks 5
ssh -D 12345 toto@IP_WAN_freebox
Si le mecanisme de clef publique, clef privée a fonctionné, vous etes alors connecté sur la machine linux dans le LAN. Tout paquet arrivant sur le port 12345 de ce proxy SOCKS de votre machine sera redirigé vers le linux du LAN.
  • Sur votre client FTP, je conseille filezilla, indiquez dans les paramètre de passer par votre proxy SOCKS. 
Proxy socks: 127.0.0.1 , Port : 12345 , laissez vide user password.

Il ne vous reste plus qu'à vous connecter à l'adresse IP_WAN_Freebox, port ftp normal 21, user freebox et password: le mot de passe du ftp du NAS. (le mode passif doit etre activé c'est normalement le cas)

Voilà, si le mot de passe du ftp est le bon, vous etes connecté au FTP du NAS depuis l'exterieur! Magique! :-)

Freebox Serveur
Freebox Player
Utilisation Freebox

0 commentaires:

Post a Comment