7.4. Gérer le service

7.4.1. Démarrage et arrêt

Dans la configuration utilisée ici, le service ne démarre pas directement par lui même mais par l'intérmédaire du super-serveur xinetd. L'activation ou la suspension du service est donc gérée dans la configuration de xinetd (voir Section 7.4.3, « Suspendre le service »).

L'arret/redémarrage/reconfiguration de xinetd utilise un script SysV standard que l'on peut appeler par invoke-rc.d ou directement avec /etc/init.d/xinetd.

7.4.2. Supervision des connexions

ProFTPd permet de surveiller l'activité du serveur en temps réèl grâce à ftpwho et ftptop. La première permet de lister les clients connectés, leur durée de connexion et la commande en cours d'exécution :

root@ubuntu:~# ftpwho
inetd FTP daemon:
no users connected
root@ubuntu:~# ftpwho 
inetd FTP daemon:
 4329 alice    [ 0m17s]  0m11s idle
Service class                      -   1 user
root@ubuntu:~# 

ftptop donne les même informations mais rafraichies en continue, à l'image de top(1).

Figure 7.4. ftptop

ftptop


7.4.3. Suspendre le service

La commande ftpshut permet de couper immédiatement le service ftp. Cette command crée un fichier spécial /etc/shutmsg qui indique à ProFTPd de ne plus accepter de connexions. Il faudra donner à ftpshut un paramètre temporel pour indiquer quand couper le service. Ces paramètre peut être now (coupure immédiate), +N (coupure dans N minutes) ou HHMM (coupure à HH heures et MM minutes). On pourra aussi préciser en deuxième paramètre un message qui sera renvoyé aux clients. Lorsqu'un client tentera de se connecter au serveur, il sera informé de l'arrêt du serveur :

Coupure du service sur le serveur
root@ubuntu:~# ftpshut now "Coupure pour maintenance"

Tentative de connexion
alice@linus:~$ ftp-ssl 192.168.17.139
Connected to 192.168.17.139.
500 FTP server shut down (Coupure pour maintenance) -- please try again later
ftp> quit
alice@linus:~$

On pourra par la suite réatblir le service avec l'argument -R :

root@ubuntu:~# ftpshut -R
ftpshut: /etc/shutmsg removed
root@ubuntu:~# 

7.4.4. Logs

ProFTPD fournit des logs très complets, regroupés sous /var/log/proftpd/.

  • /var/log/proftpd/proftpd.log : informations générales sur le fonctionnement du serveur, connexions réussies ou échouées, etc... C'est le fichier qu'il faut surveiller pour repérer les attaques par force brute.

  • /var/log/proftpd/xferlog : ce log contient la liste de tous les fichiers tranférés vers ou depuis le serveur, le type des fichiers, etc.. On se réfèrera à xferlog(5) pour une description exhaustive du fichieir de log.

  • /var/log/proftpd/tls.log : détaille les opérations liées au module TLS permettant de créér un canal de communication chiffré (voir Section 10.3.2, « FTP/TLS » à ce sujet). Ces informations peuvent être intéressantes pour diagnostiquer des problèmes ponctuels, ou pour vérifier au déploiement que TLS fonctionne correctement. On pourra par contre supprimer la directive TLSLog pour éviter de remplir ce fichier lorsque le serveur fonctionne correctement en production.