Mise à jour de OpenWRT RC3 vers RC4
OpenWRT RC4
Voici les principaux atouts et ajoûts de la version RC4 du firmware OpenWRT :
L'interface d'administration Web (webif) est désormais inclus dans le firmware ;
Le serveur ssh DropBear fourni avec le firmware supporte l'authentification par clef ;
Mises à jour de sécurité appliquées aux paquetages OpenVPN/OpenSWAN/OpenSSL ;
Réduction du délai de démarrage (boot) du routeur ;
Les paquetages netfilter/iptables sont désormais disponibles par modules.
Mise à jour
Deux méthodes de mise à jour sont possibles : l'une en ligne de commande, l'autre via l'interface Web.
En tant que partisan du moindre effort, j'ai choisi cette dernière méthode.
Il est plus que raisonnable de sauvegarder la configuration de votre routeur avant la mise à jour; même si dans mon cas celle-ci s'est déroulée sans grosse perte de données.
Pour mettre à jour OpenWRT via l'interface web, il vous faut télécharger la dernière version à jour du firmware.
Puis, depuis linterface web, appelez la page suivante :
Utilisez la boite de dialogue “Firmware image to upload:” pour uploader l'image du firmware.
Ne cochez pas l'option 'Erase NVRAM ” (unless you really really know what you do, comme diraient nos amis anglophones).
Cliquez sur le bouton Upgrade et attendez que le routeur redémarre.
You're done !
Après la mise à jour
Authentification SSH par clef
Le serveur SSH Dropbear inclus dans l'image d'OpenWRT RC4 supporte l'authentification par clef. Il est donc très tentant et vivement conseillé de mettre en oeuvre cette fonctionnalité, ne serait-ce que parce qu'elle permet une gestion multi-utilisateurs assez souple.
Pour activer ce mode d'authentification, il suffit de créer un fichier authorized_keys dans le répertoire /etc/dropbear. Ce fichier servira de trousseau : la clef de chaque utilisateur autorisé y sera stockée. Dans l'exemple ci-dessous, la clef publique id_rsa.pub a été préalablement transférée sur le routeur dans le répertoire /tmp :
root@OpenWrt:~# ls /etc/dropbear/
dropbear_dss_host_key dropbear_rsa_host_key
root@OpenWrt:~# cd /etc/dropbear/
root@OpenWrt:/etc/dropbear# cat /tmp/id_rsa.pub >> authorized_keys
root@OpenWrt:/etc/dropbear# chmod 0600 authorized_keys
root@OpenWrt:/etc/dropbear#
bash-2.05a$ ssh root@192.168.1.1
Enter passphrase for key '/Users/mac/.ssh/id_rsa':
bash-2.05a$ ssh root@192.168.1.1
Enter passphrase for key '/Users/mac/.ssh/id_rsa':
Enter passphrase for key '/Users/mac/.ssh/id_rsa':
Enter passphrase for key '/Users/mac/.ssh/id_rsa':
root@192.168.1.1's password:
/usr/bin/dropbearkey
qui devient donc :
/usr/bin/dropbearkey -s
Rappel : le fichier /etc/init.d/S50dropbear est un lien symbolique vers /rom/etc/init.d/S50dropbear. Pour l'éditer, il faut donc d'abord remplacer ce lien par un “vrai” fichier. Une copie du fichier /rom/etc/init.d/S50dropbear dans /etc/init.d fera très bien l'affaire.
Après avoir relancé le serveur (ou rebooter le routeur), on peut constater que seul l'authentification par clef est désormais supportée :
bash-2.05a$ ssh root@192.168.1.1
Enter passphrase for key '/Users/mac/.ssh/id_rsa':
Permission denied (publickey).