Aller au contenu principal

Déchiffrer les states Terraform GitLab

· 4 minutes de lecture
Guillaume MARTINEZ
LeadTech DevOps & Cloud & IA

cover

En supposant que vous utilisez la [fonctionnalité de stockage des states Terraform dans GitLab][gitlab-terraform-doc] dans votre instance managée et que vous utilisez l'[utilitaire intégré de sauvegarde fourni par GitLab][gitlab-backup-doc].

Les fichiers de state Terraform sont chiffrés avant d'être stockés. Cela signifie que vous ne pouvez pas récupérer leur contenu à froid. À cette fin, GitLab utilise [applications secrets][gitlab-application-secrets-doc] (et dérive de nouveaux secrets à partir de ces clés si nécessaire) pour chiffrer le contenu sensible.

Vous souhaitez récupérer le contenu d'un fichier de state à partir d'une sauvegarde GitLab. Comme expliqué dans [cette issue][gitlab-terraform-state-offline-issue], il n'est pas possible de récupérer facilement un contenu déchiffré si l'instance est hors ligne.

Maitriser le Git flow

· 7 minutes de lecture
Guillaume MARTINEZ
LeadTech DevOps & Cloud & IA

cover

Tout développeur utilise ou utilisera [Git][git-website] à un moment donné de sa carrière. La plupart du temps, ils devront travailler avec d'autres personnes sur le même dépôt [Git][git-website]. Pour éviter que ce soit un champ de bataille de branche et commit, voici un guide simple sur la façon de contribuer correctement sur un dépôt [Git][git-website].

Zero trust deployment with Kubernetes

· 10 minutes de lecture
Guillaume MARTINEZ
LeadTech DevOps & Cloud & IA

cover

Using [OpenSource][opensource-wikipedia] software written by unkown people sometimes can be a little scary. Even more when I deploy them I a production environment in my company. On my case, I have created a brand new [Kubernetes][kubernetes-website] cluster to host some private services on my local network and I wanted to be sure that they don't do anything malicious on my network.

Comprendre les mots de passe TOTP

· 10 minutes de lecture
Guillaume MARTINEZ
LeadTech DevOps & Cloud & IA

cover

Maintenant que tous les services web nous encouragent, de plus en plus, à utiliser une [MFA][mfa-wikipedia] pour sécuriser nos compte, l'un d'entre eux reste le plus utilisé que les autres : [Mot de passe à usage unique basé sur le temps ou TOTP][totp-wikipedia] génère un code unique de 6 chiffres ou plus à saisir juste après avoir tapé votre mot de passe.

Le serveur ou l'application Web permettant de configurer le [TOTP][totp-wikipedia] donne un [QRCode][qrcode-wikipedia] à scanner (ou une chaîne [Base32][rfc-4648]) à configurer dans une application génératrice de [TOTP][totp-wikipedia] comme [Microsoft Authenticator][ms-authenticator-site], [Google Authenticator][google-authenticator-site], [Bitwarden][bitwarden-site] ou plus.

Nous l'utilisons tous, mais comment ça marche ? Est-ce sécurisé ? Mon compte est-il sécurisé lorsque j'utilise un générateur de [TOTP][totp-wikipedia] tiers ??

Gestion de certificats x509

· 6 minutes de lecture
Guillaume MARTINEZ
LeadTech DevOps & Cloud & IA

cover

Que sont les certificats x509 ?

[D'après Wikipedia][x509-wikipedia], [x509][x509-rfc] est une norme définissant le format des certificats de type clé publique. Ils sont utilisés dans de nombreux protocoles Internet, dont [TLS/SSL][tls-rfc], qui est à la base de [HTTPS][https-rfc] (le protocole de navigation sécurisé sur le Web).

Creation et exposition d'un service DNS publique

· 23 minutes de lecture
Guillaume MARTINEZ
LeadTech DevOps & Cloud & IA

cover

Qu'est-ce que le DNS ?

Le [Domain Name System (DNS)][dns-rfc] est un système qui fournit des noms lisibles par l'homme pour les ordinateurs, services et autres ressources connectés à Internet. Les enregistrements de base permettent de traduire un [Nom de domaine][domain-name-wikipedia] (que les humains peuvent comprendre) en une [IP Address][ip-address-wikipedia] (que l'ordinateur comprend pour le routage).

Pourquoi la règle `W1203` est importante

· 5 minutes de lecture
Guillaume MARTINEZ
LeadTech DevOps & Cloud & IA

cover

Si vous avez utilisé l'outil [pylint][pylint-website] pour vérifier le format de votre code Python, vous avez peut-être rencontré la règle W1203 : logging-fstring-interpolation mais vous n'avez pas vraiment compris pourquoi c'est important.

L'avertissement ressemble à :

path/to/my/file.py:37:4: W1203: Use lazy % formatting in logging functions (logging-fstring-interpolation)

Il se trouve lorsque vous utilisez la [bibliothèque Python logging][python-logging-doc]. La documentation [pylint][pylint-website] sur cette règle dit que vous ne devez pas utiliser de chaînes formatées de type f-string.

Sécurisation de mon point d'entrée web

· 14 minutes de lecture
Guillaume MARTINEZ
LeadTech DevOps & Cloud & IA

cover

J'héberge actuellement des services web privés accessibles depuis Internet. Afin de protéger ces applications, j'avais besoin d'un moyen plutôt sécurisé pour protéger l'accès à ces dernier.

Comme vous le savez peut-être déjà, il existe des tonnes de robots/bots qui analysent en permanence toutes les adresses IP publiques d'Internet à la recherche de potentielles vulnérabilités. Des ports ouverts, des services web non sécurisés ou des failles de sécurité. Il existe des organisations privées qui permettent de découvrir ces vulnérabilités comme [Shodan][shodan-website]. Dans mon cas particulier, c'est la seule information qu'ils ont pu collecter sur mon IP publique :

Initialisation du blog

· 6 minutes de lecture
Guillaume MARTINEZ
LeadTech DevOps & Cloud & IA

cover

Pour m'introduire, je ne suis pas un ingénieur web et je déteste le développement. Il y a beaucoup trop de Framework dans la nature ([ReactJS][reactjs-website], [Angular][angular-website], [jquery][jquery-website], ...). La programmation asynchrone de [Javascript][javascript-website] n'est pas triviale à mettre en place et maintenir à l'échelle d'un site web complet. Sans parler de la gestion de dépendances qui est la goute qui fait déborder le vase (oui je parle de toi npm). Je ne suis pas non plus un web designer donc le [HTML][html-rfc]/[CSS][css-rfc] et moi, nous ne sommes pas copains (principalement parce que je ne sais pas les utiliser à leurs plein potentiel).

C'est plus ou moins la raison pourquoi j'ai quitté le développement web et je suis devenu ingénieur SysOps.