25 oct. 2018

FreeNAS VM : installation d'un invité CentOS 7

Riga 20.08.2016 (53)J'ai commencé à jouer avec la fonctionnalité VM de FreeNAS 11, la célèbre distribution BSD pour créer son propre NAS. J'ai assez de puissance sur mon NAS actuel pour lancer quelques machines virtuelles, ce qui me permettra d'utiliser d'autres OS que FreeBSD (disponible via les jails), comme par exemple ici CentOS.

À propos de VM

FreeNAS étant basé sur FreeBSD, celui-ci base sa fonction d'hyperviseur sur bhyve, l'hyberviseur BSD. Les prérequis matériels sont assez simples :

  • assez de mémoire vive pour que FreeNAS puisse continuer à en utiliser pour gérer la partie NAS ;
  • assez de puissance CPU pour que FreeNAS puisse continuer à en utiliser pour gérer la partie NAS ;
  • assez d'espace disque (puisqu'on va aussi en allouer à nos machines virtuelles) ;
  • et enfin, s'assurer que le processeur de notre NAS dispose des instructions de virtualisation.

Concernant la quantité de mémoire vive, il faut se rappeler que FreeNAS réclame au moins 8 Go de RAM, voire plus selon les usages. La section Hardware Recommandations de la documentation officielle est à ce titre à lire en premier. En ce qui me concerne, j'ai décidé d'ajouter de la mémoire vive à mon système avant de commencer à utiliser VM.

Concernant les instruction de virtualisation, la section VMs de la documentation officielle est aussi très instructive. Pour vérifier que notre CPU dispose bien du jeu d'instruction nécessaire, deux possibilités :

  • Sur un système Intel : grep VT-x /var/run/dmesg.boot ;
  • Sur un système AMD : grep POPCNT /var/run/dmesg.boot.

Sur mon NAS, j'ai un Xeon E3-1220L V2. Cela donne donc :

root@arreat:~ # grep VT-x /var/run/dmesg.boot
  VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID

Créer sa machine virtuelle

Dans l'absolu, créer sa machine virtuelle est assez simple et suivre la documentation en anglais assez facile. On commence par aller dans le menu VMs, puis on clique sur le bouton Add VM. Un menu s'affiche alors, et on peut renseigner les informations de notre système virtuel :

  • Name : nom de la machine virtuelle ;
  • Description : un texte descriptif ;
  • Virtual CPUs : le nombre de processeurs virtuels ;
  • Memory Size (MiB) : la quantité de mémoire-vive ;
  • Boot Method : si la machine virtuelle est en UEFI pur ou en mode de compatibilité avec BIOS (UEFI-CSM), mais visiblement il vaut mieux rester en UEFI ;
  • Autostart : si la machine démarre automatiquement au démarrage du NAS.

On peut ensuite créer des périphériques pour notre machine virtuelle, en la sélectionnant puis en appuyant sur le bouton "Devices" en bas de l'interface web. Un nouvel onglet apparaît, et grâce au bouton "Add device", on peut alors ajouter :

  • Network interface : une carte réseau (Intel émulée, ou VirtIO) ;
  • Disk : un disque dur, sous forme de ZVol (en AHCI ou VirtIO) ;
  • CD-ROM : un lecteur optique, en choisissant une image ISO hébergée sur le NAS ;
  • VNC : un écran virtuel accessible via le protocole VNC.

Démarrer sa machine virtuelle et installer CentOS

Une fois la machine virtuelle crée, on s'assure que le CD-ROM virtuel est bien une ISO d'installation de CentOS et on appuie sur le bouton de démarrage. Par contre, et c'est à ce moment que la documentation et peut-être bhyve sont muets, c'est à propos du périphérique VNC : j'ai perdu littéralement des heures à cause du mapping clavier, qui respecte les lettres pour de l'azerty, mais qui ne respecte pas les caractères spéciaux et les chiffres. Ceci est donc particulièrement gênant.

Mon astuce consiste à ne pas créer de périphérique VNC : VM crée alors une console série, à laquelle on peut accéder via la commande cu depuis un shell sur la machine FreeNAS :

cu -s 9600 -l /dev/nmdm1B

A noter que le périphérique d'accès peut changer selon la machine virtuelle, il faut donc changer la commande en conséquence.

Une fois que le CD-ROM est démarré, il convient d'éditer les options de démarrage en appuyant sur 'e', puis en ajoutant à la première ligne l'option console=ttyS0. Cette option est indiquée dans la documentation d'installation de RHEL 7

Crédit photo : E Livermore - Riga 20.08.2016 (53).

18 oct. 2018

Firefox : 4 versions différentes du navigateur web en parallèle sur son OS

Savez-vous qu'il est possible d'exécuter plusieurs versions de Firefox sur son ordinateur, et même de les exécuter en parallèle ? Voici une liste de différentes versions du célèbre navigateur de Mozilla que j'ai pu installer et utiliser sur les différents ordinateurs que j'ai pu utiliser ces derniers temps, que ce soit sous GNU/Linux (Fedora), macOS voire Windows.

Firefox

Le classique, celui qu'on installe et utilise partout, bien entendu ! Comment s'en passer ? L'installeur pour macOS et Windows est facilement disponible, et bien entendu empaqueté dans Fedora. C'est généralement le navigateur que j'utilise pour les sites connus et de confiance.

Firefox est disponible à l'adresse suivante : https://www.mozilla.org/fr/firefox/.

Firefox Developer Edition

Firefox Developer Edition, anciennement Aurora, est en fait la version bêta, agrémentée d'un thème sombre. Un installeur est disponible non seulement pour macOS et Windows, mais une archive est aussi disponible pour GNU/Linux. L'inconvénient de cette archive est qu'elle n'est du coup pas intégrée à la distribution ni à l'environnement de bureau (Gnome pour ma part). J'ai donc du manuellement créer des fichiers desktop, en prenant pour modèle celui de Firefox. Concernant mon utilisation, je l'utilise en mode "navigation privée" pour les sites inconnus et en lesquels je n'ai pas confiance.

Tor Browser

Tor Browser est une version particulière de Firefox, basée sur la version ESR, qui permet de naviguer sur le réseau Tor. En plus de la connexion au réseau d'anonymisation, cette version dispose de deux extensions : HTTPS Everywhere et NoScript. Il peut m'arriver de l'utiliser pour des tests, cela évite parfois d'utiliser un VPN lorsqu'on veut accéder à un site depuis une autre adresse IP.

IceCat

Enfin, IceCat est le navigateur du projet GNU, qu'on connaissait plutôt sous le nom d'IceWeasel. Basé lui aussi sur la version ESR de Firefox, mais totalement dépourvu de modules non-libres, IceCat dispose en plus de fonctionnalités de protection de la vie privée. Il peut servir aussi si on souhaite comparer entre deux versions de Firefox.

Et pourquoi pas d'autres ?

Si vous connaissez une autre variante de Firefox, vous pouvez profiter des commentaires pour m'en parler, ainsi que de l'usage que vous en faites. N'hésitez pas aussi à me parler de vos usages de celles déjà listées !

Vous avez aimé cet article ? Alors partagez-le sur les réseaux sociaux !

Crédit photo : Sonny Ravesteijn (sans titre).

29 mai 2018

Installation d'OpenWRT dans VirtualBox - Another Home Page Vlog épisode 2

Une autre vidéo pour ce billet : cette fois il s'agit de disposer d'un routeur OpenWRT dans VirtualBox, et de configurer celui-ci pour que la machine virtuelle Kali Linux, installée dans l'épisode précédent, l'utilise comme passerelle.

On prend les mêmes et on recommence ?

Comme pour la précédente vidéo, il ne s'agit pas vraiment d'une installation. Un import ? Pas tout à fait : cette manipulation consiste à télécharger l'image disque OpenWRT et à la convertir en disque dur VirtualBox. On peut alors créer une nouvelle machine virtuelle, sans stockage, et assigner le nouveau disque dur à celle-ci. Cette machine virtuelle n'ayant pas d'interface graphique, pas besoin d'addition ici. On peut retrouver la documentation qui a inspiré cette vidéo directement sur le wiki d'OpenWRT.

Quel intérêt ?

VirtualBox dispose de nombreuses options réseau assez complètes. Mais ici l'idée est de simuler un routeur ressemblant un peu à ce qu'on trouve chez soi. On peut le configurer via une interface web, et il dispose d'une puissance limitée. On peut aussi envisager de s'en servir avant d'installer OpenWRT sur du matériel, probablement d'une autre architecture, pour se faire la main. Petit truc amusant, j'ai même trouvé dans les téléchargement une image pour les processeurs Geode, qu'on trouve par exemple dans les anciens Soekris net5501.

Le plus important : la vidéo

Pour voir la vidéo, c'est ici :

J'espère que vous apprécierez cette vidéo au moins autant que j'ai apprécié de la faire ! La capture de bureau m'amuse bien :) Si jamais vous avez des suggestions d'installations de systèmes en machine virtuelle, faites-m'en part : cela pourrait aussi me faire découvrir des trucs :)

Enfin, tout ceci ne serait pas possible sans le Studio Cyanotype ! Merci à elle de m'avoir enseigné les rudiments du montage vidéo ! N'hésitez pas à aller voir sa chaine Youtube et son blog !

Crédit photo : Sharegrid.

23 avr. 2018

CentOS 7 : installation vraiment minimale - errata

Dans un billet précédent, j'avais réalisé une installation vraiment minimale de CentOS 7. Si globalement le cahier des charges était respecté, je me suis heurté à quelques petites déconvenues, je me suis donc dit qu'un billet sous forme d'errata ne serait pas de trop.

SELinux

Bon, d'accord, SELinux est probablement l'un des composants de CentOS, Fedora et RHEL le plus détesté (ou est-ce systemd ?), car nombreux sont encore les tutoriaux qui commencent par demander de désactiver celui-ci (à tort). Bref, si comme moi vous vous attendez à ce que votre système minimaliste soit paramétré en "Enforcing" (après tout c'est marqué dans le kickstart), pas de chance. Tapez 20 fois la commande setenforce Enforcing si vous voulez, la réponse sera la même : non.

Pourquoi ? Parce que votre serviteur, en allant tailler dans les paquets à la tronçonneuse, s'est débarrassé des politiques SELinux. Sans politique, cela fonctionne moins bien. Comment on les obtient ? En installant deux paquets : selinux-policy et selinux-policy-targeted. N'envisagez pas un seul instant de n'installer que le premier : le système se bloquera au démarrage.

scp

Quand on est sur une machine serveur, il n'est a priori pas nécessaire d'installer un quelconque client, sauf cas exceptionnel et identifié. En voici un : sans installer le paquet openssh-clients sur mon serveur minimaliste, je ne peux pas faire de scp vers celui-ci. Je suppose que le binaire scp doit être appelé à un moment quelconque côté serveur, mais toujours est-il que sans, bein ça ne fonctionne pas.

Perl et la locale

Celui-ci est assez tordu et concerne les paramétrages de langue. Il se trouve qu'après avoir installé Perl sur ce serveur minimaliste, j'ai voulu lancer un script utilisant ce langage. J'ai eu droit, durant les scripts, à un message de ce genre :

perl: warning: Falling back to the standard locale ("C").

Alors le pourquoi exact, je ne suis toujours pas certain, je suspecte qu'il manque un paquet et que celui-ci (toujours pas identifié) fait un paramétrage particulier, toujours est-il que je me voyais mal modifier ma configuration OpenSSH pour aller jouer avec les variables d'environnement exportées par ce dernier. J'ai préféré finalement ajouter deux petites lignes à /etc/environment :

LANG=en_US.utf-8
LC_ALL=en_US.utf-8

Cela force le système en anglais américain, en UTF-8.

Les logs

Bon alors celle-là, elle est fantastique : rsyslog n'est du coup plus installé par défaut et certains logiciels n'envoient plus de log, comme OpenSSH : j'ai voulu diagnostiquer des erreurs de connexion SSH et je n'avais pas de fichier /var/log/secure ! En effet, par défaut OpenSSH sous CentOS utilise le protocole syslog pour fournir ses logs. A noter aussi que logrotate manquait, ce qui aurait pu s'avérer plus dramatique au bout de quelques mois sur une machine de production.

C'est tout ?

Ce n'est probablement que le début. Je me rends compte à l'usage qu'il me manque pas mal de choses de mon petit confort (vim, less, tmux...). Un autre paquet que je n'ai pas encore réinstallé est NetworkManager, à voir si cela devient vraiment pratique.

Vous avez aimé cet article ? Alors partagez-le sur les réseaux sociaux !

Crédit photo : Adam Sherez - Same but different.

9 fév. 2018

Installation de Kali Linux dans VirtualBox - Another Home Page Vlog épisode 1

p1020274.jpgAujourd'hui, une nouvelle vidéo ! Pour ce nouvel épisode du vlog, je change de support : au lieu de voir ma tête, c'est mon bureau (informatique) qui est affiché. J'ai dans l'idée de mettre en place plusieurs machines virtuelles pour monter une sorte de labo de tests, et j'ai choisi de commencer par installer un système graphique comportant de nombreux outils de sécurité offensive, Kali Linux. Pour voir la vidéo, c'est ici :

Import ou installation ?

Pour cette nouvelle vidéo, je passe donc en mode "capture de bureau" et je vous montre comment installer l'image virtuelle de Kali Linux dans VirtualBox ! Pour mettre en place cette machine virtuelle, j'ai choisi d'utiliser non pas l'image ISO, mais une image virtuelle de système déjà installé, qu'on peut récupérer sur la page de téléchargement d'Offensive Security. Avantage non négligeable, les VirtualBox additions sont déjà installées et facilitent donc l'utilisation de cette machine virtuelle, que ce soit au niveau graphique ou au niveau réseau.

J'espère que vous apprécierez cette vidéo au moins autant que j'ai apprécié de la faire ! En ce qui me concerne j'aime bien le principe de capture de bureau, et j'espère en faire d'autres prochainement. D'ailleurs, si jamais vous avez des suggestions d'installations de systèmes en machine virtuelle, faites-m'en part : cela pourrait aussi me faire découvrir des trucs :)

Enfin, tout ceci ne serait pas possible sans le Studio Cyanotype ! Merci à elle de m'avoir enseigné les rudiments du montage vidéo ! N'hésitez pas à aller voir sa chaine Youtube et son blog !

Crédit Photo : Vincent Battez - P1020274

Propulsé par Dotclear