egee-ii infso-ri-031688 enabling grids for e-science egee and glite are registered trademarks...

14
EGEE-II INFSO-RI- 031688 Enabling Grids for E-sciencE www.eu-egee.org EGEE and gLite are registered trademarks Traitement d'incident: analyse Computing Element Pierre Girard ([email protected] ) French ROC deputy CC-IN2P3 administrator Activité SA1: “European Grid Support, Operation and Management”

Upload: briant-francois

Post on 04-Apr-2015

104 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks Traitement d'incident: analyse Computing

EGEE-II INFSO-RI-031688

Enabling Grids for E-sciencE

www.eu-egee.org

EGEE and gLite are registered trademarks

Traitement d'incident: analyse Computing Element Pierre Girard ([email protected])

French ROC deputyCC-IN2P3 administrator

Activité SA1: “European Grid Support, Operation and Management”

Page 2: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks Traitement d'incident: analyse Computing

Enabling Grids for E-sciencE

Pierre Girard Atelier Sécurité – LCG-CE-02/04/2009 2

Plan

• Rappel du fonctionnement du LCG-CE• Installation et vérification du CE• Suivi d’incident sécurité• Conclusion

Page 3: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks Traitement d'incident: analyse Computing

Enabling Grids for E-sciencE

Pierre Girard Atelier Sécurité – LCG-CE-02/04/2009 3

Fonctionnement du LCG-CE

• Soumission classique

TCP PORT RANGE2119 2811 2170

gatekeeper

Jobmanager

LCAS LCMAPS

gridftpGRIS/BDII

2) Authentification

3) Authorisation

1) soumission de job sur une queue

4) Fork avec l’utilisateur choisi

5) Soumet au batch et suit la

progression du job

Page 4: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks Traitement d'incident: analyse Computing

Enabling Grids for E-sciencE

Pierre Girard Atelier Sécurité – LCG-CE-02/04/2009 4

Fonctionnement du LCG-CE

• Fork d’un programme sur le CE

TCP PORT RANGE2119 2811 2170

Jobmanager

LCAS LCMAPS

gridftpGRIS/BDII

2) Authentification

3) Authorisation

1) globus-job-run/submit en mode fork

4) Fork avec l’utilisateur choisi

JeFaisCeQueJeVeux.sh

gatekeeper

Page 5: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks Traitement d'incident: analyse Computing

Enabling Grids for E-sciencE

Pierre Girard Atelier Sécurité – LCG-CE-02/04/2009 5

LCAS LCMAPS

Fonctionnement du LCG-CE

• Accès au système de fichiers du CE

TCP PORT RANGE2119 2811 2170

Jobmanager GRIS/BDII

1) globus-url-copy/edg-gridftp-ls gsiftp://monce.fr/…

gatekeeper

2) Authentification

3) Authorisation

Système de fichiers du CE

gridftp

4) Accès au FS avec l’utilisateur choisi

Page 6: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks Traitement d'incident: analyse Computing

Enabling Grids for E-sciencE

Pierre Girard Atelier Sécurité – LCG-CE-02/04/2009 6

Installation et vérification du CE

• Doit être paranoïaque car le lcg-CE est perméable• Quelques vérifications ne font pas de mal

– Droits d’accès utilisateurs réglés sur « Strict Minimum » $HOME des comptes grille peuvent contenir les proxies ~glite/.certs/ contient une copie du certificat serveur Petites vérifications

• find /home \( -type f -o -type d \) -perm -\a+r -ls 2>/dev/null

– Attention à ce que vous mettez et aux droits dans des répertoires comme /tmp

– Un outil « tripwire »-like est indispensable pour les invariants– Un petit « ps » de temps en temps pour voir ce qui tourne

• Réglage des logs– Si possible avec redirection sur une machine

Syslogd –r; syslod-ng; etc.

– Rétention de 90 jours des logs

Page 7: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks Traitement d'incident: analyse Computing

Enabling Grids for E-sciencE

Pierre Girard Atelier Sécurité – LCG-CE-02/04/2009 7

Suivi d’incident sécurité

• Use Case: vol d’un certificat– Vous disposez du DN

/O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=Pierre Girard

– De la période supposée du vol• Actions

1. Bannissement du DN (LCAS)2. Etablir l’historique d’utilisation3. Faire des autopsies quand « core » du délit il y a4. Nettoyer5. Communiquer

• Acteurs– coordinateur sécurité

Coordonne le suivi d’incident, connaît les procédures et les réseaux de sécurité

– Ingénieur système Connaît l’installation des machines, intervient dessus et sait les faire parler, fournit

des informations sur l’utilisation de la machine

– Ingénieur réseau Fournisseur d’information sur les connexions de et vers les machines visitées

Page 8: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks Traitement d'incident: analyse Computing

Enabling Grids for E-sciencE

Pierre Girard Atelier Sécurité – LCG-CE-02/04/2009 8

Suivi d’incident sécurité

• Bannissement du DN (LCAS)– Sur le CE

cclcgceli07_root# echo '"/O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=Pierre Girard"' >> /opt/glite/etc/lcas/ban_users.db

– Resultat (depuis une UI)# Creation du proxy

girardpi@ccali41# voms-proxy-init --voms dteam

Enter GRID pass phrase:

Your identity: /O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=Pierre Girard

Creating temporary proxy ...................................... Done

Contacting voms.cern.ch:15004 [/DC=ch/DC=cern/OU=computers/CN=voms.cern.ch] "dteam" Done

Creating proxy .................................... Done

Your proxy is valid until Thu Apr 2 11:13:33 2009

# Soumission

girardpi@ccali39# globus-job-run cclcgceli07.in2p3.fr:2119/jobmanager-bqs-short /bin/hostname

GRAM Job submission failed because authentication with the remote server failed (error code 7)

# Accès gridftp

girardpi@ccali39# edg-gridftp-ls gsiftp://cclcgceli07.in2p3.fr/

/opt/edg/libexec/edg-gridftp-base-ls: error globus_ftp_client: the server responded with an error

530 530-Login incorrect. : globus_gss_assist: Error invoking callout

530-globus_callout_module: The callout returned an error

530-an unknown error occurred

530 End.

Page 9: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks Traitement d'incident: analyse Computing

Enabling Grids for E-sciencE

Pierre Girard Atelier Sécurité – LCG-CE-02/04/2009 9

Etablir l’historique d’utilisation

• /var/log/globus-gatekeeper.log– Mélange de logs

Globus-gatekeeper (format sur 2 lignes) LCAS et LCMAPS Globus-jobmanager

– Plus facile à exploiter avec syslog:  Manque de doc pour les règles du syslog Ex.:

• daemon.* => globus-gatekeeper + globus-jobmanager

– On y trouve par commande reçue Type (ping, jobmanager-<lrms>, jobmanager-fork) DN de l’utilisateur IP de la machine cliente Mapping vers le compte et groupe local EDG_WL_JOBID (si existe)

• https://grid02.lal.in2p3.fr:9000/aDLqxhIdEwsIiGnU_FPQPw

Page 10: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks Traitement d'incident: analyse Computing

Enabling Grids for E-sciencE

Pierre Girard Atelier Sécurité – LCG-CE-02/04/2009 10

• Logs du serveur GRID-FTP– Ce qu’un utilisateur a lu ou écrit sur votre CE– 2 fichiers de logs, plutôt redondants, mais complémentaires

/var/log/globus-gridftp.log (presque tout)• Action (TYPE: STOR, RETR, NLST)• Compte local (USER)• IP du client (DEST)• Fichier ou directory (FILE)

DATE=20090401223721.481476 HOST=cclcgceli07.in2p3.fr PROG=globus-gridftp-server NL.EVNT=FTP_INFO START=20090401223721.431880 USER=dteam001 FILE=/tmp BUFFER=0 BLOCK=262144 NBYTES=167 VOLUME=/ STREAMS=1 STRIPES=1 DEST=[134.158.240.61] TYPE=NLST CODE=226

/var/log/gridftp-session.log (important pour les comptes partagés)• DN de l’utilisateur• Compte local• Hostname du client• Ce qui a été accédé (mais pas comment)

Etablir l’historique d’utilisation

Page 11: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks Traitement d'incident: analyse Computing

Enabling Grids for E-sciencE

Pierre Girard Atelier Sécurité – LCG-CE-02/04/2009 11

Etablir l’historique d’utilisation

• Les logs du LRMS– Exemple LCG-CE PBS (@Eygene Ryabinkin)

/opt/edg/var/gatekeeper/grid-jobmap_*: summaries of job run by lcgpbs and friends.

/var/spool/pbs/server_priv/accounting/*: Torque logs that carry most activity traces, we are mainly interested in start/end events.

/var/spool/pbs/server_logs/*: carry more verbose Torque logs, but exist only on the Torque server, not necessarily on the CE.

– Doit vous permettre de retrouver l’historique des jobs sur les WNs Facilite la vie si à la soumission le DN est « attaché » au job

Page 12: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks Traitement d'incident: analyse Computing

Enabling Grids for E-sciencE

Pierre Girard Atelier Sécurité – LCG-CE-02/04/2009 12

Autopsie de tout ce qui a été trouvé

• L’analyse des logs et la concertation entre acteurs– Identifier le ou les comptes locaux utilisés– Identifier les machines « visitées »– Identifier les actions entreprises via le MW– Trouver des « résidus »

• Sur chaque machine impactée – Pratiquer des autopsies (si possible, « in vivo »)

« lsof » sur les process de l’intrus « strings » des binaires Sauvegarde des logs et fichiers de l’intrus Etc.

– Vérifier s’il a pu avoir accès à des « proxies » (ex.: myvo-sgm)– Vérifier les services systèmes: cron, mail, etc.– Faite un rapport d’autopsie

Page 13: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks Traitement d'incident: analyse Computing

Enabling Grids for E-sciencE

Pierre Girard Atelier Sécurité – LCG-CE-02/04/2009 13

Nettoyer et communiquer

• Nettoyer (Vous savez faire)– « kill » des process du ou des comptes utilisés– Suppression (après sauvergarde) des fichiers de l’utilisateur que vous

avez identifiés– Nettoyage des configurations (ex.: crontab)– Etc.

• Communiquer (coord. sécurité)– Rapport circonstancié aux instances de coordination « sécurité »

Description de l’utilisation de votre site Liste exhaustive des machines externes contactées Liste exhaustive des (DN, CA)s potentiellement exposés

– Prévenir et obtenir des informations de vos confrères dont le site a été identifié comme « utilisé »

Ex.: Utilisation d’un WMS externe, son administrateur pourra vous fournir l’IP de l’UI

– Contacter CA et VO, si vous suspectez le vol de certificats ou proxies Ex.: Probable lors d’un mapping sur un compte partagé (dteamsgm)

Page 14: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks Traitement d'incident: analyse Computing

Enabling Grids for E-sciencE

Pierre Girard Atelier Sécurité – LCG-CE-02/04/2009 14

Conclusion

• LCG-CE est un agrégat de services– Tracer les agissements d’un individu demande de croiser les

données sur le CE– Mais c’est faisable, voire automatisable (« parsing » de logs)

• Si vous centralisez les logs– Vous pouvez analyser plusieurs machines d’un coup– N’hésitez pas à fouiller avant la période supposée de l’incident

La grille a une certaine inertie…

• Vivement le « non-LCG »-CE– CREAM CE: plus de fork possible sur le CE

• Service SCAS en cours de tests (avec glexec)– Permet de gérer la politique d’authentification/authorisation de

façon centralisée– Et donc de bannir un DN plus simplement