[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

 

Publicités

[Suse] Vidéos parodiques

En début de leurs conférences annuelles, et depuis 2014 si je ne me trompe, Suse publie des vidéos parodiques sur des musiques bien connues. Je vous laisse profiter, et voyons voir ce qu’on nous propose pour cette année.

Bonne visualisation.


Linus Said – Musical Parody from SUSECON 2017


25 Years – SUSE Music Video (7 Years parody)


Coding in the Name of – (Rage Against the Machine Parody)


Uptime Funk – (Uptown Funk parody)


SUSE. Yes Please. (Maroon 5 – Sugar parody)


Everything is Open Studio Music Video for SUSECon 2014

 

Debian face à Meltdown et Spectre

Je ne vais plus vous présenter ces deux failles de sécurités  qui en ont bien fait couler de l’encre depuis quelques jours/semaines/mois … Pour plus d’information à ce sujet, je vous renvoie sur la page wikipedia qui traite le sujet sur Spectre et Meltdown.

Pour avoir une idée de où est ce qu’on en est concernant la progression sur la résolution des problèmes de sécurités cités ci-dessus, je vous renvoie à la page qui traite du sujet.

Tout d’abord, vérifier quel noyau vous devriez avoir sur votre système en fonction de la version de votre distribution.

Sur ma machine, la version 9.3 (Stretch) de Debian tourne avec le noyau 3.16.0-4-amd64.

Pour rappel, et au cas où certains d’entre vous ne savent plus comment faire pour avoir le nom et la version d’une distribution Debian,

~$ lsb_release -a

~$ cat /etc/*-release

Et pour la version du noyau,

~$ uname -r

Pour vérifier si le système est sécurisé ou non, contre Spectre et Meltdown, installer le paquet spectre-meltdown-checker.

~$ sudo apt-get install spectre-meltdown-checker

Lancer ensuite le programme:

~$ sudo spectre-meltdown-checker

Evidement que mon système n’est pas protégé.

De ce fait, mettons à jour notre noyau.

~$ uname -r
3.16.0-4-amd64

Il me faut donc installer la version 64bits (amd64) du noyau linux.

~$ sudo apt-get install linux-image-amd64

Redémarrer votre machine une fois l’installation terminée, puis refaites le test.

~$ uname -r
4.9.0-5-amd64

Selection_001

Lancer de nouveau le programme:

~$ sudo spectre-meltdown-checker

Comme vous pouvez le constater, le problème avec Meltdown est réglé. Attendons les prochaines mises-à-jour du noyaux sous Debian pour voir ce qu’il en est de Spectre.

Une dernière chose. Vérifier que vous avez activé les mises-à-jour de sécurité dans le dépot de debian. Si ce n’est pas le cas, faites en sorte que vous ayez plus ou moins les mêmes informations que moi.

~$ sudo vim /etc/apt/sources.list

Backport et deb-src ne sont pas obligatoire, par contre ceux que j’ai encadré, ils le sont.

Sources:

HowToUpgradeKernel
The Spectre & Meltdown Vulnerability Checker for Linux Is Now in Debian’s Repos
Deux failles critiques : Meltdown et Spectre
Information on source package linux
Check for and Patch Spectre and Meltdown on Debian

dpkg: unrecoverable fatal error

Mon ordinateur se fait vieux (Macbook pro 2009), mais il fonctionne à merveille et je n’ai pas trop à me plaindre sauf de la batterie.

Contre toute attente, je n’ai rien changé de la configuration d’origine, sauf pour le cable d’alimentation que j’ai du changer une fois.

Puis un jour comme un autre, je reçois un:

dpkg: unrecoverable fatal error, arborting:
  reading files list for package ‘linux-headers-4.9.0-5-amd64’ : Input/output error
E: Sub-process /usr/bin/dpkg returned an error code (2)

 

Comme solution temporaire (workaroud), naviger dans le fichier /var/lib/dpkg/status, puis supprimer les informations du paquet incriminé.

vim /var/lib/dpkg/status

Lancer ensuite les commandes:

sudo dpkg --configure -a

sudo apt-get -f install

Le problème vient probablement du fait que j’ai des secteurs défecteux sur le disque.

dmesg | grep error
[65432.492401] end_request: I/O error, dev sda, sector 556703315

Source:

Thread: dpkg: unrecoverable fatal error, aborting:
How to fix dpkg error [2]?
Recovering from a failed SSD on linux

X Error of failed request: BadRequest (invalid request code or no such operation)

Si certains d’entre vous rencontre des difficultés à lancer skype, à cause d’une très vielle version, ou de la toute nouvelle (version 8.13.0.2), et ben la solution s’avère d’installer une version ni obsolète ni trop récente.

Je ne me suis pas occupé de ce problème depuis, puisque je n’utilise presque plus Skype, puisque les emails et sms fonctionnent toujours sans problème.

/usr/share/skypeforlinux$ ./skypeforlinux 
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM mic_call
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM call
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM mic_call
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM call
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM mic_call
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM call
X Error of failed request:  BadRequest (invalid request code or no such
operation)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  42 ()
  Serial number of failed request:  10
  Current serial number in output stream:  10

Je n’ai pas eu à m’occuper de ce problème jusqu’au moment où ma moitée a changé d’ordinateur et que j’ai du tout réinstaller.

 

Pour rappel,

    1. Faire une liste des applications déjà installées, puis supprimer skype
       dpkg -l | grep skype
       sudo dpkg -r skype
       sudo dpkg --purge skype
    2. Télécharger la version 8.11.0.4
      https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_8.11.0.4_amd64.deb
    3. Installer le paquet deb
       sudo dpkg -i skypeforlinux_8.11.0.4_amd64.deb

Et voilà.

Source:

Latest skype crashes

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 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)

Installation de vSphere 6.5 dans Proxmox

Chap 1. Configuration d’un serveur DNS-DHCP avec Zentyal
Chap 2. Installation de vSphere 6.5 dans Proxmox

Chap 2. Installation de vSphere 6.5 dans Proxmox

L’installation de vSphère 6.5 dans proxmox n’est peut être pas évident pour tout le monde. C’est pour celà que j’écris cet article.

Avant d’aller plus loin, je tiens à préciser quelques points.

Primo, vous pouvez télécharger gratuitement la suite vSphère sur le site de VMware. Noter que le produit nécessite une license, une fois la période d’essai gratuite de 60 jours terminée.
Secondo, il n’est plus nécessaire d’installer vCenter dans un serveur Windows. Il faut l’installer comme une machine virtuelle à part entière.
Tertio, je tiens à rappeler que j’utilise debian 9.1 sur un macbook pro. Du coup, j’ai rencontré des soucis lorsqu’il fallait appuyer sur la touche F11 du clavier pour valider l’installation de l’ESXi. Bizarrement, c’est la seule touche en combinaison avec fn, qui n’est pas reconnue, puisque F2 et F9 le sont. Même soucis avec un clavier externe attaché au Mac. Il m’a fallut utiliser un PC/linux pour continuer et terminer l’installation.

I. Préparation est installation du serveur ESXi

Je pars du principe que vous avez installé Proxmox sur un ordinateur ou un serveur dédié avec au moins 16GB de mémoire physique.

Créez une machine virtuelle principale pour acceuillir le serveur ESXi, avec les spécifications suivantes.

CPU >= 2 (type: host)
RAM >= 10GB
Local disk0 >= 2GB (format VMDK)
Local disk1 >= 25GB (format VMDK)
Network: VMXNET3
OS: Other OS types

Ajouter un deuxième disque dur pour l’installation du serveur vCenter.


Ici, j’ai pris la taille du disque proposée par défaut, qui est de 35GB.

Une fois la machine virtuelle prête, vous pouvez vous lancer dans l’installation du serveur ESXi.

Concernant les adresses IP à appliquer aux serveurs, il est fortement conseillé d’utiliser une adresse IP statique.

Une fois l’installation terminée, formater le deuxième disque afin qu’il soit utilisable pour l’installation de vCenter. Pour celà, il suffit de taper l’adresse IP du serveur ESXi dans votre navigateur internet.

II. Installation du serveur vCenter

Comme je le disais dans le titre, il est maintenant possible d’installer vCenter à partir d’une machine tournant sous linux, mais cependant pas avec n’importe quelles distributions. Il faut utiliser Ubuntu ou Suse linux.

Je me suis donc créé une machine virtuelle Ubuntu dans Proxmox, puis j’ai lancé le fichier d’installation de vCenter. Ce; tte étape peut se faire en deux étapes. Une fois la première étape terminée, vous pouvez poursuivre l’installation à une date ultérieure, puis de reprendre à partir de la deuxième étape en entrant dans l’URL de votre navigateur l’adresse IP du serveur vCenter.

Étape 1:


En production, il est fortement recommandé d’ajouter un serveur via son nom de domaine au lieu de l’adresse IP. Je vous explique comment faire à la troisième partie de ce chapitre.

Comme je n’ai pas configuré de serveur DNS lors de cette manipulation, et surtout que c’est un lab, je peux donc me permettre d’utiliser l’adresse IP comme solution temporaire.


Note: Je viens de terminer un article expliquant comment configurer un serveur DNS. Je vous renvoie sur cette page pour voir comment procéder.


Étape 2:
Accéder à l’interface du vCenter à partir de son adresse IP. Vous allez constater qu’il vous faut du flash! Et oui, sans flash vous pouvez toujours utiliser l’interface en HTML5, mais avec des fonctionnalitées limitées.

Heureusement, le problème avec flash sera définitivement résolu d’ici 2020, finalement! Adobe a annoncé officiellement que flash sera retiré du marché après cette date:

« as open standards like HTML5, WebGL and WebAssembly have matured over the past several years, most now provide many of the capabilities and functionalities that plugins pioneered and have become a viable alternative for content on the web. (…) Adobe is planning to end-of-life Flash. Specifically, we will stop updating and distributing the Flash Player at the end of 2020 and encourage content creators to migrate any existing Flash content to these new open formats. »

III. Note concernant l’installation du vCenter via Ubuntu, une fois le serveur DNS/DHCP configuré

Dans la première partie de cet article, je vous ai expliqué comment installer un serveur vCenter lorsqu’on n’a pas de serveur DNS en place. Dans cette partie, nous allons en tenir compte de la présence de Zentyal, qui sera notre serveur DNS sur le réseau (cf. chap 1).

Avant de procéder à l’installation du serveur vCenter, je tiens à rappeler que j’utilisez un nom de domaine en .local (mylab.local). Celà pose un problème lorsqu’on utilise la version bureau de Ubuntu qui, utilise un serveur DNS en local (Avahi), et qui, lui aussi traduit les noms de domaines du type le-nom-de-mon-hote.local en adresse IP.

administrator@budgie:~$ ping debian.local
PING debian.local (192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10 (192.168.1.10): icmp_seq=1 ttl=64 time=2.36 ms
64 bytes from 192.168.1.10 (192.168.1.10): icmp_seq=2 ttl=64 time=1.31 ms
^C
--- debian.local ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 1.317/1.838/2.360/0.523 ms

Par contre,

administrator@budgie:~$ ping esxi-01.mylab.local
ping: esxi-01.mylab.local: Name or service not known

 

Et ceci, malgré le fait que la résolution de noms se fait sans problème.

administrator@budgie:~$ host esxi-01.mylab.local
esxi-01.mylab.local has address 192.168.1.51

Si vous vous décidez tout de même à lancer l’installation de vCenter sans prendre compte les alertes ci-dessus, vous allez recevoir un message d’erreur de type:

error: Could not get certificate fingerprint from host, esxi01.mylab.local: Error: getaddrinfo ENOTFOUND esxi01.mylab.local esxi01.mylab.local:443

Pour comprendre ce problème, jettons un coup d’oeil au fichier /etc/nsswitch.conf. Si je m’intéresser à ce fichier, ce n’est pas par hasard puisque les services comme dig, host, nslookup, etc. y font référence pour résoudre les noms de domaines via la commande getaddrinfo.

Si je reprends l’explication de Wikipedia concernant le fichier NSS (Name Service Switch), ce fichier « autorise le remplacement des traditionnels fichiers Unix de configuration (par exemple /etc/passwd, /etc/group, /etc/hosts) par une ou plusieurs bases de données centralisées ».

hosts: files mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns myhostname

La partie qui nous intéresse dans ce fichier est la partie au niveau de la ligne hosts. La recherche d’information via les commandes comme ping, nslookup, etc., se fait en lisant la ligne de gauche à droite.

  1. files traduit les noms d’hôtes statics via le fichier /etc/hosts
  2. mdns4_minimal traduit les noms de domaines en passant par le multicast DNS (mDNS)
  3. [NOTFOUND=return] signifie que, si la requête juste avant cette commande (ici, une requête mDNS) renvoie une réponde de type notfound, alors le système n’essaie pas d’autre méthode pour résoudre le nom de domaine
  4. dns, comme vous pouvez vous en doutez, traduit les noms de domaine à la façon traditionnelle

Le problème que j’ai rencontré plus haut s’explique par le fait que la recherche du nom de domaine est enclenchée par mDNS, puisque c’est la première requête DNS rencontrée au niveau de la ligne host. Puis la recherche s’arrête net et sans passer par notre serveur DNS puique, si l’on regarde le fqdn qui est esxi-01.mylab.local, mDNS recherche dans sa base de donnée s’il n’y a pas un nom d’hôte ayant pour nom esxi-01.mylab. Comme il n’y a rien de tel, la recherche s’arrête et ne va pas plus loin que [NOTFOUND=return].

Pour régler ce problème, placer dns avant mdns.

hosts: files dns [NOTFOUND=return] resolve [!UNAVAIL=return] mdns4_minimal myhostname

C’est une méthode parmis tant d’autre, et c’est ce que je recommande vivement de suivre.

Pour plus d’information concernant le multicast DNS, je vous renvoie à ces articles:

https://wiki.archlinux.org/index.php/avahi
https://doc.ubuntu-fr.org/zeroconf
https://fr.wikipedia.org/wiki/Avahi_(logiciel)