Informations de base sur TravisCI

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks

AccĂšs

TravisCI s’intĂšgre directement avec diffĂ©rentes plateformes git telles que Github, Bitbucket, Assembla et Gitlab. Il demandera Ă  l’utilisateur de donner Ă  TravisCI les permissions d’accĂ©der aux dĂ©pĂŽts qu’il souhaite intĂ©grer avec TravisCI.

Par exemple, dans Github, il demandera les permissions suivantes :

  • user:email (lecture seule)
  • read:org (lecture seule)
  • repo : Accorde un accĂšs en lecture et en Ă©criture au code, aux statuts de commit, aux collaborateurs et aux statuts de dĂ©ploiement pour les dĂ©pĂŽts et organisations publics et privĂ©s.

Secrets chiffrés

Variables d’environnement

Dans TravisCI, comme dans d’autres plateformes CI, il est possible de sauvegarder au niveau du dĂ©pĂŽt des secrets qui seront sauvegardĂ©s chiffrĂ©s et seront dĂ©cryptĂ©s et poussĂ©s dans la variable d’environnement de la machine exĂ©cutant la construction.

Il est possible d’indiquer les branches auxquelles les secrets seront disponibles (par dĂ©faut toutes) et aussi si TravisCI doit cacher sa valeur si elle apparaĂźt dans les journaux (par dĂ©faut, il le fera).

Secrets chiffrés personnalisés

Pour chaque dépÎt, TravisCI génÚre une paire de clés RSA, garde la clé privée, et rend la clé publique du dépÎt disponible pour ceux qui ont accÚs au dépÎt.

Vous pouvez accĂ©der Ă  la clĂ© publique d’un dĂ©pĂŽt avec :

travis pubkey -r <owner>/<repo_name>
travis pubkey -r carlospolop/t-ci-test

Ensuite, vous pouvez utiliser cette configuration pour chiffrer des secrets et les ajouter Ă  votre .travis.yaml. Les secrets seront dĂ©chiffrĂ©s lorsque la construction sera exĂ©cutĂ©e et accessibles dans les variables d’environnement.

Notez que les secrets chiffrĂ©s de cette maniĂšre n’apparaĂźtront pas dans les variables d’environnement des paramĂštres.

Fichiers Chiffrés Personnalisés

De la mĂȘme maniĂšre que prĂ©cĂ©demment, TravisCI permet Ă©galement de chiffrer des fichiers puis de les dĂ©chiffrer pendant la construction :

travis encrypt-file super_secret.txt -r carlospolop/t-ci-test

encrypting super_secret.txt for carlospolop/t-ci-test
storing result as super_secret.txt.enc
storing secure env variables for decryption

Please add the following to your build script (before_install stage in your .travis.yml, for instance):

openssl aes-256-cbc -K $encrypted_355e94ba1091_key -iv $encrypted_355e94ba1091_iv -in super_secret.txt.enc -out super_secret.txt -d

Pro Tip: You can add it automatically by running with --add.

Make sure to add super_secret.txt.enc to the git repository.
Make sure not to add super_secret.txt to the git repository.
Commit all changes to your .travis.yml.

Notez que lors du chiffrement d’un fichier, 2 variables d’environnement seront configurĂ©es dans le dĂ©pĂŽt, telles que :

TravisCI Enterprise

Travis CI Enterprise est une version sur site de Travis CI, que vous pouvez dĂ©ployer dans votre infrastructure. Pensez Ă  la version ‘serveur’ de Travis CI. L’utilisation de Travis CI vous permet d’activer un systĂšme d’intĂ©gration continue/dĂ©ploiement continu (CI/CD) facile Ă  utiliser dans un environnement que vous pouvez configurer et sĂ©curiser comme vous le souhaitez.

Travis CI Enterprise se compose de deux parties principales :

  1. Les services TCI (ou services principaux TCI), responsables de l’intĂ©gration avec les systĂšmes de contrĂŽle de version, de l’autorisation des builds, de la planification des tĂąches de build, etc.
  2. Le Worker TCI et les images d’environnement de build (Ă©galement appelĂ©es images OS).

Les services principaux TCI nécessitent les éléments suivants :

  1. Une base de données PostgreSQL11 (ou ultérieure).
  2. Une infrastructure pour dĂ©ployer un cluster Kubernetes ; il peut ĂȘtre dĂ©ployĂ© dans un cluster de serveurs ou sur une seule machine si nĂ©cessaire.
  3. En fonction de votre configuration, vous souhaiterez peut-ĂȘtre dĂ©ployer et configurer certains des composants vous-mĂȘme, par exemple, RabbitMQ - consultez le Configuration de Travis CI Enterprise pour plus de dĂ©tails.

Le Worker TCI nécessite les éléments suivants :

  1. Une infrastructure oĂč une image docker contenant le Worker et une image de build liĂ©e peuvent ĂȘtre dĂ©ployĂ©es.
  2. Une connectivité à certains composants des services principaux Travis CI - consultez le Configuration du Worker pour plus de détails.

Le nombre d’images OS de Worker TCI et d’environnement de build dĂ©ployĂ©es dĂ©terminera la capacitĂ© totale concurrente du dĂ©ploiement de Travis CI Enterprise dans votre infrastructure.

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks