AbuseIPDB, ProjectHoneyPot, Spamcop, etc

Sachez que je participe activement aux efforts communautaires pour dénoncer les abuseurs, que ce soit les perpétrateurs d’attaques sur ssh, les gangs de truands qui spamment, etc. (liste non limitative)



Posted in Informations générales, Internet niouzes | Leave a comment

La Réunion, 2008

Quelques photos de notre voyage en famille à la Réunion en 2008

Posted in Uncategorized | Leave a comment

Lave-vaisselle IKEA (en fait Electrolux) et code d’erreur i20

Lave-vaisselle en panne. Modèle IKEA SKINANDE, qui possède une étiquette avec le logo d’Electrolux (911536047) . AEG, Electrolux, Frigidaire, ces marques proviennent des mêmes usines.

Après un comportement erratique avec le remplissage et la vidange il s’est définitvement obstiné à faire fonctionner la pompe de vidange en début de cycle, mais trois fois 90 secondes, suivi d’un arrêt sur code d’erreur i20. Le circuit de vidange fonctionne bien, le tuyau n’est pas plié et la pompe fonctionne très bien, l’eau est évacuée.

J’incrimine immédiatement le pressostat qui doit détecter le niveau correct de l’eau. Il n’est pas rare que le petit tuyau qui relie le pressostat à la cuve soit obtrué avec des débris ce qui produit des comportements comme celui-ci.

Mais je ne trouve pas de pressostat dans ce lave-vaisselle !

J’ai d’abord suspecté un composant : OVI capteur de turbidité de l’eau. J’ai acheté la pièce de remplacement et ce fut inutile, le problème a persisté.

La photo montre le composant original OVI en haut à gauche du bol, il est de couleur verte, montré avec son connecteur blanc.

J’ai posté un message dans le forum commentreparer.com et un internaute très sympa m’a posté des réponses et des documents qui m’ont mis sur la voie.

J’ai obtenu par ailleurs de la firme bruxelloise misterpieces.be (que je salue au passage, ces gens sont aussi extrêmement sympathiques) un éclaté de mon lave-vaisselle où il y a effectivement une pièce (n° 12 sur l’éclaté) qui pourrait être celle que je cherche.

Retour à 4 pattes sous la machine.

Et là bingo ! je la trouve, elle crevait les yeux. J’agrandis la vue précédente et c’est la pièce entourée plus bas:

Le voilà mon pressostat ! Il était clipsé directement sur le bol réceptacle !
Allez, encore deux photos:

Après avoir retiré des crasses gluantes avec un cure-dents, puis un peu de vinaigre versé dedans et que je laisse agir pendant une demi-journée, puis rinçage avec un petit jet d’eau (en préservant la partie sèche de la pièce), il y a encore quelques crasses qui sortent, …  et oui ça refonctionne !!

 

 

Posted in Bricolage | Leave a comment

A propos des e-mails, S/MIME, chiffrement, signature

S/MIME permet de signer un e-mail, et/ou d’encrypter (le mot correct est: chiffrer) à des destinataires connus. Ceci se fait avec des certificats, clés privées tout comme pour les sites web https ou signer du logiciel.

Le mail signé apporte une preuve d’authenticité, de non-falsification et de non-répudiation
– authentique: le certificat de la personne ou entité qui a signé est attaché au mail signé. Une autorité (par exemple Comodo) a délivré ce certificat à une personne, une société… en vérifiant l’identité et l’adresse e-mail de cette personne. La signature possède aussi la date et l’heure de l’ordinateur utilisé.
– non-falsification: un hash (check-sum) est calculé sur l’entièreté du mail, et c’est le hash qui est signé. Si on n’enlève ne fût-ce qu’une virgule, la signature est invalidée.
– non-répudiation(*): Sur base de cette signature on peut attester qui a signé et quand, et la personne qui a signé ne peut pas se rétracter.

(*) selon le certificat qu’on a acquis

Pour l’encryptage, pourquoi destinataires connus ? Parce qu’envoyer un message encrypté à un destinataire inconnu n’a simplement pas de sens.

S/Mime agit au niveau des clients mails (logiciels de mail) et non au niveau des serveurs. On parle de sécurisation de bout en bout.
Au niveau des serveurs, un message signé et/ou encrypté est juste un message comme un autre, pouvant contenir des sections relatives à S/Mime.

Il y a une quinzaine d’années, il y a eu Thawte (sud-Africain) qui a proposé des certificats gratuits pour faire du mail. Ils ont arrêté cette offre.

Il y a une dizaine d’années StartCom StartSSL a fait quelque chose de similaire, puis StartSSL s’est fait racheter par des Chinois, sans rien annoncer au public. Les Chinois ont merdé avec des pratiques inacceptables (production de certificats anti-datés, etc, donc faux en écriture) et ils se sont fait bannir, plus personne n’a reconnu les certificats qu’ils émettaient. Ils ont mis la clé sous le paillasson début 2018.

Il y a aussi eu notoirement Comodo, mais là c’est fini aussi.

Depuis, pour trouver un certificat gratuit émanant d’une autorité de certification il faut se gratter.

La carte d’identité belge permet de signer numériquement des documents, par exemple via Adobe Reader, mais ne permet pas de signer un e-mail. En effet la Belgique atteste de votre identité, mais absolument pas que votre adresse e-mail correspond à votre personne.

Lecture: http://kb.mozillazine.org/Getting_an_SMIME_certificate

Alternative, faire son propre CA et générer ses certificats soi-même,
Comme l’échange encrypté ne s’improvise pas, on peut envoyer ses certificats à ses correspondants par un autre moyen que le mail et on se fait confiance réciproquement. Ca fonctionne.

Signer avec un certificat qu’on a fabriqué soi-même n’apporte de la valeur ajoutée qu’auprès des correspondants réguliers qui peuvent enregistrer le certificat dans leur registre d’émetteurs de confiance.

Alternative: regarder du côté de gpg, système anarchique (sans autorité centrale) et qui fonctionne via un réseau de confiance.

Noter qu’aucun webmail ne peut valablement sécuriser vos e-mails car l’admin du webmail peut être le maillon faible.

Posted in Informations générales, Internet niouzes, Serveurs, Uncategorized | Leave a comment

Coyote, vie privée, croisement d’informations

Je possède un Coyote Mini. Je l’ai branché aujourd’hui sur mon PC d’abord pour recharger la batterie qui montre des signes de faiblesse en ces temps de Covid-19, et puis voyons s’il propose une mise à jour.

Le Coyote est reconnu par le PC comme un stockage, une clé USB.

Je suis très surpris d’y trouver 2 fichiers, un log et un xml, qui contiennent tous les deux le n° de série de ma voiture.

Donc en connectant le Coyote sur un port USB de la voiture, celle-ci a communiqué son n° de chassis (VIN), Coyote le récupère et le retransmet très certainement à la firme Coyote Systems.

Bon, maintenant faut vraiment être con pour voler un Coyote qui est équipé d’un GPS et d’un GSM. On appelle ça un traceur.

Moralité: connectez le moins d’appareils possible au port USB de votre voiture, afin de préserver l’intégrité de la voiture et de l’appareil connecté ; il y a des câbles USB qui ne tranmettent pas les data.

Ou bien utilisez le bon vieil adaptateur sur la prise d’allume cigares.

 

Posted in Informations générales | Leave a comment

Visitez l’Egypte depuis votre salon !

Nos amis du Nautile Evo viennent de partager cette superbe visite virtuelle des tombeaux de la Vallée des Rois.

Visitez l’Egypte depuis votre salon !

Les principaux sites historiques et touristiques égyptiens sont maintenant accessibles en visite virtuelle.

Tombeau de Ramses VI

KV 9 (King Valley) désigne le tombeau du pharaon Ramsès VI, situé dans l’allée principale de la vallée des rois, sur la rive occidentale du Nil face à Louxor.
Chaque pharaon a son propre programme décoratif, résultat de spéculations fondées sur les compositions existantes, et sans doute aussi d’un désir d’originalité. Selon les moyens et surtout le temps dont il dispose avant sa mort, ces décors sont plus ou moins élaborés. Certains se limitent à un seul livre religieux, d’autres présentent des synthèses très élaborées de cinq ou six compositions différentes. C’est le cas de la sépulture de Ramsès VI, une sépulture qu’il a réutilisée, pour des raisons qui restent encore mystérieuses, puisqu’à l’origine elle avait été construite pour Ramsès V.
Lien

Bab Zuweila

L’une des dernières portes de la vieille ville du Caire. Elle date du 11eme siècle. Les deux minarets sont accessibles pour admirer une vue splendide sur le Caire islamique.
Lien

Tombeau de Wahty

Découvert en 2018 ce tombeau de la 5eme dynastie est bien préservé. Les murs colorés montrent des scènes de fabrication de poteries et de vin, des offrandes religieuse, scènes de musique et de chasse.
Lien

Mastaba de la reine Meresankh III

Alors que les pyramides et le Sphinx sont de loin les monuments les plus connus de Guiza, la zone abrite également une énorme nécropole privée, véritable petite ville, composée de mastabas ou de tombes rupestres appartenant à des dignitaires de la IVe dynastie. Hélas, très peu sont ouvertes à la visite, mais en ce mois de Mars 2012, le SCA annonce que la tombe de Meresankh III, fermée jusqu’à présent sauf à disposer d’une autorisation spéciale, va être ouverte au public. La tombe se trouve dans le cimetière de l’est, et présente un intérêt historique et artistique considérable, d’autant que c’est une des mieux préservées de tout le site.
Lien

Tombeau de Bani Hassan

Le site de Beni Hassan, à 18 kilomètres au sud de Al-Minya, réunit sur la rive droite du Nil un ensemble de sépultures princières datant du Moyen Empire.
Parmi ces trente-neuf hypogées de l’immense nécropole creusées dans la falaise, douze présentent des décorations murales d’un grand intérêt qui évoquent des thèmes empruntés à la vie agricole et à l’artisanat. Ces décors, typiques du Moyen Empire, sont particulièrement remarquables dans le tombeau de Khnoumhotep II, nomarque de la XIIe dynastie ; on y observe ainsi une caravane d’Asiatiques, une récolte de figues et une chasse aux canards.
Lien

Synagogue de Ben Ezra

La synagogue ben Ezra du Caire est la plus ancienne d’Égypte. Elle est unique par son mélange d’architecture chrétienne, d’arabesques islamiques, et d’ornements juifs. Elle est aussi particulièrement célèbre pour sa Guenizah (dépôt de textes usagés) qui contenait de très nombreux manuscrits d’importance historique considérable.
Lien

Ecole Coranique du Sultan Barquq

Le complexe du sultan ez-Zahir Barqûq se trouve dans la rue el-Mu’izz li-Din Allah, à côté de la madrasa du sultan en-Nâsir Muhammad. Les travaux, qui durèrent de 1384 à 1386, furent dirigés par l’architecte en chef Shihab ed-Din Ahmad ibn Muhammad el-Tûlûnî, qui appartenait à une famille d’architectes de la cour. Le style de ce monument eut une influence durable sur l’architecture cairote de la première moitié du XVe s.
Lien

Musée Copte

Le musée copte, fondé en 1910 par Marcus Hanna Simaïka Pacha (en) est le plus riche musée du monde en art copte grâce à une collection d’objets, de tissus, d’icônes et de manuscrits dont le cœur comprend des artéfacts produits entre le ive et le xxe siècle. Près de 16 000 pièces, disposées chronologiquement, sont exposées dans douze sections différentes. Le musée abrite la bibliothèque de Nag Hammadi, une collection de textes gnostiques de la période paléochrétienne, retrouvés en 1945, dont le plus célèbre est sans doute le seul exemplaire complet de l’Évangile selon Thomas.
Lien

Tombeau de Mehu

Richement décorée et récemment restaurée, elle est considérée comme l’une des plus belles tombes de la nécropole. Ses murs comportent de nombreuses scènes illustrant la vie quotidienne à l’époque pharaonique y compris des scènes de pêche, de cuisine ou de danse. Autant de merveilles qu’il est donc désormais possible de contempler en se promenant virtuellement dans les couloirs de la structure.
Lien

Posted in Informations générales, Plongée | Leave a comment

Installer un webmail Roundcube sur Debian 10

Chers lecteurs bonjour,

Dans un article précédent j’avais proposé l’installation d’un serveur d’envoi de mail, avec liberté de spécifier l’adresse mail de l’expéditeur et signature DKIM.

Cet article-ci est une continuation et présuppose que vous ayez réalisé ce serveur. Néanmoins tout serveur Debian peut faire l’affaire.

A ce stade on avait installé: Postfix, SASL, OpenDKIM.

Pour le Webmail Roundcube, il faut: un serveur de courrier de type IMAP, un serveur d’envoi SMTP, et pour le logiciel à installer: Apache2, PHP, MySQL/MariaDB, Certbot, Python.

Il faut bien se rendre compte que ce serveur ne contiendra à aucun moment les messages e-mail des utilisateurs, mais bien les carnets d’adresses que ceux-ci auraient constitués sur le webmail ainsi que les préférences d’affichage.

A vous de déterminer votre politique de backup ou l’absence de celle-ci.

Dans l’article précédent j’avais appelé le serveur bazooka.example.com.

Vous avez peut-être envie de “vendre” votre webmail avec un nom plus cohérent, par exemple rc.example.com (rc pour Roundcube)

Dans la zone DNS de example.com, vous ajouterez une entrée, soit un CNAME qui redirige rc vers bazooka, soit une entrée A vers l’adresse IP du serveur.

Testez en faisant:

ping rc.example.com

Je vous livre les commandes à exécuter sur le serveur lui-même pour installer des packages supplémentaires, à partir de l’utilisateur root.

apt-get install apache2 mariadb-server mariadb-client
apt-get install php php-common php-curl php-mysql php-mbstring 
apt-get install php-intl php-imagick php-pear php-ldap php-json php-xml

On va créer un utilisateur ‘rc’ sous lequel le webmail sera installé.

adduser rc (répondez aux questions)

Visitez maintenant le site de Roundcube, et identifiez la dernière version stable dans les downloads. Copiez l’adresse du download “Complete” dans votre presse-papiers, on va en avoir besoin.
Lors de la rédaction de cet article, il s’agit de https://github.com/roundcube/roundcubemail/releases/download/1.4.3/roundcubemail-1.4.3-complete.tar.gz

On va se connecter dans le contexte de l’utilisateur rc, et exécuter une série de commandes:

# su - rc

$ wget https://github.com/roundcube/roundcubemail/releases/download/1.4.3/roundcubemail-1.4.3-complete.tar.gz
$ tar xvfz roundcubemail-1.4.3-complete.tar.gz
$ mv roundcubemail-1.4.3 www

(Roundcube est maintenant dans le sous-dossier www. Vous pouvez un peu investiguer ce dossier, et lire le fichier INSTALL)

Terminez la session de l’utilisateur ‘rc’ avec control-D, on revient dans le shell ‘root’.

On va créer un lien symbolique entre l’emplacement du site web par défaut (/var/www/) et le répertoire www de l’utilisateur ‘rc’ (/home/rc/www/).

cd /var/www
ln -s /home/rc/www rc

On va configurer ce nouveau site dans Apache

cd /etc/apache2/
cd sites-available/
cp 000-default.conf rc.conf

On va éditer ce fichier de configuration rc.conf . J’indique juste les lignes qui ne sont pas des commentaires.

<VirtualHost *:80>
ServerName rc.example.com
ServerAdmin webmaster@example.com
DocumentRoot /var/www/rc
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

puis on l’active:

a2ensite rc
systemctl reload apache2

On le teste via l’adresse http://rc.example.com , on doit recevoir ce message d’erreur:

CONFIGURATION ERROR
config.inc.php was not found.
Please read the INSTALL instructions!

Sous debian, on a un éternel problème de permissions dans la configutation standard. Le serveur web tourne sous l’utilisateur www-data. On va réciproquement partager les groupes de ‘rc’ et ‘www-data’ pour diminuer les problèmes de droits d’accès:

adduser www-data rc
adduser rc www-data
service apache2 restart

Il faut créer une base de données ‘rc’, un utilisateur ‘rc’ et des droits d’accès.

mysql
mysql> CREATE DATABASE `rc`;
CREATE USER 'rc' IDENTIFIED BY 'password';
GRANT USAGE ON *.* TO 'rc'@localhost IDENTIFIED BY 'password';
GRANT ALL privileges ON `rc`.* TO 'rc'@localhost;
FLUSH PRIVILEGES;

Tout devrait maintenant être prêt pour procéder à l’installation du webmail. On a:

  • un serveur SMTP
  • un serveur IMAP
  • une base de données

Comme indiqué dans la documentation de Roundcube, on dirige son navigateur vers http://rc.example.com/installer

tout est ok ? >> [Next]

il faut changer les permissions d’accès aux répertoires temp et logs :

chmod g+rwx /var/www/rc/temp /var/www/rc/logs

Je choisis de ne pas utiliser de Spell checker.

Pour la database choisir: mysql, puis host=localhost, database=rc, user=rc, password.

On peut opter pour un préfixe rc1_ ça peut toujours servir si plusieurs instances devaient partager une base de données.

imap:
POUR OVH: ssl://ssl0.ovh.net  (c’est bien un zéro, pas un O)
POUR GMAIL: ssl://imap.gmail.com (Gmail ne le permet pas sans changer plusieurs réglages au préalable sur son compte Gmail)

smtp:
tls://localhost, port 587 , user: (votre utilisateur créé dans l’article précédent)
décocher: [ ] use the current IMAP username

Ensuite on clique sur [Next]

L’installer propose de télécharger le fichier de configutation généré, téléchargez-le donc, et ouvrez-le avec Notepad (bloc-notes)

Cherchez “smtp_server” et ajoutez les lignes indiquées en rouge:

$config['smtp_server'] = 'tls://localhost';

// SMTP port. Use 25 for cleartext, 465 for Implicit TLS, or 587 for STARTTLS (default)
$config['smtp_port'] = 587;

$config['smtp_conn_options'] = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
), );

// SMTP username (if required) if you use %u as the username Roundcube
// will use the current username for login
$config['smtp_user'] = '...';

// SMTP password (if required) if you use %p as the password Roundcube
// will use the current user's password for login
$config['smtp_pass'] = '...';

Cette modification est rendue nécessaire car le serveur SMTP se présente avec un certificat auto-signé. Sans cette configuration, le client (webmail) échoue lors de la connexion car le certificat n’est pas authentifié par une autorité de certification (CA).

Copiez l’entièreté du fichier de configuration dans votre presse-papiers et recopiez-le sur le serveur comme ceci :

cat > /var/www/rc/config/config.inc.php

puis collez (sous PuttY, c’est un clic droit). Puis faites un retour à la ligne et control-D

Cliquez sur [Next].

La base de données n’est pas initialisée, faites-le en un clic comme proposé.

Testez SMTP en indiquant une adresse d’expéditeur (de préférence configurée dans le chapitre précédent DKIM) et une adresse de destinataire. Le mail doit vous parvenir. Vous pouvez inspecter les en-têtes.

Ou mieux, obtenez une adresse temporaire sur mail-tester.com, envoyez-y un mail et vérifiez votre joli score de 10/10 !

Testez IMAP avec une adresse complète et son mot de passe.

Il nous reste quelques petits détails à régler. Par défaut PHP ne permet que des uploads de 2 mégabytes, c’est bien trop peu pour un webmail. Je propose 40 MB.

Dans le fichier /etc/php/7.3/apache2/php.ini, recherchez ces 2 lignes et augmentez leur valeur:

upload_max_filesize = 40M    #(au lieu de 2M)
post_max_size = 48M          #(au lieu de 8M)

et redémarrez Apache:

service apache2 restart

Maintenant que tout fonctionne, il manque quelque chose d’essentiel: https ?

apt-get install certbot python-certbot-apache
certbot --apache

Cette machine est encore presque vierge. On ne prend pas de risque à laisser Certbot faire automatiquement les modifications.

Après avoir accepté les termes de licence, donnez une adresse mail réelle, puis indiquez le nom du site web à protéger, en donnant son numéro dans la liste proposée. Vous pouvez opter de rediriger la version http vers https, n’hésitez pas à le faire. Ca fonctionne.

Certbot va s’occuper de regénérer automatiquement votre certificat tous les deux à trois mois.

Vous pouvez vérifier que le processus de mise à jour est opérationnel:

certbot renew --dry-run

Happy Webmail !

 

Posted in Internet niouzes, Serveurs, Utilitaires | Leave a comment

La fraude au Président, c’est quoi ?

Non ici le Président n’est pas un fromage.

Des truands grattent le web pour y trouver de préférence des grosses sociétés bien friquées, analysent qui sont les administrateurs, et envoient un mail au comptable/trésorier en se faisant passer pour le président, en demandant de faire un virement de toute urgence.

Il se fait que je suis trésorier d’un club de plongée sous-marine, on est une association sans but lucratif (ASBL) ce qui serait peut-être une association-loi 1901 en France.

Depuis le premier mail je ne suis évidemment pas dupe.


Subject: Bonjour
Date: Tue, 10 Mar 2020 02:53:05 -0400
From: M… L… <president@s….be>
Reply-To: M… L… <presidence@tuta.io>
To: f…@d….net

Pouvez-vous effectuer un transfert bancaire aujourd’hui ?
Merci de me confirmer.

Envoyé depuis mon téléphone


(On va un peu jouer avec ses pieds)

Subject: Re: Bonjour
Date: Tue, 10 Mar 2020 08:04:56 +0100

de quoi s’agit-il ?


Subject: Bonjour
Date: Tue, 10 Mar 2020 03:17:28 -0400
From: M… L… <president@s….be>
Reply-To: M… L… <presidence@tuta.io>
To: f…@d….net

N° de compte
I B A N: IT30O3608105138240954040961 (B I C: BPPIITRRXXX)
Numéro de compte bancaire: 240954040961
Bénéficiaire: Juliet EROMENO
Banque bénéficiaire: POSTEPAY S.P.A
Adresse: VIA MOLISE 15 8O142 NAPOLI NAPLES. ITALIE.

Pour services informatiques, dispositifs, matériel de communication et fournitures de bureau

Montant: 5800,00 EUR

Veuillez envoyer les preuve de paiement à Mme Juliet (e.juliet@adexec.com) une fois le versement effectué.

Envoyé depuis mon téléphone


Subject: Re: Bonjour
Date: Tue, 10 Mar 2020 09:08:01 +0100
From: F… (moi)
To: M… <presidence@tuta.io>

J’ai pas mon digipass avec moi et ce compte n’est pas dans mes favoris.
Pourquoi tu n’en as pas parlé a la réunion de jeudi ?

Sent from my Android device with K-9 Mail. Please excuse my brevity.


Subject: Bonjour
Date: Tue, 10 Mar 2020 04:23:48 -0400
From: M… L… <president@s….be>
Reply-To: M… L… <presidence@tuta.io>
To: f…@d….net

Effectuer le paiement. Nous en discuterons lors de la prochaine réunion.

Envoyé depuis mon téléphone


(on a assez joué)

Subject: Re: Bonjour
Date: Tue, 10 Mar 2020 10:05:17 +0100
From: Frederic …
To: M… <presidence@tuta.io>

Je t’appelle

Sent from my Android device with K-9 Mail. Please excuse my brevity.


Après ce dernier mail, bien sûr silence radio.

Pour ses mails envoyés, le truand semble avoir piraté le compte d’un webmail d’une société de construction au Qatar, et passe par un service d’envoi SMTP chez un hébergeur cloud. Il se fait envoyer les réponses à une adresse chez Tutanota (tuta.io) et y réagit. Malgré cela, ça m’étonnerait qu’on le pince.

Posted in Informations générales, Internet niouzes | Leave a comment

Serveur mail d’envoi + signature DKIM + liberté de choix d’adresse de l’expéditeur

On entend souvent les clients OVH se plaindre à propos du mail:

  • envoi compliqué, soumis à des quotas par heure et par IP
  • réputation médiocre des serveurs d’envoi partagés avec les autres clients
  • selon l’offre d’hébergement, impossible d’envoyer un mail à partir d’un alias ou adresse de redirection
  • absence de signature DKIM
  • mails envoyés qui disparaissent parfois, et aucun moyen de les retracer
  • webmail roundcube remplacé par Outlook Web (les choix ça ne se discute pas)

Dans ce tuto pas à pas, je vous propose de réaliser un serveur mail ayant les fonctionnalités suivantes:

  • envoi uniquement
  • pas de réception de mail (donc pas de problématique de filtrage du spam, etc)
  • pas d’hébergement de boîtes mail (le serveur ne contient aucune donnée à conserver)
  • c’est “votre serveur”, donc une adresse IP dédiée dont la réputation ne tient qu’à vous
  • soumission de mail uniquement via TLS sur le port 587 pour les utilisateurs autorisés.
  • Le port 25 est fermé.
  • le login d’authentification n’est pas relié à l’adresse mail de l’expéditeur
  • ajout de la signature DKIM pour un ou plusieurs domaines
  • accès aux fichiers log permettant un diagnostic (livraison ? refus ? etc)
  • En option, installation d’un serveur webmail roundcube, les messages restant sur le serveur IMAP. C’est publié ici !

Le tuto est réalisé sur la base d’un serveur VPS à 3€ TVAC par mois, loué au mois sans engagement, chez le fournisseur Hetzner. Il a un processeur 1 coeur, 20 GB de disque, 2 GB de RAM. C’est largement suffisant pour ce qu’on veut en faire. Vous avez le choix du fournisseur de cloud VPS. Il faut un VPS où vous avez le droit ‘root’.

Au niveau logiciel, debian 10.3, postfix, sasl, opendkim.

Il faut baptiser ce serveur (lui donner un nom complet dans un de vos domaines). Je déconseille formellement les nouveaux noms de domaines .site, .xyz, .pro, .bid, .best et autres, aussi bien dans le nom du serveur que dans les adresses mail d’expéditeur. Ces suffixes sont trop abusés par les spammeurs.

Appelons notre serveur bazooka.example.com dans la suite.

Supposons que vous avez 2 clients Tom et Jerry qui doivent recevoir chacun un login pour pouvoir envoyer des mails via ce serveur. Vous devez avoir confiance dans vos clients. Si l’un d’eux se met à spammer, il va pourrir la réputation de l’adresse IP de votre serveur.

Tom possède 2 domaines asteryx.be et obelyx.be dont les mails sortants devront être signés DKIM en sortie par notre serveur. (à la date de rédaction, ces 2 domaines sont libres)

Au niveau DNS, on devra

  • ajouter une entrée A pour bazooka.example.com. La mise à jour se fait dans la zone DNS là où le domaine example.com est hébergé.
  • mettre à jour le reverse (une entrée PTR) liée au serveur VPS. Cette mise à jour se fait chez le fournisseur du VPS et doit intervenir après l’étape précédente. N’oubliez pas de faire de même pour votre adresse IPv6 le cas échéant. C’est nécessaire pour le mail sortant.
  • ajouter une entrée TXT pour chacune des clés publiques DKIM. Cette mise à jour se fait par Tom ou son prestataire, auprès de l’hébergeur des domaines asteryx.be et obelyx.be.
  • Si vos domaines ont un enregistrement SPF, n’oubliez pas d’y ajouter l’adresse IP de votre nouveau serveur sous la forme IP4:123.45.67.89 . Idem pour l’adresse IPv6.

Hop à vos claviers ! Vous êtes supposé être capable d’utiliser ssh, putty, vi ou nano, et les commandes basiques.

Le serveur VPS est livré avec Debian 10 “tout nu”.

Commencez par changer le mot de passe de ‘root’, minimum 10 caractères, lisez mon article : Votre mot de passe est-il sûr ? .
Ou mieux, abandonner les bons vieux mots de passe au profit des clés ssh.

Mise à jour du système

apt-get update && apt-get dist-upgrade

Une petite parenthèse ici: si vous ne souhaitez pas que l’éditeur vi fasse de l’analyse syntaxique en couleurs, tapez la commande suivante:

echo syntax off >> ~/.vimrc

On va indiquer le nom du serveur, en éditant /etc/hostname : mettre le nom complet bazooka.example.com ; et /etc/hosts  : à côté de l’adresse IP remplacer l’ancien nom par le nom complet, un espace, puis le nom court:

123.45.67.89 bazooka.example.com bazooka

Définition de notre fuseau horaire:

dpkg-reconfigure tzdata

Un reboot à ce stade ne fait pas de tort: “reboot” ou “shutdown -r now”.
Ensuite on va installer les packages qui nous intéressent, d’abord nos boîtes à outils:

apt-get install whois at telnet ntp mailutils dnsutils

et ensuite

apt-get install postfix

Cette installation pose une question. Il faut dire qu’il s’agit d’un “internet site” et renseigner le nom de ce serveur: bazooka.example.com

On continue:

apt-get install sasl2-bin libsasl2-modules

Comment cela fonctionne-t-il ?

Postfix transporte du mail mais ne gère pas l’authentification des utilisateurs. Pour cela on fait appel à un “sous-traitant” nommé SASL, une librairie qui sert exclusivement à cela.

Installation de SASL

Dans notre serveur, SASL validera sur base d’un compte Unix.
Configuration de SASL, on édite le fichier /etc/default/saslauthd

On change la ligne:
START=yes
Remarquez MECHANISMS=”pam” qui indique l’utilisation du compte Unix

et la dernière ligne doit être remplacée par:

OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"

Sauvez le fichier.

On doit mettre Postfix dans le groupe SASL pour pouvoir avoir accès au socket de communication inter-processus.

adduser postfix sasl

et on redémarre le démon:
service saslauthd restart

On crée un compte pour tom

adduser tom
(-> répondre aux questions )

chsh tom
(-> répondre: /usr/sbin/nologin )

On vérifie que SASL est capable de valider le login/pass de Tom:

testsaslauthd -u tom -p goodpassword -f /var/spool/postfix/var/run/saslauthd/mux
0: OK "Success."
testsaslauthd -u tom -p badpassword -f /var/spool/postfix/var/run/saslauthd/mux
0: NO "authentication failed"

On fait de même pour jerry.

Configuration de Postfix

Postfix s’appuie essentiellement sur deux fichiers /etc/postfix/master.cf et /etc/postfix/main.cf.

Editez /etc/postfix/master.cf pour apporter les modifications suivantes:

  • Mettez en commentaire la ligne qui commence par “smtp”. Ceci empêchera la réception de mail sur notre serveur.
  • Décommentez la ligne qui commence par #submission ainsi que la dizaine de lignes de continuation qui suivent.

Editez /etc/postfix/main.cf  et ajoutez ce bloc de lignes, mettez-le par exemple en-dessous des paramètres TLS

# suggéré via blog.demees.net
smtpd_restriction_classes = mua_sender_restrictions, mua_client_restrictions, mua_helo_restrictions
mua_client_restrictions = permit_sasl_authenticated, reject
mua_sender_restrictions = permit_sasl_authenticated, reject
mua_helo_restrictions = permit_mynetworks, reject_non_fqdn_hostname, reject_invalid_hostname, permit
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
smtp_tls_security_level = may
message_size_limit = 40960000

Plus bas, vérifiez que la ligne “myhostname=” contient bien le nom complet du serveur, par exemple bazooka.example.com.

Il faut relier Postfix avec le démon saslauthd, via le fichier /etc/postfix/sasl/smtpd.conf :

pwcheck_method: saslauthd
mech_list: PLAIN LOGIN

Sauvez, et puis tapez la commande: postfix reload

A ce stade le serveur mail est opérationnel, mais sans DKIM.

Installation de OpenDKIM

Comme pour SASL, l’ajout de DKIM se fait par un module complémentaire.

Postfix et DKIM vont communiquer par un “socket” TCP n° 12301 choisi arbitrairement et que vous pouvez altérer à votre guise, des deux côtés de la configuration.

apt-get install opendkim opendkim-tools

A nouveau, on va éditer les fichiers de configuration, puis créer des clés pour les domaines dont il faut authentifier les mails.

Edition de /etc/opendkim.conf

On va ajouter tout un bloc de paramètres, et s’assurer de bien désactiver (mettre en commentaire) toute instruction contradictoire déjà présente.

# suggéré via blog.demees.net, inspiré d'un tuto sur Digitalocean
AutoRestart Yes
AutoRestartRate 10/1h
UMask 002
Syslog yes
SyslogSuccess Yes
LogWhy Yes
Canonicalization relaxed/simple
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
Mode s
PidFile /var/run/opendkim/opendkim.pid
SignatureAlgorithm rsa-sha256
UserID opendkim:opendkim
Socket inet:12301@localhost

Edition de /etc/default/opendkim : une seule ligne “SOCKET” doit subsister comme ceci. Les autres lignes “SOCKET=”doivent être mises en commentaire.

SOCKET=inet:12301@localhost

On doit encore ajouter quelques lignes à la configuration de Postfix pour lui indiquer comment communiquer avec OpenDKIM.

Ajoutez ces lignes dans /etc/postfix/main.cf, par exemple juste en-dessous de celles qu’on a ajoutées précédemment:

#OpenDKIM
milter_protocol = 2
milter_default_action = accept
smtpd_milters = inet:localhost:12301
non_smtpd_milters = inet:localhost:12301

On a encore du travail avec OpenDKIM

mkdir /etc/opendkim
mkdir /etc/opendkim/keys

On va créer une paire de clés par domaine. J’explique pour asteryx.be, il en est de même pour obelyx.be.

cd /etc/opendkim/keys
mkdir asteryx.be && cd asteryx.be
opendkim-genkey -s selector1 -d asteryx.be
chown opendkim:opendkim selector1.private

Il en résulte deux fichiers: selector1.private (clé privée à garder précieusement) et selector1.txt (clé publique à publier via DNS)

On va encore créer les fichiers suivants dans /etc/opendkim :

/etc/opendkim/TrustedHosts

127.0.0.1
localhost
192.168.0.1/24
#*.example.com

/etc/opendkim/SigningTable

*@asteryx.be selector1._domainkey.asteryx.be
*@obelyx.be selector2._domainkey.obelyx.be

/etc/opendkim/KeyTable

selector1._domainkey.asteryx.be asteryx.be:selector1:/etc/opendkim/keys/asteryx.be/selector1.private
selector2._domainkey.obelyx.be obelyx.be:selector2:/etc/opendkim/keys/obelyx.be/selector2.private

selector1 et selector2 sont des exemples, vous pouvez mettre ce que vous voulez en format alphanumérique, ce peut être bazooka, mail, mars2020. Il faut juste que ça corresponde avec l’entrée DNS que vous allez créer.

Vous transmettez le fichier asteryx.be/selector1.txt à l’administrateur du domaine asteryx.be. Celui-ci doit s’arranger pour ajouter cette clé publique dans un enregistrement TXT de sa zone DNS. Ca peut se trouver un peu compliqué car le contenu du champ est assez long. Parfois on doit passer par une édition en mode texte pour ajouter un tel enregistrement. La clé publique à publier dans DNS se trouve dans le fichier selector1.txt .

Voici un exemple avec k3 comme nom de selecteur et le nom de domaine fdm.ovh.

root@k3:/etc/opendkim/keys/fdm.ovh# cat k3.txt
k3._domainkey   IN      TXT     ( "v=DKIM1; h=sha256; k=rsa; "
          "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuWfTdOfeAXRt7nZkRSy46JWpk6mTC1vPtvUVdEQmYv+fzHesqWxtV8Ww7uq8L63p2L6OU8p61Deslodj3YjFL8vw9nVgt3/I1igPaPMuRcbHaM4WQnjOw6exP+U8qMTZEIpTgByowmmIruWXx/60QamRWGxdBxEWR9wZAgMZNYlVuafR+HjcdS1m2sVZqNSPFqx/q1E8ZnAyHI"
          "L0rQ7/qtIMHAB4MlK/eVvPPmGvx4djlaQJpCZfgMDdg0dzJMMvUMu37csCQcW/2XkoSOm6N2GlCEvKeYA2fZ66sKPKR3RhIuPZR/XHwLM/2fcsuUu6A/NiMSW1okmt/prI1xNaIQIDAQAB" )  ; ----- DKIM key k3 for fdm.ovh

après importation réussie dans DNS vous pouvez vérifier avec la commende dig, tout est sur une ligne. La commande nslookup peut vous présenter la réponse en plusieurs lignes où chaque morceau est encadré avec des apostrophes (“).

# dig +short k3._domainkey.fdm.ovh txt
"v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuWfTdOfeAXRt7nZkRSy46JWpk6mTC1vPtvUVdEQmYv+fzHesqWxtV8Ww7uq8L63p2L6OU8p61Deslodj3YjFL8vw9nVgt3/I1igPaPMuRcbHaM4WQnjOw6exP+U8qMTZEIpTgByowmmIruWXx/60QamRWGxdBxEWR9wZAgMZNYlVuafR+H" "jcdS1m2sVZqNSPFqx/q1E8ZnAyHIL0rQ7/qtIMHAB4MlK/eVvPPmGvx4djlaQJpCZfgMDdg0dzJMMvUMu37csCQcW/2XkoSOm6N2GlCEvKeYA2fZ66sKPKR3RhIuPZR/XHwLM/2fcsuUu6A/NiMSW1okmt/prI1xNaIQIDAQAB"

C:\> nslookup -q=txt selector3._domainkey.fdm.ovh
Server:  s.home.local
Address:  192.168.99.2

Non-authoritative answer:
selector3._domainkey.fdm.ovh    text =

        "v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA16O6zg653ZlnH6gSj+XcW1+bM07qXMuQ3dOOkcCgUQ6xAOMe+EtlMSGs7SdvcCG5PM7d0G3VxZx2CpXU56M3pa3/j7yV3CE2Iq+YEKeNoo/rdiTD5wbGnGmcIOxrLKfzUQoGGdfLjXt8L0OBaFa5xjamZQk/bjz+zIWRKEoXpG95N2VbAU"
        "U1oR3wbLzwuz6W2KOViP1ihK5/iIUbNBKPOF/Ue6lz8bZuSVJc54+PWdHxv/t+E51wvErFHpoFEVNnCdFbLZWL6fZ0pGdFKIv1sllKNhHw1orwGi/4UGuitLtnRsPIw2qjFXWC8XKDUrVKUDxf0i3I9wK9LEXBp63e9QIDAQAB"

Pour être certain que tout est bien réalisé et que tout redémarre de manière ordonnée, faites un reboot (toujours avec la commande “reboot” ou la commande “shutdown -r” ; jamais via le panneau d’administration de votre cloud ! jamais en tirant la prise !)

Enfin il nous reste une petite intervention à faire: si le serveur doit envoyer des mails à postmaster ou root, vous souhaitez les recevoir sur votre adresse habituelle.

Editez le fichier /etc/aliases, ajoutez une ligne

root: moi@example.net

sauvez et tapez la commande : newaliases.
Faites un test avec la commande: “echo test|mail root”

Ceci termine l’installation du serveur mail.
La maintenance est minimale. Par défaut Debian fait le ménage régulier des fichiers log pour que le disque ne se remplisse pas. Le serveur est peu vulnérable aux attaques si les mots de passe sont bien choisis.

Configuration de votre logiciel client

Dans votre client mail, par exemple Thunderbird, vous configurez un nouveau serveur d’envoi avec les paramètres suivants:

Thuderbird SMTP settings

Le mot de passe sera demandé lors de la première utilisation.

Et le webmail Roundcube ?

Je vous l’avais annoncé en titre. Avec le confinement du Coronavirus, j’ai trouvé le temps de rédiger cet article ! C’est par ici …

 

Posted in Internet niouzes, Serveurs | 5 Comments

Votre mot de passe est-il sûr ?

Des listes de mots de passe circulent sur internet.

Plusieurs sites proposent ces dictionnaires en téléchargement, par exemple https://crackstation.net/

Pour voir si votre “excellent mot de passe” existe dans cette liste, cela se fait en deux temps.

  1. calculez le hash sha-256 de votre mot de passe. Le hash est une procédé irréversible qui ne permet pas de reconstituer ce qui a été hashé.
  2. présentez ce hash au site en question. S’il vous rend le mot de passe non hashé, c’est qu’il se trouve dans son dictionnaire, et est donc à déconseiller.

Pour calculez le hash d’un fichier, il y a des sites web par dizaines. Par exemple https://xorbin.com/tools/sha256-hash-calculator

Si vous ne voulez pas soumettre votre secret à un site inconnu, utilisez votre linux favori:

# echo -n “p@ssword”|sha256sum
0fd205965ce169b5c023282bb5fa2e239b6716726db5defaa8ceff225be805dc –

Puis vous allez sur crackstation.net et vous introduisez le hash (sans le “-” final)

Il vous restitue instantanément p@ssword car il est dans son dictionnaire.

Posted in Informations générales, Internet niouzes, Serveurs, Utilitaires | Leave a comment