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.
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.
