Objectifs de certification
CCNA 200-301
5.3 Configurer l’accès aux périphériques avec des mots de passe
Gestion et transferts de fichiers en Cisco IOS
Ce chapitre a pour objectif de présenter la manipulation de fichiers sous Cisco IOS : Vérification MD5, le transfert via TFTP, FTP et SCP (SSH).
1. Système de fichier local
#dir flash:/
Directory of flash0:/
1 drw- 0 Jan 30 2013 00:00:00 +00:00 boot
264 drw- 0 Oct 14 2013 01:00:00 +01:00 config
267 -rw- 143178592 Mar 22 2016 00:00:00 +00:00 vios-adventerprisek9-m
270 -rw- 524288 Oct 26 2016 19:27:24 +01:00 nvram
271 -rw- 79 Oct 26 2016 19:30:42 +01:00 e1000_bia.txt
2142715904 bytes total (1994403840 bytes free)
1.1. Vérification md5
#verify /md5 flash:/vios-adventerprisek9-m
....
....
MD5 of flash0:/vios-adventerprisek9-m Done!
verify /md5 (flash0:/vios-adventerprisek9-m) = 2f9f17092892564793bc4bb32d3e36f3
#verify flash:/vios-adventerprisek9-m
Starting image verification
Hash Computation: 100% Done!
Computed Hash SHA2: 7BA241C05C4FBCE5E245592EFB1F1357
2139459ACE5402A803D2F9B11D38877A
3DCBE795937114E7E61239FAB79E9FC7
11B94217FCE862FA980489B4C3131F9B
Embedded Hash SHA2: 7BA241C05C4FBCE5E245592EFB1F1357
2139459ACE5402A803D2F9B11D38877A
3DCBE795937114E7E61239FAB79E9FC7
11B94217FCE862FA980489B4C3131F9B
CCO Hash MD5 : 2F9F17092892564793BC4BB32D3E36F3
Digital signature successfully verified in file flash0:/vios-adventerprisek9-m
Les vérifications MD5 permettent de s’assurer que l’image IOS utilisée est vérifiée comme étant authentique et inaltérée. On trouvera de plus amples informations sur les Rootkits sur les périphériques Cisco IOS dans ce lien.
1.2. Commandes IOS à retenir sur le système de fichier
archive Manage archive files
copy Copy from one file to another
delete Delete a file
dir List files on a filesystem
erase Erase a filesystem
format Format a filesystem
fsck Fsck a filesystem
mkdir Create new directory
partition Partition disk
pwd Display current working directory
rename Rename a file
rmdir Remove existing directory
upgrade Upgrade commands
verify Verify a file
write Write running configuration to memory, network, or terminal
1.3. Commandes IOS système
release Release a resource
reload Halt and perform a cold restart
tclsh Tool Command Language shell
test Test subsystems, memory, and interfaces
renew Renew a resource
2. TFTP
2.1. Caractéristiques TFTP
- UDP 69
- Un fichier à prendre ou à placer sur une ressource précise
- Pas d’authentification
- Aucun de contrôle
- RFC 1350
- Vulnérable
2.2. Utilité
- Sauvegarde ou restauration de configuration fichier de configuration
- Sauvegarde ou restauration de configuration fichier d’images de firmware
- Démarrage sur le réseau (configuration et/ou firmware) de téléphones, caméras IP, de points d’accès, ou de tout autre périphérique du réseau
- Démarrage PXE
- …
2.3. Client TFTP en Cisco IOS
Par exemple, un backup de configuration :
#copy run tftp
Address or name of remote host []? 172.16.124.134
Destination filename [r1-confg]? r1-confg-test
!!
1763 bytes copied in 1.924 secs (916 bytes/sec)
2.4. Serveur TFTP en Cisco IOS
(config)#tftp-server ?
archive: Allow URL file TFTP load requests
flash: Allow URL file TFTP load requests
null: Allow URL file TFTP load requests
nvram: Allow URL file TFTP load requests
slot0: Allow URL file TFTP load requests
system: Allow URL file TFTP load requests
tmpsys: Allow URL file TFTP load requests
xmodem: Allow URL file TFTP load requests
ymodem: Allow URL file TFTP load requests
2.5. Serveur TFTP RHEL7
Installation du client et du serveur TFTP
# yum install tftp tftp-server
Configuration du service en écriture argument “-c”
# cat /usr/lib/systemd/system/tftp.service
...
[Service]
ExecStart=/usr/sbin/in.tftpd -c -s /var/lib/tftpboot
Droits sur le dossier de destination
# chmod 777 /var/lib/tftpboot
Démarrage du service
# systemctl start tftp
2.6. Serveur TFTP (Debian/Ubuntu)
# apt install tftpd-hpa
# chmod 777 /var/lib/tftpboot
# cat /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure --create -v"
# service tftpd-hpa restart
# netstat -an | grep :69
# ls /var/lib/tftpboot
2.7. Serveur TFTP Windows
3. FTP
3.1. Caractéristiques de FTP
- TCP 21/20
- Passif / Actif
- Commandes Unix distantes sur le système de fichiers
- Authentification
- Chiffrement TLS possible
- RFC 3659
- Vulnérable (transport en clair, bugs logiciels)
3.2. Pourquoi utiliser un serveur FTP en Cisco IOS ?
Pour documentation : “Using FTP to Manage System Images”.
3.3. Serveur VSFTPD
Installation du logiciel VSFTPD
yum -y install vsftpd
Editer le fichier /etc/vsftpd/vsftpd.conf
et changer les directives :
anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
Activer le service
systemctl enable vsftpd
systemctl start vsftpd
Ouverture du pare-feu
firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
4. Transferts de fichiers SSH/SCP
4.1. Installation, configuration, connexion sous Linux
# systemctl status sshd
- Si nécessaire :
# yum install openssh-server
# systemctl enable sshd
# systemctl start sshd
# less /etc/ssh/sshd_config
# ssh user@127.0.0.1
- Version du serveur :
$ ssh -V
OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013
- Mais aussi la bannière du service :
$ nc localhost 22
SSH-2.0-OpenSSH_6.6.1
- Pare-feu
Firewalld
Sous Centos 7, firewalld
est activé par défaut. Sans aucune autre configuration, ssh
est autorisé pour les interfaces dans la zone “public”.
firewall-cmd --permanent --add-service=ssh
4.2. Serveur SSH/SCP Cisco IOS
hostname R1
ip domain-name entrepise.lan
enable secret <secret>
username <user> privilege 15 algorithm-type sha256 secret <secret>
crypto key generate rsa modulus 2048
ip ssh version 2
ip scp server enable
line vty 0 4
login local
transport input ssh
4.3. SCP client Cisco IOS
R1#copy run scp:/root/R1.cfg
Address or name of remote host []? 192.168.1.1
Destination username [R1]? root
Destination filename [/root/R1.cfg]?
Writing /root/R1.cfg
Password:
! Sink: C0644 4493 R1.cfg
4493 bytes copied in 14.566 secs (308 bytes/sec)
4.4. Transfert de fichiers SCP sous Linux
SCP est la transposition de la commande cp
à travers SSH. On désigne la ressource distante origine ou destination par user@machine:/path
. Par exemple :
scp /dossier/fichier user@machine:~
scp user@machine:~/dossier/fichier .
scp -R /dossier user@machine:~
4.5. Usage sous Windows
- Utilitaire Putty : http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
- Utilitaire CyberDuck : https://cyberduck.io/
- Utilitaire WinSCP : https://winscp.net/eng/docs/lang:fr
- Serveur X Xming : https://sourceforge.net/projects/xming/