10 grandes erreurs à éviter en tant qu'administrateur Linux
Cet article a été publié par Benjamin
le 21-01-09 à 17:55 dans la catégorie Autres
Tags :
- Libre
- Ubuntu
Si vous êtes nouveau sous Linux, quelques erreurs sont (et seront)
susceptibles de vous causer des problèmes. Connaître ces erreurs pourra
vous permettre de les éviter !
Pour beaucoup de personnes, migrer sous Linux est un exercice plaisant
et amusant. En revanche, pour d'autres, c'est une sorte cauchemar qui
s'annonce. Ce cauchemar peut être évité, et particulièrement si vous
connaissez les principales erreurs à éviter à l'avance. Cet article va
vous montrer les grandes erreurs faites par les débutants sous Linux,
celles que vous ne DEVEZ PAS faire :)
#1 : Installer des applications de différentes manières.
Vous n'êtes pas sans savoir qu'Ubuntu utilise le système de paquets .deb (via dpkg). Cependant, tous les logiciels ne sont pas disponibles sous forme de paquets. Parfois, vous ne disposez que des sources d'un logiciel.
Et alors me direz-vous… ça s'installe et ça fonctionne donc pourquoi ne pas utiliser les sources ?
C'est très simple, votre gestionnaire de paquets (ici, dpkg) ne connait pas les logiciels que vous avez compilé à partir des sources. Donc qu'est-ce qui risque de se passer ? Si vous compilez un programme A ("à la main") qui dépend d'un programme B (installé via dpkg) et que ce programme B est mis à jour (avec le gestionnaire de mises à jour), il y a de fortes chances que le programme A ne fonctionne plus aussi bien qu'avant (voir même ne fonctionne plus du tout). Par contre, si vous avez installé les programmes A et B depuis les paquets, les risques sont moindres.
Conclusion : Mettre à jour votre système est beaucoup plus facile lorsque tous les paquets ont été téléchargés via dpkg.
#2: Négliger les mises à jour
Cette erreur ne dépend pas de votre système mais bien de vous. Certains administrateurs installent leur système et pensent qu'ils n'ont rien de plus à faire. "Linux c'est solide, c'est sécurisé, ça marche..."
Oui, mais les nouvelles mises à jour réparent des failles de sécurité et rendent votre système encore plus solide et plus sécurisé ! Faire attention à vos mises à jour peut faire la différence entre un système sécurisé et un système corrompu. Ce n'est pas parce que vous pouvez faire confiance à ce système que vous ne devez rien faire de plus. Pour des raisons de sécurité et de stabilité, de la même manière que vous mettiez à jour Windows, vous devriez toujours garder votre système Linux à jour.
#3: Avoir un mot de passe root trop simple
Bon, répétez après moi : “Le mot de passe root est la clé du royaume”. Donc, pourquoi rendriez-vous cette clé du royaume facile à obtenir ? Bien sûr, votre mot de passe utilisateur peut être simple (simple à retenir ou à taper), mais pour le mot de passe root, vous savez, celui qui protège la base de données de votre entreprise ou n'importe quelle donnée confidentielle (ou personnelle), choisissez-en un “un peu” plus compliqué !
#4: Négliger la ligne de commande
Personne ne veut avoir à mémoriser tout un tas de commandes. La plupart du temps, des interfaces graphiques vous permettent de ne plus utiliser la ligne de commande. Cependant, certaines fois, la ligne de commande est plus facile, plus rapide, plus sécurisée et plus fiable que n'importe quelle interface graphique.
Ne pas utiliser la ligne de commande peut être considéré comme un péché capital de l'administration Linux. Vous devriez au moins avoir une bonne connaissance de son fonctionnement et de quelques commandes que vous connaissez par coeur (!RTFM). Avec une sélection de quelques lignes de commandes couplées à quelques interfaces graphiques, vous serez prêt à tout !
#5: Supprimer tous les anciens noyaux
Bien sûr, vous n'avez pas besoin d'avoir 12 kernels installés sur votre machine. Au fil du temps, vous devrez mettre à jour votre noyau. Bien sûr, cette mise à jour n'efface pas les anciens. Que faut-il faire ? Vous devez toujours garder le dernier noyau fonctionnel. Admet-on, votre noyau le plus récent (et donc celui que vous utilisez) est le 2.6.22. Vous avez gardé le noyau 2.6.20 en backup (le dernier fonctionnel). Si vous passez au noyau 2.6.26 et que tout fonctionne correctement, vous pouvez (et devez) effacer le 2.6.20 pour ne garder que le dernier fonctionnel (donc le 2.6.22 désormais) !
#6: Ne pas sauvegarder vos fichiers de configuration importants
Combien de fois avez-vous trafiqué votre xorg.conf pour activer le tout dernier effet de Compiz, autant de modifications qui ont finalement complètement cassé votre serveur X ? Je ne compte plus les fois où cela m'est arrivé quand j'ai commencé.
Désormais, à chaque fois que je dois modifier la configuration de mon serveur X, je sauvegarde mon fichier /etc/X11/xorg.conf au cas où cela se passerait mal. Je sauvegarde toujours mon xorg.conf dans mon répertoire /root, comme ça je suis sûr que seul l'utilisateur root peut y avoir accès (mieux vaut prévenir que guérir).
D'autres fichiers de conf peuvent (doivent ?) être considérés comme critiques : apache, samba, mysql, bash.rc, …
(c'est vrai qu'un administrateur de serveur n'utilisera pas compiz, mais c'est un exemple pour illustrer l'importance de sauvegarder ses fichiers de conf, ndt)
#7: Démarrer un serveur avec une interface graphique
Quand une machine est destinée à être utilisée en tant que serveur, vous voudrez peut être installer une interface graphique pour simplifier l'administration. Cela ne veut pas dire qu'il faut automatiquement démarrer sur le serveur X. Cela va consommer de la mémoire et du CPU inutilement. Au lieu de cela, activez le runlevel 3 (les runlevels seront l'objet de mon prochain article) afin de n'avoir que la ligne de commande au démarrage (cela dépend des OS, comme me l'a fait remarqué Sonal, chez certains, le runlevel 3 active également le mode graphique, nous verrons comment le désactiver dans le prochain article).
Cela ne va pas seulement vous faire économiser des ressources sur votre serveur, cela va également protéger votre serveur des regards indiscrets (en effet, les gens prêtent beaucoup moins attention à une machine en mode texte qu'en mode graphique).
Pour obtenir l'interface graphique, loguez vous en mode texte et lancez la commande startx.
#8: Ne pas maîtriser les permissions
Les permissions peuvent vous rendre la vie facile. Par contre, si elles sont mal gérées, elles peuvent également rendre la vie des hackers facile. La manière la plus simple pour gérer les permissions est d'utiliser la méthode rwx. Voici ce qu'ils signifient : r=read (lecture), w=write (écriture), x=execute (exécution). Disons que vous voulez qu'un utilisateur puisse lire un fichier mais qu'il ne puisse pas l'éditer. Pour faire cela, utilisez la commande chmod u+r,u-wx fichier
.
Parfois, quand un utilisateur débutant essaye d'ouvrir un fichier et qu'il obtient un message d'erreur lui disant qu'il n'a pas les droits nécessaires pour utiliser ce fichier, il règle simplement le problème avec un chmod 777 fichier
. Concrètement, il donne tous les droits à tout le monde sur ce fichier. Là où c'est dangereux, en plus de pouvoir perdre les données présentes sur ce fichier (en cas d'édition du fichier), on autorise son exécution sur le système. Un hacker pourrait donc très bien y insérer un code malveillant et l'exécuter sur votre machine.
#9: Se loguer graphiquement en administrateur (root)
Je ne vous le dirai jamais assez : ne vous loguez JAMAIS en root graphiquement. Si vous avez besoin des privilèges root pour exécuter ou configurer une application, basculez en root depuis un compte utilisateur classique (via sudo
par exemple).
Pourquoi se loguer graphiquement en root est-il déconseillé (pour ne pas dire interdit) ?
C'est simple, quand vous vous loguez avec votre compte utilisateur, les applications graphiques n'ont que les droits de cet utilisateur sur le système (donc assez limités). Si vous vous loguez en root, toutes les applications graphiques ont les permissions root. Dans ce cas, si vous faites une bêtise avec l'interface graphique, cela peut avoir de graves conséquences. De plus, cela peut rendre le système beaucoup plus vulnérables aux attaques “physiques” (un collègue, un voisin, un petit frère, … :)
#10: Ignorer les fichiers de log
Le répertoire /var/log/ existe pour une bonne raison : C'est l'endroit où sont centralisés tous les fichiers de log. C'est donc simple de se souvenir qu'il faut aller voir dans ce répertoire au moindre problème.
L'un des fichiers que je regarde à chaque problème est le fichier /var/log/messages. Ce fichier contient toutes les erreurs dites "générales". Dans ce fichier, vous y trouverez les messages relatifs au réseau, aux médias, etc. Pour administrer une machine, vous pouvez toujours utiliser une application telle que logwatch qui va générer des rapports basés sur les fichiers du répertoire /var/log.
C'était donc les erreurs les plus fréquemment commises par les nouveaux administrateurs Linux. Les connaître vous permettra d'apprivoiser votre système plus rapidement et de manière plus amusante :)
Cet article est une traduction que j'ai faite depuis l'article original. J'espère que vous aurais pris autant de plaisir à lire cet article que j'en ai eu à le traduire :)
Commentaires
Très instructif ! Merci !
Aussi j'attends avec impatience ton article sur les runlevels !
Merci pour la traduction, plein de bonnes pratiques ! Coté interface graphique, j'ai déjà vu des serveurs Windows dans des baies avec l'économiseur "Pipeline" qui tourne à fond. Il a fallu attendre windows server 2008 et la version Core OS pour avoir la possibilité de ne plus charger l'interface graphique ! On l'administre en ligne de commande !!!
Merci pour ces petits conseils :) Certains sont du bon sens, d'autres moins !
J'attends aussi l'article sur les runlevels !
Merci pour tes remarques Sonal, j'ai modifié mon article :)
Pour me contacter, toi ou les autres : benjamin@g********n-l***x.fr
merci pour la reprise du commentaire
voici mon avis sur les 10 erreurs à ne pas faire
1- install de differentes manieres
ok mais de temps en temps on a pas le choix
alors au moins eviter de melanger les installateurs (dpkg - apt -aptitude)
2- negliger les mises a jour
pareil que pour le 1, utiliser toujours le meme gestionnaire de paquets
je demande votres avis sur un aptitude update && aptitude upgrade -y dans le cron du root sur serveur
est ce une heresie ? ou plutot conseillé (je aprle sur des serveurs)
3- le mdp root au moins eviter admin !!
4- CLI -- la puissance de linux est dans ses commandes mysterieuses mais tellement efficaces (find sed grep etc...)
accompagnee des expressions regulieres !!
5- les noyaux anciens --- pour du gain de place, eviter de se faire hacker en rebootant sur un noyau avec des failles
mais a ce moment la machine est deja compromise
6- backup le principe de base de l'info, sauvegarde tout le temps, sur un autre disk sur un autre serveur sur un autre site geographique "qui peut le plus peut le moins" ----> tar cfz tarjan09.tgz /etc/* 2 Mo sur ma debian !!
7- serveur et X -- suivant la philosophie linux, un fichier doit etre lisible par la machine et l'homme, vim, nano emacs
adoptez en un et modifier votre config avec, de toutes facons vous avez des sauvegardes, au pire utilisez une autre machine avec X pour avoir votre editeur graphique
8- jamais de 777, c'est compliqué de mettre a jour toute une arborescence mais non regardez
find /srv - type f -exec chmod 640 {}\;
find /srv - type d -exec chmod 750 {}\;
9 - X en root --> jamais au grand jamais / apprenez les lignes de commandes au pire juste un editeur de texte en graphique (cf 7)
10- les logs donnent toutes les reponses, erreurs de configs, saturation de memoire disk etc, le pourquoi du comment. Je connais pas logwatch et je demande une description plus detaillée
See U
Merci pour l'article!
Mais comment on fait pour virer les vieux noyaux qui ne servent à rien (par exemple sous ubuntu)?
^.^
Merci!
Je pense que le terme *new* dans le titre de l'article original est à reprendre, parce qu'il me semble qu'un admin linux qui n'observe pas ces 10 points ne devrait pas être appelé un admin :)
nouveau utilisateur de Ubuntu je suis très satisfais de trouver des indications qui vont me permettre de mieux utiliser le système d'exploitation Ubuntu . merci pour ces conseilles.
Intéressant. Concernant les mises à jour, j'ai vu quelque part que les mises à jour automatiques n'étaient pas conseillées sur les serveurs afin de gérer le changement, c'est à dire savoir exactement ce qui se passe sur sa machine et ce qui s'y installe afin de pouvoir corriger le tir s'il y a un problème. Néanmoins, comme le signale mx3208 (#5), je pense que des mises à jour automatique sur les dépôts de sécurité sont plutôt une bonne idée. Après tout, qui va choisir de ne pas installer ces mises à jour, alors autant rendre cette installation automatique plutôt que s'en imposer la contrainte et le risque d'oubli.
@mx3208: je ne vois pas en quoi utiliser alternativement dpkg, apt-get et aptitude poserait un quelconque problème...c'est un légende urbaine que l'on retrouve un peu partout, sans jamais avoir la moindre explication valable...pour l'avoir testé, il n'y a absolument aucun problème à mixer ces 3 applis pour gérer les paquets.
@Nikonoel : Je te conseille cette solution (si quelqu'un en a une meilleure, qu'il nous la signale).
dpkg -l | grep linux-image (voir mon article précédent sur dpkg)
Tu verras tous les noyaux installés,
puis
dpkg -P ton vieux noyau (supprime le paquet et purge les éventuels fichiers de conf)
@PomCompot : Je suis d'accord pour laisser uniquement les mises à jour principales de sécurité pour un serveur (c'est comme ça sous Debian)
Je cherche de la doc depuis quelques temps pour me préparer, avant de me lancer dans l'admin d'un serveur dédié sous Ubuntu ...
C'est dire si ce billet me réjouit ! ^__^
Un grand merci de mettre à disposition ce type de ressources-rappel ...
Je pense que ça m'aidera à ne pas avoir mon serveur down au bout de quelques minutes ... heu .. heures ? ^__~
bouarf ...
la 7 au sujet du serveur avec interface graphique
le plus simple c'est de pas installer de gdm ou autre quelconque joyeuserie du genre
en tous cas moi c'est ce que j'ai fait ;)
ah heu ... il y a pas de droit d'auteur sur ces info ?
je vais me permettre des les reprendre pour les reposter sur un autre blog si ça te fais rien
En effet moi non plus je n'utilise pas d'interface graphique pour mon serveur :)
Pour le licence : ce blog ainsi que tous ses articles sont sous licence Creative Commons BY-SA : (http://creativecommons.org/licenses...)
Très intéressant.
Juste une remarque : ne pas se loguer en mode graphique avec le compte root ok, mais que fais tu des applis utilisateur qui peuvent s'exécuter en mode texte, elle sont à-priori aussi dangereuses que les applis graphique.
Pour les sources, si vous voulez vraiment cette application. dpkg-buildpackage est votre ami. (voir aussi http://www.debian.org/doc/FAQ/ch-pk...) très souvant maintenant, vous trouvez le répertoire debian directement upstream.
Enfin, je veux dire "mort aux mots de passes !!!". Sur ma machine, il n'y a pas sudo, et root n'a pas de mots de passe. D'ailleurs aucun des mes comptes n'ont un mots de passe. (pour cela un * dans la colonne mots de passe dans /etc/shadow fait bien). Je me connecte à distance avec une clé ssh. kdm ne me demande pas de mots de passe. (configurer pam correctement pour ca) Il est possible d'avoir une solution + sécuritaire avec - moins de mots de passe.
Quant à l'attaque physique, si vous avez une personne auquel vous ne faite pas confiance devant votre PC, vous avez bien d'autres problèmes que celui de "est-ce que mon mots de passe root est secure ???"
Mode opératoire (moins de 5mn) :
- éteindre sauvagement la machine
- Si le bios à un mot de passe, ouvrir le boitier, enlevez temporairement la pile de la carte mère et veillez au vidage des condensateurs
- booter sur une clé USB ou CD.
Vous voici maitre de la machine trop dur...
+++
Je trouve que la liste est quelque peu naïve et manque de précision.
1- il n'y a parfois pas le choix. Je suis de ceux qui tentent d'utiliser le plus possible des paquets (comme ceux du projet dotdeb). Mais lorsqu'on participe à un jeune projet, ou qu'on créé le siens, le seul moyen est soit de gérer manuellement les applications à la Slackware, soit de créer à chaque fois son paquet. Le mieux encore est de se tenir à la version Slackware, et de tenir un journal des applications installées manuellement.
2- Faire les mises à jour c'est bien, mais coller aux mises à jour, c'est mal. Aucun professionnel de l'informatique ne fait de mise à jour sans procéder à des tests de régression. Lorsqu'on a pas les moyens de faire ces tests, le mieux est d'avoir un décalage de un ou deux jours minimum avec les mises à jour.
3- Pourquoi seul root devrait seul être privilégié quand à la complexité de son mot de passe ? J'applique une politique très stricte à ce niveau là : un mot de passe complexe pour chaque utilisateur. Une porte blindée ne sert à rien au milieu d'un mur en plâtre !
4- Même sous MS Windows c'est un must de maîtriser la ligne de commande pour un adminsys.
5- Je garde systématiquement un noyau de la génération précédente, pour avoir un contexte d'exécution radicalement différent en cas de gros bogue.
6- Je sauvegarde pas les fichiers de conf, mais la configuration :D En fait je génère les fichiers de configuration. Ça permet de migrer plus facilement lorsqu'il y a besoin (Apache -> Lighttpd ; Postfix -> Sendmail).
7- Certaines personnes veulent un bureau distant pour administrer leur bête.
8- Et ne pas oublier de passer aux ACL (Selinux par exemple).
9- Bah, c'est du détail :D
10- Je dirais même mieux : ne pas monitorer les logs est mal © Enfin, dans le contexte d'une administration système professionnelle...
Pour moi voici quelques erreurs:
- Installer Linux en pensant avoir à faire à un Windows amélioré, et tenter ainsi d'installer Crysis et Photoshop. C'est le meilleur moyen d'être déçu et de dire "Linux c'est nul rien ne marche". Il faut bien expliquer aux débutants que c'est un autre univers, qu'il faut prendre le temps d'apprendre, et que ce n'est pas parce que c'est différent que c'est inférieur.
- Aller sur telecharger.com pour trouver des logiciels Linux. Ces sites fournissent les sources des logiciels, qu'il faut donc compiler, et c'est très difficile et rebutant pour les débutants. Ça les pousse à croire que Linux = compilation et qu'on ne peut pas installer de logiciels de manière simple.
- Installer Linux sur un ordinateur avec beaucoup de matériel spécialisé: du genre la tablette graphique, le matos d'animation, le lance missiles USB, le clavier K2000... des gadgets ou outils dont les drivers ne sont fournis que pour Windows.
Rapport au point 6 -> etckeeper http://kitenet.net/~joey/code/etcke...
Et il manque une chose vitale: avoir au moins une sauvegarde *valide*, *à jour* et *disponible* en cas de besoin.