vendredi 4 août 2017

La programmation en C++...

La programmation en C++ chez les industriels est comme le sexe chez
les adolescents :
- tout le monde y pense ;
- tout le monde en parle ;
- tout le monde croit que le voisin le fait ;
- presque personne ne le fait.
Ceux qui le font :
- le font mal ;
- pensent que la prochaine fois ce sera mieux ;
- ne prennent pas de précautions.

lundi 1 février 2016

Quand les certificats deviennent gratuits

Bonjour,

J'ai découvert, il y a quelque temps de cela, un article concernant Let's Encrypt. Ce projet open source est très intéressant, car il va certainement changer la donne dans le monde des certificats du Web. D'ailleurs de très gros acteurs de la toile sont partenaire du projet. Bien qu'opérationnel, à l'heure ou j'écris ces lignes, le projet est encore en phase beta. Google est bien resté en phase bêta pendant plusieurs années...
Pour ma part, je l'utilise en production.

Beaucoup d'hébergeur, vont, par l’intermédiaire de Let's Encrypt, fournir des certificats pour leurs sites hébergés. Maintenant, si vous possédez un serveur dédié ou virtuel, il va falloir le mettre en place vous même.

Je profite de ma récente mise en place de Let's Encrypt, pour vous expliquer son installation. Vous verrez, c'est d'une simplicité enfantine, surtout si vous possédez un système à jour !

Je ne vous parlerais pas de l’intérêt des certificats. Un petit cadenas vert sur certains sites, Edward Snowden, les dernières recommandations de Google pour l'indexation des sites HTTPS. Tout ces termes devraient vous mettre la puce à l'oreille, même si vous suivez l'actualité de très très loin.

Tout d'abord, Let's Encrypt sert à 2 choses. La première consiste à générer gratuitement des certificats SSL/TLS et la seconde, à les renouveler. Vous pourrez également gérer les révocations des certificats.

Pour information, Let's Encrypt est codé en Python. Actuellement, il n'existe pas de package .RPM ou .DEB. Donc, il va falloir récupérer le code directement depuis Github avec GIT.
Le package est accessible via RPM dans le dépot EPEL ou sinon vous pouvez le récupérer via GIT.

Installation via RPM : il vous suffit de taper yum install letsencrypt

Installation via GIT : Connectez-vous en root sur votre serveur. Si vous n'avez pas GIT, installez-le (ex: yum install git ou apt-get install git), puis récupérer le projet sur votre machine et déposez-le dans un espace à part (ex: /opt/letsencrypt) en faisant :

git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt

Avant de poursuivre, assurez-vous d'avoir autorisé l'accès aux dépôts EPEL pour certains éléments non disponible dans les dépôts de base. Assurez vous, d'ouvrir les ports 80 et 443 sur votre serveur. Une fois le code Let's Encrypt récupéré, il vous suffit de vous rendre dans le dossier ou vous l'avez déposé (ex: cd /opt/letsencrypt), puis de tapez la commande :

./letsencrypt-auto --help all

Cette commande va s'assurer que toutes les dépendances sont en place et le cas échéant, vous les installer. Bien entendu, si vous refuser l'installation des dépendances, ne vous attendez pas à ce le programme fonctionne.
Une fois Let's Encrypt correctement installé. Il vous suffira de taper une simple commande pour générer vos certificats :

./letsencrypt-auto --apache -d toto.com

Même si pour le moment Let's Encrypt ne peut générer de certificats génériques ou wilcard certificates (*), il peut très bien générer autant de domaines connexes que vous le souhaitez.
Exemple : ./letsencrypt--auto --apache -d toto.com -d histoire.toto.com -d ftp.toto.com

Maintenant Let's Encrypt peut générer des certificats génériques (*) lire ceci.

Comme vous l'aurez remarqué, la commande comporte l'option --apache. Eh oui, Let's Encrypt possède un système de plugins qui vous permet de choisir le serveur dans lequel il va installer les éléments de configuration. Il possède également les plugins nginx, standalone, webroot et manual.
Je vous invite à consulter la documentation pour leurs manipulations respectives.
Les différents domaines et sous domaines passés en paramètres peuvent être séparés par une virgule, 
Exemple : -d toto.com,www.toto.com,ftp.toto.com,tralala.toto.com.

Pendant la génération du certificat, votre e-mail vous sera demandé. Cela servira à vous prévenir de l'expiration de vos certificats. Les certificats Let's Encrypt sont valable 90 jours.
Vous verrez également apparaître, en fonction du nombre de domaine et sous-domaine à générer un sélecteur de fichier de Let's Encrypt vous stipulant de sélectionner le fichier de configuration ou les modifications concernant le domaine à traiter devront avoir lieu.

Pour ma part, j'ai du remettre un peu d'ordre dans mes fichiers de configurations Apache après le passage de Let's Encrypt. Cependant pas d'inquiétude, même si vous n'aviez pas pris la précaution de faire une sauvegarde avant, l'outils le fait et le stocke dans un dossier de backup (ex: /var/lib/letsencrypt/backups/<serial>/ssl.conf)

Pensez à vérifier votre configuration avant de redémarrer votre serveur web.
pour apache : apache2 -t ou apachectl configtest
pour nginx : nginx -t

Une fois relancé, vérifiez vos nouveaux certificats avec https://www.ssllabs.com/ssltest/

Donc, si vous avez bien lu l'article, vous savez que vous allez devoir certifier à nouveau vos domaines tout les 90 jours au max. Le mieux serait juste avant. Pour cela une simple commande suffit :

./letsencrypt--auto certonly --apache --renew-by-default -d toto.com,histoire.toto.com,ftp.toto.com


/!\ Par instinct, je n'ai pas mélangé les domaines lors de création ou du renouvellement. Cependant Let's Encrypt gère correctement les domaines en les séparant automatiquement.

Si avez besoin de plus d'informations, la documentation officielle, c'est par ici Documentation

Et pour Windows, me diront certains ?! Je serais tenté de leur répondre ; "je n'ai pas essayé de le mettre en oeuvre et apparemment ce n'est pas gagné".

Je vous invite également à lire cette excellente critique.

mercredi 9 septembre 2015

Whois et les nouveaux TLD

Bonjour à tous et à toutes,

Comme moi, vous avez certainement bloqué devant des requêtes whois qui n'aboutissaient plus en raison de nouveaux TLD plus ou moins exotiques qui ont fait leurs apparitions.

Solution pour :
  1. GNU-Linux
  2. Windows

1. GNU-Linux

Pour ceux qui ne connaissent pas le truc le voici. Il suffit d'ajouter vos nouveaux TLD dans le fichier /etc/whois.conf.

Voici le dernier whois.conf en date.

Vous deviez trouver sur le site de l'IANA, toutes les informations nécessaire concernant les TLD à l'adresse suvante : http://www.iana.org/domains/root/db

Sinon, pour ceux qui ne veulent pas mourir sans connaitre un moyen de s'en sortir tout seul, je vous renvoi à l'excellent article de Jacob Hipps : https://ycnrg.org/whois-for-new-tlds/

2. Windows

Pour ma part j'utilise les outils Sysinternal. Cependant pour le whois de Microsoft™, je n'ai pas de solution pour le moment, hormis d'utiliser la méthode manuel décrite ci-dessus.

lundi 6 octobre 2014

La fonction méconnue de Windows 8 qui sauve la vie

Alors voilà,

Un jour, je me suis retrouvé face à Windows 8, qui refusait de démarrer juste après la page d'authentification de l'utilisateur. Et là, pour ceux qui ne le savent pas encore, vous allez voir comme c'est simple de réparer son Windows en moins de temps qu'il ne faut pour le dire. Cet astuce m'a été donnée par le support Dell (encore merci à eux).
Ne m'étant pas encore aventuré dans les méandres de Windows 8, je suis bien content d'avoir eu affaire à ce support.

J'avais cherché en vain dans ma mémoire les moyens d'interrompre le démarrage de Windows. Mais avec la version 8 et certainement les versions qui suivront, ceci n'est pas vraiment possible. Le démarrage est trop rapide pour appuyer sur la touche F8. Donc j'ai cherché dans un tas de forums plus ou moins bien informé. D'après les messages consultés il suffisait d'ouvrir la barre des charmes (vous savez, la barre qui apparaît à droite et qui permet certaines fonctions systèmes), de rentrer dans la configuration Windows pour lui dire qu'au redémarrage il passera en mode sans-échec.
Oui mais bon pour faire cela, encore eu-t-il fallu que je puisse y accéder a cette foutue barre des charmes. Parce que même avec le raccourci Win+I, walou, nada, que tchi.

Allez, je ne vous fait pas plus languir. Si vous réussissez à vous trouvez sur la page d'accueil de Windows 8, il vous suffit d'appuyer sur la touche Shift (↑) et cliquer sur le menu arrêter (choix redémarrer).
Et oh miracle, une page concocter par les p'tits gars de Redmond vous permettra d'effectuer certaines opérations de maintenance.

Pour ma part j'ai du «Actualiser le PC». Ce qui à pour effet de réinstaller Windows sans toucher au fichiers des utilisateurs (ouf). Après le redémarrage vous retrouverez l'ancien Windows dans un dossier \Windows.old qui pourra sans problème faire partie de la prochaine benne. Cerise sur le gâteau, les applications présentes sur le système le jour de l'acquisition du PC seront elles aussi réinstallé (ex: anti-virus, ...)

A tout ceux qui ont résisté à s'ouvrir leurs veines, je vous salue et vous souhaite bonne continuation.

;-)

lundi 24 février 2014

On ne naît pas pour être quelque chose, mais c'est parce qu'il y a eu quelque chose que l'on naît.
Qu'est ce qui est plus idiot que de poser une question ?...
...ne pas la poser.
La vérité n'est vrai que jusqu'à ce que l'on prouve le contraire.