Installation Serveur dédié Proxmox

De Wiki Arthion

Sommaire

Installation

Partir sur le partitionnement par défaut ?

Configurer le reverse sur le panel admin OVH

Config de base

Compte Root, user et SSH

Modifier le mot de passe root ayant été envoyé par mail

 passwd root

Créer un user de base pour la connexion ssh

 adduser nouveauuser 

Ajouter la clé publique pour la future connexion ssh de l'utilisateur

  su nouveauuser

Clé publique à déposer dans :

  ~/.ssh/authorized_keys

Modifier la configuration SSH vi /etc/ssh/sshd_config

 Port 10000                  # Changer le port par défaut
 PermitRootLogin no         # Ne pas permettre de login en root
 Protocol 2                 # Protocole v2
 #AllowUsers nouveauuser     # N'autoriser qu'un utilisateur
 PubkeyAuthentication yes   # Autoriser uniquement l'authentification par clé
 #PasswordAuthentication no  # Refuser l'authentification par mot de passe - N'activer qu'après avoir confirmé connexion par clé.


Redémarrer le service SSH après ces modifications :

 /etc/init.d/ssh restart


Configuration des locales ainsi que du fuseau horaire

 dpkg-reconfigure locales
 dpkg-reconfigure tzdata

Mettre a jour le system et reboot

 aptitude update && aptitude full-upgrade 

Configuration réseau

vi /etc/hostname et indiquer le reverse configuré chez OVH

vi /etc/hosts

 127.0.0.1       localhost  openvz
 xx.x.xxx.xxx    truc.machin.com  openvz

vi /etc/resolv.conf

 nameserver ip_serveur_dns_1
 nameserver ip_serveur_dns_2

Entrer 127.0.0.1 et vérifier que les DNS OVH sont saisis en backup.

Ne pas répondre aux ping broadcast

 echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

Désactiver le routage de paquets d'origine interne (a tester si ne pose pas de pb avec les VM)

 echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route

Refuser les messages de réponse icmp invalides

 echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

Redémarrer le reseau

 /etc/init.d/networking restart

Vérifications

 hostname -f

doit retourner le FQDN soit truc.machin.com

 hostname -s

doit retourner le nom court, soit openvz

 hostname -d

doit retourner le domaine, soit machin.com

 hostname -i

retourne l'adresse IP

Firewall

Modifier le fichier sysctl.conf afin de permettre le forwarding ipv4 :(ne devrait pas etre nécéssaire)

Consulter /etc/network/interfaces et voir quelles interfaces sont établies par défaut par OVH.


net.ipv4.ip_forward=1

vi /etc/init.d/firewall

 #!/bin/sh
 # Vider les tables actuelles
 iptables -t filter -F
 # Vider les règles personnelles
 iptables -t filter -X
 # Interdire toute connexion entrante et sortante
 iptables -t filter -P INPUT DROP
 iptables -t filter -P FORWARD DROP
 iptables -t filter -P OUTPUT DROP
 # ---
 # Ne pas casser les connexions etablies
 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 # Autoriser loopback
 iptables -t filter -A INPUT -i lo -j ACCEPT
 iptables -t filter -A OUTPUT -o lo -j ACCEPT
 # ICMP (Ping)
 iptables -t filter -A INPUT -p icmp -j ACCEPT
 iptables -t filter -A OUTPUT -p icmp -j ACCEPT
 # ---
 # SSH In
 iptables -t filter -A INPUT -p tcp --dport 10000 -j ACCEPT
 # SSH Out
 iptables -t filter -A OUTPUT -p tcp --dport 10000 -j ACCEPT
 # DNS In/Out
 iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
 iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
 iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
 iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT
 # NTP Out
 iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT

chmod +x /etc/init.d/firewall

En cas d'erreur, redémarrer le serveur

Afin de l'ajouter aux scripts appelés au démarrage :

 update-rc.d firewall defaults

Pour le retirer, utiliser la commande suivante :

 update-rc.d -f firewall remove

/etc/init.d/firewall pour activer le filtrage.


Applications

Synchro du temps

 apt-get install ntp ntpdate. 

Editer /etc/ntp.conf ou /etc/default/ntpdate pour vérifier si bien configuré

 /etc/init.d/ntp restart.

Applis

 aptitude install pound fail2ban rkhunter

Configuration pound

 ## redirect all requests on port 8080 ("ListenHTTP") to the local webserver (see "Service" below):
 ListenHTTP
 Address 91.121.173.80
 Port    80
 # my services definition
 Service
 HeadRequire "Host:.*www.domaine.net.*"
 BackEnd
 Address vz-opensso
 Port    8180
 End
 End
 Service
 HeadRequire "Host:.*abcd.domaine.net.*"
 BackEnd
 Address vz-pouet
 Port    81
 End
 End
 End


Configuration Fail2ban (pour ssh)

 vi /etc/fail2ban/fail2ban.conf

Copier le fichier d'exemple puis le modifier

 cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
 vi /etc/fail2ban/jail.local

Configuration rkhunter

 vi /etc/default/rkhunter
 vi /etc/rkhunter.conf
 aptitude install bind9 bind9-host dnsutils

Configuration des disques pour rendre compatible les snapshots à chaud

On va utiliser md2 actuellement monté sur /var/lib/vz.

Backup des données de la partition

Il nous faut donc commencer par faire un backup:

 mkdir -p /home/backup
 cp -pr /var/lib/vz/* /home/backup/


On va demonter la partition sur laquelle est montée /var/lib/vz (/dev/md2) dans notre cas:

 umount /var/lib/vz

Theoriquement il faudrait changer le type de la partition /dev/md2 pour du Linux LVM (8e):

 fdisk /dev/md2

"commande t pour changer le type => 8e"

Seuelement ça ne fonctionne pas, donc on fait comme si c'etait ok ;)

Création du PV

 pvcreate /dev/md2


Création du VG

On crée le VG que l'on nomme pve

 vgcreate pve /dev/md2


Création des LV

On va creer un volume logique sur lequel on montera ensuite /var/lib/vz Et un autre qui sera dedié aux backup qui sera monté sur/var/lib/vz/dump

Attention, le volume dump va accueillir... les dumps de vos machines virtuelles, assurez vous que vous la dimensionnez en fonction de vos besoins. Dans notre cas les dumps sont transférés sur un serveur de backup puis effacés du serveur local donc on n'a pas besoin de "beaucoup" de place.

 lvcreate -L 300G -n vz pve
 lvcreate -L 50G -n dump pve

On formate ces lv (ext3):

 mke2fs -j /dev/pve/vz -L vz
 mke2fs -j /dev/pve/dump -L dump


Modification du fstab

On doit a present modifier le fstab pour :

   supprimer les points de montage /dev/md2 -> /var/lib/vz
   creer le point de montage /dev/pve/vz -> /var/lib/vz et /dev/pve/dump vers /var/lib/vz/dump 

Il faut penser a creer /var/lib/vz/dump (en ayant monter /var/lib/vz avant...)

Au final le fstab doit ressembler a :

 # <sys.fichiers><pt de montage><type> <options>  <dump> <pass>
 /dev/md1        /       ext3    errors=remount-ro       0       1
 #/dev/md2        /var/lib/vz     ext3    defaults        1       2
 /dev/pve/vz       /var/lib/vz     ext3    defaults        1       2
 /dev/pve/dump       /var/lib/vz/dump     ext3    defaults        1       2
 /dev/sda3       swap    swap    defaults        0       0
 /dev/sdb3       swap    swap    defaults        0       0
 proc            /proc   proc    defaults        0       0
 sysfs           /sys    sysfs   defaults        0       0

On mount le le tout:

 mount -a

On verifie:

 $ mount
 /dev/md1 on / type ext3 (rw,errors=remount-ro)
 tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
 proc on /proc type proc (rw,noexec,nosuid,nodev)
 sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
 udev on /dev type tmpfs (rw,mode=0755)
 tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
 devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
 /dev/mapper/pve-vz on /var/lib/vz type ext3 (rw)
 /dev/mapper/pve-dump on /var/lib/vz/dump type ext3 (rw


Restauration du backup

Il nous faut a present restaurer ce qu'il y avait a l'origine dans /var/lib/vz

 cp -pr /home/backup/* /var/lib/vz/


Vérification

Il nous reste a verifier que le vzdump se fait en mode snapshot

Un cree une machine virtuelle:

 vzctl create 101 --ostemplate debian-4.0-i386-minimal
 vzctl start 101

On lance un backup:

 vzdump --snapshot 101

Si tout se passe comme prevu, on a :

 INFO: Starting new backup job - vzdump --snapshot 101
 INFO: Starting Backup of VM 101 (openvz)
 INFO: status = CTID 101 exist mounted running
 INFO: creating lvm snapshot of /dev/mapper/pve-vz ('/dev/pve/vzsnap')
 INFO:   Logical volume "vzsnap" created
 INFO: mounting lvm snapshot
 INFO: creating archive '/var/lib/vz/dump/vzdump-101.dat' (/mnt/vzsnap/private/101)
 INFO: Total bytes written: 145551360 (139MiB, 11MiB/s)
 INFO: file size 138MB
 INFO:   Logical volume "vzsnap" successfully removed
 INFO: Finished Backup of VM 101 (00:00:21) 



Création des VM

Création des VM

 https://votreserveur.ovh.net

(user root et mdp)

Il faut stocker les images iso dans /var/lib/vz/template/iso pour qu’elles soient visibles depuis la web gui.

On peut les télécharger directement depuis la web gui

Outils personnels