Firewall Builder : template pour serveur Proxmox / OpenVZ

Boris HUISGEN December 13, 2010

administration réseau virtualisation linux iptables firewall builder openvz proxmox

Malgré quelques solutions existantes ici et , j’ai opté pour un pare-feu spécifique afin de protéger mes serveurs virtuels sous Proxmox / OpenVZ. J’ai donc utilisé FirewallBuilder pour le générer. Une template réutilisable est disponible au téléchargement en fin d’article.

Les serveurs virtuels (VPS) sont placés sur le réseau privé 192.168.0.0/24, où du NAT est appliqué pour la redirection de ports dans le cas où une seule IP publique est disponible. Ainsi, le bridge vmbr0 est utilisé pour l’accès public

  • vous y ajouterez vos IP publiques supplémentaires - et le bridge vmbr1 pour les communications entre les VPS et l’hôte.

De base, les flux sortants DNS / SMTP sont seulement autorisés pour l’hôte réel. Les VPS doivent donc utiliser le serveur DNS & SMTP de l’hôte réel. Par sécurité, j’ai mappé l’accès à l’interface Proxmox sur le port 4443 (le HTTPS standard étant alors récupéré par le VPS web). Une blacklist est configurée, que vous pouvez manipuler en éditant le fichier /etc/firewall-bad_hosts (règle n°0) afin de bloquer d’éventuels attaquants. N’oubliez pas de créer ce fichier !

Liste des interfaces réseaux :

  • eth0 : utilisée par vmbr0.
  • vmbr0 : bridge sur eth0, utilisé pour les IP publiques.
  • vmbr1 : bridge sans port, utilisé pour le réseau dédié aux VPS.
  • venet0 : interface réseau présente dans chaque VPS.

Listes des hôtes :

  • proxmox.my.domain (192.168.0.254) : IP privée de l’hôte réel, permettant aux VPS d’utiliser les services communs DNS et SMTP proposés par l’hôte réel.
  • vps-www.my.domain (192.168.0.1) : serveur virtuel dédiée aux sites Web.
  • vps-sql.my.domain (192.168.0.2) : serveur virtuel dédié au serveur SQL.

Listes des redirections de ports :

  • 80/TCP => vps-www.my.domain - 80/TCP
  • 443/TCP => vps-www.my.domain - 443/TCP
  • 2222/TCP => vps-www.my.domain - 22/TCP (accès SSH)
  • 4443/TCP => hôte réel 443/TCP (interface de gestion Proxmox)

Pour finir, une fois effectuées les adaptations de votre configuration réseau, je vous conseille de modifier la règle n°4 pour restreindre l’accès SSH + interface Proxmox à vos IP de connexion Internet. Vous pourrez d’ailleurs ajouter le flux VNC pour l’administration Proxmox.

Configuration réseau :

# cat /etc/network/interfaces

# network interface settings
auto lo
iface lo inet loopback

iface eth0 inet manual

iface eth1 inet manual

auto vmbr0
iface vmbr0 inet static
    address  80.80.80.80
    netmask  255.0.0.0
    gateway  80.80.80.1
    broadcast  80.255.255.254
    bridge_ports eth0
    bridge_stp off
    bridge_fd 0
    network 80.0.0.0

auto vmbr1
iface vmbr1 inet static
    address  192.168.0.254
    netmask  255.255.255.0
    bridge_ports none
    bridge_stp off
    bridge_fd 0

[gallery link="file” ]

Template firewall pour Proxmox / OpenVZ : [download id="3” ]

See also

ez Find : script de démarrage Solr pour Debian
Read more
Squid : gestion whitelist et redirection URL
Read more
Squid : bloquer les clients selon leurs User-Agent
Read more