Deblan blog

Informatique

t411-console : plugin Oh My Zsh

Un court article pour publier un plugin qui permet d'auto-compléter les commandes de t411-console dans ZSH via Oh My Zsh.

Il faut à présent l'activer en modifiant la liste des plugins dans votre .zshrc : plugins=(... t411)

Enjoy :)


[TIPS] Postfix - Blacklister des emails

Si vous hébergez vos emails, l'arrivée massives de SPAM sera est très vite une réalité.

J'utilise plusieurs outils pour filtrer la majorité des mails indésirables :

  • système de greylist
  • SpamAssassin
  • Test SPF

Malgré tout ce n'est pas suffisant et j'ai décidé de blacklister manuellement une série d'emails, domaines et même un tld. Postfix permet de gérer ça très facilement. Il faut éditer /etc/postfix/main.cf et ajouter ces lignes :

smtpd_sender_restrictions =
    reject_unknown_sender_domain
    check_sender_access hash:/etc/postfix/sender_access regexp:/etc/postfix/sender_access_regexp

Il s'agit maintenant d'alimenter /etc/postfix/sender_access et /etc/postfix/sender_access_regexp. Voici un contenu type pour les 2 fichiers :

# /etc/postfix/sender_access
waukyne.com REJECT
welcome.aexp.com REJECT
womenstrapparfum.com REJECT
yourluxuryguide.com REJECT
zichoster.com REJECT
boyduj.com REJECT
asseight.com REJECT
mail184.wdc02.mcdlv.net REJECT

# /etc/postfix/sender_access_regexp
/\.biz$/ REJECT

Quand vous modifiez l'un des fichiers, il est nécessaire d'utiliser postmap :

# postmap /etc/postfix/sender_access
# service postfix reload

Il est maintenant rapide et simple de blacklister efficacement des expéditeurs.

Si des gens sont intéressés par mes listes, voici mes 2 configurations actuelles :


Service d'hébergement web

Je suis membre du Collectif des Hébergeurs Alternatifs,Transparents, Ouverts, Neutres et Solidaires : Chatons.org. Ce collectif rassemble des structures souhaitant éviter la collecte et la centralisation des données personnelles au sein de silos numériques du type de ceux proposés par les GAFAM (Google, Apple, Facebook, Amazon, Microsoft).

Ainsi, je propose de partager mon serveur auto-hébergé depuis une dizaine d'années.

Offre :

Elle est assez similaire à ce que vous pourriez trouver plus ou moins gratuitement :

  • Un serveur web configuré aux petits oignons
  • Frontend NGINX avec cache des assets (proxy sur demande)
  • Backend Apache2
  • PHP 7.3 (FPM), autres langages sur demande
  • MySQL 5.5, PostgreSQL* 9.4
  • Un espace de stockage fonction de l'espace disque disponible
  • Système de backup

Accès au serveur :

  • Accès SSH avec shell ZSH par défaut, sans restriction
  • SFTP

Les plus :

Infrastructure :

  • Derrière une ligne VDSL2 chez Free (80Mb/s descendant, 20Mb/s montant)
  • Core i5, 16Go de RAM ECC, système Debian GNU/Linux 9
  • Système et bases de données sur SSD
  • Data sur HDisk
  • Aucun panel : je réalise l'ensemble des configurations

À qui est destinée l'offre ?

Tout le monde peut bénéficier de cette offre. Cependant, je privilégie les projets dont l'objectif est de promouvoir le logiciel libre, par quelque moyen que ce soit, les personnes avec des revenus ne permettant pas l'accès à l'hébergement facile et enfin les étudiants. Pour faire une demande, contactez moi via ce formulaire. Prenez le temps d'expliquer votre projet :)

Les termes étoilés indiquent que ce sont des services non délivrés par défaut. J'analyse le coût et accepte ou pas la demande.

Conditions générales d'utilisation

Les CGU doivent être lues et acceptées pour bénéficier d'un ou plusieurs des services proposés. Cet engagement sera fera par e-mail.


Sauvegarde, panne, reprise de service

Si vous me suiviez depuis un moment, vous savez sans doute que je suis hébergé chez moi. J'ai en effet deux machines dans mon appartement qui me servent de serveurs pour mes sites web, mes mails, de l'IRC, GIT, etc. Bref, tout ce qui peut être hébergé dans mon appartement le sera.

J'ai cependant essuyé une panne matérielle qui m'a séparé de mon principal serveur. Une simple panne de disque qui a rendu indisponible ces différents services pendant quelques heures. Pour autant, je n'ai perdu (presque) aucune donnée et en dehors du temps qu'il m'a fallu pour reconfigurer la machine de réplication, tout est reparti dans l'ordre relativement rapidement.

J'en profite donc pour vous donner des pistes qui pourraient vous aider dans votre infrastructure. La question du jour est donc simple : comment mettre en place des outils de sauvegarde suffisamment performants pour rétablir des services assez rapidement ?

J'ai donc deux machines : celle qui offre tous les services (Hinata) et celle qui fait office de serveur réplication (Haruhi). Je n'ai pas encore l'envie de faire de la haute disponibilité (et dans un appartement, c'est peu probable que ça arrive…).

Sur Hinata était connecté un disque dur qui hébergeait de la sauvegarde versionnée. En effet, j'utilise l'excellent rsnapshot qui s'appuie sur Rsync et construit des sauvegardes sur des périodes données. J'ai 3 copies journalières, une copie quotidienne conservée pendant 7 jours, une copie par semaine conservée pour 1 mois et une copie mensuelle conservée sur une année…ce qui fait près de 25 versions ! Mes sites web y étaient sauvegardés, ainsi que mes dump SQL générés par wetddump (disponible sur mon dépot debian). J'y plaçait également des sauvegardes des répertoires /etc et /home. Mais ce n'est pas suffisant. Pour peu comme ce disque soit HS et qu'Hinata tombe avec, plus aucune donnée n'aurait été disponible. J'avais donc une synchronisation quotidienne des services sur Haruhi et une copie de sauvegarde des fichiers de configuration. J'en profitais également pour générer un fichier contenant la liste des paquets installés sur Hinata et je m'assurait que les utilisateurs et les groupes étaient toujours les mêmes des 2 cotés.

Après un peu plus d'un an de bons et loyaux services, Hinata est tombé et je devais tout refaire fonctionner sur Haruhi. J'ai donc pu installé les paquets qui manquaient en très peu de temps. Je me suis attardé à synchroniser les fichiers de configuration pour avoir le même comportement que sur Hinata et via la sauvegarde la plus récent du disque, je me suis assuré que mes services étaient bien à jour.

Au final, je me suis rendu compte que je n'ai pas sauvegardé 2 programmes compilés manuellement et qui se trouvaient de /usr/local. Je prendrai le temps de les réinstaller plus tard car ils ne sont pas critiques pour moi.

je suis satisfait de tout ça car ça s'est finalement bien passé et sans casse ! Voila pour la petite expérience…


Gist est dans la place !

Une nouvelle version de mon wall vient d'être mise ligne ! Bienvenue GIST.

GIST

  • Du chiffrement : on peut à présent partager du code colorisé chiffré et déchiffré coté navigateur
  • L'application est fondée sur git et permet de versionner les modifications réalisées sur du code et d'accéder aux différentes versions avec des diff
  • Il est à présent possible d'insérer sur son site le résultat de la colorisation
  • L'application est multilingue et fonctionne très bien sur téléphone
  • Toujours et encore libre, avec une procédure d'installation simplifiée !

La procédure d'installation :