Firewall Proxmox
Ce n'est plus d'actualité. Mais c'est super cool, il faudrait refaire pour les machines importantes.
Depuis la version 3.3, Proxmox propose un service de firewall pour les machines virtuelles. Nous avons décidé d'intégrer ce firewall à nos VMs afin de fournir plus de sécurité : si un attaquant a accès à une de nos machines du cluster, et bah c'est pas la fête du slip car il ne pourra communiquer qu'avec un nombre réduit de services.
La politique choisie est donc de tout interdir en entrée, et d'autoriser au cas par cas les accès.
Un peu de théorie...
Ce firewall est très simple d'usage, rien à voir avec des règles iptables.
Les règles sont définies pour chaques hotes. Pour chaque règle, vous retouvez les classiques adresses et port de sources et destinations, le protocole de transport, l'interface, etc… Bref classique. Vous pouvez utiliser un adressage CIDR, et les noms de ports classiques ( ex : http ).
Proxmox fournit une première abstraction fort utile : les security group. Les security group sont un ensemble de règles qui sont appliquées à chaque membre du security group, permettant une gestion centralisée, et évite des redondances.
Une deuxième abstraction sont les ipSet. Un ipSet est un ensemble d'ips auquel on peut choisir d'appliquer une règle. Le but est ici d'éviter des règles multiples.
...Et un peu de pratique
Pour créer un security groupe, rendez vous dans le data center :
Onglet firewall
Sous onglet security group
Vous pouvez créer de nouveaux security groups via Group : create, ou ajouter des règles sur un groupe existant en le selectionnant et en faisant rule : add.
Pour créer un ipSet :
Onglet firewall du datacenter ( on va éviter de créer des data sets par machine… )
Sous onglet ipSet…
Comment éditer le firewall de ma machine ?
Va sur ta machine
Sélectionne l'onglet firewall
Dans le sous onglet rules tu peux ajouter des interfaces aux security group on créer des règles. Une interface non spécifiée correspond à toutes les interfaces de ta machine.
Et comment j'active le firewall de ma machine ?
Va sur ta machine
Onglet firewall, sous onglet Options, passe Enable Firewall à Yes
Ensuite, onglet network, double clique sur chacune de tes interfaces et coche l'option firewall.
Qu'est ce que j'ai besoin de savoir pour travailler sur le firewall MiNET ?
Sur toute machine que tu crées, il te faudra faire ceci :
Ajouter la machine au security group ping ( permet de pinguer tes interfaces : utile pour voir si l'ip est disponible… )
Ajouter ton interface d'administration au groupe zabbix-agent. C'est mieux si tu comptes dialoguer avec notre serveur de monitoring.
Ajouter ton interface d'administration au groupe ssh. C'est mieux si tu comptes y accéder directement depuis les VPNs.
Ajouter ton interface d'administration au goupe puppet-agent. C'est requis pour pouvoir dialoguer avec le serveur proxmox.
Tu peux ensuite créer gentiment les services de ta machine.
Utilise uniquement les ipSet et les security groups définis dans datacenter.
Certains services particuliers auquel je dois faire attention ? ( Ces services font l'objet de restrictions particulièrement sévères )
Un serveur qui doit échanger des infos avec le SQL MiNET doit être dans l'ipSet sql_clients
Un serveur qui doit échanger des infos avec sqlHosting doit être dans l'ipSet sqlhosting_clients
Un serveur qui doit avoir accès au LDAP MiNET doit être dans l'ipSet
Un serveur VPN doit être dans l'ipSet vpns pour pouvoir se connecter en SSH sur les autres machines.
Un noeud de notre cluster elastic search doit être dans l'ipSet elastic_search_cluster
Un MX doit être dans l'ipSet MX pour pouvoir communiquer avec le reste du mail system.
Les serveurs clients de l'
API ADH5 doivent être dans le security group
adh5_api_clients