Premiers pas sous Proxmox

Critères requis :
  • Vous avez un compte sur console.online.net
  • Vous avez un serveur dédié Dedibox
  • Vous avez lancé l'installation de Proxmox VE depuis la console de gestion

Proxmox est une distribution de virtualisation à l'instar d'ESXi, basée sur Debian, gérable depuis une interface web, vous permettant de rapidement mettre en place des systèmes virtualisés de type OpenVZ ou KVM.

Dans ce tutoriel nous allons voir les premiers pas avec Proxmox, et sa sécurisation.
En effet, principalement pour ceux venant d'ESXi, la sécurité à mettre en place sur l'hôte est minimale.
Cependant, Proxmox étant basé sur Debian, il y aura quelques bonnes pratiques à considérer lors de l'installation de ce dernier.

Même si Proxmox peut être utilisé de manière gratuite, nous vous recommandons d'acquérir une licence, surtout en milieu professionnel, pour les mises à jours régulières de la version stable : https://www.proxmox.com/en/proxmox-ve/pricing

Changer le hostname

Pour changer le hostname, nous allons commencer par modifier deux fichiers.

/etc/hostname : ici, renseignez le nom du sous domaine. Par exemple pour proxmox.online.net, renseignez proxmox

/etc/hosts : par défaut, vous devriez avoir quelque chose comme suit :

195.154.xx.xx 	sd-32196.dedibox.fr sd-32196

Modifiez-le de sorte à ce que cela corresponde à vos domaines :

195.154.xx.xx 	proxmox.online.net proxmox

Et forcez la modification “en live” pour une prise en compte sans redémarrage :

sudo hostname proxmox.online.net

Vous pouvez maintenant redémarrer le service pve-cluster pour la recréation des dossiers :

service pve-cluster restart

Maintenant, rendez-vous dans le dossier concerné et déplacez les fichiers de configuration des VMs :

cd /etc/pve/nodes && mv sd-xxxxx/* proxmox/
Il vous faudra bien évidemment adapter en fonction du numéro de votre serveur et de son nouvel hostname.

Une fois tout cela fait, vous devrez redémarrer le serveur pour une prise en compte des changements.

Polissonnerie

Si vous ne souhaitez pas acquérir une licence Proxmox, vous pourriez vouloir enlever le message à chaque connexion, vous incitant à prendre une licence.

Pour ce faire, éditez le fichier /usr/share/pve-manager/ext4/pvemanagerlib.js et cherchez la ligne suivante :

if (data.status !== 'Active') {

Et vous la remplacez par :

if (false) {

Par la suite, vous ne devriez plus avoir le message.

N'oubliez pas de vider le cache de votre navigateur pour que le fichier JS soit rechargé

===

Aussi, vous allez vouloir enlever le dépôt lié aux mises à jour “stable” Proxmox puisqu'il vous retournera une erreur lors d'un apt-get update tant que vous n'aurez pas de souscription à leur service :

rm /etc/apt/sources.list.d/pve-enterprise.list

Pas d'inquiétude, il y a normalement toujours la ligne suivante dans /etc/apt/source.list :

deb http://download.proxmox.com/debian wheezy pve-no-subscription

Qui vous permet de recevoir les mises à jour. Cependant, il n'y aura aucun support de fait en cas de problème.

Fail2Banisation

Cette explication fait suite à notre précédent tutoriel sur Fail2Ban.

Dans votre fichier de configuration Fail2Ban, je vous invite à rajouter cela :

[proxmox]
enabled = true
port    = https,http,8006
filter  = proxmox
logpath = /var/log/daemon.log

Puis nous créons le filtre associé dans /etc/fail2ban/filter.d/proxmox.conf :

# Fail2Ban configuration file
#
# Author: Cyril Jaquier
#
# $Revision: 569 $
#

[Definition]

# Option:  failregex
# Notes.:  regex to match the password failure messages in the logfile. The
#          host must be matched by a group named "host". The tag "<HOST>" can
#          be used for standard IP/hostname matching and is only an alias for
#          (?:::f{4,6}:)?(?P<host>\S+)
# Values:  TEXT
#

failregex = pvedaemon\[.*authentication failure; rhost=<HOST> user=.* msg=.*

# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex =

Cela détectera automatiquement les tentatives de connexion sur votre panel Proxmox, et bannira, comme pour SSH, les IPs en question.

Pour que cela soit actif, il vous faudra redémarrer le service Fail2Ban :

sudo service fail2ban restart

Aller plus loin

Ceci n'est qu'un prélude à la sécurité de votre hôte. Vous pouvez par exemple :

  • Mettre en place un pare-feu pour DROPPER le trafic indésirable
  • Vous authentifier sur SSH uniquement avec des clés (sans mot de passe)
  • Limiter l'accès depuis certaines IPs
  • etc.