Apache, WordPress et redirections

Pour bien commencer l’année 2017, j’ai décidé de remettre le nez dans la configuration Apache du site. Lorsque j’avais installé WordPress pour créer Unicoda en 2012, j’avais renseigné les deux paramètres « Adresse web de WordPress (URL) » et « Adresse web du site (URL) » dans les réglages généraux avec « http://www.unicoda.com ». Du côté de la conf Apache, j’avais indiqué que le serveur répondrai avec le contenu du WordPress pour unicoda.com et www.unicoda.com bien entendu.

Un beau jour, j’ai fini par remarquer qu’en tentant d’accéder au site via unicoda.com, j’étais redirigé vers www.unicoda.com. Cette redirection étant effectuée par WordPress lorsque celui-ci constate que l’url ne correspond pas à l’adresse configurée. Autant vous dire que celle-ci n’était pas des plus rapides. J’ai donc décidé en ce début d’année d’améliorer le processus de redirection en l’effectuant directement au niveau d’Apache.

En modifiant mes fichiers de configuration, j’ai donc ajouté une redirection de unicoda.com vers www.unicoda.com sur les deux protocoles http et https. Désormais, j’ai donc un virtualhost spécifique pour unicoda.com, en lieu et place d’une déclaration comme « ServerAlias » de www.unicoda.com dans un seul fichier de configuration. Le résultat est sans appel puisque la redirection prend désormais 100 ms environ alors qu’elle était de l’ordre de la seconde avant. Si je me base sur un test effectué via gtmetrix, on passe de 2,57 s à 325 ms, presque un facteur 8 (7,9) ! Le gain en rapidité n’est donc pas négligeable.

Pour ce qui est de la redirection http, la configuration est relativement simple :

<VirtualHost *:80>
    ServerName unicoda.com
    Redirect permanent / http://www.unicoda.com
</VirtualHost>

Et enfin, cerise sur le gâteau, l’opération s’est déroulé sans accro après rechargement de la nouvelle configuration par le processus Apache. En  somme, c’est donc une année 2017 qui commence plutôt bien.

Pourquoi j’ai migré ma boîte mail

Pendant longtemps, mon adresse mail principale a été gérée par le FAI de la famille; une adresse en @neuf.fr en l’occurrence. J’ai jonglé et jongle encore entre plusieurs adresses mails, en fonction des cas et des besoins. Je crois que j’ai pris conscience de l’importance de l’adresse mail que l’on communique (la principale, pas celle pour le spam), le jour où, en pleine recherche de stage, le serveur mail de mon école d’ingénieur s’est écroulé et est resté inaccessible pendant une petite semaine. Pas terrible, lorsque l’adresse mail qui figure sur votre CV retourne un mail d’erreur technique. On reste heureusement joignable par l’intermédiaire plus traditionnel du téléphone. Bref, dans les deux jours qui suivaient, j’avais changé l’adresse mail de mon CV par mon adresse principale FAI.

Et voilà qu’il y a de cela deux années, la question est revenue sur le devant la table. Après avoir repris le contrôle sur un certain nombre de mes données en hébergeant mes propres services, je me suis tourné vers le problème de l’adresse mail. Il faut savoir qu’en France, une adresse FAI n’est pas immuable. Tant qu’on reste chez ce FAI, pas de problème, mais dès lors que l’on résilie son abonnement, les risques apparaissent. En effet, en cas de résiliation, le fournisseur a l’obligation légale de maintenir l’accès à l’adresse pour une durée de 6 mois. Après 6 mois, la décision de conserver l’adresse mail ou de la supprimer pour pouvoir la réattribuer est à la discrétion de l’opérateur. En règle générale, les pratiques diffèrent donc d’un fournisseur à l’autre, certains garantissent la pérennité de l’adresse sans limite de temps, d’autres avec condition « d’activité » par période de 6 mois. Il est donc préférable d’éviter d’utiliser une adresse mail FAI comme adresse principale de contact, sachant que l’on peut être amené à changer de fournisseur pour l’une ou l’autre raisons.

Se pose également la question de la confiance. Bien évidemment, les mails que nous envoyons transitent en clair sur le réseau, et si les communications peuvent être éventuellement chiffrés entre les serveurs par lesquels le mail passera, celui-ci reste en clair au niveau de chaque serveur le temps d’être transféré vers le serveur suivant. On s’intéresse davantage ici à la confidentialité des données. En clair, dans quelle mesure faisons-nous confiance à l’hébergeur de notre adresse pour que celui-ci ne consulte pas le contenu de nos mails entrants et sortants; comme le fait Google à l’aide d’algorithmes pour proposer de la publicité ciblée dans son interface web ?

Ayant réfléchi à de nombreuses reprises, à l’hébergement de mon propre serveur mail, mais l’ayant toujours repoussé pour divers raisons (relative complexité, gestion du spam, mise en liste blanche de l’IP du serveur, redondance en cas de panne ou d’indisponibilité…), je me suis tourné vers une solution intermédiaire : prendre un nouveau nom de domaine chez un hébergeur proposant une solution mail associée. Ainsi, j’obtiens le premier maillon, le nom de domaine et peux par la suite rediriger les mails vers mon propre serveur. J’ai donc enregistré un nom de domaine chez Gandi puisque leur offre inclut la possibilité de créer 5 boîtes mail pour 1Go d’espace total partagé, redirection, alias, antivirus et anti-spam, avec possibilité de passer sur une offre payante spécifique pour le mail. Cette solution permet également d’envisager si nécessaire, le passage vers une offre payante chez ProtonMail, avec gestion de nom de domaine personnalisé.

Voici quelques points que j’ai noté pour mon changement d’adresse mail :

  • Ne pas se précipiter, prendre son temps. Cela ne sert à rien d’espérer tout changer en quelques jours, il faudra du temps pour s’assurer que nos contacts utilisent notre nouvelle adresse.
  • Migrer progressivement tous les comptes vers la nouvelle adresse. En effectuant la migration sur plusieurs mois, on constate au fur et à mesure quels services ne disposent pas de la nouvelle adresse.
  • Éventuellement et si possible, mettre en place un message de réponse automatique sur l’ancienne adresse pour indiquer le changement d’adresse.

Par ailleurs, ce travail de migration se trouve grandement simplifié lorsqu’on possède déjà la liste de ses comptes dans un Keepass ou équivalent. On connaît alors tous les endroits où le changement d’adresse est à effectuer; mais en contrepartie, toutes les entrées utilisant l’ancienne adresse sont à mettre à jour.

La question essentielle à se poser me semble être : « A qui puis-je faire confiance pour gérer mes mails et dans quelle mesure ? ».

PS: Reste toujours le même problème que si l’un de nos contacts à son adresse chez un fournisseur auquel nous ne faisons pas confiance, celui-ci dispose tout de même d’une copie de nos échanges. (A moins de chiffrer évidemment).

[WordPress] Désactivation des polices d’écriture Google

J’y pensais depuis un certain temps, ce soir c’est chose faite : les polices d’écriture ou « Google Fonts » sont à présent désactivées sur ce WordPress. Désormais, plus de requêtes vers Google pour récupérer ces éléments à chaque visite.

La manipulation est simple à effectuer, il suffit d’installer l’extension « Disable Google Fonts » et l’effet est alors immédiat.

Si je regarde les chargements externes encore présent sur Unicoda, je trouve Gravatar, bien évidemment, et Youtube lorsque j’ajoute une vidéo à un billet. Pour Gravatar, la solution me semble relativement simple, soit je désactive la fonctionnalité, soit je trouve un plugin permettant de mettre en cache côté serveur les images issues de Gravatar. Pour les vidéos, c’est à première vue plus compliqué si on souhaite garder l’intégration et ne pas remplacer celle-ci par un simple lien sur la page. Bref, des sujets périphériques à creuser, mais qui touche à la surveillance indirecte imposée aux utilisateurs par le chargement d’éléments externes.

Bloquer une IP avec iptables

Depuis deux jours, un petit malin (quarante-six point cent soixante-douze point quatre-vingt-onze point quinze) tente sans succès des injections SQL sur le serveur via WordPress. Félicitations à lui, il gagne un blocage IP!

Pour bloquer une IP avec iptables, on utilisera donc la commande suivante:

iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP

Dans ce cas-là, c’est un blocage total qui sera effectué. Il est possible d’être plus précis pour ne bloquer qu’un port particulier pour un protocole spécifique avec les options, respectivement, --destination-port et -p. Ce qui nous donne par exemple pour le port 80 sur tcp :

iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --destination-port 80 -j DROP

Enfin, si éventuellement, on se décide à débloquer l’adresse IP, l’option -D à la place de -A fera l’affaire :

iptables -D INPUT -s xxx.xxx.xxx.xxx -j DROP

À noter également la commande permettant de visualiser les règles iptables configurées :

iptables -L

Bloquer une IP est une solution facile à mettre en œuvre et (très) efficace. Si de telles attaques devaient reprendre depuis une autre IP, je me verrais dans l’obligation de créer une règle fail2ban afin de bloquer dynamiquement les nouvelles tentatives d’attaque.

 

On dit chiffrer (!)

Je lisais cet été le roman Légion: A fleur de peau de Brandon Sanderson. Pas spécialement long, 222 pages, mais divertissant. A la lecture, plusieurs passages m’ont interpellé, puisque la traduction française n’utilise pas les termes corrects pour parler de chiffrement. Extrait page 59:

Tous les gens qui travaillent ici sont censés crypter les données qu’ils stockent dans leurs cellules. Vous avez entendu parler des masques jetables ? – Bien sûr, répondis-je. C’est un système de cryptage aléatoire qui nécessite une clé unique pour le décoder. Il est censé être incassable. – Mathématiquement, c’est la seule forme de cryptage incassable, précisa Yol. […] La politique de l’entreprise insistait sur ce cryptage – avant d’injecter des données dans leur corps, ils les cryptaient à l’aide d’une clé unique. Ensuite, pour lire ces données, il fallait disposer de cette clé. Malheureusement, nous ne savons pas celle dont Panos s’est servi. – A supposer qu’il se soit conformé à cette politique et qu’il ait bien crypté les données.

Plus loin page 61 :

Trouver la clé de décryptage ne suffira pas, lança Yol derrière moi. Nous ignorons combien de copies il en existe – à supposer même que Panos ait suivi le protocole de cryptage.

Vous l’aurez compris, des données ont disparu et le narrateur est chargé de les retrouver. Celui-ci va donc se documenter sur la cryptographie, nous pouvons donc lire à la page 72 :

Les deux disciplines évoluaient dans le même domaine, et certains des livres que j’avais parcourus évoquaient des méthodes de déchiffrage consistant à remarquer les changements qui pouvaient survenir dans une écriture et comment, par exemple, la façon d’orienter les barres de ses t pouvait transmettre des informations cachées.

Les deux disciplines évoquaient ici sont, vous l’aurez peut-être deviné, la graphologie et la cryptographie. Le mot qui interpelle ici est déchiffrage, néanmoins, notre site de référence chiffrer.info ne précise rien à son sujet. Si chiffrage est bien sûr exclu, il peut sembler logique qu’il en soit de même pour déchiffrage. Sur ce point, le dictionnaire de l’Académie Française ne semble pas le connaître, je pense que nous pouvons donc lui préférer le terme de déchiffrement.

Le terme revient à la page 181 :

Ton frère possédait une clé de déchiffrage, déclarai-je, qui permettrait de décrypter les informations stockées dans son corps.
[…]
– Une clé de déchiffrage ?

Rebelote page 218, il faut noter tout de même le bon usage ici du terme « déchiffrer ». Attention, texte très tronqué pour éviter au maximum tout indice quant au dénouement :

Mais j’ai terminé de déchiffrer ça.
[…]
La […] clé […] destinée à décrypter les données […].[…], crypté lui aussi.

Pour terminer cet article, voici donc les passages ci-dessus modifiés pour utiliser les termes corrects :

  • Page 59

    Tous les gens qui travaillent ici sont censés chiffrer les données qu’ils stockent dans leurs cellules. Vous avez entendu parler des masques jetables ? – Bien sûr, répondis-je. C’est un système de chiffrement aléatoire qui nécessite une clé unique pour le décoder. Il est censé être incassable. – Mathématiquement, c’est la seule forme de chiffrement incassable, précisa Yol. […] La politique de l’entreprise insistait sur ce chiffrement – avant d’injecter des données dans leur corps, ils les chiffraient à l’aide d’une clé unique. Ensuite, pour lire ces données, il fallait disposer de cette clé. Malheureusement, nous ne savons pas celle dont Panos s’est servi. – A supposer qu’il se soit conformé à cette politique et qu’il ait bien chiffré les données.

  • Page 61

    Trouver la clé de déchiffrement ne suffira pas, lança Yol derrière moi. Nous ignorons combien de copies il en existe – à supposer même que Panos ait suivi le protocole de chiffrement.

  • Page 72

    Les deux disciplines évoluaient dans le même domaine, et certains des livres que j’avais parcourus évoquaient des méthodes de déchiffrement consistant à remarquer les changements qui pouvaient survenir dans une écriture et comment, par exemple, la façon d’orienter les barres de ses t pouvait transmettre des informations cachées.

  • Page 181

    Ton frère possédait une clé de déchiffrement, déclarai-je, qui permettrait de déchiffrer les informations stockées dans son corps.
    […]
    – Une clé de déchiffrement ?

  • Page 218

    Mais j’ai terminé de déchiffrer ça.
    […] La […] clé […] destinée à déchiffrer les données […].
    […], chiffré lui aussi.