Exporter une application android en APK

Pour exporter une application installé sur téléphone Android il faut commencer par activer les options de développeur. Je précise que je vais effectuer la manip sur un téléphone en Android 10. La manipulation reste relativement similaire sur les autres version.

  • Trouvez le menu suivant :
    Paramètres -> A propos du téléphone -> Version -> Numéro de version
  • Pressez la touche « Numéro de version », 5 fois, cela va activer les options développeur.

Continuer la lecture de Exporter une application android en APK

Configurer SSL Bump sur Squid 5

La procédure détail comment mettre en place le SSL bump sur squid 5. Le travail se fait sur Ubuntu 20.04. Cela permet de déchiffrer à la volée les requêtes en https afin de permettre leur analyse. Cela est utile dans le cadre professionnel afin de permettre l’analyse anti virus à la volée.

On démarre la procédure en téléchargeant les sources de squid et en préparant la compilation avec les options qui vont bien. Les trois options à ne pas oublier sont : –enable-ssl –with-openssl –enable-ssl-crtd

git clone https://github.com/squid-cache/squid.git && \
cd squid && git branch -r && git checkout v5 && ./bootstrap.sh && mkdir build && cd build && \
../configure --prefix=/opt/squid --with-default-user=proxy --enable-ssl --with-openssl --enable-ssl-crtd --disable-inlined \
--disable-optimizations --enable-arp-acl --disable-wccp --disable-wccp2 --disable-htcp \
--enable-delay-pools --enable-linux-netfilter --disable-translation --disable-auto-locale \
--with-logdir=/opt/squid/log/squid --with-pidfile=/opt/squid/run/squid.pid

La préparation à la compilation est terminée, on peut lancer la compilation, ca peut prendre un peut de temps en fonction de la config de la machine

sudo make && sudo make install

Quand c’est terminé on peut lister les éléments

ls -la /opt/squid

Continuer la lecture de Configurer SSL Bump sur Squid 5

Lancer un script python3 en service

cette procédure est réalisée sous ubuntu 20.04, ca doit fonctionner sous Debian 10 modulo quelques syntaxes qui peuvent varier (non testé). Cette procédure peut être utilisée dans le cas ou on souhaite faire re-démarrer automatiquement un script python3 en cas de crash ou simplement démarrer un script à l’allumage d’un serveur. En cas de reboot le script va démarrer automatiquement en tant que service géré par systemd.

Je pars du principe que vous êtes en root.

On démarrer par créer un fichier de service

nano /etc/systemd/system/monservice.service

Continuer la lecture de Lancer un script python3 en service

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

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

Mémo rapide OpenStack

OpenStack est un ensemble de logiciels open source permettant de déployer des infrastructures de cloud computing (infrastructure en tant que service). La technologie possède une architecture modulaire composée de plusieurs projets corrélés (Nova, Swift, Glance…) qui permettent de contrôler les différentes ressources des machines virtuelles telles que la puissance de calcul, le stockage ou encore le réseau inhérents au centre de données sollicité.

Continuer la lecture de Mémo rapide OpenStack

Monitoring Open Source avec Prometheus

Dans ce billet je présente une courte procédure afin de déployer une solution de monitoring open source avec Prometheus et Pushgateway. On pourra générer des graphiques avec Grafana accessible via une interface web. Le billet présente le déploiement et pas une configuration poussée de grafana qui fera l’objet d’un autre billet. A la fin de ce billet vous aurez un aperçu et une suite fonctionnel pour un labo.

Continuer la lecture de Monitoring Open Source avec Prometheus

Installer Nginx avec PHP7.0 et modification basique de son index sous Ubuntu 16.04

Présentation d’une courte procédure pour setup nginx avec php7.0 et modifier « index.nginx-debian.html » vers « index.php » dans un lab

Continuer la lecture de Installer Nginx avec PHP7.0 et modification basique de son index sous Ubuntu 16.04

Déploiement Serveur de Paiement Bitcoin avec btcpayserver

L’ensemble du billet se déroule dans un environnement Ubuntu 16.04. btcpayserver va permettre de créer un serveur de paiement pour Bitcoin et d’autres cryptos dérivées. Il est impératif pour bien fonctionner de faire tourner un full node bitcoin (Bitcoin Core Wallet pour créer des invoices manuellement, Electrum ou Ledger pour automatiser la creation des invoices) ainsi qu’un explorateur de bloc (NBXplorer)

Continuer la lecture de Déploiement Serveur de Paiement Bitcoin avec btcpayserver

Déploiement d’un Full Node Bitcoin

Mon fichier est de configuration ci-dessous est utilisé dans mon lab de test sur le testnet et n’est pas accessible de l’exterieur. Il dispose d’une bonne configuration (32Go de Ram) Pensez à l’adapter suivant votre configuration.Le prune mode permet d’éviter le télécharger des anciens blocs ce qui réduit considérablement la taille de stockage nécessaire.
Le dbcache a 2048 accélère également la synchronisation mais si vous avez une petite config réduisez cette valeur pour l’adapter. Dans le fichier de conf ci-dessous j’ai également modifié le dossier de stockage avec un autre datadir, par défaut il est dans ~/.bitcoin sous linux/mac.

Téléchargement et décompression du binaire bitcoin core, pensez à vérifier la version pour être toujours à jour.

wget https://bitcoin.org/bin/bitcoin-core-0.17.1/bitcoin-0.17.1-x86_64-linux-gnu.tar.gz && \
tar -xvzf bitcoin-0.17.1-x86_64-linux-gnu.tar.gz && \

Continuer la lecture de Déploiement d’un Full Node Bitcoin