CPFS General-purpose assure la protection de bout en bout de vos données grâce au chiffrement côté serveur et au chiffrement en transit.
Chiffrement côté serveur : Protège vos données au repos et prévient les fuites de données causées par la perte ou le vol de disques physiques.
Chiffrement en transit : Sécurise les données circulant sur le réseau contre l'interception et l'altération.
Fonctionnement
-
Chiffrement côté serveur
Cette fonctionnalité repose sur le mécanisme standard de chiffrement d'enveloppe, associé à Alibaba Cloud Key Management Service (KMS). Le système génère une clé de chiffrement des données (DEK) unique pour chaque système de fichiers et utilise l'algorithme AES-256 pour chiffrer vos données. La DEK est elle-même chiffrée et protégée par une clé principale client (CMK) que vous spécifiez dans KMS. Ce processus transparent garantit la sécurité des données tout en maintenant des performances de lecture/écriture élevées grâce à un mécanisme de mise en cache des DEK.
-
Chiffrement en transit
Cette fonctionnalité offre une transmission sécurisée de bout en bout basée sur le logiciel open source Stunnel. Lors du montage d'un système de fichiers, l'outil client CPFS (
aliyun-alinas-utils) lance un processus proxy Stunnel sur votre instance ECS. Ce processus encapsule tout le trafic NFS dans un tunnel chiffré via Transport Layer Security (TLS), empêchant ainsi efficacement l'interception et l'altération des données sur le réseau.
Options de chiffrement
Pour les scénarios exigeant le plus haut niveau de sécurité, nous recommandons d'activer à la fois le chiffrement côté serveur et le chiffrement en transit afin d'assurer une protection complète des données.
|
Dimension |
Chiffrement côté serveur |
Chiffrement en transit |
|
Avantage principal |
Protège les données au repos et prévient les fuites de données liées à la perte ou au vol de disques physiques. |
Sécurise les données en transit et empêche l'interception réseau. |
|
Cas d'utilisation |
|
|
|
Impact sur les performances |
Légère baisse des IOPS et du débit, accompagnée d'une faible augmentation de la charge CPU. |
Impact d'environ 10 % sur les performances (augmentation de 10 % de la latence d'accès et diminution de 10 % des IOPS). Pour les applications intensives en débit, le processus Stunnel associé à chaque point de montage peut consommer un cœur CPU entier dans les cas extrêmes. Prévoyez donc des ressources CPU suffisantes en fonction de votre charge de travail. |
|
Coût |
|
Gratuit |
|
Complexité de gestion |
Configuration unique lors de la création. La suppression accidentelle d'une clé gérée par le client entraîne la perte définitive des données chiffrées avec cette clé. |
Vous devez installer et maintenir le client, ainsi que surveiller l'expiration des certificats. Si le certificat client expire, le système de fichiers cesse de répondre. |
Chiffrement côté serveur
Le chiffrement côté serveur ne peut être configuré qu'au moment de la création du système de fichiers. Une fois créé, il est impossible de désactiver le chiffrement ou de modifier la clé. L'activation du chiffrement a un impact mineur sur les performances, pouvant entraîner une légère diminution des IOPS et du débit.
Étape 1 : Choisir la méthode de gestion des clés
Choisissez une méthode de gestion des clés en fonction de vos besoins en matière de sécurité et de conformité :
Clé gérée : CPFS crée et gère les clés en votre nom, ce qui vous dispense de gérer leur cycle de vie. Vous conservez les permissions d'audit. Cette méthode est gratuite, facile à gérer et adaptée aux scénarios de sécurité courants.
-
Clé gérée par le client (via KMS) : Utilisez une clé que vous gérez dans KMS pour chiffrer le système de fichiers. Vous disposez d'un contrôle total sur le cycle de vie de la clé, y compris sa création, son activation, sa désactivation, sa rotation et sa suppression. Cette option convient aux scénarios soumis à des exigences strictes de conformité ou lorsque vous devez maîtriser vos propres clés. Deux sources de clés sont prises en charge :
Clé créée par KMS : Créez une clé principale client (CMK) dans la console KMS.
Bring Your Own Key (BYOK) : Importez une clé générée en externe dans KMS pour l'utiliser.
Si vous optez pour une clé gérée par le client, vous devez d'abord créer ou importer une clé principale client (CMK) dans la console Key Management Service.
Étape 2 : Créer un système de fichiers chiffré
Connectez-vous à la console CPFS et accédez à la page de création du système de fichiers.
Définissez le Type de chiffrement sur Clé gérée ou Clé gérée par le client (via KMS).
-
Si vous sélectionnez Clé gérée par le client (via KMS), choisissez une clé dans la liste déroulante ID de clé.
Lors de votre première utilisation de cette fonctionnalité, le système vous guide pour créer un rôle lié au service afin d'autoriser CPFS à accéder à vos ressources KMS.
Renseignez les autres paramètres de configuration, puis créez le système de fichiers.
Étape 3 : Vérifier la configuration du chiffrement
Une fois le système de fichiers créé, vérifiez l'état dans la colonne Encryption de la liste des systèmes de fichiers pour confirmer que le chiffrement est bien activé.
Dès lors, toutes les données écrites sur le système de fichiers sont automatiquement chiffrées.
Chiffrement en transit
Le chiffrement en transit s'active en ajoutant un paramètre spécifique lors du montage d'un système de fichiers. Cette fonctionnalité protège le trafic NFS durant son transfert sur le réseau.
Prérequis
L'instance ECS cible dispose d'une adresse IP publique ou d'une adresse Elastic IP (EIP) associée.
Étape 1 : Installer le client CPFS-NFS
Connectez-vous à l'instance ECS sur laquelle vous souhaitez monter le système de fichiers CPFS. Pour plus d'informations sur la connexion à une instance ECS, consultez Méthodes de connexion.
-
Téléchargez et installez le client CPFS-NFS.
Alibaba Cloud Linux
-
Téléchargez le client CPFS-NFS.
wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.al.noarch.rpm -
Installez le client CPFS-NFS.
sudo yum install aliyun-alinas-utils-*.rpm
CentOS
-
Téléchargez le client CPFS-NFS.
wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.el.noarch.rpm -
Installez le client CPFS-NFS.
sudo yum install aliyun-alinas-utils-*.rpm
Ubuntu
-
Téléchargez le client CPFS-NFS.
sudo wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.deb -O /tmp/aliyun-alinas-utils-latest.deb -
Installez le client CPFS-NFS.
sudo apt-get update sudo apt-get install /tmp/aliyun-alinas-utils-latest.deb
Debian
-
Téléchargez le client CPFS-NFS.
sudo wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.deb -O /tmp/aliyun-alinas-utils-latest.deb -
Installez le client CPFS-NFS.
sudo apt-get update sudo apt-get install /tmp/aliyun-alinas-utils-latest.deb
SUSE
-
Téléchargez le client CPFS-NFS.
wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.lp15.x86_64.rpm -
Installez le client CPFS-NFS.
sudo zypper --no-gpg-checks install -y aliyun-alinas-utils-*.rpm
-
-
Vérifiez l'installation.
which mount.cpfs-nfsUne installation réussie renvoie le résultat suivant :
/usr/sbin/mount.cpfs-nfs
Étape 2 : Monter avec chiffrement en transit
Si vous activez le chiffrement en transit alors qu'un système de fichiers NFS est déjà monté dans le répertoire cible (par exemple, /mnt) de votre instance ECS, vous devez d'abord démonter le système de fichiers NFS avant de le remonter conformément aux instructions de cette rubrique.
Pour activer le chiffrement en transit, ajoutez le paramètre -o tls à la commande de montage standard. Lors du montage du système de fichiers, l'outil client CPFS écrit automatiquement le mappage du point de montage dans le fichier /etc/hosts et supprime ce mappage lors du démontage.
# Example: Mount with encryption in transit enabled.
sudo mount -t cpfs-nfs -o tls,vers=3,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.region.cpfs.aliyuncs.com:/share/path /mnt
-o tls: Obligatoire. Active le chiffrement en transit.vers=3: Spécifie le protocole NFSv3 pour une meilleure compatibilité.rsize=1048576,wsize=1048576: Définit la taille des blocs de lecture et d'écriture à 1 Mo afin d'optimiser les performances de transfert.hard: Spécifie un montage hard pour garantir la cohérence des données.
Pour plus d'informations sur les paramètres de montage, consultez Monter un système de fichiers à l'aide d'un client CPFS-NFS (Recommandé).
Étape 3 : Vérifier le chiffrement
Après le montage du système de fichiers, vérifiez l'activation du chiffrement en contrôlant le processus Stunnel et les connexions réseau.
-
Vérifier le processus Stunnel : Confirmez que le processus proxy Stunnel est en cours d'exécution.
ps aux | grep stunnel -
Vérifier la connexion réseau : Confirmez que Stunnel a établi une connexion chiffrée avec le serveur CPFS.
netstat -anp | grep stunnelVous pouvez constater que le processus
stunnela établi une connexion au port12049du serveur CPFS.
Une fois la vérification effectuée, toutes les opérations de lecture et d'écriture sur le répertoire monté transitent par le tunnel chiffré.
Limites
-
Limites du chiffrement côté serveur
Configuration à la création : Le chiffrement côté serveur doit être configuré lors de la création du système de fichiers et ne peut plus être modifié par la suite.
Limite d'algorithme : Seul l'algorithme AES-256 est pris en charge. D'autres algorithmes, tels que SM4, ne sont pas supportés.
-
Limites du chiffrement en transit
Systèmes de fichiers pris en charge : Seuls les systèmes de fichiers CPFS General-purpose utilisant le protocole NFS sont pris en charge.
-
Utilisation des ports : Par défaut, le processus Stunnel nécessite le port local
12049. Assurez-vous que ce port n'est pas occupé par d'autres services.Exécutez la commande ss -ant | grep -w 12049 pour vérifier si le port est occupé. Si la commande ne renvoie aucun résultat, le port est libre. Si le port est occupé, vous pouvez le modifier en modifiant le fichier de configuration .
Utilisation des adresses IP locales : Chaque point de montage avec chiffrement en transit activé occupe séquentiellement une adresse IP dans la plage allant de
127.0.1.1à127.0.255.254. L'adresse IP est libérée lors du démontage du système de fichiers. Exécutez la commandecat /etc/hostspour consulter l'utilisation actuelle.Modes de montage mutuellement exclusifs : Il est impossible d'utiliser simultanément les modes chiffré (TLS) et non chiffré pour monter le même système de fichiers sur le même point de montage. Pour changer de mode, vous devez d'abord démonter le point de montage existant.
-
Systèmes d'exploitation pris en charge : Seules les versions 64 bits des systèmes d'exploitation suivants sont prises en charge.
Type de système d'exploitation
Version du système d'exploitation
Alibaba Cloud Linux
-
Alibaba Cloud Linux 3.2104 64 bits
-
Alibaba Cloud Linux 2.1903 64 bits
CentOS
-
CentOS 8.x 64 bits
-
CentOS 7.x 64 bits
Ubuntu
-
Ubuntu 20.04 64 bits
-
Ubuntu 18.04 64 bits
-
Ubuntu 16.04 64 bits
Debian
-
Debian 10.x 64 bits
-
Debian 9.x 64 bits
-
Debian 8.x 64 bits
SUSE
-
SUSE Linux Enterprise Server 15 64 bits
-
Dépannage et journalisation
Les journaux client relatifs au chiffrement en transit se trouvent dans le répertoire /var/log/aliyun/alinas/. Vous pouvez ajuster la configuration de journalisation en modifiant le fichier /etc/aliyun/alinas/alinas-utils.conf :
|
Paramètre |
Description |
Valeur par défaut |
|
|
Niveau de journalisation de l'outil client. |
INFO |
|
|
Taille maximale d'un fichier journal unique. |
1 048 576 (1 Mo) |
|
|
Nombre maximal de fichiers journaux à conserver. |
10 |
|
|
Active ou désactive la journalisation de débogage Stunnel. Lorsque cette option est activée, des informations plus détaillées sur la négociation TLS sont affichées. |
false |
|
|
Indique s'il faut vérifier le nom de domaine du certificat serveur. Nous recommandons de définir cette valeur sur |
false |
|
|
Indique s'il faut vérifier la période de validité et l'émetteur du certificat serveur. Nous recommandons de définir ce paramètre sur |
false |
Après avoir modifié la configuration, exécutez la commande suivante pour redémarrer le service :
sudo service aliyun-alinas-mount-watchdog restart
Considérations pour la production
Risques liés à la gestion des clés (chiffrement côté serveur)Si vous utilisez une clé gérée par le client, vous devez mettre en place un processus strict de gestion des clés. Si une clé est désactivée ou supprimée, le système de fichiers chiffré devient inaccessible et les données sont irrécupérables. Nous recommandons d'activer la fonctionnalité de protection contre la suppression pour vos clés dans KMS.
-
Gestion des certificats (chiffrement en transit)
La fonctionnalité de chiffrement en transit du client CPFS repose sur des certificats tiers qui doivent être renouvelés périodiquement. CPFS vous en informe par e-mail et par message interne un mois à l'avance. Mettez rapidement à jour l'outil client
aliyun-alinas-utils. À défaut, les systèmes de fichiers montés avec chiffrement en transit cesseront de répondre après l'expiration du certificat.
FAQ
Q : Accès aux données lorsque la clé de chiffrement est désactivée ou supprimée ?
R : Non. Si vous utilisez une clé gérée par le client, le système de fichiers chiffré devient totalement inaccessible, tant en lecture qu'en écriture, si la clé est désactivée ou supprimée. Faites preuve de prudence lors de la gestion des clés.
Q : Le chiffrement côté serveur réduit-il la capacité de stockage ?
R : Non. AES est un chiffrement par blocs doté d'un mécanisme de remplissage automatique. Ces données de remplissage ne sont pas comptabilisées dans la capacité de stockage de votre système de fichiers.
Q : Le chiffrement côté serveur prend-il en charge l'algorithme SM4 ?
R : Non. Le chiffrement côté serveur de CPFS utilise l'algorithme standard AES-256 pour protéger les données au repos et recourt au chiffrement d'enveloppe pour empêcher tout accès non autorisé aux données. Les clés de chiffrement côté serveur sont générées et gérées via KMS. KMS garantit la confidentialité, l'intégrité et la disponibilité de vos clés. Pour plus d'informations sur le chiffrement, consultez Utiliser le chiffrement d'enveloppe avec KMS pour chiffrer et déchiffrer des données localement.
Q : Que signifie cette erreur de montage : The mountpoint <mountpoint> is already mounted with tls/non-tls, mixing tls and non-tls is not supported in this version ?
R : Cause : Un point de montage ne peut pas prendre en charge simultanément les modes chiffré (TLS) et non chiffré (non-TLS). Le client détecte cette tentative de montage mixte, signale une erreur et interrompt l'opération.
Solution : Utilisez la commande umount pour démonter le point de montage actuel, choisissez le mode TLS ou non-TLS, puis exécutez à nouveau la commande de montage.
Q : Que signifie cette erreur de montage : Cannot mount with tls/non-tls now, please wait <sec> seconds for the unmount to complete ?
R : Cause : Lors du basculement entre les modes chiffré et non chiffré, le système requiert un court délai de grâce après le démontage avant de pouvoir effectuer un nouveau montage. Cette erreur survient si vous tentez de remonter trop rapidement durant cette période.
Solution :
Patientez pendant le nombre de secondes indiqué dans le message d'erreur, puis exécutez à nouveau la commande de montage.
Vous pouvez également ajuster la durée du délai de grâce de démontage en configurant le paramètre
unmount_grace_period_sec. Pour plus d'informations sur la configuration, consultez Détails de la configuration des paramètres du client CPFS.