Le protocole SFTP

Article de blog | Finger In The Net

protocole sftp

Le protocole SFTP

Le protocole SFTP (SSH File Transfer Protocol) est un protocole de transfert de fichiers sécurisé qui s’appuie sur SSH pour garantir la confidentialité, l’intégrité et l’authentification des données transmises. Contrairement au FTP traditionnel, le protocole SFTP chiffre l’intégralité des communications et s’avère essentiel pour l’administration sécurisée des équipements réseau Cisco.

Caractéristiques techniques

  • Norme : RFC 4253 (SSH Transport Layer Protocol) et RFC 4254 (SSH Connection Protocol)
  • Port par défaut : 22 TCP (identique à SSH)
  • Versions : SFTP version 3 (la plus couramment implémentée), versions 4, 5 et 6 disponibles
  • Chiffrement : AES, 3DES, Blowfish (selon la configuration SSH)
  • Authentification : Mot de passe, clés publiques/privées RSA/DSA/ECDSA
  • Dépendance : Nécessite SSH version 2.0 minimum

Terminologie spécifique :

  • Subsystem SFTP : Module SSH dédié au transfert de fichiers
  • SSH Channel : Canal sécurisé établi dans la session SSH pour SFTP
  • Key Exchange : Négociation des clés de chiffrement lors de l’établissement SSH

Architecture et fonctionnement du protocole SFTP

Le protocole SFTP fonctionne comme un sous-système de SSH, créant un canal dédié au sein de la session SSH établie. Contrairement au FTP qui sépare les commandes et les données, le protocole SFTP transmet everything dans un seul flux chiffré, éliminant les problématiques de pare-feu et NAT.

les échanges du protocole SFTP

Différenciation avec les autres protocoles

Le protocole FTP :

  • Transmission en clair, vulnérable aux interceptions
  • Utilise deux connexions (port 21 pour les commandes, port 20 ou ports aléatoires pour les données)
  • Authentification non chiffrée

Le protocole FTPS :

  • Ajoute TLS/SSL au FTP traditionnel
  • Conserve la complexité du mode actif/passif
  • Certificats X.509 requis

Le protocole SFTP :

  • Canal unique chiffré via SSH
  • Authentification SSH robuste
  • Simplicité de configuration firewall

Configuration SFTP sur équipements Cisco

Configuration SSH préalable (Obligatoire)

Le protocole SFTP nécessite impérativement SSH activé. Voici la configuration complète :

R1> enable
R1# configure terminal
R1(config)# hostname R1
R1(config)# ip domain-name exemple.local
R1(config)# username admin privilege 15 secret Cisco123!
R1(config)# crypto key generate rsa modulus 2048
R1(config)# ip ssh version 2
R1(config)# ip ssh time-out 60
R1(config)# ip ssh authentication-retries 3
R1(config)# line vty 0 15
R1(config-line)# transport input ssh
R1(config-line)# login local
R1(config-line)# exec-timeout 10 0
R1(config-line)# exit
R1(config)# ip ssh server algorithm encryption aes256-ctr
R1(config)# end
R1# write memory

Activation du serveur SFTP

Sur les IOS récents, le serveur SFTP est automatiquement activé avec SSH. Vérification :

R1# show ip ssh
R1# show ssh

Pour les versions IOS nécessitant une activation explicite :

R1(config)# ip sftp server enable

Utilisation client SFTP

Transfert de configuration :

R1# copy running-config sftp://admin@192.168.1.100//configs/R1-backup.cfg
R1# copy sftp://admin@192.168.1.100//configs/R1-new.cfg running-config

Mise à jour IOS :

R1# copy sftp://admin@192.168.1.100//ios/c2900-universalk9-mz.SPA.157-3.M4a.bin flash:
R1# verify sftp://admin@192.168.1.100//ios/c2900-universalk9-mz.SPA.157-3.M4a.bin

Transfert de logs :

R1# copy flash:info running-config
R1# copy running-config sftp://admin@192.168.1.100//logs/R1-logs.txt

Configuration avancée et authentification par clés

Génération de clés sur le routeur

R1(config)# crypto key generate rsa modulus 4096
R1(config)# crypto key generate ecdsa 384

Configuration d’authentification par clé publique

R1(config)# ip ssh pubkey-chain
R1(conf-ssh-pubkey)# username admin
R1(conf-ssh-pubkey-user)# key-string
R1(conf-ssh-pubkey-data)# ssh-rsa AAAAB3NzaC1yc2EAAAA...
R1(conf-ssh-pubkey-data)# exit

Commandes de diagnostic et dépannage

Vérifications essentielles :

R1# show running-configuration | section ssh
R1# show crypto key mypubkey rsa
R1# show ip ssh
R1# show ssh connections

Dépannage avancé :

R1# debug ip ssh
R1# debug ip ssh detail
R1# show file systems
R1# show flash:

Supervision des connexions :

R1# show users
R1# show tcp brief

Configuration sur switches Cisco

La configuration sur switches Catalyst est identique aux routeurs :

SWE> enable
SWE# configure terminal
SWE(config)# hostname SWE-Access-01
SWE(config)# ip domain-name entreprise.local
SWE(config)# username netadmin privilege 15 secret P@ssw0rd123
SWE(config)# crypto key generate rsa modulus 2048
SWE(config)# ip ssh version 2
SWE(config)# line vty 0 15
SWE(config-line)# transport input ssh
SWE(config-line)# login local
SWE(config-line)# exit
SWE(config)# end
SWE# copy running-config sftp://backup@10.1.1.50//switch-configs/SWE-Access-01.cfg

Sécurisation et meilleures pratiques

Contrôle d’accès par ACL

R1(config)# ip access-list standard SSH-MGMT
R1(config-std-nacl)# permit 10.1.1.0 0.0.0.255
R1(config-std-nacl)# permit host 192.168.1.100
R1(config-std-nacl)# exit
R1(config)# line vty 0 15
R1(config-line)# access-class SSH-MGMT in

Durcissement SSH

R1(config)# ip ssh server algorithm mac hmac-sha2-256
R1(config)# ip ssh server algorithm kex diffie-hellman-group14-sha256
R1(config)# username admin autocommand show version
R1(config)# banner login "ACCES RESTREINT - SURVEILLANCE ACTIVE"

Limitations et prérequis IOS

  • IOS requis : Version “crypto” ou “advanced security”
  • Mémoire : Minimum 32 MB DRAM pour les opérations SFTP
  • Processeur : Chiffrement consommateur de CPU, surveiller l’utilisation

Cas d’usage en production

Sauvegarde automatisée via EEM

R1(config)# event manager applet BACKUP-DAILY
R1(config-applet)# event timer cron cron-entry "0 2 * * *"
R1(config-applet)# action 1.0 cli command "enable"
R1(config-applet)# action 2.0 cli command "copy running-config sftp://backup@10.1.1.50//daily/R1-$_event_pub_sec.cfg"

Mise à jour IOS centralisée

R1# copy sftp://tftp@10.1.1.50//images/c2900-universalk9-mz.SPA.157-3.M4a.bin bootflash:
R1# configure terminal
R1(config)# boot system bootflash:c2900-universalk9-mz.SPA.157-3.M4a.bin
R1(config)# end
R1# write memory

Points essentiels pour la certification CISCO

Pour réussir les certifications CISCO concernant le protocole SFTP :

  • Maîtriser la configuration SSH complète : Le protocole SFTP est indissociable de SSH
  • Connaître les commandes copy avec URL SFTP : Syntaxe sftp://user@host//path/file
  • Comprendre les prérequis : Nom d’hôte, domaine, clés cryptographiques
  • Identifier les versions IOS compatibles : “crypto” ou “advanced security”
  • Différencier SFTP de FTP/FTPS : Sécurité, simplicité firewall, canal unique
  • Maîtriser le dépannage SSH : show ip ssh, debug ip ssh, show crypto key

Le protocole SFTP représente la méthode privilégiée pour la gestion sécurisée des fichiers sur infrastructure Cisco moderne. Sa maîtrise est indispensable pour tout administrateur réseau certifié. Pour approfondir vos connaissances pratiques du protocole SFTP et de l’ensemble des technologies couvertes dans la certification CCNA 200-301, consultez cette formation CCNA 200-301 complète.

Conclusion : Le protocole SFTP, intégré aux équipements Cisco via SSH, constitue l’épine dorsale de l’administration sécurisée moderne. Sa maîtrise technique et pratique est un prérequis essentiel pour les certifications CISCO et l’administration professionnelle d’infrastructures réseau.

Noël NICOLAS

Auteur de l'article

Expert Réseau
15 ans d’expérience
CCNP Routing and Switching
Fondateur du site FingerInTheNet

Eric JOUFFRILLON

Co-auteur de l'article

Expert SATCOM
Technicien Réseau
17 ans d’éxpérience déploiement réseau SATCOM
Spécialisé LFN (Long Fat Network).Diffusion vidéo et QOS.

CURSUS DE FORMATION

Administrateur Réseau