Hack – Police d’écriture

Article pas bien long pour présenter en quelques mots une police d’écriture bien pratique et agréable à lire, à savoir la police Hack.

J’utilise cette police au quotidien, en particulier dans mon IDE principal. L’un des atouts de cette police est de permettre de faire aisément la différence entre des caractères comme le i, le l, le I et le L, ce qui n’est pas toujours simple dans certains cas. Idem pour des caractères comme o, O et 0. L’image ci-dessous vous donne un aperçu de sa typographie.

Bonne découverte.

Citations [6] – Mr Robot, S01E01

Krista Gordon: What is it about society that disappoints you so much?

Elliot: Oh, I don’t know. Is it that we collectively thought Steve Jobs was a great man, even when we knew he made billions off the backs of children? Or maybe it’s that it feels like all our heroes are counterfeit. The world itself’s just one big hoax. Spamming each other with our running commentary of bullshit masquerading as insight, our social media faking as intimacy. Or is it that we voted for this? Not with our rigged elections, but with our things, our property, our money. I’m not saying anything new. We all know why we do this, not because Hunger Games books make us happy but because we wanna be sedated. Because it’s painful not to pretend, because we’re cowards. F society.

Mr Robot, Saison 1, Épisode 1.

Mr. Robot: Let me tell you why you’re really here. You’re here because you sense something wrong with the world. Something you can’t explain. But, you know it controls you and everyone you care about.

Elliot: What are you talking about?

Mr. Robot: Money. Money hasn’t been real since we got off the gold standard. It’s become virtual. Software. The operating system of our world.

Mr Robot, Saison 1, Épisode 1.

[MSSQL] Quelques notes

Quelques notes concernant deux commandes qui m’ont été bien utiles en travaillant avec Microsoft SQL Server.

Exécuter une liste de script à partir d’un script principal

Soit l’arborescence de fichiers suivante pour un dossier livraison-sql donné :

  • livraison-sql/main.sql
  • livraison-sql/scripts/script1.sql
  • livraison-sql/scripts/script2.sql

Soit un fichier main.sql de la forme :

USE databaseName;
PRINT 'Exécution des scritps SQL'

PRINT 'Exécution: script1.sql'
:r .\scripts\script1.sql

PRINT 'Exécution: script2.sql'
:r .\scripts\script2.sql

Voici la commande à utiliser pour réaliser les opérations contenues dans notre main.sql, à savoir, l’exécution des scripts du dossier scripts :

sqlcmd -S "<nom de domaine>\<instance>" -U <utilisateur> -C -i main.sql -P<mot de passe>

Voir aussi la documentation Microsoft pour sqlcmd.

Restauration des utilisateurs bdd avec les logins

Après la restauration d’une sauvegarde de base de donnée, il peut être nécessaire de refaire la liaison entre les utilisateurs de la base de données et les identifiants mssql. On utilisera alors la commande suivante pour un utilisateur donné :

EXEC sp_change_users_login 'Auto_Fix', '<user>';

PGP – Première exploration

J’ai décidé de m’intéresser plus sérieusement à la cryptographie et plus particulièrement au standard PGP (Pretty Good Privacy) et à son implémentation GNU Privacy Guard (GnuPG ou GPG). Voici donc certains points à considérer; en vrac, pour commencer à défricher le sujet.

Clé publique, clé privée

Les clés viennent par paire, une privée, l’autre publique. La clé privée est à « protéger » car celle-ci sert aux opérations de déchiffrement et de signature (Maj: Incorrect, voir commentaire).

Type de clé

Il existe plusieurs types de clés, en particulier, la clé de signature (signing key) et la clé de chiffrement (encryption key), la première servant à signer un mail (ou un contenu) et la seconde, à le chiffrer.

Confidentialité et génération des clés

Afin de s’assurer au maximum de la sureté de ses clés, l’idéal est de générer les clés sur une machine n’ayant jamais été connectée au réseau et sur un système d’exploitation dédié, à jour et dont on aura au préalable vérifié la somme de hashage du fichier iso utilisé pour installer l’OS (il me semble que le point faible se situe alors dans le média utilisé pour réaliser l’installation de l’OS, clé USB, CD, carte SD. CD et carte SD me semble moins susceptible d’être compromis en amont, ou lors d’une utilisation sur un PC vérolé.). Il est indispensable de vérifier les sommes de hashage après écriture de l’OS sur le support. Sur cette machine isolée du réseau, il convient alors de générer un ensemble de clé et plusieurs sous-clés (subkey). La clé maîtresse sera sauvegardée sur plusieurs supports chiffrés. Seul les sous-clés seront utilisées. Enfin, l’idéal semble être d’exporter les sous-clés sur une smartcard telle qu’une YubiKey. A défaut d’une machine dédiée à la génération des clés, on pourra se limiter à un système live chargé en RAM et coupé du réseau.

A priori, il semble envisageable et possible d’exporter les clés sur 2 smartcard : les sous-clés sur l’une des smartcards et la clé maîtresse sur l’autre. Cela pourrait peut-être permettre de simplifier la signature de clés (implications en termes de sécurité de la clé maître ?). Néanmoins, je n’ai pas été en mesure de trouver un témoignage de l’utilisation d’une telle configuration lors de mes recherches.

Terminologie
  • sec ‘SECret key’
  • ssb ‘Secret SuBkey’
  • pub ‘PUBlic key’
  • sub ‘public SUBkey’
  • S ->Sign, Signer
  • C -> Certify, Certifier
  • E -> Encrypt, Chiffrer
  • A -> Authenticate, Authentifier
Limitations
  • La signature de clés doit s’effectuer avec la clé maîtresse.
  • Taille des clés limitée à 2048 pour un export sur une YubiKey Neo (sauf YubiKey 4 qui supporte les clés jusqu’à 4096).
Étapes à vérifier
  • Génération des clés, sauvegarde sur support chiffré et export vers YubiKey.
  • Expiration d’une clé et mise à jour de la date d’expiration.
  • Export vers une nouvelle YubiKey à partir de la sauvegarde en cas de perte, vol ou bris de matériel.
  • Redéploiement des clés sur les périphériques à partir de la sauvegarde (si pertinent).
  • Test d’utilisation sur GNU/Linux et Windows.
  • Test d’intégration avec pass.
  • Test de la signature d’une clé.
  • Test de la signature de commit et tag dans Git.
  • (Test d’authentification SSH par clé. Pertinence ?)
Conclusion

Après lecture de plusieurs articles sur le sujet, je commence à avoir une vue d’ensemble du fonctionnement et de l’utilisation des clefs GPG. Il me reste donc à passer à la phase d’expérimentation et de mise en place afin de valider ma compréhension du sujet et de vérifier que rien n’a été oublié.
Aux lecteurs avisés et spécialistes du sujet, n’hésitez pas à pointer d’éventuelles erreurs ou zones d’ombre qui m’aurait échappé, et à partager  les ressources incontournables sur le sujet.

Sources

GPG : comment créer une paire de clefs presque parfaite – NextInpact
Clefs GPG :  comment les stocker et les utiliser via une clef USB OpenPGP Card ? – NextInpact
Offline GnuPG Master Key and Subkeys on Yubikey NEO Smartcard – Simon Josefsson
Guide to using YubiKey as a SmartCard for GPG and SSH – drduh
Email Encryption with the Yubikey-NEO, GPG and Linux (Part 1, Part 2) – ankitrasto