IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Virtualisation Discussion :

vm interface nat et firewall


Sujet :

Virtualisation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    en veille
    Inscrit en
    Avril 2024
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : en veille

    Informations forums :
    Inscription : Avril 2024
    Messages : 31
    Par défaut vm interface nat et firewall
    Bonjour,

    Je voulais savoir si pour créer un environnement de développement web isolé avec un serveur web dans une vm kvm qemu, une interface réseau nat, je peux bloquer la connexion sortante vers le routeur public sur l'ordi hote avec ufw ou directement sur iptable?

    En fait, j'utilisai le mode réseau isolé ou hôte only mais j'ai dû modifier le serveur et placer des fichiers web dans des hôtes virtuels (virtualhost) hébergés sur le serveur ce qui fait que la définition des fichiers "hosts" sur le serveur et la machine hôte ne me permet plus d'accéder au serveur avec une adresse ip du réseau isolé.

    Je pense que je pourrais aussi utiliser le mode bridge mais je ne suis pas sûre de ce qu'il faut faire parce qu'il faut installer des pakages et en cas de mauvaise manip, c'est probable qu'il faut réinitialiser les interfaces réseaux sur l'ordi hôte et je ne suis pas sûre d'y arriver...

    Pascal
    info2gestion.net

  2. #2
    Membre averti
    Homme Profil pro
    en veille
    Inscrit en
    Avril 2024
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : en veille

    Informations forums :
    Inscription : Avril 2024
    Messages : 31
    Par défaut
    en fait je suis arrivé à une solution qui me convient

    Pour documentation

    • config ordi hôte (physique) : linux mint lmde
    • applis installées: ... serveur samba, firejail
    • hyperviseur kvm qemu avec une vm linux debian 12 headless server 2 interfaces réseau (1 interface NAT et 1 interface réseau isolé)


    Sur cette config, j'avais des fichiers web (html, php) que je stockais sur une partition physique formattée en ext4 et qui était partagée dans le serveur de fichier samba et montée dans la vm avec un point de montage dans fstab

    Dans la vm, il y a un serveur web apache2 avec la config par défaut qui pointe vers les dossiers de montage qui sont dans fstab.

    Dans l'ordi hôte, j'accède aux serveur web de la vm par l'adresse ip du réseau isolé et puis éventuellement en ssh depuis le terminal de l'ordi hôte.

    Dans l'ordi hôté, je veux isoler le navigateur qui affiche les données web du navigateur qui est connecté sur le www. Je télécharge et j'installe firejail. Et je crée 2 profiles sur firefox avec des thèmes différents (1 profile avec un thème pour le www, 1 profile avec 1 thème pour la vm)

    Je configure firejail de la manière suivante avec un lien vers firefox ou plutôt un waterfox un variant de firefox qui fonctionne de la même manière et dont l'exec est dans le dossier /opt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /usr/bin/firejail --net=virbr2 --ip=10.x.x.10 /opt/waterfox/waterfox -P nomDeProfileFireFox -no-remote
    Cette commande peut être testée dans le terminal et puis ajoutée en raccourci sur le bureau ou dans les menus. L'adresse ip utilisée par le navigateur doit être disponible => c'est l'adresse ip de la vm qui est utilisée par firejail pour limiter les données à ce réseau. En ligne de commande, le message d'erreur sera visible.

    Pour le nom de profile nomDeProfileFireFox ou waterfox, il faut juste ouvrir le navigateur web concerné firefox/waterfox/librefox... ouvrir l'url :

    Créer un nouveau profile qui se trouvera dans le dossier utilisateur. Il faut ouvrir une premiere fois le profile et puis fermer et ensuite copier les fichiers d'un autre profile pour récupérer les données (extensions, thèmes...)

    Dans firejail, pour que l'option net restricted de firejail fonctionne, il faut modifier le fichier de config avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nano /etc/firejail/firejail.config
    et remplacer

    par


    Après ça, les configurations d'accès réseau des applications via firejail fonctionnent avec cette url

    ou


    et la page d'apache2 s'affiche ou la liste des répertoires web

    et ssh

    ssh nom_utilisateur_vm@10.x.x.10


    C'est la configuration qui fonctionnait bien et était identique sur une autre machine physique. Cependant, j'avais une librairie php, (phpspreadsheet) que j'utilise ponctuellement et que j'ai voulu utiliser sur la nouvelle machine avec l'installation similaire à l'autre machine. Mais la librairie ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat /var/log/apache2/error.log
    Le log montre des problèmes de permissions alors que j'avais pas ces problèmes sur l'autre config et que sur un serveur en ligne sur lequel j'ai pas accès aux fichiers de config et ça fonctionne bien

    Je regarde les permissions des fichiers web dans le serveur, je clet je change toutes les permissions pour faire que ça fonctionne. La librairie plante, toujours pareil, pas d'accès en écriture à un fichier xml problème de permissions. Les modifs des permissions sur le serveur s'appliquaient sans erreurs mais les permissions aux dossiers et fichiers web n'étaient pas effectives. Multiples recherche web, la plupart des recherches retourne sur des installations de wordpress ou laravel en local. S'agissant de grosses librairies de php, nécessairement, c'est un problème côté serveur.

    Comme modifier les permissions ne fonctionnait pas, je change le point de montage et je copie les fichiers web du disque physique vers le disque virtuel de la vm. Pour garder la même config, je créer des virtualhosts.

    A partir de ce moment, les fichiers web sont stockés sur le serveur et donc plus sur une partition physique et pas sur samba. Donc l'interface réseau isolé n'est plus utile puisque je place des virtualhosts qui sont définis dans les fichiers /etc/hosts de la vm et de la machine hôte

    VM /etc/hosts

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    127.0.0.1 sv10
    127.0.0.1 sv12
    Hôte /etc/hosts

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    10.x.x.10 sv10
    10.x.x.x.10 sv12

    avec cette config (hôtes virtuels), l'url d'accès est

    ou

    Et pour les fichiers web à l'intérieur de la vm, les permissions s'appliquent, en l'occurrence pour phpspreadsheet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    chown -R www-data:www-data PhpOffice
    chmod -R 755 PhpOffice
    Pour voir si c'est bien appliqué

    et j'imagine que c'est pareil pour wordpress, laravel et les librairies qui utilisent des applis serveur

    Mais avec cette config, firefox avec firejail ne fonctionne plus. Et l'idée de restreindre l'accès au réseau de la vm est principalement pour voir s'il y a des liens des cdn ou autre qui sont indispensables à l'affichage ou autre et pas besoin de pinger un server ntp ou autre... Dans cette manip, je n'ai pas souvent redémarré le serveur, j'ai plutôt redémarré le service du serveur web avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    systemctl reload apache2
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    systemctl restart apache2
    A ce moment là, c'était la première question de cette discussion. Mais par hasard, en redémarrant le serveur, j'ai testé la commande de firejail firefox avec l'ip du réseau isolé (une ip dispo évidemment) et ça fonctionnait. Et en plus de pouvoir accéder au virtualhost, je peux toujours accéder aux mêmes fichiers web mais via la config par défaut du serveur. Il y a juste à reconfigurer:

    d'abord regarder les configs déjà activées

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nano /etc/apache2/sites-available/000-default.conf
    et changer DocumentRoot pour pointer vers les fichiers web éventuellement ceux du virtualhost

    tester avec

    et/ou

    Et je peux utiliser la commande de départ firejail firefox avec une ip pour connecter le navigateur web au réseau isolé de la vm.
    En fait il faut utiliser une ip différente parce qu'en ligne de commande, il y a une erreur comme quoi l'ip n'est pas dispo. Je crois il faut regarder dans la doc de chroot pour comprendre cette subtilité

    par exemple l'ip 10.x.x.8 est dispo et dans la plage d'ip

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /usr/bin/firejail --net=virbr2 --ip=10.x.x.8 /opt/waterfox/waterfox -P nomDeProfileFireFox -no-remote
    exemple

    ou
    ce qui revient à la première config avec les fichiers web sur un disque physique monté dans la vm

    Et j'imagine qu'en sécurisant le serveur web et surtout en appliquant reverse proxy, je pourrais exposer mes virtualhosts avec une ip public. Théoriquement avec les virtualhost apache2 ne laisse pas sortir une requête web du domaine du virtualhost.

    Une autre question, est que les étapes d'une config avec nginx sont similaires?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Nat/firewall server et 2 clients
    Par Robert Dumarais dans le forum Développement
    Réponses: 4
    Dernier message: 28/10/2010, 08h36
  2. Accès (NAT) à IIS derrière un Firewall
    Par zid57 dans le forum IIS
    Réponses: 1
    Dernier message: 05/02/2010, 10h28
  3. Réponses: 1
    Dernier message: 05/08/2009, 16h20
  4. Configuration du nat firewall
    Par amarige dans le forum Hardware
    Réponses: 7
    Dernier message: 04/08/2009, 22h08
  5. [firewall builder] Problème avec un NAT
    Par ploxien dans le forum Réseau
    Réponses: 1
    Dernier message: 05/02/2008, 17h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo