Exemple de schéma d’infrastructure : nouveau serveur !

Exemple de schéma d'infrastructure

Salut à tous, geekeries.org et systemsec.fr grossissent doucement, et j’ai finalement été obligé d’upgrader le serveur ! Je me suis dit que c’était une belle occasion de vous donner un exemple de schéma d’infrastructure (à mon goût) qui fonctionne bien de mon expérience.

Long story short : Le précédent serveur était au taquet sur la RAM et le CPU en semaine. Ça explique les coupures de connexions au(x) site(s) que vous avez pu rencontrer depuis quelques temps (désolé pour le désagrément). Du coup, j’ai fais ma migration ce weekend (qui a débordé sur le début de semaine)…d’où les indisponibilité du site que vous avez pu avoir. C’était pour la bonne cause !

Il faut dire qu’il commence à y avoir du monde qui passe sur le serveur. Vous ne voyez que la partie émergée de l’iceberg avec geekeries.org et systemsec. Mais en fait il y a quand même du monde qui tourne derrière : FTP, outil de phishing , Nextcloud, Guacamole, Watchtower, Splunk, Torrents, Fail2ban, Backup, Redis, Docker, Firewall, IPS, etc.

Pour info, en termes de hardware, avant, j’étais sur une dédibox « Start-2-S-SSD » avec

  • CPU : 2C/2T@1.7 GHz ;
  • RAM : 4GB
  • HDD : 120Go SSD.

Et là, … Lire la suite

Docker et Portainer part 7 – NextCloud avec Docker, Déployer un « Cloud » personnel

Docker et Portainer

Salut à tous, Ça vous dirait d’héberger vous même vos propres services « Cloud » (genre maps, notes, photos, contact, calendrier) ? Ça tombe bien aujourd’hui je vais vous parler de NextCloud avec Docker et comment déployer votre « cloud » personnel.

Pour le coup, je précise que suis pas un intégriste Anti-GAFAM quand-il s’agit mes données personnelles (j’ai quasiment tout qui fini ou passe chez Google à un moment ou à un autre). Par contre, quand il s’agit de mes activités « Pro » (à mon taf ou sur mes activités indépendantes avec System Sec) : je suis vachement moi chaud pour laisser trainer des données de clients ou de mon employeur chez eux bizarrement ! C’est dans ce cadre que je me suis retrouvé à monter une petite infra Drive & Notes sur le serveur.

Rappel des articles de la série « Docker et Portainer » :

Lire la suite

Docker et Portainer part 3 – Stack Docker Guacamole

Docker et Portainer

Salut à tous, dans le dernier TP on s’est penché sur la définition d’une Stack dans Portainer pour un service VSFTPD. Aujourd’hui on va regarder comment déployer une Stack Docker Guacamole avec plusieurs images docker, toujours dans Portainer. L’objectif du jour étant d’avoir un service Guacamole sur notre serveur à la fin du TP.

Rappel des articles de la série « Docker et Portainer » :

Guacamole ? bon appétit !

Apache Guacamole plus exactement, et qui n’a rien à voir avec la recette mexicaine de purée d’avocat, est un client VNC, RDP, et SSH (comme un PuTTY ou mremoteng) qui à la particularité d’être « client-less » ou plus exactement « full-web ».

On installe donc Guacamole sur un serveur et on y accède avec son navigateur web comme dans la capture ci-dessous.

Docker Guacamole

Le gros intérêt au delà d’avoir un client SSH dans … Lire la suite

Extraire le dernier élément de chaque ligne en regex

Extraire le dernier élément de chaque ligne

Bonjour à tous, aujourd’hui un petit TP sur les expressions régulières. J’ai un collègue qui m’a demandé comment on pouvait Extraire le dernier élément de chaque ligne dans un bout de texte de quelques centaines de lignes. Voici un exemple de format :

IP Address 595,537
IPv6 Address 1,443
MAC Address 0
MD5 163,573

La première version de la regex que j’ai proposée est simple au possible :

([^\s]+)$

Qui signifie en gros : « tout, sauf les espaces avant la fin de chaque ligne ». Cette expression a quand même un problème avec ses performances (326 steps sur regex101) dans la mesure le moteur d’évaluation avance dans le texte, il ne part pas de la fin et va donc avancer dans chaque mot avant de « backtracker », si celui ci n’est pas suivi de la fin de ligne.

Du coup, j’ai pu proposer une première version optimisée :

^.*?\s([^\s]+)$

C’est l’une des rares cas que j’ai croisé où l’usage d’un .* rends l’expression plus performante (120 steps sur le même texte) en l’obligeant à aller à la fin de ligne directement avant de matcher le dernier bloc. D’après regex101, on est donc déjà 3 fois plus … Lire la suite