Ré-installation Linux sur une seule partition tout en gardant les informations de /home

Un ami a eu un soucis avec Ubuntu. NetworkManager semble ne plus reconnaitre ni le wifi ni la connection filiaire, probablement à cause de la dernière mise-à-jour du noyaux.

Je vais m’en passer des détails, mais pour votre information, il utilise Ubuntu 14.04. Une tentative de mise-à-jour vers la version 16.04 en mode filaire ne s’est faite que partiellement.

La meilleure solution dans cette situation serait de réinstaller le système après avoir fait une copie de la partition /home. Pour mettre un peu de piquant dans l’histore /home et / font parties d’une seule et même partition. Vous comprenez bien qu’une réinstallation du système va effacer toutes les données de /home.

J’ai trouvé une astuce pour réinstaller le système en gardant les informations de /home.

Je ne le répète pas assez, mais avant d’essayer quoi que ce soit sur votre machine, faites des tests dans une machine virtuelle (voir Annexe). Celà vous coutera un peu de temps, certes. Mais en contrepartie, vous ne seriez pas surpris si quelque chose tourne mal.

La messe est dite, lançons dans l’aventure.

1. Essayer Ubuntu sans l’installer

Télécharger l’ISO avec la version d’Ubuntu qui vous intéresse. Dans mon cas, je vais rester sur une version LTS à la demande de mon ami.

Pour créer une clé USB bootable, sachant que cette clé se trouve sur la partition /dev/sdb, lancer les commandes suivantes.

$ sudo apt install dcfldd
$ sudo dcfldd if=xubuntu-18.04.2-desktop-amd64.iso of=/dev/sdb bs=1M

En ce qui concernant la commande dcfldd, j’en ai parlé dans cet article.

Redémarrer la machine avec la clé insérée, puis sélectionner l’option d’Essayer Ubuntu sans avoir à l’installer.

2. Archiver le dossier /home

Monter ensuite la partition utilisée par /home qui, je le rappèle, se trouve sur la même partition que /. Les commandes « sudo fdisk -l » et « df -h » vous aideront à identifier cette partition. Dans mon cas, cette partition se trouve dans /dev/sda3.

$ sudo mount /dev/sda3 /mnt
$ sudo chroot /mnt

Brancher puis monter un disque dur externe pour la sauvegarde des données. De même que précédement, les commandes fdisk et df vous permettront de récupérer le nom du disque à monter.

$ sudo mount /dev/sdb1 /media/USERNAME

Placez vous dans le dossier dans lequel sera copié la partition /home, puis lancer la copie.

$ cd /media/USERNAME/MonDisque/CopieHome
$ tar -cvpzf backup-home.tgz /home/*

En fonction de la taille des fichiers dans le répertoire /home, la copie, ou plus exactement, la compression de /home, risque de prendre du temps.

3. Installer Ubuntu

Une fois la compression terminée, vous pouvez démonter les partitions montées précédement puis lancer l’installation de ubuntu.

$ sudo umount /media/USERNAME/MonDisque
$ sudo umount /mnt

Au moment de la création de l’utilisateur, je vous propose de créer un utilisateur de type « test » qu’il faudra supprimer plus tard. Il ne faut surtout pas créer un utilisateur du même nom que celui ou ceux qui gèrent notre dossier /home.

Une fois l’installation terminée, et que la machine a redémarrée, connectez-vous avec l’utilisateur test. Ensuite, copier l’archive dans le dossier /home. Je présume que votre disque externe va se monter automatiquement dans /media/USERNAME.

$ sudo su
$ cd /home
$ tar -xvpf /media/USERNAME/MonDisque/CopieHome/backup-home.tgz

4. Ajout de compte(s) utilisateur(s) du même nom que celui (ceux) du dossier /home

Maintenant, recréer tous les utilisateurs qui devraient avoir le nême nom que les utilisateurs de /home. Pour ce faire, il vous suffit de créer un nouveau compte utilisateur.

Vérifier que vous pouvez vous connecter sans problème avec ce ou ces utilisateurs, avant de supprimer définitement l’utilisateur « test ».

Annexe

Pour pouvoir attacher un disque dur externe ou une clé USB dans virtual box, lancer les commandes suivantes sur votre machine.

$ sudo apt install virtualbox-ext-pack
$ sudo adduser $USER vboxusers
$ sudo usermod -aG vboxusers $USER
Publicités

III. Linux en Entreprise: Applications Windows et leurs équivalents Linux

I. Linux en Entreprise : Disque dure chiffré avec un Dual boot Windows-Ubuntu
II. Linux en Entreprise : Comment se préparer face à d’éventuels problèmes de déchiffrage
III. Linux en Entreprise: Applications Windows et leurs équivalents Linux

III. Linux en Entreprise: Applications Windows et leurs équivalents Linux

Maintenant que l’installation de Ubuntu est effectuée, il va falloir trouver des alternatives sous Linux aux outils que j’utilise quotidiennement au boulot.

La tâche aurait été plus facile si les outils de remplacement proposés par AwesomeCow ou Framasoft, répondent bien à mes besoins. Ce qui n’est pas tout à fait le cas, d’où ce chapitre.

Bien que mon environment de travail soit prêt pour accueillir Linux, j’ai encore quelques contraintes à régler, et qui ne sont pas des moindres.

  • L’écran de veille de Xubuntu ne permet pas la reprise en main de la machine, puisque cette dernière affiche un écran noir avec un message de redirection (This session is locked: You will be redirected to the unlock dialog automatically in a few seconds) vers la page d’identification, mais qui n’a pas lieu. Une des solutions que j’ai trouvé et qui marche, c’est de taper votre mot de passe à ce niveau. Si celà ne marche pas, passer en mode terminal (CTRL+ALT+F1), puis entrer la commande loginctl unlock-session et réessayer de vous vous connecter à la page d’accueil avec CTRL+ALT+F7 ou CTRL+ALT+F8
  • Le VPN ne fonctionne pas, du fait que je n’ai pas réussi à récupérer le token proposé par la clé logicielle RSA pour l’authentification. Je suis au courant qu’il est possible d’installer l’application RSA sur un téléphone android, mais je n’en ai pas de ce type de téléphone sous la main

Pour information, j’utilise déjà pas mal d’applications Open Source dans mon environnement de travail sous Windows. L’installation de Linux n’est qu’un pas de plus pour avoir une solution moins dépendante de Microsoft.

 

1. Greenshot Shutter

Le projet shutter semble être abandonné. Les autres options ne me conviennent pas du tout, pour les raisons suivantes:

  • J’ai besoin de prendre des copies d’écran partielle ou totale, et en mode continue
  • Les copies d’écrans doivent être à portée de main pour vérifier qu’il y a toutes les informations dont j’ai besoin dessus, pour les traiter plus tard
  • Il me faut la possibilité d’annoter les images capturées à tout moment, avant ou après la capture
  • La copie d’écran devrait se trouver dans le buffer afin de pouvoir le copier rapidement dans un document texte (LibreOffice, etc.)

Pour être honnête, je n’ai pas trouvé d’équivalent au logiciel de retouche d’image « shutter drawing tool ». Par contre, pour la copie décran, xfce-screensaver me paraît satisfaisant.

En résumé, voici ce dont j’attend d’un outil qui fait office de capture d’écran.

Pour l’installation de Shutter, activer les dépots « universe, restricted, et multiverse » si ce n’est déjà fait.

Lancer ensuite l’installation,

$ sudo add-apt-repository ppa:linuxuprising/shutter
$ sudo apt install shutter

Il est plus pratique d’avoir un racourci pour les différents types de captures,

Pour la désinstallation, si vous n’en trouvez plus l’utillité,

$ sudo apt remove --auto-remove shutter

Puis, supprimer le PPA rajouté avant l’installation.

 

2. Notepad++ jEdit

Notepad++ s’installe sans problème avec snap. Par contre, ce n’est pas une application native à Linux.

Je vais donc me laisser tenter par jEdit pour les raisons suivantes:

  • Utilisation d’onglets par fichiers ouverts
  • Recherche dans les buffers, dans tous les fichiers ouverts non sauvegardés
  • Sauvegarde automatique de l’état des différents fichiers: jEdit remet en l’état, tous les onglets fermés après  redémarrage de l’ordinateur

Afin d’avoir les fichiers ouverts dans des onglet, commen dans Notepad++, je vous conseille d’ajouter le plugin « BufferTab » à jEdit.

Voyez le résultat.

 

3. Evernote, Tolon NoteKeeper CherryTree

J’ai pris l’habitude d’utiliser Tolon NoteKeeper. Cependant, cette application n’étant pas disponible sous linux, j’ai fait la découverte de CherryTree pour sauvegarder mes notes.

Depuis que je l’utilise ce nouvel outil, je regrette de ne pas l’avoir connu plus tôt.

Pour l’installation,

$ sudo apt install cherrytree

 

4. Lync (Skype for Business) Pidgin

La combinaison Pidgin avec le plugin SIPE est le meilleur candidat que j’ai trouvé pour remplacer Skype for Business (Lync), à ne pas confondre avec Skype pour les particuliers.

Pidgin devrait être déjà installé par défaut.

$ sudo apt install pidgin-sipe

 

Relancer ensuite Pidgin, puis ajouter un nouveau compte.

Comme Protocol, sélectionner « Office Communicator »

Une fois tous les champs sont remplis, vous devriez être en mesure de communiquer avec vos collègues qui utilisent Lync.

 

5. Microsoft Outlook Thunderbird

Pour remplacer Outlook, vous avez le choix entre Thunderbird et Evolution. Ce dernier, apparement synchronise les emails, contacts et calendriers sans plugin, mais je n’ai pas vérifié ce qui ne marche pas. Je vais plutôt me focaliser sur ma première option, qui est Thunderbird.

Pour avoir toutes les fonctionnalités de Outlook, il va falloir ajouter quelques plugins à Thunderbird.

  • « ExQuilla for Exchange » pour la synchronisation des emails et contactsDans les configurations du compte, sélectionner « Microsoft Exchange »
    Cliquer sur « Autodiscover », pour vérifier que vous pouvez vous connecter avec votre compte
  • Lightning est installé par défaut dans Thunderbird.
    Il ne reste plus qu’à installer TbSync et Provider for Exchange ActiveSync pour la synchronisation des calendriers.Dans Tools > Add-on Preferences > TbSync, sélectionner dans Accounts actions > Add New Account > Exchange ActiveSync
    Lancer manuellement la synchronisation pour la première fois. Par la suite, vous n’aurez plus besoin de le faire.

Si à un moment ou à un autre, Thunderbird ne sauvegarde plus votre mot de passe et vous réclame constamment le mot de passe de votre compte Exchange, supprimer le fichier pkcs11.txt qui se trouve dans ~/.thunderbird/Profiles/123XYZ.default/pkcs11.txt. Après cette manipulation, il vous sera demandé d’entrer une nouvelle fois le mot de passe de votre compte, et vous n’aurez plus besoin de le faire par la suite.

 

6. Slack

Je n’ai jamais compris l’utilité de Slack. A mon goût, cet outil n’est pas ergonomique du tout, surtout au niveau de la fonction recherche. Je ne vais pas faire de commentaires dessus. Ceux qui l’utilisent savent de quoi je parle.

Au besoin de l’entreprise, je vais tout de même l’installer.

$ sudo snap install slack --classic

 

Comme conclusion, je dirait qu’en vue d’avoir toutes les application dans les Nuages (ou dans le « cloud »), rien ne nous empêche de migrer de Windows à Linux dans les entreprises, à partir du moment où vous avez tous les outils nécessaire à votre travail, qui fonctionnent correctement dans ce nouvel environnement.

Bon courage à vos démarches, et linuxisons le monde de l’entreprise.s

 

Sources:

Unable to install Shutter in Lubuntu 18.10
CONFIGURING SKYPE FOR BUSINESS 2013 ON UBUNTU 13.10
Installing Slack for Linux on Ubuntu 16.04 / 17.10 / 18.04
10 Must-Have Thunderbird Addons (+ 25 More)
Is ExQuilla free software (either without cost, or free to modify)?

II. Linux en Entreprise : Comment se préparer face à d’éventuels problèmes de déchiffrage

I. Linux en Entreprise : Disque dure chiffré avec un Dual boot Windows-Ubuntu
II. Linux en Entreprise : Comment se préparer face à d’éventuels problèmes de déchiffrage
III. Linux en Entreprise: Applications Windows et leurs équivalents Linux

II. Linux en Entreprise : Comment se préparer face à d’éventuels problèmes de déchiffrage

Après avoir chiffré votre disque dur, vérifier que vous avez tout ce qu’il faut pour vous préparer à d’éventuels soucis pour accéder à vos données sur le disque.

Garder en tête qu’une fois le disque dur est entièrement chiffré, il est impossible d’y accéder sans l’avoir préalablement déchiffré.

Il va de soi que la première chose à faire serait de sauvegader l’entête de la partition chiffrée. Je vous ai traduit un passage du manuel de cryptsetup.

If  the  header of a LUKS volume gets damaged, all data is 
permanently lost unless you have a header-backup.

Ce qui se traduit par,

Si l'en-tête d'un volume LUKS est endommagé, toutes les données 
[du disque] sont définitivement perdues sauf si vous avez une 
sauvegarde de l'en-tête.

 

I. Sauvegarder et restaurer l’en-tête du volume luks

Commencer par sauvegarde l’entête de LUKS.

$ sudo cryptsetup luksHeaderBackup /dev/sda2 --header-backup-file luks-head_sda2.bak

Vous pouvez ensuite copier le fichier créé à un endroit où vous pouvez y accéder à tout moment, en cas de soucis.

Si vous êtes curieux, vous pouvez afficher les informations de l’entête de LUKS avec l’option luksDump.

$ sudo cryptsetup luksDump /dev/sda2


A comparer avec les informations du fichier de sauvegarde, on devrait avoir les mêmes informations.

$ sudo cryptsetup luksDump luks-head_sda2.bak

Noter que vous avez droit à 8 clés (passphrase) max. A chacune de ces clés sera associée un slot. Le slot zéro contient déjà une clé, celle qu’on a renseigné au moment où l’on a chiffré le disque.

 

Pour restaurer le header, c’est presque la même commande que pour le backup. Il suffit de remplacer « Backup » par « Restore ».

$ sudo cryptsetup luksHeaderRestore /dev/sda2 --header-backup-file luks-head_sda2.bak

 

II. Quelques manipulation sur le header

2.1 Ajout d’une nouvelle clé

J’ai mentionné qu’il vous est possible d’avoir jusqu’à 8 clés au total. Voici comment ajouter une nouvelle clé.

Par exemple, ajoutons une clé au niveau du slot numéro 4.

$ sudo cryptsetup luksAddKey --key-slot 4 /dev/sda2

 

Il vous sera demandé de rentrer la clé initialle (slot 0), si c’est la seule disponible, avant de pouvoir ajouter cette nouvelle clé.

2.2 Modification du mot de passe de la clé

Pour modifier une clé, on utilisera luksChangeKey avec l’option –key-slot (ou -S) suivit du numéro du Slot à modifier.

$ sudo cryptsetup luksChangeKey -S 4 /dev/sda2

2.3 Supprimer une clé

J’ai ajouté un mot de passe pour le slot 1, que je vais supprimer avec la commande,

$ sudo cryptsetup luksKillSlot /dev/sda2 1

 

Voyez bien que, si le slot n’est pas actif (slot 2), on ne peut rien y faire avec, à part l’activer.

Il ne faut surtout pas supprimer toutes les clés, sinon vous ne pourrez plus accéder à votre disque s’il n’y a pas eu sauvegarde du header auparavant.

 

III. Accès en mode sans-échec

Une dernière chose avant de clôturer ce chapitre. Vérifier que vous pouvez vous connecter sans problème en mode sans échec avec tous les mots de passe associés aux slots créés plus haut.

 

Il vous sera toujours demandé de déchiffrer la partition LUKS, même en mode sans échec.

 

J’ai utilisé deux mots de passe différent pour les deux slots, et j’arrive à me connecter sans problème avec les deux.

 

IV. Ré-installation

Si jamais vous avez à réinstaller Ubuntu, ou n’importe quel distribution linux avec une partition chiffrée, il vous suffit de monter la partition luks avec l’option luksOpen, puis de lancer l’installation comme normalement.

$ sudo cryptsetup luksOpen /dev/sda2 hdcrypt

 

Sources

LUKS: Add a Backup Key, Backup, Restore and Delete LUKS Volume Header
How to backup or restore LUKS header

 

I. Linux en Entreprise : Disque dure chiffré avec un Dual boot Windows-Ubuntu

I. Linux en Entreprise : Disque dure chiffré avec un Dual boot Windows-Ubuntu
II. Linux en Entreprise : Comment se préparer face à d’éventuels problèmes de déchiffrage
III. Linux en Entreprise: Applications Windows et leurs équivalents Linux

I. Linux en Entreprise : Disque dure chiffré avec un Dual boot Windows-Ubuntu

Celà fait un moment que je me suis posé la question de comment utiliser Linux en entreprise. Il y a eu deux défis auquels j’ai du faire face.

  • Comment respecter les règles de sécurité informatique imposées par l’entreprise? Entre autre, comment protéger les données sensibles stockées sur un ordinateur tournant sour linux lorsque l’ordinateur se retrouve en dehors de l’entreprise?
  • Est-ce que les outils que j’utilise sous Windows vont être compatible avec Linux? Si ce n’est pas le cas, quelles sont les alternatives?

Je dois l’avouer que l’utilisation massive des outils dans cloud (outlook365, etc.) nous simplifie la vie dans un sens où, il n’est plus nécessaire d’avoir Windows pour les utiliser. Je vais en parler dans un prochain article.

 

Dans cette première partie, je vais vous donner les différentes étapes que j’ai suivit afin de pouvoir installer Ubuntu sur une partition chiffrée avec LUKS.

Ce post peut aussi intéresser des particuliers qui souhaitent sécuriser leurs ordinateurs tournant sous Linux.

 

Avant de faire quoi que ce soit comme manipulation sur votre ordinateur, je vous recommande vivement de faire plusieurs essais dans une machine virtuelle afin de vous familiariser avec les différentes étapes.

J’ai donc lancé une machine virtuelle avec les configurations suivantes:

OS : Xubuntu 18.10
RAM : 1Go
HDD : 20Go (disque vierge, non partitionné)

Mon plan est de configurer les différentes partitions comme suit:

/boot : 1Go – ext4
/root : 15Go – ext4
swap : 1Go
/home : le reste du disque – ext4

 

I. Preparation du disque avec GParted

Insérer l’ISO d’Ubuntu dans le lecteur de média de la VM (Virtual Machine en anglais, ou machine virtuelle), puis sélecter l’option Essayer Ubuntu sans l’installer.

GParted est compris dans l’ISO. Il n’y a plus besoin de le télécharger à part entière.

Quand vous sélectionnez votre partition, il vous sera demandé de choisir une table de partition. Sur les systèmes assez récent, GPT est un très bon choix.

 

Au niveau partition, il nous en faut deux. Celle utilisée pour  le boot, ne sera pas chiffré. La deuxième partition, dans laquelle on y mettra root, swap et home par le suite, sera entièrement chiffrée.

A la question, pourquoi ne pas chiffrer la partition boot, la réponse a été donnée ici.

 

II. Préparation de la partition chiffrée avec LUKS

Dans cette deuxième partie, je vais vous donner les étapes pour chiffrer la partition dans laquelle nous allons installer Ubuntu.

Cette partie se déroule en trois étapes:
– Initialiser la partition à chiffrer avec LUKS puis la formater
– Initialiser chaque disque associée à un volume physique
– Créer les différents volumes logiques

Je n’ai qu’un seul disque dur sur mon ordinateur, donc je ne vais pas m’embêter à expliquer comment faire dans le cas où vous avez plus d’un disque. Par contre, je vous renvoie à cet article qui traite le sujet.

 

Ne vous étonner pas si l’initialisation de la partition à chiffrer /dev/sda2, se déroule très vite.

$ sudo fdisk -l
$ sudo cryptsetup luksFormat /dev/sda2

C’est tout à fait normal, puisque l’option luksFormat, contrairement à ce que son nom nous fait croire, ne formate pas du tout le disque. Pour ce faire, nous allons utiliser la commande dd.

Commencer par accéder au conteneur LUKS, qu’on va nommer hdcrypt, et qui sera le chemin d’accès au disque déchiffré.

$ sudo cryptsetup luksOpen /dev/sda2 hdcrypt

Formatter le disque avec la commande dd. En mode parano, vous pouvez lancer la même commande plusieurs fois.

$ sudo dd if=/dev/zero of=/dev/mapper/hdcrypt bs=16M

En fonction de la taille de votre disque, cette commande risque de prendre du temps avant de se terminer. Il n’y a pas d’indication sur l’avancement de l’opération à l’écran.

Ne paniquez pas si vous ne voyez pas de progrès, laisser votre ordinateur le temps de terminer le processus, et n’oubliez surtout pas de brancher votre ordinateur à un secteur.

Le meilleur moment pour lancer cette commande, c’est durant la nuit. Au matin, il faut espérer que l’opération se termine.

 

Notre conteneur est presque prêt. Pour vous donner une idée de ce que l’on va faire par la suite,

La première étape serait d’associer un volume physique (PV, Physical Volume) à notre container.

$ sudo pvcreate /dev/mapper/hdcrypt


Créer ensuite un groupe « vgcrypt », dans lequel on regroupera tous les disques logiques.

$ sudo vgcreate vgcrypt /dev/mapper/hdcrypt

Et enfin, préparer nos disques logiques. Donnez leurs un nom qui vous donnera une indication sur la future utilisation du volume.

$ sudo lvcreate -n lvroot -L 15G vgcrypt
$ sudo lvcreate -n lvswap -L 1g vgcrypt
$ sudo lvcreate -n lvhome -l 100%FREE vgcrypt

Faites attention à la différence entre -l, qui demande à avoir une valeur en pourcentage, et -L qui s’attend à une quantité en Go, d’où le G ou g.

Nos différentes partitions (volumes logiques) sont maintenant créées. Il faut maintenant y associer les systèmes de fichier appropriés pour chaque partition.

Je ne vais pas me prendre la tête à choisir lequel utiliser. Si vous voulez utiliser autre chose que EXT4, libre à vous.

$ sudo mkfs.ext4 -L Root /dev/vgcrypt/lvroot
$ sudo mkfs.ext4 -L Home /dev/vgcrypt/lvhome
$ sudo mkswap -L Swap /dev/vgcrypt/lvswap

Ici, le label (-L <option>) n’est pas obligatoire. C’est une indication supplémentaire pour indiquer à quelle partition je vais associer le volume.

Vérifier les informations de vos partitions avec fdisk.


La partie déchiffrée du disque se situe dans /dev/mapper.

 

III. Installation d’Ubuntu dans une partition chiffrée

Je ne vais pas détailler le processus d’installation. Cependant, il y a quelques points auxquels j’aimerai qu’on discute.

Ubuntu a une option pour chiffrer tout le disque, par contre celà effacera entièrement le disque dur. Ce n’est pas une option pour moi, puisqu’il me faut toujours ma partition Windows. Si comme moi, vous souhaitez garder le double boot, faites attention à ne pas sélectionner cette option.

La dernière option est celle qui nous intéresse, puisqu’elle nous laisse le choix de manipuler les partitions à notre façon.

Pour chaque volume logique, nous allons lui associer les partitions correspondantes.

Par exemple, à la partition /home il lui faut associer au volume /dev/mapper/vgcrypt-lvhome (format de fichier ext4).

Aussi, faites attention quand vous choisissez le boot loader, sinon le système ne pourra pas être installé, ou encore l’OS ne peut pas démarrer par la suite.

Poursuivez l’installation,

Et ne redémarrer pas encore votre système puisqu’il n’est pas tout à fait prêt.

 

IV. GRUB et les partitions chiffrées

Le GRUB ne sait pas lire des partitions chiffrées, en tout cas au moment où j’écris cet article. Il va donc falloir lui donner manuellement toutes les informations nécessaire pour qu’il puisse démarrer le système d’exploitation qu’on vient d’installer.

Si, à un moment ou à un autre, le GRUB n’arrive pas à démarrer le système, suite à une mise-à-jour par exemple, il va falloir refaire toutes les étapes ci-dessous pour débloquer le situation.

Commencer par monter toutes les partitions dont en a besoin en mode chroot, en commençant par celle qui contient la partition root, suivit du boot, puis le reste.

$ sudo mount /dev/mapper/vgcrypt-lvroot /mnt
$ sudo mount /dev/sda1 /mnt/boot
$ sudo mount /dev/mapper/vgcrypt-lvhome /mnt/home
$ sudo mount --bind /dev /mnt/dev

Récupérer ensuite l’UUID du disque /dev/sda2 chiffré avec LUKS. On n’en aura besoin pour la suite.

Monter ensuite les systèmes de fichiers du noyau virtuels proc, sysfs et devpts une fois connecté avec chroot.

$ sudo chroot /mnt
# mount -t proc proc /proc
# mount -t sysfs sys /sys
# mount -t devpts devpts /dev/pts

Créer un fichier crypttab pour y ajouter les informations ci-dessous.

[chroot]# vi /etc/crypttab
# <target name> <source device>		<key file> <options>
hdcrypt         UUID=UUID_de_sda2		none		luks,retry=1,lvm=vgcrypt

 

Déclarer le disque chiffré.

[chroot]# vi /etc/initramfs-tools/conf.d/cryptroot
CRYPTROOT=target=hdcrypt,source=/dev/disk/by-uuid/UUID_de_sda2

 

Regénérer les images de démarrage.

[chroot]# update-initramfs -k all -c

Indiquer au GRUB que la partition racine est chiffrée.

[chroot]# vi /etc/default/grub
 
GRUB_CMDLINE_LINUX="cryptopts=target=hdcrypt,source=/dev/disk/by-uuid/UUID_de_sda2,lvm=vgcrypt"

Mettre à jour les informations du GRUB.

[chroot]# update-grub


Et voilà, on est arrivé au bout. Vous pouvez maintenant redémarrer votre système.

Sources

Pourquoi la partition Boot n’est pas Cryptable ?
How can I install Ubuntu encrypted with LUKS with dual-boot?
Installer un Ubuntu chiffré avec LUKS, LVM et un partitionnement personnalisé
LFCS: How to Manage and Create LVM Using vgcreate, lvcreate and lvextend Commands – Part 11
Setup Flexible Disk Storage with Logical Volume Management (LVM) in Linux – PART 1

vSphere 6.5 – Désactivation de TLS 1.0 et 1.1

Un petit sujet pour vous aider à désactiver les versions obsolètes de TLS pour votre environement vSphere 6.5. Ce topic n’apporte rien de plus qu’un éclaircissement de l’article KB2147469, ainsi que quelques astuces qui pourraient vous aider à mener à bien cette opération.

Pour information, TLS 1.0 et 1.1 seraient automatiquement désactivés à partir de vSphere 6.7.

Je vous propose de lire cet article qui explique pour quelles raisons désactiver ces versions, ainsi que celui-ci qui explique ce que c’est que TLS/SSL.

Avant d’aller plus loin, noter que vous ne pouvez désactiver TLS qu’à partir d’un environment qui tourne avec la même version. En gros, si vous avez un vCenter en 6.5, vous ne pouvez désactiver TLS que pour ESXi 6.5, et non avec ESXi 6.0 ou 5.5.

Cependant, il y a une petite exception.
Avec un vCenter en 6.5 U2, vous pouvez désactiver TLS sur un ESXi en 6.0 U3.

Les ordres de suppressions de TLS dans le cas de l’utilisation de l’Appliance:
1. vCenter
2. ESXi
3. PSC

 

Commencer par télécharer le packet RPM vSphereTlsReconfigurator que vous allez placer dans le dossier /tmp du vCenter, puis lancer l’installation du packet.

cd /tmp

rpm -Uvh VMware-vSphereTlsReconfigurator-version-build_number.x86_64.rpm

Une fois le paquet installé, les scripts devraient se trouver dans:

/usr/lib/vmware-vSphereTlsReconfigurator/VcTlsReconfigurator

/usr/lib/vmware-vSphereTlsReconfigurator/EsxTlsReconfigurator

 

I. VCSA et PSC

La désactivation de TLS du VCSA (vCenter Appliance) et du PSC se procède de la même façon. Je l’ai déjà dit plus haut, mais je le répète encore une fois. Il ne faut pas désactiver TLS sur le PSC tant que ce n’est pas fait sur VCSA et les différents ESXis.

 

Garder une copie de vos configurations.

cd /usr/lib/vmware-vSphereTlsReconfigurator/

cd VcTlsReconfigurator

./reconfigureVc backup

 

Désactiver les versions TLS v1 et 1.1.

./reconfigureVc update -p TLSv1.2

 

Une fois c’est fait, vous devrez avoir.

 

II. ESXi

Placer vous dans le dossier EsxTlsReconfigurator.

cd /usr/lib/vmware-vSphereTlsReconfigurator/EsxTlsReconfigurator

Vous avez le choix entre la désactivation du TLS par server ou au niveau du cluster.

Dans le cas où vous souhaitez faire la manipulation par server,

./reconfigureEsx vCenterHost -h <ESXi_Host_Name> -u <Administrative_User> -p TLSv1.2

Pour la désactivation au niveau du cluster, il suffit de remplacer vCenterHost par vCenterCluster.

./reconfigureEsx vCenterCluster -c <Cluster_Name> -u <Administrative_User> -p TLSv1.2

 

N’oubliez pas de redémarrer les serveurs ESXi pour que les modifications prennent effet.

III. Combinaison ESXi 6.0u3 avec VCSA 6.5u2

Vous allez remarquer vous le même script utilisé pour désactiver TLS sur VCSA 6.5 ne fonctionnera pas avec un ESXi 6.0.

Validating product version at: "localhost".
Validating ESXi host: "HOST NAME".
Host "HOST NAME" is of unsupported version: "6.0".
Least supported version: "6.5".
Skipping reconfiguration of ESXi host "HOST NAME"

1. Télécharger cette fois ci TLS Reconfigure 6.0 U3

2. Désinstaller l’utilitaire pour 6.5 dans VCSA

rpm -e VMware-vSphereTlsReconfigurator-6.5.0-7766806.x86_64

3. Installer l’utilitaire TLS reconfiguration utility 6.0 dans un dossier /tmp du VCSA

rpm -Uvh VMware-vSphereTlsReconfigurator-6.0.0-5051284.x86_64

4. Déconnecter l’hôte ESXi à reconfigurer (n’enlevez surtout pas l’hôte de l’inventaire du vCenter)

5. Remplacer « vCenterHost » par « ESXiHost » dans la commande vue plus haut.

./reconfigureEsx ESXiHost -h <ESXi_Host_Name> -u root -p TLSv1.2

6. Reconnecter ESXi à vCenter

7. Placer l’hôte en maintenance mode

8. Rebooter le server

 

IV. Vérification

Vérifier que TLS est bien désactivé. Pour celà, à partir de n’importe quelle machine qui tourne sous linux, et même à partir du vCenter, lancer la commande ci-dessous.

openssl s_client -connect <ESXi_Host_Name>:443 -tlsX

Remplacer X par 1, 1_1 ou 1_2.

 

openssl s_client -connect <ESXi_Host_Name>:443 -tls1

openssl s_client -connect <ESXi_Host_Name>:443 -tls1_2

Vous devriez avoir une erreur « ssl handshake failure » si la version du TLS n’est pas supportée ou, est désactivée.

 

Sources:

Protocole SSL et TLS
Dépréciation de TLS v1.0/1.1 et application de TLS v1.2
Ports That Support Disabling TLS Versions
Managing TLS protocol configuration for vSphere 6.5/6.7 (2147469)
How can I verify if TLS 1.2 is supported on a remote web server from the RHEL/CentOS shell?

 

[Windows] MRemoteNG – Gestionnaire de connexions distantes

En tant qu’administrateur, à un moment ou à un autre, on n’a d’autre choix que d’utiliser le matériel proposé par l’entreprise. Généralement, on vous met dans les bras un PC avec Windows installé dessus. Je ne raconte même pas la galère que j’ai eu à utiliser Windows 10. Cà n’a rien à avoir avec la facilité d’utilisation de Windows XP! Géniale la comparaison, n’est ce pas. Trêve de plaisanterie.

Dans cet article, je vais vous présenter un outil open source, et qui est super génial pour administrer vos serveurs. Je ne vous présente plus MRemoteNG si vous connaissez déjà. Je vais vous proposer ensuite quelques extensions qui me sont très utiles.

Bien que Unity n’est plus développé par Canonical, c’est l’interface graphique par défaut avec la version 16.04 LTS. Quand la version 18.04 sera disponible, on verra si c’est toujours galère de s’y connecter en RDP.

Pour ne pas avoir à faire trop de manipulation virer, ou mettez de côté GNOME et UNITY. XFCE sera notre interface graphique de choix, et plus particulièrement pour un accès à distance avec le moindre effort.

I. Sur la machine distante, Ubuntu

Installer xRDP et XFCE

sudo apt install xrdp xfce4
echo xfce4-session >~/.xsession
cp /etc/xrdp/startwm.sh /etc/xrdp/startwm.sh.bak

Remplacer « . /etc/X11/Xsession » par « startxfce4 » dans le fichier /etc/xrdp/startwm.sh

sed -e "s;. /etc/X11/Xsession;startxfce4;" /etc/xrdp/startwm.sh

Redémarrer le service xRDP

sudo service xrdp restart

Activer le partage de bureau dans les Préférences de bureau distant.

Noter votre adresse IP pour l’accès à distance.

hostname -I

 

II. Sur la machine locale, Windows

Installer mRemoteNG et créer une nouvelle connection avec les informations de votre machine distante.


La puissance de cet outil réside dans le fait que, non seulement il supporte à la base plusieurs types de protocols (SSH, RDP, etc.), mais aussi on peut y lier des outils externes (NMAP, WinSCP, etc.).

Dans cet exemple, je vais rajouter Zenmap GUI, qui est l’interface graphique de Nmap. Dans un premier temps, installer Nmap puis dans MRemoteNG, sélectionner Outil>Outils Externe>Nouveau pour configurer le nouvel outil.

Pour Zenmap,


Display Name: Zenmap GUI
Filename: C:\Program Files\Nmap\zenmap.exe (chemin d’accès vers le fichier zenmap.exe)
Arguments: -p « Quick scan plus » -t %Hostname%
Try to Integrate: V (cochée)

 

Sources:

How to Setup A Ubuntu Remote Desktop
How to use xRDP for remote access to Ubuntu 14.04
3 Tips for the mRemoteNG Remote Connections Manager
Common External Tool Configurations
MRemoteNG – multi-gestionnaire de connexions distantes
Downloading Nmap

 

Configuration d’un serveur DNS-DHCP avec Zentyal

Chap 1. Configuration d’un serveur DNS-DHCP avec Zentyal
Chap 2. Installation de vSphere 6.5 dans Proxmox
Chap 3. Nested ESXi – ESXi imbriqué dans un autre ESXi
Chap 4. Configuration du réseau et de pfSense dans vSphere 6.5
Chap 5. FreeNAS – Configuration d’un serveur NFS avec VMware vSphere 6.5
Chap 6. FreeNAS – Configuration d’un SAN iSCSI avec VMware vSphere 6.5
Annexe. Topologie complète avec les icones de VMware

Chap 1. Configuration d’un serveur DNS-DHCP avec Zentyal

La configuration de Zentyal comme serveur DNS/DHCP est assez intéressante, surtout si l’on opère sur son propre réseau local qui est en même temps son réseau domestique. Par « intéressante », je veux dire que c’est un petit « challenge ». Avant de parler des soucis que j’ai rencontrés en adoptant cette configuration, je vais tout d’abord vous expliquer le contexte.

Je me suis acheté un micro-serveur pour créer un lab « VMware » pour me préparer à leurs certifications. Cependant, pour me simplifier la vie, mon lab se trouve dans le même réseau que mes autres appareils connectés à internet. Et oui, c’est pas malin! Mais par contre, c’est pratique puisqu’il n’y a pas moyen de créer une route statique via le routeur de mon FAI. Et plus tard, une fois tout configuré, je déplacerai le lab vers la DMZ.
Le serveur DNS, je l’utiliserai surtout pour résoudre les noms de domaine en local, mais surtout pour en profiter pleinement de la fonctionnalité de « recherche de domaine » qui me permet de ne pas taper le nom de domaine entier (http://monserveur.mylab.local), mais juste son alias (http://monserveur). Par la même occasion, il est possible de faire un ping vers le nom d’hôte directement à partir du même réseau, sans passer donc ni par l’adresse IP ni le nom de domaine.

Ne confondez pas « nom d’hôte » et « alias ». Je vais vous montrer où il faut configurer l’alias dans Zentyal, un peu plus loin dans ce chapitre.

Si vous n’êtes pas habitué à configurer un serveur DNS, vous risquez de foutre le bordel sur votre réseau, mais ce n’est pas si grave que çà. Au pire, le temps de résolution d’un nom de domaine peut être très lent, ou peut ne pas se faire du tout. Petit conseil pour vous prémunir contre ce genre d’inconvénience, c’est d’ajouter manuellement un serveur DNS fonctionnel dans les configurations de réseau de vos machines directement connectées à internet. Pour les autres machines qui doivent se connecter au lab, il n’y a rien à faire.

Avant d’avancer dans la configuration de Zentyal comme serveur DNS/DHCP, je tiens à préciser que je n’ai pas réussi à installer l’OS à partir du CD d’installation téléchargé sur le site. Ceci probablement du au fait que je l’installe comme machine virtuelle, malgré plusieurs tentative de modification des différents paramètres comme le type de disque, etc. Du coup, je suis parti sur une base Ubuntu 16.04.

I. Préparation de la machine virtuelle

OS
Type: Linux 4.X/3.X/2.6 Kernel

Hard Disk
Bus/Device: VirtIO
Format: QEMU
Disk1 size: 8GB
Disk2 size: 20GB
Cache: Default
Discard « coché » (si vos disques durs physiques sont des disques SCSI)

CPU
Sockets: 1
Cores: 1
Type: Default (kvm64)

Memory
Use fixed size memory: 2048MB

Network
Bridged mode
Model: VirtIO (paravirtualized)

Configuration du serveur Zentyal

Installer Ubuntu 16.04, puis créer un fichier /etc/apt/sources.list/zentyal.list pour y ajouter un lien vers l’archive du site.

$ sudo vim /etc/apt/sources.list.d/zentyal.list
deb http://archive.zentyal.org/zentyal 5.0 main

Récupérer la clé publique

$ wget -q http://keys.zentyal.org/zentyal-5.0-archive.asc -O- | sudo apt-key add -

Procéder ensuite à l’installation de zentyal et de ces différents modules. Ceux qui m’intéressent sont zentyal-dns, zentyal-dhcp puis zentyal-ntp.

$ sudo apt update
$ sudo apt upgrade

$ sudo apt install zentyal

$ sudo apt install zentyal-ntp zentyal-dhcp zentyal-dns zentyal-common

Note: pendant l’installation, vous devrez donner un mot de passe pour l’administrateur Root de MySQL. Gardez bien ce mot de passe quelque part, puisque vous ne risquez pas de l’utiliser tant que vous n’avez pas de problèmes de bases de données.

II. Configuration du DNS et du DHCP

L’identifiant et le mot de passe par défaut si vous êtes dans une machine Ubuntu, pour accéder à votre session Zentyal – https://localhost:8443  – sont les mêmes que ceux utilisés pour la même session Ubuntu.

  1. Activer les modules DNS et DHCP
  2. Configurer l’interface en mode statique
    Note: ne cochez surtout pas l’option WAN, sinon vous n’aurez pas accès à cette interface ensuite via le réseau LAN
  3. Configurez votre gateway, qui est l’adresse IP locale du routeur de votre FAI, si vous faites une connection directe
  4. Ajouter votre nom de domaine
  5. Configurer le serveur DNS

    Ici, je trouve que cette page n’est pas du tout ergonomique, puisqu’il n’y a pas moyen de vérifier visuellement ce qu’on a configuré sans cliquer sur le bouton de configuration. De plus, il n’y a pas de bouton pour revenir à la page précédente une fois les informations de configuration ajoutées. Bref, voici mes options.Domain: mylab.local (le nom de domaine que j’ai choisi à l’étape 4)
    Domain IP Address: 192.168.1.20 (l’adresse IP du serveur, cf. étape 2)
    Hostname: xxx (ici, il faut rentrer un nom que vous avez choisi pour identifier une serveur. Ce nom peut être le même que celui de l’hote, mais ce n’est pas une obligation)
    Dans cet exemple, vous devriez pouvoir accéder à l’interface de configuration de Zentyal via son nom d’hôte https://dc-zentyal.mylab.local ou son alias https://zentyal.mylab.local.
  6. Configurer le server DHCP

    Dans l’onglet « Common options »Dans l’onglet « Dynamic DNS options »
    Dans l’onglet « Advanced options », il n’y a pas grand chose à modifier.

III. Configuration du routeur FAI et vérification


Comme je le disais au tout début de cet article, afin d’éviter d’avoir des problèmes d’accès à internet à cause d’un problème de résolution de nom, mieux vaut ajouter par précaution d’autres serveurs DNS comme 8.8.8.8 et 8.8.4.4, qui sont des serveurs DNS de google.
Concernant l’ajout d’un deuxième serveur DHCP, la règle c’est celui qui répond en premier à une requête DHCP qui attribuera une adresse IP à la machine qui en fait la demande. Du coup, il n’y pas pas de soucis à avoir deux serveurs DHCP sur le même réseau.

Pour finir, effectuons une petite vérification pour voir que le DNS fonctionne correctement.

Pour en savoir un peu plus sur la configuration de Zentyal, je vous renvoie à leur wiki.

Références:

En/5.0/Zentyal 5.0 Official Documentation
Zentyal installation (Ubuntu documentation)