Du libre, du code, des idées, du mélange d'ArraKISS…

De l'épice pour la pensée

Tiens, j'ai envie de m'essayer à l'exercice de faire un bilan régulier sur mes "contributions" libres.

La semaine dernière, j'annonçais le passage sous git des sources du guide sur l'auto-hébergement. Deux contributeurs on fait des propositions et permis de pousser la réflexion plus loin. Merci les gars !



De mon côté, je continue ma relecture et simplification autant que possible. Il reste du boulot ^^

En parallèle, j'ai contribué, malheureusement trop peu, à la progression des cahiers du débutants sous debian stretch. Ma tâche a constitué à vérifier les liens morts principalement :s

J'ai ouvert une issue sur le projet blogotext à propos d'un bug pour le lecteur de flux RSS qui est désormais corrigé :) Trop hâte de voir la nouvelle version sortir.

J'ai aidé une collègue à recupérer ses données sur son ordinateur donc le windows ne voulait plus démarrer. Hop, une DFLinux en live et roule ! Par contre, windows ne démonte pas correctement les disques, j'ai dû les monter en read-only pour pouvoir récupérer ses précieuses données. 130€ d'économisés pour elle avec une DFLinux installée :)

J'ai aussi tenté de me plonger dans le code de txt2tags, qui malgré de nombreuses nouvelles fonctionnalité n'est pas mis à jour depuis plusieurs années. C'est désolant. Il faudrait terminer de passer tous les tests pour la publication d'une nouvelle release. Pour l'instant je fais choux blanc, mais j'encourage toutes personnes plus versées que moi dans le python pour contribuer à ce projet. txt2tags a une syntaxe parfaite et devrait à mon avis remplacer markdown utilisé tant bien que mal dans certains projets.

Enfin, les listes d'IP à blacklister augmentent petit à petit en volume, et je note quelques téléchargements :) Il y a 427 dans les bruteforces et 7 dans les spammeurs.

Voilà voilà, c'est tout pour cette semaine. :)
Et vous ? :)

La prochaine -release d'OpenBSD se prépare gentiment et devrait sortir début mai 2017.
À ce propos, je souhaite maintenir la documentation sur l'auto-hébergement facile avec OpenBSD. Depuis la publication du livre au format papier, grâce aux différents retours et un peu plus de temps, j'ai corrigé plusieurs points et maintenu l'ensemble. On peut déjà noter les nouveautés suivantes (pas encore publiées) :

  • Mise à jour vers la version 6.1 d'OpenBSD avec les modifications qui auront lieu.
  • Mise en place d'une vidéosurveillance.
  • Script pour spamd pour ajouter facilement des émetteurs légitimes.
  • Installation de lecteurs de flux RSS (kriss, ttrss).
  • Mise à jour de l'exemple d'installation
  • Ajout de la gestion des entêtes avec relayd
  • Astuces diverses pour le parefeu
  • Corrections et précisions pour PostgreSQL
  • Passage de letsencrypt à acme-client
  • Support de dotclear et Drupal
  • ...

Je souhaiterais publier cette mise à jour de la documentation, et c'est le moment de parler de ce qui fâche.

La précédente campagne de financement fut un succès inespéré. Ça m'a motivé comme jamais, l'ensemble des messages reçus et les soutiens font toujours chaud au coeur.
Cependant, je reste déçus sur plusieurs points :

  • Le livre est cher à mon avis : 19,90€. C'est parce qu'il est enregistré et commandable dans les librairies, sinon, son prix pourrait être bien plus faible. Cependant, puisqu'il existe une version en ligne gratuite, ça ne semble choquer que moi.
  • La publication avec enregistrement en librairie augmentait le prix de la publication. C'est autant d'argent qui aurait pu être reversée à OpenBSD. D'ailleurs, les commandes en librairies sont quasi-inexistantes, donc inutiles.
  • Ulule c'est bien mignon, mais ils reçoivent une commission non négligeable. Encore des sous qui auraient pu aller ailleurs.

Vous l'aurez compris, je souhaite pouvoir redistribuer les fonds rassemblés selon l'objectif de départ.

Par ailleurs, je reste très attaché au format papier, peut-être à tord. J'aimerais continuer à le publier.
D'autre part, je reçois des suggestions de personnes très compétentes pour améliorer le document. C'est plus délicat que je ne le pensais, car j'ai très envie qu'il reste accessible à un maximum de lecteurs.
J'ai donc pris la décision suivante :

  • Les sources seront désormais accessibles à n'importe quel contributeur via un dépôt git.
  • Si vous voulez aider à la publication papier, vous pouvez faire des dons via liberapay. Ce n'est pas moins pratique qu'Ulule, mais c'est libre et ils ne prennent pas de commission. Cet appel aux dons prendra fin lors de la publication d'OpenBSD 6.1 (disons, le jour de mon anniversaire).
  • Vous pourrez aussi donner aux autres contributeurs qui apparaîtront sur le dépôt git si vous préférez.

À vous de jouer :)

Sur le même modèle que bsdly.net , je publie désormais des listes d'IP connues pour être nuisibles ou émettrices de spam.

La page contenant les listes se trouve ici : Vilaines IP

Vous y trouverez des IP à blacklister avec le parefeu générées régulièrement avec le projet BlockZones. PengouinPdt fait la même chose ici. :)

De même, vous trouverez en complément de la traplist une liste des IPs qui m'ont envoyé du spam. Comme j'utilise déjà d'autres listes très complètes, elle est pour l'instant très maigre, mais elle sera mise à jour automatiquement.

J'utilise des tâche cron pour périodiquement copier les listes d'IP filtrées.
Pour repérer le spam, il me suffit de filtrer l'état de spamd. Lorsqu'un émetteur de spam est piégé, on le repère facilement avec le flag 'TRAPPED'.
J'adore spamd. En laissant trainer une fausse adresse blackhole@yeuxdelibad.net , je sais que ce sont des bots qui écrivent dessus. Outre le fait qu'ils sont piégés pendant un certain temps et ralentis, je retiens maintenant leur IP pour que tout le monde en profite. Nanananère :P

(n'écrivez pas à l'adresse ci-dessus XD)

Voici le script que j'utilise :

#!/bin/sh
# Auteur :      thuban <thuban@yeuxdelibad.net>
# licence :     MIT

# Keep in /var/thuban.traplist
# IPs that used to be trapped.
#
# Use in in spamd.conf with :

###
#
#all:\
#        :nixspam:myblack

#myblack:\
#        :black:\
#        :msg="Your are spam !":\
#        :method=file:\
#        :file=/var/thuban.traplist

###

BLACKFILE=/var/thuban.traplist
touch $BLACKFILE

/usr/sbin/spamdb | grep "TRAPPED|" | cut -d'|' -f2 >> $BLACKFILE

# keep uniq
/usr/bin/sort -u $BLACKFILE -o $BLACKFILE

# reload spamd
/usr/libexec/spamd-setup
exit 0

enjoy ;)

EDIT : j'ai ajouté une nouvelle liste qui contient les IP de bruteforceurs détectés avec vilain.

Pour lire mes flux RSS, j'utilise KrISS que je trouve rapide et surtout très efficace. Je ne vois pas l'intérêt d'utiliser tiny tiny rss qui est une vraie plaie à installer et à mettre à jour pour si peu de fonctionnalités intéressantes (pour mon utilisation). KrISS, c'est 1 fichier php, et voilà :)

Cependant, j'ai du mal à lire tout ce que je voudrais par manque de temps. C'est pour ça d'ailleurs que j'ai installé wallabag, afin de sauvegarder des articles.

Je me suis aperçu que KrISS propose dans sa configuration de définir l'URL de son shaarli pour enregistrer des liens en un clic. En utilisant ce formulaire avec une URL pour wallabag, on sauvegarde un article aussi vite :) :

Plus qu'à cliquer sur "partager" :

spamdb peut permettre de mettre en attente de nouvelles IP. C'est top, sauf quand un expéditeur utilise plusieurs IP différentes. C'est vraiment le défaut de spamd.

Du coup, j'ai retroussé mes manches pour faire un petit script à appeler régulièrement (via une tâche cron). Il va simplement mettre sur liste blanche les IP sur liste grise si ces IP correspondent à une adresse mail située dans le fichier /etc/mail/allow_in_spamd (une par ligne).

Voici le script :

#!/bin/sh
# Auteur :      thuban <thuban@yeuxdelibad.net>
# licence :     MIT

# Fill /etc/mail/allow_in_spamd with regular expression of
# lines shown by spamdb.
# Each matching line will be used to add the corresponding IP
# to /etc/mail/nospamd the spamdb whitelist

WHITE=/etc/mail/allow_in_spamd
SPAMD_WHITE=/etc/mail/nospamd

if [ ! -f $WHITE ]; then
    exit
fi

DB=$(/usr/sbin/spamdb |grep "GREY")

while read line; do
    /usr/sbin/spamdb | grep "GREY|" | grep -E "$line" | cut -d'|' -f2 >> $SPAMD_WHITE
done < $WHITE

# keep uniq
sort -u $SPAMD_WHITE -o $SPAMD_WHITE

# reload pf
/sbin/pfctl -f /etc/pf.conf
exit