Introduction à kubernetes

Qu’est ce que Kubernetes ?

C’est un orchestrateur de container, il permet de d’automatiser le déploiement des applications en container. (Architecture dynamique) Il est open source.
kubernetes va gérer le bon fonctionnement de nos applications via la déclaration d’un « état souhaité » (nombre de CPU, RAM, réplicat ext …)

Avantages :
Vitesse de déploiement, notion de micro service
Capacité à absorber rapidement les changements
Capacité à récupérer rapidement (Perte de l’état souhaité, correction rapide)
Abstraction de la complexité du cluster, charge à l’administrateur de définir l’environnement pour le développeur qui peut se concentrer sur l’application.

Principe de Kubernetes
On va définir notre application kubernetes dans une configuration déclarative (état souhaité ou manifeste). Suite à cela Kubernetes va tout mettre en œuvre pour conserver l’état inscris dans notre déclaration.(Via les objets contrôleurs, qui vont vérifier régulièrement l’état du cluster)
A l’opposé de ce mode de fonctionnement actuellement on travail de façon impérative. (Administration manuel d’un SI, ajout de ressources CPU/RAM ext …)
On va pouvoir interagir avec Kubernetes via son serveur API.

Principe de l’API Kubernetes

Kubernetes est constitué d’une collection de primitives qui représentent l’état du système.
Pour intéragir avec Kubernetes on va passer par l’API RESTful qui s’exécute en HTTP ou HTTPS via le format JSON stocké dans une BDD interne.

Quelques objets de Kubernetes

  • POD : Un seul ou plusieurs container que l’on va déployer comme une « unité »
  • Contrôleur : Permette de maintenir notre cluster dans l’état souhaité
  • Service : Fournisse un point d’accès permanent dans l’application
  • Stockage : Appelé volume, cela permet de stocker les données de façon persistantes

Détail sur les PODS
Un POD est une unité de travail élémentaire (la plus petite pour kubernetes), il peut contenir un ou plusieurs container. Kubernetes va gérer notre POD, pas le container. Il va contenir notre application. Si le container interne au pod disparait, le POD disparait avec lui, même réaction dans le cas d’un POD multi container.
Le travail de Kubernetes sera donc de garder en état de fonctionnement notre POD, il va suivre son état. On va utiliser des sondes d’activité afin de surveiller le bon fonctionnement de notre application, « Liveness Probes ». (Ping vers un serveur WEB par exemple pour vérifier la bonne réponse du serveur WEB dans le POD)

Continuer la lecture de Introduction à kubernetes

Retrouver un mot de passe de wallet bitcoin en bruteforce GPU

L’avantage d’un bruteforce GPU est qu’il est beaucoup plus efficace que par CPU, l’outil présenté ici gère les deux mais je vais ajouter une courte procédure afin d’installer le dépendance pour faire tourner le tout en GPU sous Windows 10 pour une version en X64.

On va utiliser le projet btcrecover.py disponible sur : https://github.com/gurnec/btcrecover

L’outil supporte un grand nombre d’options de récupération qui va d’une seed à une clé privé d’un wallet bitcoin core (wallet.dat)
Dans le billet je vais présenté une procédure pour retrouver une clé privé d’un wallet.dat extrait depuis bitcoin core.
Pour le tuto j’utilise git bash : https://gitforwindows.org/

Continuer la lecture de Retrouver un mot de passe de wallet bitcoin en bruteforce GPU

Ouverture d’un Websocket avec le Framework Meteor sur Bitstamp

Dans ce billet, je présente un code simple côté serveur pour le framework Meteor qui permet d’initialiser une connexion websocket vers le serveur API de Bitstamp pour récupérer l’order book. J’ai re-utilisé le code initiale d’exemple présent sur le site de la plateforme.

Courte procédure de déploiement :

meteor create monprojet
cd monprojet
meteor npm install --save ws
meteor

Le code présenté est côté serveur

Continuer la lecture de Ouverture d’un Websocket avec le Framework Meteor sur Bitstamp

Gestion de Disques Durs avec LVM

LVM se compose de trois éléments :

  • Physical Volumes (PV) – Disques Physiques (ex: /dev/sda, /dev/sdb …..)
  • Volume Groups (VG) – Les volumes Physiques sont assemblés en Volumes groupes (ex: vg0 = /dev/sda + /dev/sdb)
  • Logical Volumes (LV) – Les volumes groups sont divisés en volumes logiques (ex: vg0 divisé en vg0/home, vg0/sauvegarde …..)

Dans cette procédure on va ajouter un nouveau disque dur pour étendre l’espace disque disponible de 30go à 40go.

On commence par lister les volumes physiques disponible

pvs
pvdisplay

On peut à présent lister le VG

vgs
vgdisplay

Continuer la lecture de Gestion de Disques Durs avec LVM

ESXi Explication sur les Vlan

On peut tag de différentes façons des VLAN dans la suite vmware, on peut les nommer de la façon suivante :

  • EST ou ACCESS : pas de configuration côté vswitch, le vswitch récupère le vlan du port physique (donc 1 seul vlan possible)
  • VST ou TRUNK : le vlan est configuré sur le vswitch ou le Port Group, les ports du switch physique sont en mode trunk.(donc multiple vlan possible)
  • VGT : le/les vlans sont configuré directement dans la carte réseau de la machine virtuelle

Continuer la lecture de ESXi Explication sur les Vlan

Bloc Notes Metasploit

Metasploit Framework est un outil pour du test, de l’analyse de vulnérabilités et l’exécution d’exploits sur une machine distante. Il est écrit en Ruby. L’article fera une brève introduction a Ruby qui sera utile pour comprendre les différents modules de Metasploit.

Edition du .bashrc pour ajout d’alias

cd /root && nano .bashrc

Continuer la lecture de Bloc Notes Metasploit