Protection des fichiers sur AFS

2010/04/07 par ITSRM

Ces règles subsidiaires à la circulaire opérationnelle N°5 sont destinées aux utilisateurs du système de gestion de fichiers AFS.

Au CERN, les propriétaires de tout type de données (par exemple: fichiers, documents, pages Web), y compris les utilisateurs des services de fichiers, sont tenus de protéger leurs données contre tout accès anonyme visant à lire ou modifier ces données (voir en bas pour la définition de « anonyme »).

Politique de protection des données AFS

Afin de protéger les données AFS, les contrôles d'accès (ACLs) suivants doivent être appliqués à tous les dossiers d'utilisateurs qui sont hébergés sur AFS. « HOME » signifie ici : chemin d'accès vers le dossier « HOME » d'un utilisateur ou son « workspace ».

  1. Pour tous les utilisateurs anonymes, les ACLs du dossier « ~HOME/private » et de ses sous-dossiers doivent être par défaut « aucun droit » et rien d'autre;
  2. Pour tous les utilisateurs anonymes, les ACLs du dossier « ~HOME/public » et de ses sous-dossiers ne doivent, par défaut, pas permettre plus que les droits soit « read » / « lookup » (c.-à-d. « rl ») combinées soit « lookup »/« insert »/« write » (c.-à-d. « liw » ) combinées;
  3. Pour le groupe « webserver:afs », les ACLs du dossier « ~HOME/www » et de ses sous-dossiers ne doivent, par défaut, pas permettre plus que les droits « read »/« lookup »/« insert »/« delete »/« write »/« lock »(c.-à-d. « rlidwk ») combinées;
  4. Pour tous les utilisateurs anonymes, les ACLs de « ~HOME » et de tous ses sous-dossiers non-mentionnés dans les points précédents, ne doivent, par défaut, pas permettre plus que le droit « lookup » (c.-à-d. « l »);
  5. Pour tous les utilisateurs anonymes, les ACLs de tous les dossiers ne doivent, par défaut, pas permettre les droits « write » et « read » simultanés.

Ces règles impliquent que toute information supposée être publique doit être stockée dans le dossier « ~HOME/public ». Tous les sites Web doivent être stockés dans le dossier « ~HOME/www ».

L'application de ces règles est forcée automatiquement et régulièrement par le service AFS pour tous les dossiers « utilisateur » ou « workspace », à moins que les configurations actuelles de ces dossiers ne soient plus restrictives que celles par défaut (susmentionnées). Concernant les espaces « projet », « groupe » ou « scratch », seule la règle #5 s'applique. Si des modifications devaient être apportées, les utilisateurs correspondants seront avertis par le service AFS.

Cependant, le propriétaire des données (c.-à-d. l'utilisateur) est seul responsable de la correcte configuration des ACLs de ses dossiers et fichiers. Le service AFS est supposé l'aider dans cette tache, mais ne peut pas être tenu responsable.

Définition de « anonyme »

L'accès à un fichier ou dossier est considéré comme étant « anonyme » si le groupe de personnes pouvant y accéder peut être relativement grand. Concernant AFS, les groupes de contrôle d'accès suivants sont considérés comme étant des « utilisateurs anonymes »:

system:anyuser (c.-à-d. tous les utilisateurs d'AFS)
system:authuser (c.-à-d. tous les utilisateurs du CERN)
cern:nodes (c.-à-d. tous les hôtes du CERN utilisant AFS)
afs.hep:nodes
afs.hep:users
webserver:afs (c.-à-d. tous les serveurs Web AFS)
wwwprot

Correction Interactive des ACLs AFS

Le script suivant corrigera interactivement les ACLs AFS des répertoires « home » afin de respecter les règles ci-dessus. Il mettra à jour les ACLs qui sont considérées comme étant trop permissives, i.e. autorisant un accès en écriture non restreint ou un accès en lecture non restreint à des fichers sensibles :

$ /afs/cern.ch/project/afs/etc/correct_acls

(Essayer correct_acls -c pour une simple verification sans changement. correct_acls -h vous donnera de l'aide.)

Pour les autres répertoires, tel qu'un projet, groupe ou « scratch » commun, la commande « afs_admin » peut être utilisée aussi bien pour lister les violations de la politique du CERN, que pour les corriger :

$ afs_admin check_acl /path/to/your/project_or_dir
$ afs_admin clean_acl -r /path/to/your/project_or_dir

Par mesure de précaution, « afs_admin » ne traversera pas les points de montage AFS, i.e. ne descendra pas dans les autres volumes AFS. Veuillez consulter « afs_admin help » pour plus de détails à propos de ces commandes.

ACLs pour authentification SSH via clé publique

Si vous utilisez l'authentification via clé publique SSH, il faut que le fichier authorized_keys soit publique. Une façon simple de le faire est de mettre ce fichier dans le dossier ~/public et de créer un lien symbolique depuis votre dossier ~/.ssh :

mv ~/.ssh/authorized_keys ~/public
ln -s ~/public/authorized_keys ~/.ssh/authorized_keys

Ces deux étapes devraient suffire. Si nécessaire, vous devrez peut-être répéter les mêmes étapes pour vos clés publiques SSH (e.g. id_rsa.pub, id_dsa.pub).

ACLs pour site web hébergés sur AFS

Les sites web hébergés sur AFS doivent être stockés dans le dossier ~/www (notez les minuscules). Pour ce faire, trois étapes sont nécessaires :

  1. Le dossier ~/www doit être créé, et le contenu du site doit y être copié;
  2. Les droits d'accès appropriés doivent être configurés : $ fs sa ~/www webserver:afs rl. Selon le site web, vous pourriez avoir besoin de mettre en place rlidwk, mais soyez prudent !
  3. Le service web AFS doit être informé du nouvel emplacement du site : https://cern.ch/webservices/Services/ManageSite/, choisissez votre site et cliquez sur 'AFS Path: [CHANGE]'. Mettez ici le chemin complet.

Si tout fonctionne, vous pouvez envisager de supprimer les anciens fichiers. Si vous pensez que ce site web n'est pas nécessaire, veuillez le supprimer.

Plus de détails sur les différentes options de configuration et de création de site web CERN peuvent être trouvées ici.

Plus d'Informations

Une description détaillée des ACLs AFS se trouve ici.