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

TFTPD64

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