7. Configuration de l'authentification CHAP

Dans cette partie, on suppose que tous les tests précédents ont été effectués avec succès et que les échanges entre les systèmes target et initiator sont validés.

On s'intéresse maintenant à l'authentification entre ces mêmes systèmes. Pour traiter les questions suivantes, une nouvelle entrée a été utilisée pour le rôle target.

Le mécanisme d'authentification le plus communément utilisé dans le déploiement des connexions iSCSI s'appuie sur CHAP (Challenge-Handshake Authentication Protocol). Il s'agit d'une méthode d'authentification entre deux hôtes pairs sans échange de mot de passe en clair sur le réseau. Cette méthode suppose que les deux hôtes utilisent le même mot de passe.

Q31.

Comment régler les paramètres d'authentification CHAP sur le système target ?

Comme pour les étapes précédentes, toutes les manipulations se font à partir de l'outil targetcli. Il faut donc consulter la documentation de cet outil à l'adresse Linux-IO : the Linux SCSI Target wiki. Il existe une section Mutual CHAP authentication.

Partant d'une nouvelle configuration, on obtient la liste de paramètres suivante dans laquelle aucun contrôle d'accès n'a été défini.

/iscsi/iqn.20...57c35b07/tpg1> ls
o- tpg1 .............................................................. [enabled]
  o- acls ............................................................. [0 ACLs]
  o- luns .............................................................. [1 LUN]
  | o- lun0 ..................................... [iblock/initiator1 (/dev/vdb)]
  o- portals ........................................................ [1 Portal]
    o- 2001:db8:feb2:2:b8ad:ff:feca:fe00:3260 .............. [OK, iser disabled]

On passe à la création d'une entrée de contrôle d'accès basée sur l'identifiant iqn unique du système initiator.

/iscsi/iqn.20...57c35b07/tpg1> acls/ create iqn.2015-09.org.debian:01:9d11913c78ac
Created Node ACL for iqn.2015-09.org.debian:01:9d11913c78ac
Created mapped LUN 0.
/iscsi/iqn.20...57c35b07/tpg1> ls
o- tpg1 .............................................................. [enabled]
  o- acls .............................................................. [1 ACL]
  | o- iqn.2015-09.org.debian:01:9d11913c78ac ................... [1 Mapped LUN]
  |   o- mapped_lun0 ............................................... [lun0 (rw)]
  o- luns .............................................................. [1 LUN]
  | o- lun0 ..................................... [iblock/initiator1 (/dev/vdb)]
  o- portals ........................................................ [1 Portal]
    o- 2001:db8:feb2:2:b8ad:ff:feca:fe00:3260 .............. [OK, iser disabled]

On définit ensuite les paramètres d'authentification pour cette entrée. Comme la méthode CHAP est symétrique, on doit déposer de part et d'autre le secret. On fixe ici les paramètres userid et password.

/iscsi/iqn.20...57c35b07/tpg1> acls/iqn.2015-09.org.debian:01:9d11913c78ac/ set auth userid=initiator-username
Parameter userid is now 'initiator-username'.
/iscsi/iqn.20...57c35b07/tpg1> acls/iqn.2015-09.org.debian:01:9d11913c78ac/ set auth password=initiator-53cr3t-p455w0rd
Parameter password is now 'initiator-53cr3t-p455w0rd'.

Q32.

Comment régler les paramètres d'authentification CHAP sur le système initiator ?

Rechercher dans le fichier de configuration principal du rôle initiator les paramètres relatifs à l'authentification.

Le nom d'utilisateur et le mot de passe sont définis dans le fichier /etc/iscsi/iscsid.conf du système initiator.

# *************
# CHAP Settings
# *************

# To enable CHAP authentication set node.session.auth.authmethod
# to CHAP. The default is None.
node.session.auth.authmethod = CHAP

# To set a CHAP username and password for initiator
# authentication by the target(s), uncomment the following lines:
node.session.auth.username = SAN-lab-1stInitiator
node.session.auth.password = MyS4N-1stInitiator-53cr3t

Le même principe peut être appliqué au mécanisme de découverte en appliquant un couple login/password identique ou non à la suite de ce fichier de configuration.

Une fois la configuration en place, on obtient les résultats suivants lors de la validation.

  • Découverte du nouveau volume réseau :

    # iscsiadm -m discovery --type sendtargets --portal=[2001:db8:feb2:2:b8ad:ff:feca:fe00]:3260                               
    [2001:db8:feb2:2:b8ad:ff:feca:fe00]:3260,1 iqn.2003-01.org.linux-iscsi.target.i686:sn.f58f71d5ba26
    192.0.2.12:3260,1 iqn.2003-01.org.linux-iscsi.target.i686:sn.f58f71d5ba26
    [2001:db8:feb2:2:b8ad:ff:feca:fe00]:3260,1 iqn.2003-01.org.linux-iscsi.target.i686:sn.8b7457c35b07
  • Connexion avec authentification CHAP :

    # iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.target.i686:sn.8b7457c35b07 -p 2001:db8:feb2:2:b8ad:ff:feca:fe00 --login 
    Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.target.i686:sn.8b7457c35b07, portal: 2001:db8:feb2:2:b8ad:ff:feca:fe00,3260] (multiple)
    Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.target.i686:sn.8b7457c35b07, portal: 2001:db8:feb2:2:b8ad:ff:feca:fe00,3260] successful.
  • Affichage de la session active :

    # iscsiadm -m session                                                                                                      
    tcp: [4] [2001:db8:feb2:2:b8ad:ff:feca:fe00]:3260,1 iqn.2003-01.org.linux-iscsi.target.i686:sn.8b7457c35b07 (non-flash)