Installation et configuration du Serveur TFTP de sauvegarde de configuration des équipements réseaux

Caractéristique de la VM

Paramètre	Valeur
Nom	FUZZY
Emplacement	DATACENTER
RAM	512 MO
Carte réseau	1
Disque Dur	16 Go

Installation du système d'exploitation Debian

Installer le système de base

L'installation de Debian est faite avec les choix suivants :

Paramètre	Valeur
Nom	FUZZY
Mot de passe root	PWD systeme
Compte utilisateur	btssio
Mot de passe utilisateur	PWD utilisateur
Configuration IP	Dynamique avec réservation d'adresse
Logiciels	Système standard + Serveur Open-SSH

Partitionnement du disque avec utilisation d'un groupe de volumes logiques LVM

Découpage logique	Système de fichier	point de montage	Espace
Partition primaire 1	sda1	ext3	/boot	250 Mio
Groupe de volumes logiques LVM vg0	Volume logique 0	xfs	/home	1.3 Gio
Volume logique 1	xfs	/	250 Mio
Volume logique 2	swap	swap	1 Gio
Volume logique 3	xfs	/tmp	500 Mio
Volume logique 4	xfs	/usr	2 Gio
Volume logique 5	xfs	/var	2 Gio
Espace libre

Mise à jour du serveur

# apt-get update
# apt-get upgrade

Informations concernant l'installation TFTP

Ceci récapitule la configuration mise en place après cette procédure :

Adresse du serveur	fuzzy
Emplacement des fichiers	/srv/tftp
Utilisateur propriétaire	nobody
Nom des fichiers de configuration	netgear-gs108T-config-c#
Serveur sécurisé	Non

Installation et configuration du serveur TFTP

Téléchargement des paquets :

# apt-get install openbsd-inetd tftpd tftp -y

Création du dossier où les fichiers seront déposés :

# mkdir /srv/tftp

Application des droits à l'utilisateur pour le TFTP :

# chmod -R 777 /srv/tftp
# chown -R nobody /srv/tftp

Modifier le fichier inetd.conf pour paramétrer le démarrage du serveur TFTP

# nano /etc/inetd.conf

Modifier la ligne correspondant au serveur TFTP ainsi :

tftp dgram udp wait nobody /usr/sbin/tcpd -s /srv/tftp

Valider la modification puis redémarrer le service inetd

# /etc/init.d/openbsd-inetd restart

Création des fichiers de configuration

Il est nécessaire de créer un fichier vide pour chaque fichier de configuration qui devra être sauvegardé sur le serveur.

# touch /srv/tftp/netgear-gs108T-config-c1

Si le fichier a été créé via l'utilisateur root, il faut y ré-appliquer les droits à l'utilisateur nobody :

# chown nobody /srv/tftp/netgear-gs108T-config-c1
# chmod 777 /srv/tftp/netgear-gs108T-config-c1

Paramétrer enfin le switch pour utiliser le même nom de fichier lors de la sauvegarde de sa configuration.

Sécurisation éventuelle du serveur

Il est possible de restreindre l'accès au serveur TFTP via les fichiers hosts.allow et hosts.deny du système. Voici un extrait du manuel de hosts_access à ce sujet :

The next	example	permits	tftp requests from hosts in the	local	domain
(notice	the leading dot). Requests from any other hosts are denied.
Instead of the requested	file, a	finger probe is	sent to	the offending
host. The result	is mailed to the superuser.
/etc/hosts.allow:
in.tftpd: LOCAL, .my.domain
/etc/hosts.deny:
in.tftpd: ALL: (/some/where/safe_finger -l @%h | \
/usr/ucb/mail -s	%d-%h root) &
The safe_finger	command is intended	for use in back-fingering and
should be installed in a	suitable place.	It limits possible damage from
data sent by the	remote finger server. It gives	better protection than
the standard finger command.
The expansion of	the %h (client host) and %d (service name) sequences
is described in the section on shell commands.
Warning:	do not	booby-trap your	finger daemon, unless you are prepared
for infinite finger loops.
On network firewall systems this	trick can be carried	even further.
The typical network firewall only provides a limited set	of services to
the outer world.	All other services can be "bugged" just	like the above
tftp example. The result	is an excellent	early-warning system.

Ressources

http://www.martinbranda.eu/installer-serveur-tftp-sur-debian/

http://www.netbsd.org/docs/network/netboot/tftpd.html