Haproxy pour serveur HTTP et SSH

Aujourd’hui je vais vous parler un peu de comment fonctionne le serveur HTTP de systemd.info, une configuration que j’avais envie de partager depuis quelque temps (l’idée originale vient de chmd). J’aime appliquer la philosophie Unix, utiliser des logiciels simples mais efficaces. J’ai donc entrepris il y a déjà quelques mois de confier le chiffrement TLS de mon site à haproxy. Ainsi, chacun son boulot, le serveur web (nginx ou autres) et haproxy pour le chiffrement.

Jouer avec Tor et sa librairie python Stem

J’ai récemment voulu utiliser le réseau Tor en contrôlant mon nœud de sortie, avec l’API python Stem. Mon objectif était de me connecter sur un site qui propose un service gratuit, mais uniquement si vous êtes nouveau (une IP qui n’a pas déjà bénéficié du service) et que vous résidez en Europe. Pour ne pas être détecté comme un utilisateur de TOR sur le site, j’ai écrit un script python qui va récupérer la liste des relais et forcer la sortie du réseau par des relais récemment arrivés sur le réseau (uptime < 3h).

Exploitation assistée de buffer overflow avec GDB et PEDA

Aujourd’hui je me suis amusé sur une plateforme de chalenges de sécurité de type Wargame. Si vous ne connaissez pas le principe je vous invite à lire Misc n°73 et de jeter un œil au site WeChall. Un Wargame concrètement est un site qui vous propose de vous connecter sur un serveur SSH qui contient différents chalenges de sécurité à exploiter. En voulant résoudre un chalenge de type “buffer overflow” j’ai découvert un outil formidable: PEDA - Python Exploit Development Assistance for GDB.

Migration vers OpenBSD 5.6

Youpi ! ce week-end OpenBSD 5.6 est sortie avec son lot de nouveautés. Parmi les changements les plus remarquables, on a l’arrivée de LibreSSL en remplacement de OpenSSL, httpd, OpenSmtpd comme MTA par défaut,.. La liste complète est ici : http://www.openbsd.org/56.html. Comme d’habitude le guide de migration est très bien documenté: http://www.openbsd.org/faq/upgrade56.html, mais il y a toujours quelques imprévus ! Les petits couacs de ma migration J’ai donc migré mon serveur et voici une liste des choses qui se sont cassés et que j’ai dû réparer à la main:

Piwik, un tracker libre

Aujourd’hui j’ai décidé d’ajouter un tracker sur mes pages. Pourquoi ? Pour avoir une idée de la visibilité de mes pages sur le net. En fait je peux déjà regarder les logs du serveur web, mais ils sont difficiles à interpréter avec les outils que j’utilise pour mon organisation personnelle. En effet dans les logs de nginx, j’ai bien bien les logs de mes visiteurs, mais ils sont noyés dans mes propres logs que je génère lorsque que je synchronise mes agendas, mes bookmarks, mes flux rss, mes notes, mes todos, etc.

Séparation des applications avec PHP-FPM et Nginx

Voici un petit billet technique sur l’administration de serveur Web, plus précisément sur comment configurer PHP et Nginx en isolant les applications (j’utilise OpenBSD mais ça devrait fonctionner sur GNU/Linux également). L’idée consiste à créer une configuration PHP-FPM par application PHP. Cela apporte deux grands intérêts: Avec PHP-FPM il est possible de configurer +/- de ressource par application. Sécurité: Les applications ne partage pas le même espace mémoire, en cas de faille les risques sont réduit.

Intercepter le trafic SSL avec mitmproxy en local

Voici comment il est possible de faire du reverse engineering d’une application qui communique via HTTPS. Dans mon cas j’essaye de comprendre le comportement d’une application Android (libre bien sûr !) en écoutant ses requêtes réseau avec l’émulateur du android-sdk. Pour réaliser ma configuration sous Arch Linux j’ai créé un utilisateur “proxy” sur ma machine. Cet utilisateur sera l’exécutant de mitmproxy. # useradd -m -g users -G wheel -s /bin/bash proxy # passwd proxy (.

Arduino et Manjaro Linux

Aujourd’hui j’ai décidé de fouiller les forums, les faqs et les PKGBUILD pour comprendre pourquoi le programme arduino ne fonctionnait pas sur ma distribution Manjaro Linux. Problème n°1 : le texte ne s’affiche pas dans les menus Le problème vient de java: https://wiki.archlinux.org/index.php/java#Missing_text_in_some_applications Le fait de positionner la variable _JAVA_OPTIONS (dans le bashrc pour ne pas le faire à chaque fois) à cette valeur résout le problème: export _JAVA_OPTIONS='-Dawt.

Expérimentation avec le réseau Tor, un point d'accès Wi-Fi routé sur le réseau anonyme

Le réseau Tor est un projet open source très intéressant qui permet aux utilisateurs d’Internet de surfer de manière anonyme et d’échapper à la censure sur Internet. Pour résumer, le réseau Tor est constitué de relais, lorsque vous utilisez ce réseau vous passez par plusieurs relais avant d’arriver sur le site Internet que vous souhaitiez visiter. Certains relais sont là uniquement pour faire transiter l’information et donc ajouter de l’anonymat (comme celui que je fais tourner sur ce serveur) d’autres sont des nœuds de sortie et permettent aux utilisateurs de Tor de surfer sur Internet avec une adresse IP différente, celle du nœud de sortie.

Faire de la veille, RSS, Twitter et scripts python

Faire de la veille est une activité indispensable dans le métier d’ingénieur. Depuis des années je fais beaucoup de veille sur les sujets qui m’intéressent, souvent techniques. Cela me permet de suivre les nouveautés et de ne pas être dépassé par l’actualité. J’utilise pour cela les flux RSS des sites internet, et un agrégateur en ligne kriss feed. A l’heure ou j’écris ces lignes, je suis 145 flux RSS. Kriss feed a l’avantage d’être rapide et contrôlable par le clavier.