2 votes

Configuration du pare-feu sur l'hôte KVM d'Ubuntu

J'ai un serveur Ubuntu 9.10 avec une virtualisation KVM installée dessus (je l'appellerai HOST). Trois machines virtuelles sont en cours d'exécution, une avec Apache installé (que j'appellerai APACHE), une avec Mysql installé (que j'appellerai MYSQL), et une avec Jetty fonctionnant sur le port 8080 (JETTY). L'hôte dispose d'un pont configuré pour permettre l'accès aux VM.

J'aimerais faire fonctionner un pare-feu sur l'hôte, mais pas sur chaque VM. Le pare-feu doit bloquer tous les ports sur l'hôte et les machines virtuelles qui ne sont pas nécessaires. Voici comment je voudrais le configurer :

  • HOST ne doit pouvoir être connecté par SSH qu'à partir de son propre bloc réseau.
  • HOST ne doit pas avoir d'autres ports que SSH ouverts.
  • APAHCE, MYSQL devrait pouvoir être connecté via SSH depuis n'importe où.
  • MYSQL doit pouvoir être connecté via le port 3306 à partir du bloc réseau uniquement.
  • JETTY devrait pouvoir être connecté via le port 8080 (il est exécuté en tant qu'utilisateur, et ne peut donc pas fonctionner sur 80), mais le trafic vers le port 80 devrait également être transféré vers 8080 dans le pare-feu, afin qu'il puisse apparaître comme un serveur http normal.

Je suis récemment passé à Ubuntu, donc je ne suis pas sûr du meilleur outil de pare-feu. J'ai tâté d'iptables sur CentOS dans le passé, mais iptables ne fonctionne pas sur mon système hôte. J'ai vu des références à UWF comme outil de pare-feu pour ubuntu ? Il semble que UWF soit installé, mais pas actif.

Des suggestions sur la façon de faire fonctionner ce système ? Quels fichiers dois-je modifier ? Existe-t-il de bons HOWTO sur la façon de procéder que je n'ai pas trouvés ?

1voto

Redride Points 119

Je pense que UFW est juste une façade pour iptables. De toute façon, vous pouvez jouer avec son interface graphique front-end .

Mais je vous suggère fortement d'apprendre iptables. Documentation officielle d'Unbuntu : https://help.ubuntu.com/community/IptablesHowTo

0 votes

@Redride : totalement d'accord. En fait, j'ai déjà commencé à utiliser iptables directement et je n'utilise pas UFW.

0voto

daff Points 4629

Pour ce que vous décrivez, je ne pense pas que vous ayez besoin de configurer un pare-feu (c'est-à-dire un filtre à paquets). Assurez-vous simplement que tous les services inutiles sont désactivés ou n'écoutent que localhost/127.0.0.1 et que les services nécessaires (SSH, socket TCP de MySQL) n'écoutent que des interfaces ou des sous-réseaux spécifiques.

Pour SSH, c'est le ListenAddress dans la directive /etc/ssh/sshd_config et pour MySQL, c'est bind-address en /etc/mysql/my.cnf . Sur les systèmes Linux, il est également possible d'utiliser /etc/hosts.allow y /etc/hosts.deny pour plus de sécurité.

Ne comptez pas sur un filtre à paquets pour vous fournir toute la sécurité dont vous avez besoin. Il est beaucoup plus important que vous sachiez exactement quels services sont en cours d'exécution et où ils écoutent. Vous ne pouvez pas simplement placer un pare-feu devant un hôte mal configuré et mal sécurisé et espérer en avoir fini avec lui. C'est une très mauvaise pratique.

0 votes

@daff : merci. en effet, je n'exécute que les services nécessaires sur mes VMs. Je viens de mettre à jour ma question, car l'une des principales raisons pour lesquelles j'en ai besoin est de transférer le port 80 vers 8080 sur la VM.

0voto

ben_joseph Points 131

Ça ressemble à un scénario parfait pour shorewall . shorewall est un outil de pare-feu par zone pour iptables/netfilter et très facile à mettre en place.

0voto

Voici ce que vous recherchez

http://programs.rcrnet.net/ubuntu-kvm.html

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X