01 Jan 0001, 00:00

Driver Verifier peut rendre le pc complètement inutilisable, au point de ne plus pouvoir accéder à cmd pour le désactiver.

Pour le désactiver en hors-ligne, trouver les2 eclés suivantes et les supprimer/renommer : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\VerifyDrivers HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\VerifyDriverLevel

(en offline, CurrentControlSet sera probablement ControlSet001)

https://www.reddit.com/r/techsupport/comments/o6a6ph/how_do_i_disable_driver_verifier_bsod_loop/ https://superuser.com/questions/1006441/how-to-disable-driver-verifier-on-windows-10/1006537#1006537

01 Jan 0001, 00:00

Présentation

DKIM (DomainKey Identified Mail) permet de signer les messages expédiés par un serveur SMTP. Pour ceci, une paire de clé doit être générée, la clé publique est ensuite publiée via DNS, la clé privée est fournie au serveur SMTP.
À la réception d’un message signé via DKIM, un serveur mail va se référer à l’entête “DKIM-Signature” pour identifier le domaine et le selecteur, puis va chercher la clé publique sur les enregistrements DNS afin de vérifier la signature.

Configuration du DNS

https://help.returnpath.com/hc/fr/articles/222481088-Aper%C3%A7u-du-DNS-record-pour-la-signature-DKIM

C’est une entrée de type “TXT” (mentionnée de type DKIM chez OVH), appliquée à “selecteur._domainkey.domain.com” (selecteur et domain doivent être adaptés).
Le champ fonctionne sur un principe clé=valeur ; on retrouve les champs suivants :

  • v= : version. DKIM1
  • k= : type de clé. “rsa”
  • p= : clé publique
  • t= : ? (t=s) ; il semble que ce champ puisse poser problème dans le cas d’utilisation de sous-domaines

Analyse de la signature

https://help.returnpath.com/hc/fr/articles/222438487-Informations-d-ent%C3%AAte-de-la-signature-DKIM

Dans les entêtes d’un mail. Entête “DKIM-Signature”

Balises obligatoires :

  • v= : version. Actulemment, c’est 1
  • a= : algo pour générer la signature. Ca sera quasi toujours rsa-sha256
  • d= : pour identifier le domaine responsable de la signature
  • s= : sélecteur ; avec le domaine, permet de trouver l’emplacement de la clé publique dans le DNS
  • h= : liste d’entetes qui seront utilisées pour créer la signature (et sont donc authentifiées) ; par exemple “h=To:From:Subject;”
  • b= : hachage de la valeur “h” ; c’est généralement ceci que l’on appelle “signature DKIM”
  • bh= : hachage du corps du message

Balises optionnelles :

  • t= : horodatage du message
  • x= : horodatage de l’expiration de la signature. Doit être postérieure à “t”

ARC (Authenticatd Received Chain)

https://www.dmarcanalyzer.com/fr/arc-est-ici/

Permet de résoudre des situations où SPF ou DKIM ne fonctionnent plus (typiquement lorsqu’il y’a un transfert de mail, soit via forward automatique, soit lors d’un transfert via une mailing-list).
En gros, lorsqu’un serveur de transfert reçoit un mail avec un résultat DMARC valide, il “encapsule” ce résultat dans une en-tête ARC. Il peut ensuite retransmettre l’ensemble (message + entête ARC) au destinataire suivant (qui peut être un autre intermédiaire, ou bien le destinataire final).

Si DMARC échoue, mais que l’ensemble de la chaîne ARC est valide, un serveur peut choisir de valider le mesage quand même.

En-têtes ARC :
ARC-Authentication-Results (AAR) : regroupe les infos d’authentification du mail d’origine (SPF, DKIM, DMARC)
ARC-Message-Signature (AMS) : une signature (comme pour DKIM) pour certifier le contenu de l’ensemble du message (excepté l’ARC-Seal)
ARC-Seal (AS) : une signature (comme pour DKIM) de l’ensemble de la chaîne des ARC-Seal

Chaque certification ARC est assortie d’un numéro d’instance (i) commençant à 1. Il peut y avoir plusieurs certifications ARC successives.

Gestion via Office 365

https://security.microsoft.com/dkimv2

Nécessite de paramétrer les entrées DNS (probablement du CNAME)

01 Jan 0001, 00:00

dmidecode

sudo dmidecode

Types : -t memory speed :

01 Jan 0001, 00:00

docker info

curl 127.0.0.1:9323/metrics

host.docker.internal

01 Jan 0001, 00:00

Impossible trouver archives

sudo dpkg –remove –force-remove-reinstreq vyprvpn

https://debian-facile.org/viewtopic.php?id=16439

Lister tous les paquets installés issus d’une suite précise

suite=sid
dpkg -l | awk '/^.i/ {print $2}' | xargs apt-cache policy | awk '/^[a-z0-9.\-]+:/ {pkg=$1}; /\*\*\*/ {OFS="\t"; ver=$2; getline; print pkg,ver,$2,$3}'|grep -v /var/lib/dpkg/status| sed -e 's/://'|awk '{printf "%-40s %-36s %-36s %-16s \n",$1,$2,$3, $4}' | grep -i ${suite}/

# Pour avoir uniquement les noms, on ajoute
 | awk '{print $1}'

01 Jan 0001, 00:00

https://linuxconfig.org/improve-hard-drive-write-speed-with-write-back-caching

Caching : écrire dans un mémoire tampon (RAM) les données, avant de les écrire réellement sur le support de stockage (plateau/mémoire flash).

Vérifier si le cache d’un disque est activé :

sudo hdparm -W /dev/sdX

01 Jan 0001, 00:00

Voir expiration d’un certificat :

client/serveur :
openssl x509 -in /etc/openvpn/easy-rsa/pki/issued/mon-pc-client.crt -text | grep "Not After"

CA :
openssl x509 -in /etc/openvpn/easy-rsa/pki/ca.crt -text | grep "Not After"

Tous les certificats clients/serveur :
for i in $(ls /etc/openvpn/easy-rsa/pki/issued/*.crt); do echo $i; openssl x509 -in $i -text | grep "Not After"; done

Vérifier validité certificat :
openssl verify -CAfile /etc/openvpn/easy-rsa/pki/ca.crt /etc/openvpn/easy-rsa/pki/issued/mon-pc-client.crt

01 Jan 0001, 00:00

Créer le superuser

docker exec -it funkwhale manage createsuperuser

Import /music folder in library

First create a library in the web app

then

docker exec -it funkwhale manage import_files LIBRARY_ID /music/**// –recursive –in-place –no-input

01 Jan 0001, 00:00

Voir état actication de MS Office

https://kb.wisc.edu/72524#toc2

cmd en admin

Aller dans le dossier d’Office (ajuster selon arch/version) cd C:\Program Files\Microsoft Office\Office16
cscript ospp.vbs /dstatus

On y voit le type de licence (MAK/KMS pour les VL, ou le serial pour les versions retail) et son état d’activation. Il peut être nécessaire de lancer une 1e fois office pour voir l’état de la licence.

Les licences KMS sont réactivées régulièremenet par contact d’un serveur KMS (interne à la structure).
Les licences MAK sont activées 1 fois pour toute via contact d’un serveur Microsoft. Une clé MAK peut être utilisée un certain nombre de fois, et finira par ne plus être acceptée pour les nouvelles activations.

01 Jan 0001, 00:00

https://hackintosh.gitbook.io/-r-hackintosh-vanilla-desktop-guide/

OpenCore ou CLover ? OpenCore est + récent, semble plus stable, plus fonctionnel avec certaines fonctions de macos (filevault, system integrity protection, meilleur support général), mais semble + complexe à mettre en oeuvre, et peut-être + instable, car + jeune

clover/Opencore : le bootloader. il modifie les id acpi, insere les kext (kernel extensions, basiquement les pilotes) pour rendre le noyau compatible avec le matériel https://github.com/Dids/clover-builder/releases

clover configurator (pour éviter de faire le ficher de conf à la main) genere le Config.plist ? fichier qui configure clover pour lui dire quoi faire

VirtualSMC - pour émuler la présence du chip (nécessaire pour booter) https://github.com/acidanthera/VirtualSMC/releases


les kexts doivent être choisies en fonction du matériel https://onedrive.live.com/?authkey=%21APjCyRpzoAKp4xs&id=FE4038DA929BFB23%21455036&cid=FE4038DA929BFB23

— création de l’usb d’install

La clé USB créée sera spécifique pour cette machine, avec les bons KExts chargés. Clover (/Opencore ?) doit être installé sur la clé elle-même.

—- matos X230 : https://dortania.github.io/OpenCore-Install-Guide/macos-limits.html#wireless-networking i5 3320M (ivyBridge) gpu intel HD 4000 (supporté de 10.7.3 à 10.15.7) wifi probablement not supported (ou peut-être 3d party ?)

—– Open Core USB Creation

Pour l’install, utiliser la version DEBUG ; si tout marche bien, passer à la RELEASE ?

Depuis maxOS, une clé complète d’install peut être créée. Depuis Linux/Windows, seule une clé de recovery par internet peut être créée. Créée sous Linux, seule le boot UEFI sera supporté. https://dortania.github.io/OpenCore-Install-Guide/installer-guide/linux-install.html

Télécharger OpenCore : https://github.com/acidanthera/OpenCorePkg/releases cd OpenCore-0.6.8-DEBUG/Utilities/macrecovery/
python ./macrecovery.py -b Mac-7BA5B2D9E42DDD94 -m 00000000000J80300 download # download macOS depuis les serveurs Apple

Ceci donne, dans le répertoire actuel, BaseSystem.dmg et BaseSystem.chunklist (ou RecoveryImage.dmg/chunklist)

Formater la clé d’install :

  • table de partition GPT
  • 1 seule partition, GUID 0700 (ceci se voit avec fdisk -l /dev/sdX qui donne “Microsoft basic data” ; ou avec gdisk -l /dev/sdX qui donne “Code : 0700” ; peut se changer avec gdisk) Avec gdisk /dev/sdX
  • o
  • n (définir uniquement le type à 0700 ; laisser le reste par défaut)
  • w

sudo mkfs.vfat -F 32 -n "OPENCORE" /dev/sdX1

À la racine de la partition FAT32, mkdir com.apple.recovery.boot et copier les fichier .dmg et .chunklist dans ce dossier

———- Préparation des fichiers EFI

https://dortania.github.io/OpenCore-Install-Guide/installer-guide/opencore-efi.html

Dans l’archive d’OpenCore, copier les fichiers du dossier X64 (ou IA32 si EFI 32b) à la racine de la partition que l’on vient de créer.

dans OC\Drivers, supprimer les pilotes non souhaités (voir site) ; je ne garde QUE OpenRuntime.efi Dasn OC\Tools, ne garder QUE OpenShell.efi (optionnel, mais utile pour du debug)

On peut maintenant récupérer les pilotes pour NOTRE matériel ; .aml (SSDT et DSDT) vont dans ACPI ; .kext vont dans Kexts ; .efi vont dans Drivers. Il faut HfsPlus.efi

Pour les kext, sous Linux/Win, ce sont des dossiers ; il FAUT qu’ils aient l’extensions .kext On peut en trouver ici : http://kexts.goldfish64.com/ Il FAUT VirtualSMC et LiLu . Penser à supprimer les plugins non-nécessaires de VirtualSMC (SMCLightSensor si pas de capteur de luminosité, SMCBatteryManager pour l’install de l’OS (peut être rajouté plus tard), et SMCDellSensors si pas un Dell supporté)

Il FAUT WhateverGreen pour la gestion des GPUs. SSDT-pnlf ? Semble ne plus être nécessaire pour les versions récentes.

AppleALC : pour avoir du son, optionnel

Ethernet : pour un Lenovo X230M, c’est le chipset Intel 82579LM ; il faut donc IntelMausi

USB : Pour les chipset Skylake et ultérieurs, il ne devrait y avoir besoin de rien ; pour Coffee Lake et précédents (donc X230), il faut un injecteur universel. Ne fonctionne que sur chipsets intel

Wifi : pour carte intel, tester https://github.com/OpenIntelWireless/itlwm/releases ?

Trckpad/Trackpoint : pour Synaptics, https://github.com/VoodooSMBus/VoodooRMI/releases/

—— SSDTs DSDT et SSDT sont des tables présentes dans le firmware du PC, qui servent à définir le matériel présent. La DSDT est la principale, les SSDT sont les secondaires.
Il faut compiler/installer les SSDT nécessaires pour notre matériel. Sous forme de code, ce sont des .dsl. Une fois compilés, ce sont des .aml. Ce sont les .aml qu’il faut passer à OpenCore. Pour X230, il faut CPU-PM (post-install de macOS), SSDT-EC (pour le contrôleur embarqué), SSDT-PNLF (pour le rétroéclairage) et IRQ SSDT.

On peut en compiler certains avec SSDTTime , notamment SSDT-EC. À faire sur la machine cible, depuis Lnux (ou windows).

—— config.plist Dit à OpenCore comment se comporter. On récupère Sample.plist depuis le répertoire OpenCore\Docs\ et on le copie dans le dossier OC sur la clé USB, puis on le renomme config.plist

On utilise ProperTree (qui nécessite apt install python-tk) https://github.com/corpnewt/ProperTree Ctrl-Shift-R pour faire un “Clean snapshot” : intègre les fichiers (kexts, ssdt etc…) ajoutés dans le config.plist

Vérificateur de config OpenCore : https://opencore.slowgeek.com/