Archives de catégorie : Debian

Du Linux, généralement avec l’exemple Debian qui va bien

smtp et imap via SSL/TLS + let’s encrypt

Petit aide mémoire et astuces pour avoir des certificats qui vont bien dans un environnement postfix/dovecot ; et non pas des certif auto-signés comme vous avez peut-être.

Dernièrement, en voulant configurer un iFoune pour atteindre un serveur de mails à moi (tournant sur postfix/dovecot), j’ai vu que l’option « accepter tous les certificats » n’était plus de ce monde. Peut-être que Appeul a décidé que le SSL étant tellement basique maintenant, il n’y avait plus aucune raison d’avoir des certificats moisis (par exemple ceux auto-signés qu’on a à la création d’un postfix/dovecot). C’est pas faux.

Sauf que ça me faisait suer, car j’avais gardé en tête que postfix ne sait pas gérer du multi-certificats Continuer la lecture

letsencrypt & wildcard : « dehydrated » et challenge DNS

Bon, je devais m’y mettre pour un site web pour lequel j’avais besoin d’un certificat wildcard. Jusqu’à présent, j’en prenais chez un acteur connu du marché, pour environ 100 € / an.
Pour les autres domaines que je gère, j’utilisais déjà letsencrypt avec le client dehydrated qui fait le boulot simplement.

Depuis que « let’s encrypt » sait gérer les certificatfs wildcard (*.domaine.tld), je ne vois plus bien de raison de continuer à payer ce certificat. C’est pas comme si letsencrypt était une boîte vouée à la fermeture. Quand on voit qui la soutient, c’est bon.

En gros, la gestion des certifs « wildcard » ne change pas grand chose au bazar, c’est juste l’outillage qui est sensiblement différent. En effet souvent lorsqu’on met en place dehydrated (ou un autre), on répond aux « challenges » (procédé pour vérifier que vous êtes bien le propriétaires annoncé d’un site) en faisant placer un fichier par le client dehydrated dans un sous-répertoire style « acme-challenge » sur le serveur web. letsencrypt vérifie alors que ce fichier est récupérable, ça prouve que vous avez la main sur le site (selon où il est censé être vu la conf DNS), ça génère les certificats et zou.

Pour les wildcards, le challenge par http n’est pas possible Continuer la lecture

opendmarc, opendkim

Tiens, un article. Ca faisait longtemps.

Bon, depuis plusieurs mois, à chaque fois qu’un détail change à propos de postfix/opendkim/opendmarc/systemd, j’ai un mal de chien à relancer opendkim et opendmarc.
Dans le meilleur des cas, c’est juste une histoire du style :

warning: connect to Milter service unix:/var/run/opendmarc/opendmarc.sock: Too many levels of symbolic links
ou
warning: connect to Milter service unix:/var/run/opendmarc/opendmarc.sock: No such file or directory

Dernièrement j’ai eu ce « too many levels » qui semblait indiquer qu’il ne voulait plus de ma bidouille de liens symboliques de /var/run/opendmarc => /var/spool/postfix/var/run/opendmarc (postfix est « chrooté »). Bon, soit.

Dans le pire des cas, tout semble bon et tu te heurtes à systemd qui veut pas que tu relances ton service : Continuer la lecture

postgrey et des délais infernaux avec outlook et gmail – parfois

Il se passe parfois un truc pénible avec les serveurs d’envoi de Google et Microsoft, lorsque vous avez mis en place du greylisting, c’est que lorsque l’expéditeur renvoie, il renvoie depuis un autre serveur. Donc ça déclenche une nouvelle temporisation de greylisting car c’est un nouveau triplet expéditeur/destinataire/ip(? pour le 3è param ? je sais plus). Bref, le mail entrant peut être refoulé un paquet de fois avant d’arriver pour de bon, tant leurs serveurs d’envois sont nombreux.

Pour éviter ça, un whitelist au niveau greylisting uniquement s’avère indispensable. Même si le mail envoyé est du spam, de toute manière il arrive avec la bénédiction d’un serveur gmail/microsoft, donc il *finira* par rentrer et c’est l’analyse de contenu éventuellement qui dira si c’est du spam.

Pour ceci, on crée un fichier /etc/postgrey/whitelist_clients.local (.local car il perdura avec les upgrades de paquets) et contenant :

/^mail-.*\.outbound\.protection\.outlook\.com$/
/^mail-.*\.google\.com$/
/^.*\.amazonses\.com$/

Pour la 3è ligne, c’est vous qui voyez, mais j’ai eu le souci avec Amazon, quoique les nuages Amazon soient aussi plus souvent utilisés pour du spam.
La liste de base de /etc/postgrey/whitelist_clients ne me plait pas trop. Sinon on pourrait la compléter et attention aux upgrades.

Ensuite, on indique à postgrey d’en tenir compte (je crois qu’on précise un fichier uniquement, ça ne vient pas en plus du whitelist_clients de base – à confirmer), en modifiant /etc/default/postgrey

POSTGREY_OPTS="--inet=10023 --whitelist-clients=/etc/postgrey/whitelist_clients.local --auto-whitelist-clients=2"

Le paramètre AWL égal à 2 vaut normalement 5 et indique au bout de combien de mails acceptés on auto-whitelist cet expéditeur+serveur.

Migration MySQL vers MariaDB

Pourquoi ?

logo-MariaDB Pourquoi migrer sur MariaDB ?

Parce-que.

Evacuez les quelques craintes

Voilà, maintenant que les raisons sont données, je tenais juste à rassurer ceux qui hésiteraient à migrer de peur qu’un truc se passe mal et que le retour arrière soit compliqué. Que nenni.

Ca prend en gros 2 minutes et le service MySQL MariaDB est de retour, vos sites web fonctionnent (wordpress, n’importe quoi qui tourne avec PHP/MySQLi etc). Pour info, les commandes s’appellent encore mysql, donc mêmes vos scripts sont OK, /var/lib/mysql/ demeure ainsi etc. Je m’attendais à trouver des « alternatives » type « mysql » qui pointe vers « maria », mais même pas. Peut-etre plus tard ?
Je pense par contre que c’est le moment de migrer sans effort vers MariaDB (en l’occurrence sur Debian/Jessie en version MariaDB 10.0.x) Continuer la lecture

Extension de VMDK sous linux, déport d’affichage, XMing

xming_logoRécemment je devais agrandir un disque virtuel (VMDK) d’une machine Debian virtuelle tournant sous VMWARE ESXi.
Le cas de figure facile : un disque de données que je peux démonter en live, trifouiller, agrandir et remonter sur le système. Par opposition au cas où c’est un disque/partition utilisé par le système : /, /var etc.

Sauf que d’habitude, arrivé à l’étape avec l’outil parted, ça se passe bien, je peux agrandir. Ben pas là. J’en suis venu à gparted car lui fait ce qu’il faut pour contourner le problème. Ca m’a évité des lignes de commandes tordues (certainement avec tune2fs ou debug2fs) et un risque certain de foirer mon disque, aussi virtuel soit-il… Continuer la lecture

php5 readline en Debian Wheezy

php-bigRécemment, je voulais écrire un mini interpréteur de commande pour un mini-projet. En PHP.
Quelle surprise : la commande readline n’est pas là de base en Linux – sur Debian stable Wheezy – et n’existe carrément pas en PHP/windows…
En Debian/Jessie, il y a/aura un module php5-readline directement accessible.

En Debian/Wheezy, il faut soit aller chercher dans dotdeb.org (je n’aime pas trop), soit compiler le module à la main en fonction de sa version de PHP. Et on recompilera à chaque évolution de version PHP… en attendant Jessie.

Pour ce faire : Continuer la lecture

Migration courier-imap => dovecot

dovecotLogo

C’est quoi ça encore ?

Dans des articles précédents, je montre comment se monter un serveur de mails assez complet sous Debian. Mais un choix fait il y a fort longtemps, le choix de courier-imap et courier-pop comme brique gérant l’IMAP et le POP, n’avait pas été bien réfléchi et il se trouve que courier-* manque de fonctions, notamment la prise en charge du protocole SIEVE, permettant du tri de mails en amont, sur le serveur.
Après un peu d’utilisation, il y a aussi d’autres petites choses qui se passent mieux avec dovecot plutôt que courier-*. Bref, autant y aller. Continuer la lecture

Configurer calamaris avec squid, squid3

Un rapide aide-mémoire car je viens de paumer 2 heures à me rappeler comment ça fonctionne.
Par défaut, calamaris génère un rapport mail, texte, illisible de l’activité des logs Squid.

Pour qu’il génère des pages web, avec graphiques, il faut :
1) Modifier /etc/calamaris/cron.conf et remplacer « mail » par « web » dans les lignes daily/weekly/monthly
2) Modifier /usr/lib/calamaris/calamaris-cron-script et mettre « -F html,graph » dans la variable HTMLOPTIONS
3) Installer le paquet libgd-graph-perl
4) Par défaut il va chercher les logs dans /var/log/squid. J’ai fait un lien symbolique de squid => squid3 plutôt que d’aller encore bidouiller le script

Le script met à jour suivant le jour de la semaine les logs daily ou weekly ou monthly.
Par défaut, les logs vont dans /var/www/calamaris/[daily|weekly|monthly]/index.html et .png associés

Voilà.

psexec sous Linux ? winexe

Cet article décrit bien la mise en place de l’outil winexe (à compiler à la main) et fournissant un équivalent de psexec (de sysinternals) sous Linux, permettant ainsi d’exécuter des commandes sur des hôtes Windows depuis un Linux en s’authentifiant sur le domaine Windows.

Ca peut permettre de scripter de belles choses pour automatiser un peu du Windows. Dans mon cas, ça permet aussi de déclencher des impressions à distance pour un besoin particulier.

Je voudrais juste amender l’article cité précédemment pour apporter des précisions sur la compilation en 64 bits et sur l’utilisation un peu plus poussée que l’éternel « cmd » ou « ipconfig » à distance. Continuer la lecture