Votre société de services en logiciels libres

Linux Mag n°243 – Codez un « Custom Controller » pour Kubernetes

8 décembre 2020   
Linux Mag n°243 – Codez un « Custom Controller » pour Kubernetes

Cet article montre comment ajouter vos propres ressources et votre propre Controller à un cluster Kubernetes.

(Re)générer rapidement un certificat auto-signé

3 septembre 2019   
$ openssl genrsa -out service.key 2048
$ openssl req -new -key service.key -out service.csr
$ openssl x509 -req -days 365 -in service.csr -signkey service.key -out service.crt

Recopiez le fichier *.crt et le fichier *.key « aux bons endroits » et voilà !

Attention, lors de la 2ème étape vous devrez donner le nom du serveur : indiquez bien le nom attendu par l’application cliente, sinon utilisez les extensions (voir le fichier openssl.cnf) qui permettent d’ajouter des subjectAltName.

Configurer un proxy pour le démon dockerd

3 septembre 2019   

Si le démon dockerd possède 3 variables d’environnement pour sa configuration de proxy (HTTP_PROXY, HTTPS_PROXY et NOPROXY), l’accès à une Registry externe (celle du Hub de Docker par exemple) se fait forcément en HTTPS… et c’est là que les petits problèmes commencent…

Pour configurer les variables d’environnement avec un démon géré par systemd, créez le répertoire /etc/systemd/system/docker.service.d puis ajoutez le fichier proxy.conf contenant la définition des variables d’environnement. Par exemple :

[Service]
Environment="HTTP_PROXY=http://mon_proxy:3128"
Environment="HTTPS_PROXY=http://mon_proxy:3129"
Environment="NO_PROXY=localhost,127.0.0.1,172.17.0.1,172.30.1.1"

Puis exécutez les commandes suivantes :

# systemctl dameon-reload
# systemctl restart docker

et un petit test….

$ docker search ubuntu

Attention :

  • si votre proxy utilise un certificat auto-signé, vous devrez rajouter l’option suivante dans la configuration du démon
--insecure-registry proxy:port
  • si votre proxy utilise un certificat signé par une CA, exécutez les commandes suivantes :
$ sudo cp mon_cert.crt /etc/pki/ca-trust/source/anchors
$ sudo update-ca-trust extract

Effectuer la rotation des clés des serveurs SSHD en douceur

2 juin 2018   

Depuis la version 6.8 de OpenSSH (disponible à partir de la RHEL/CentOS 7.4), il est possible d’effectuer des rotations des clés de serveurs pour le service SSH, tout en douceur pour l’utilisateur.

Quel est le problème ?

Vous savez bien que lors d’un changement de clés côté serveur, le client va devoir valider l’empreinte de la nouvelle clé, ce qui risque de surprendre l’utilisateur consciencieux qui va se croire victime d’une attaque Mitm !

Avec la nouvelle version de OpenSSH, plus de risque d’apeurer vos utilisateurs ou clients.

La solution :

  • générez vos nouvelles clés sous /etc/ssh/, avec l’algorithme ecdsa sur 521 bits par exemple:
    # ssh-keygen -t ecdsa -b 521
  • ajoutez les nouvelles directives HostKey après celles qui existent déjà
  • demandez aux utilisateurs d’ajouter l’option « UpdateHostKeys yes » (ou « ask ») dans la configuration de leur client SSH ou bien d’ajouter cette option. Par exemple:
    $ ssh -o UpdateHostKeys=ask serveur
  • lors de la connexion au serveur, le client SSH va aspirer toutes les clés du serveurs et mettre le fichier known_hosts à jour
  • après un « certain temps », estimant que tous les utilisateurs ont aspiré les nouvelles clés, il ne reste plus qu’à l’administrateur qu’à supprimer les anciennes clés !

Commandes et configuration de proxy

18 mars 2018   

Les développeurs des commandes yum, pip, apt-get, docker et autres se mettront-ils un jour d’accord pour unifier la configuration et l’utilisation d’un Proxy ? Comme je m’y perds, voici un pense-bête qui donne un exemple de marche à suivre pour configurer quelques commandes usuelles.

  1. La commande pip :
    en ligne de commande, ajoutez les options suivantes :

    --proxy http://<login>:<user>@<proxy>:<port> --trusted-host pypi.python.org

    ou bien dans votre fichier pip.conf, ajoutez les paramètres suivants :

    [global]
    proxy = http://<user>:<password>@<proxy>:<port>
    trusted-host = pypi.python.org
    
  2. La commande yum :
    dans le fichier /etc/yum.conf, ajoutez les paramètres suivants :

    proxy=http://<proxy>:<port>
    proxy_username=<user>
    proxy_password=<password>
    
  3. La commande docker :
    il faut définir les variables d’environnement http_proxy et https_proxy avant de lancer le démon. Par exemple dans le fichier /etc/sysconfig/docker.