Script pour auditer 70 serveurs Linux

Script pour auditer 70 serveurs Linux - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 16-04-2014 à 23:03:32    

Bonjour tout le monde,
 
Je viens d'hériter de la gestion de la prod Linux (environ 70 machines) suite au départ (précipité par la direction) de mon collègue ingénieur système Linux.    
Hélas je suis très loin d'avoir son niveau sur Linux et on me demande pourtant de reprendre son scope et  compression budgétaire oblige on m'a fait comprendre qu'il était inutile de songer à demander une formation.
C'est pourquoi je m'en remets à vous pour savoir si vous connaissez un outil gratuit et rapide à mettre en prod qui me donnera non seulement une cartographie des serveurs Linux mais également pour chaque serveur (sur un subnet IP bien précis) un reporting complet avec les infos suivantes:
 - nom d'hôte
 - OS version & kernel
 - config ip et dns
 - Comptes utilisateurs
 - cron pour chaque utilisateur
 - démons installés
 - tailles des disques
 - hiérarchie des filesystem
 - CPU / RAM
 - Type: Physique ou Virtuel
 
Ce que je sais c'est que la grande majorité de ces serveurs sont des debian où il y a démon openssh puisque mon collègue les administrait tous à distance depuis sa machine.  
 
Je sais que ça fait beaucoup mais hélas je viens du monde Microsoft et  les seuls langages de scripting que je connaisse sont vbs et powershell.
J'ai entrepris de suivre une formation python mais elle ne devrait intervenir qu'en novembre prochain (si je suis toujours là)...
Je sais toutefois à l'aide des commandes shell de base recueillir toutes ses informations individuellement pour un serveur donné mais j'ignore comment les obtenir rapidement pour l'ensemble des serveurs.
 
Pourriez vous m'aider, m'orienter, me donner quelques unes de vos recettes scripts/outils ?
 
I need your help, i need a hero...
 
 
 
Orwell

Reply

Marsh Posté le 16-04-2014 à 23:03:32   

Reply

Marsh Posté le 16-04-2014 à 23:26:58    

Ca m'étonnerai qu'il ai pas un ptit OCS ou truc du genre qui traine sur son parc de serveurs. Mais si il a été débarqué sans passages de pouvoir, je te conseille de faire un courrier a ta DSI comme quoi tu reprend le boulot mais que tu n'assurera pas les problèmes exceptionnels où les problèmes de prod affectant la sécurité de la prod sans formation préalable.  
Sans vouloir être méchante, là, ils te prennent un peu pour un esclave et y'a du gros foutage de gueule dans votre entreprise. Si possible la pourrir grassement serait un plus, juste histoire qu'ils comprennent que débarquer un administrateur open source, c'est pas le genre de choses a faire surtout si derrière y'a personne pour reprendre le flambeau. Je pense pas qu'ils retrouvent un admin de si tôt (j'pense que ton collègue suite a son départ précipité doit pas s'en privé et qu'il doit bien se marrer)
 
Pour ma part, je veux bien être "gentille" et te donner comme conseil d'installer OCS serv sur ton post et des agents sur tes machines de prod, mais tu devra te débrouiller, j'aide pas les entreprises qui font des coupes budgétaire pour foutre les gens dans la merde.
Dans le pire des cas : ils auront qu'a appeler un presta@2k la journée, passer sur des solutions proprio ou autre, mais ils vont vite comprendre que leurs système linux a 5k/mois, ben il les méritait grandement même si ils avaient l'impression qu'il glandait rien.
 
Edit : on administre pas un parc de 70 machines avec 2 bouts de scripts, c'pas connaitre python qui t'aidera.


Message édité par MysterieuseX le 16-04-2014 à 23:27:51
Reply

Marsh Posté le 17-04-2014 à 00:07:17    

Bonsoir Mystérieuse X,
 
Je suis tout à fait avec d'accord avec toi.
Dans cette boite le foutage de gueule est une religion et l'esclavagisme une profession de foie.  
Je tairai le nom de la boite parce que j'ai un loyer à payer et deux enfants à nourrir.
J'ai déjà informé la direction de mon incompétence sur le sujet par rapport à mon collègue et au lieu de prendre conscience de ce qu'ils ont fait ils ont tenté de me la faire à l'envers en me glorifiant du titre de responsable de production mais sans le salaire (j'aurais de toute façon refusé cette responsabilité patate chaude).  
Oui lui se marre bien et je le comprend car ils l'ont tellement emmerdé que je suis bien content pour lui qu'il soit sorti de ce calvaire.
 
Oui on a un serveur ocs-ng sur linux une Centos 6.3  que j'ai installé moi même il y a 6 avec un tuto et l'aide de mon regretté collègue notamment pour récupérer les dépendance de pakages.
Seulement je l'utilise juste pour le parc ms, la prod linux étant installée à noisy chez notre hébergeur sur des serveurs qui nous louons.
Je n'ai pas eu le temps de regarder comment on gère les os linux avec...
Par ailleurs j'ai aussi un serveur centreon (2.4.2) mais je n'arrive pas installer le module d'extension autodiscovery qui me permettrait de faire une partie du travail en scannant directement le subnet visé.  

Reply

Marsh Posté le 17-04-2014 à 00:25:01    

Le parc est homogène niveau des versions linux qui tournent dessus ?
Vous avez un repos interne pour la gestion distrib fine ? Ou un puppet ?
 
Grosso merdo, faut que t'arrive a avoir :
-Centreon/Nagios pour la carto résal
-Puppet/repos interne pour la gestion packages/logiciels
-OCS pour la gestion de parc
-Fog pour le mastering
 
Sachant qu'avec puppet/fog/OCS tu peu couvrir les déploiements microsoft au niveau applicatif aussi, une fois passé en full open source, normalement tu devrais avoir un parc homogène/administrable en 3/4 clicks sur un seul poste.
 
Demande une modification de ta fiche de poste au plus vite et si tu dois monter en compétence comme c'est le cas, fait passer une note pour avoir la paye en conséquence. Autrement, je t'encourage grandement a faire la montée en compétence toi même et songer a trouver une autre boite en mettant en avant ta prise de responsabilité et ton augmentation de compétences en présentant la reprise de poste de ton collègue comme un gros projet mené a bien. Parce que là, veux, veux pas, t'es quand même responsable de prod. C'est grave ce genre d'entreprises o_O

Reply

Marsh Posté le 17-04-2014 à 06:35:47    

Dis-toi que ça te fera une belle ligne sur ton CV. Et tu as accepté le poste moyennant augmentation, donc go.
Une fois que tu auras les ip des serveurs, il y a des millions de possibilités de faire ça, je suppose qu'il vous a quand même laissé le mdp root.
Ils sont probablement dans une zone DNS, même un barbu appelle les serveurs par leurs noms.

Message cité 1 fois
Message édité par tuxerman12 le 17-04-2014 à 06:46:18
Reply

Marsh Posté le 17-04-2014 à 07:43:50    

tuxerman12 a écrit :

je suppose qu'il vous a quand même laissé le mdp root.


Vu ce qu'il indique, ça serait fort étonnant [:the geddons]  

tuxerman12 a écrit :

jIls sont probablement dans une zone DNS, même un barbu appelle les serveurs par leurs noms.


Il vaut mieux car cela permet déjà de différencier les machines suivant leur utilisation. Après il reste possible que l'ancien ingénieur utilise un codage du style "SRVxxxPRODyy" avec des chiffres en x et en y, avec une feuille calc pour savoir qui fait quoi.
 
Au pire et dans l'immédiat, en absence d'OCS ou autre pour peu que justement tu es le root et un serveur SSH sur chaque machine, il est possible de faire un bash pour faire un rapport formaté en csv [:spamatounet]


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
Reply

Marsh Posté le 17-04-2014 à 13:06:29    

Salut tout le monde,
 
@ MystérieuseX  
 
Je pourrais pas affirmer avec certitude que le parc est homogène car je sais que nous avons des debian sarge / etch & squezzy, mais comme elles hébergent des applis en prod je pense pas que mon collègue se soit amusé à homogénéiser le tout.
De plus lui maitrisait très bien ce qu'il faisait mais je peux pas en dire autant des développeurs qui ont tendance à pourrir les machines avec des comptes utilisateurs de test des cron non supprimés quand ils n'ont plus lieu d'être, bref il s'arrachait les cheveux avec eux...
 
Je ne veux pas de modifications de fiche de poste, je ne veux pas me retrouver à gérer le bébé tout seul j'ai déjà trop de travail dans l'environnement "bureautique" entre l'AD/EXCHANGE/VMWARE/LE RESEAU/LE STOCKAGE/LES FW/LA TOIP/L'HOMOGEINISATION DES POSTES WINDOWS (on a du FR du EN, du XP du SEVEN et du 8 le tout sur du HP du dell et du FUJITSU) ...
 
J'ai donc refusé le cadeaux empoisonné d'autant que l'emballage cadeaux était bon marché (pour pas un rond de plus).
Et si j'ai néanmoins décidé de  prends en charge le truc maintenant c'est juste pour en avoir une vision détaillée pour refiler le bébé à une boite d'infogérance puisque maintenant la mode est à l'externalisation du tout.
 
Sinon pour OCS j'ai regardé mais il semble qu'il ai besoin qu'un agent soit déployé sur au moins un hôte de chaque subnet, ce qui me fait un peu peur du fait qu'il faille installer un agent sur des machines de prod que je ne maitrise pas trop...
Quant à centreon depuis que j'ai fait un yum update le module auto-discovery est down et je ne sais pas comment le relancer (/etc/init.d/CentreonDiscovery??? inexistant)
 
@ tuxerman12
 
Pour les mots de passe root oui je les connais (enfin je crois).

Citation :

il y a des millions de possibilités de faire ça

 
Si tu en as une simple sachant que j'ai les mdp root les subnets dans lesquels les serveurs se trouvent, que tous on un demon openssh à l'écoute j'imagine qu'il doit bien y avoir un truc à faire du genre ( for-each ($serv in $subnets)  do ssh root@$serv ...) mais je ne suis pas assez calé en Scripting bash pour y arriver tout seul d'autant que pour le coup MS powershell me semble plus intuitif que le bash (non ne tappez pas sur moi je n'ai pas de religion informatique).
 
Pour les zone DNS ce n'est pas si simple car j'en ai bien deux (zones privées) pour la prod et la recette (maboite.prod et maboite.rec) seulement jusqu'ici comme les développeurs sont frileux quand il s'agit de mettre un peu d'ordre dans leur anarchie, les resolv.conf des serveurs linux attaques les dns de l'hébergeur plutôt que les nôtres ce qui fait que  peu voire aucun ne va s'inscrire dans nos zones DNS.
 
@ Bardiel

Citation :

Au pire et dans l'immédiat, en absence d'OCS ou autre pour peu que justement tu es le root et un serveur SSH sur chaque machine, il est possible de faire un bash pour faire un rapport formaté en csv [:spamatounet]  


 
Si tu as un script que je peux adapter en placant mes commandes dedans ça pourrait m'aider.
 
 
Merci à vous tous de votre aide...

Reply

Marsh Posté le 17-04-2014 à 13:33:41    

g-orwell a écrit :


@ tuxerman12
 
Pour les mots de passe root oui je les connais (enfin je crois).

Citation :

il y a des millions de possibilités de faire ça

 
Si tu en as une simple sachant que j'ai les mdp root les subnets dans lesquels les serveurs se trouvent, que tous on un demon openssh à l'écoute j'imagine qu'il doit bien y avoir un truc à faire du genre ( for-each ($serv in $subnets)  do ssh root@$serv ...) mais je ne suis pas assez calé en Scripting bash pour y arriver tout seul d'autant que pour le coup MS powershell me semble plus intuitif que le bash (non ne tappez pas sur moi je n'ai pas de religion informatique).
 


 
Ça va être difficile de te pondre un script tout fait, qui plus est tu est sans doute meilleur que moi en scripting, même si le powershell c'est moche :D
ssh par défaut est interactif, s'il n'y a pas eu d'échange de clés entre le poste d'où tu vas te connecter et les 70 serveurs, il te faudra un script qui remplace ce mode interactif, Un bout de code dans ce genre là: http://stackoverflow.com/questions [...] ut-using-k
Et les boucles en bash: http://abs.traduc.org/abs-5.1-fr/ch10.html

Reply

Marsh Posté le 17-04-2014 à 17:17:04    

Ok pas de soucis, je demandais juste à tout hasard si toi où quelqu'un d'autre avait un script qui pouvait s'approcher de mon besoin.

Reply

Marsh Posté le 18-04-2014 à 11:51:39    

Salut,
 
Pour te donner des billes, je peux te faire un devis sur l'infogérance d'un « truc » comme ça (c'est pile dans mes cordes).
 
MP si t'es intéressé :jap:


---------------
Spécialiste du bear metal
Reply

Marsh Posté le 18-04-2014 à 11:51:39   

Reply

Marsh Posté le 18-04-2014 à 14:25:24    

Plam a écrit :

Salut,
 
Pour te donner des billes, je peux te faire un devis sur l'infogérance d'un « truc » comme ça (c'est pile dans mes cordes).
 
MP si t'es intéressé :jap:


 
Je te déconseille d'accepter de faire le boulot, c'est des coups a se retrouver en surfacturation vue la tête de l'entreprise très rapidement et qu'ils t'attaquent juridiquement. Entre se a quoi ça parait vue de l'extérieur et se que ça doit être en interne réellement, même avec g-orwell qui nous raconte ses déboires, tu peu facilement rajouter un bon paquet d'emmerdes. A temps plein sans compter la maintenance rien que mettre en place les outils d'infogest, remettre a plat l'infra et homogénéiser, y'en a pour 2 mois de boulot entre préparation déploiement, vérification et validation (pour une personne seule, en infogérance), a vue de nez, il y a des utilisateurs qui doivent passer a la bataclou et qui devraient apprendre que c'est l'admin qui est responsable de SON système a lui (en gros, faudrait choper les devs et leurs faire bitociraj)
C'est vraiment des coups a y mettre le ptit doigt et te faire emporter le bras là :x

Reply

Marsh Posté le 18-04-2014 à 15:44:59    

Citation :

Je te déconseille d'accepter de faire le boulot, c'est des coups a se retrouver en surfacturation vue la tête de l'entreprise très rapidement et qu'ils t'attaquent juridiquement. Entre se a quoi ça parait vue de l'extérieur et se que ça doit être en interne réellement, même avec g-orwell qui nous raconte ses déboires, tu peu facilement rajouter un bon paquet d'emmerdes. A temps plein sans compter la maintenance rien que mettre en place les outils d'infogest, remettre a plat l'infra et homogénéiser, y'en a pour 2 mois de boulot entre préparation déploiement, vérification et validation (pour une personne seule, en infogérance), a vue de nez, il y a des utilisateurs qui doivent passer a la bataclou et qui devraient apprendre que c'est l'admin qui est responsable de SON système a lui (en gros, faudrait choper les devs et leurs faire bitociraj)  
C'est vraiment des coups a y mettre le ptit doigt et te faire emporter le bras là :x


 
Assez d'accord avec MysterieuseX sauf pour leur faire la bitociraj (pour ma part je me contenterais de leur faire la tête au carré)  .
De plus mes tôliers ( 4 associés ) en plus de partager une conception étrange des priorités ,  une vision absurde de la façon de gérer une boite (faire du fric sans trop s'embarrasser de la dignité humaine)  partagent une habitude plus facheuse ... celle de payer les prestataires 6 mois après (quand ils les payent).
 

Reply

Marsh Posté le 18-04-2014 à 16:05:13    

g-orwell a écrit :

Citation :

Je te déconseille d'accepter de faire le boulot, c'est des coups a se retrouver en surfacturation vue la tête de l'entreprise très rapidement et qu'ils t'attaquent juridiquement. Entre se a quoi ça parait vue de l'extérieur et se que ça doit être en interne réellement, même avec g-orwell qui nous raconte ses déboires, tu peu facilement rajouter un bon paquet d'emmerdes. A temps plein sans compter la maintenance rien que mettre en place les outils d'infogest, remettre a plat l'infra et homogénéiser, y'en a pour 2 mois de boulot entre préparation déploiement, vérification et validation (pour une personne seule, en infogérance), a vue de nez, il y a des utilisateurs qui doivent passer a la bataclou et qui devraient apprendre que c'est l'admin qui est responsable de SON système a lui (en gros, faudrait choper les devs et leurs faire bitociraj)  
C'est vraiment des coups a y mettre le ptit doigt et te faire emporter le bras là :x


 
Assez d'accord avec MysterieuseX sauf pour leur faire la bitociraj (pour ma part je me contenterais de leur faire la tête au carré)  .
De plus mes tôliers ( 4 associés ) en plus de partager une conception étrange des priorités ,  une vision absurde de la façon de gérer une boite (faire du fric sans trop s'embarrasser de la dignité humaine)  partagent une habitude plus facheuse ... celle de payer les prestataires 6 mois après (quand ils les payent).
 


 
Me semble avoir eue affaire a ce style d'entreprise x_x, voir ton entreprise en particulier x_x

Reply

Marsh Posté le 18-04-2014 à 18:39:19    

Dit comme ça, ça fait pas rêver. Après si ta besoin d'estim pour appuyer le coût, je peux en faire :o (j'ai un coeff spécial entreprises merdiques)


---------------
Spécialiste du bear metal
Reply

Marsh Posté le 18-04-2014 à 19:05:16    

D'après ce que j'ai compris de tes déboires, tu n'as pas intérêt à déployer une solution aisément administrable; donc exit les outils "sympa" (OCS, etc...).
 
Si tu as réellement accès à tes 70 serveurs en root, le mieux est effectivement de scripter toi-même tes propres outils d'admin (ce qu'a fait ton collègue débarqué à la vitesse grand V, non ?)
 
Et : as-tu accès à la station de travail de ton (ex) collègue ? Si oui, je rechercherai sur celle-ci tout script servant à administrer les 70 serveurs.
 
Sinon, tout le monde a raison; cette boîte est à fuir le plus tôt possible...
 
Pour scripter des outils perso d'admin, ça n'est pas forcément long (et surtout il n'y a que toi qui sait faire :-D)
 
PS: quant aux dev, c'est une sale engeance: ils essaient à tout prix de te piquer le root, font des conneries avec, te demandent de restaurer, et te pourissent quand tu ne peux pas  :sweat:

Reply

Marsh Posté le 18-04-2014 à 19:18:53    

imarune a écrit :

D'après ce que j'ai compris de tes déboires, tu n'as pas intérêt à déployer une solution aisément administrable; donc exit les outils "sympa" (OCS, etc...).
 
Si tu as réellement accès à tes 70 serveurs en root, le mieux est effectivement de scripter toi-même tes propres outils d'admin (ce qu'a fait ton collègue débarqué à la vitesse grand V, non ?)
 
Et : as-tu accès à la station de travail de ton (ex) collègue ? Si oui, je rechercherai sur celle-ci tout script servant à administrer les 70 serveurs.
 
Sinon, tout le monde a raison; cette boîte est à fuir le plus tôt possible...
 
Pour scripter des outils perso d'admin, ça n'est pas forcément long (et surtout il n'y a que toi qui sait faire :-D)
 
PS: quant aux dev, c'est une sale engeance: ils essaient à tout prix de te piquer le root, font des conneries avec, te demandent de restaurer, et te pourissent quand tu ne peux pas  :sweat:


 
Ouai enfin, faut pas non plus laisser l'infra en open bar, c'est de la faute pro là. Ceci dit, si c'est la boite a viande que je connais, c'est se qu'ils cherchent a faire a tout leurs admins : ils les gardent pas plus de 3 ans, une infra faite de bric et broc et vogue la galère. Et en plus, tu peu te brosser pour avoir une lettre de reco, ou un bon "dossier" derrière. J'ai une paire d'adresses comme ça qui mériteraient une pub a leurs faire fermer la boite.

Reply

Marsh Posté le 18-04-2014 à 19:27:21    

Citation :

 enfin, faut pas non plus laisser l'infra en open bar, c'est de la faute pro là.


 :??:  
 
Si tu fais ton admin perso, je ne vois pas en quoi c'est un open bar (au contraire) ? bon c'est vrai que mes expériences dans ce "domaine" remontent à plusieurs années  :D
 
EDIT: oui, open bar pour tous les ex-administrateurs, OK  :o


Message édité par imarune le 18-04-2014 à 19:35:46
Reply

Marsh Posté le 25-04-2014 à 12:57:47    

Si tu veux faire cela par du script, tu as un outil qui s'appel Fabric en python:
http://docs.fabfile.org/en/1.8/
 
Il te permet sans agent sur les clients,juste en passant par du ssh, de faire diverse opérations -> exécuter une commande, upload d'un template,etc..
Sa syntax est assez simple, par exemple voir tes versions de debian (je le fais de tête pas sur que ça marche tel quel ):
script.py:
def showDebVersion():
    run('cat /etc/debian_version')
 
Puis tu lance sur le linux où tu as installé fabric:
fab -f script.py showDebVersion -u USER -H IP1,IP2,IP3,......
 
 
 
 
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed