Ressources Hosteur

Explorons ensemble les technologies de demain

  1. Accueil
  2.  > 
  3. HWS
  4.  > 
  5. Ressources
  6.  > 
  7. Rubrique Aide Hosteur


   Votre espace client
   Gestion des services
   FAQ
Sommaire FAQ
   FAQ FlexOne
   Hosteur Emailing
TRANSACTIONNEL Comment personnaliser vos emails en utilisant des attributs de contacts Conditions d’affichage dans l’éditeur Drag & Drop Langage de template utilisé dans HOSTEUR Emailing
   Hosteur Ragnarokkr
Menu Ragnarokkr 12. TRAITEMENT DES DEMANDES (REQUESTS HANDLING) RAGNARØKKR Marketplace
12.3. Gestion des règles de pare-feu (firewall) de conteneur

Gestion des règles de pare-feu (firewall) de conteneur

 

La fonction de pare-feu (firewall) de conteneur de RAGNARØKKR offre la possibilité de contrôler la disponibilité de vos nœuds à la fois de l'intérieur et de l'extérieur de la plateforme. Il analyse divers paramètres (par exemple, la source de la demande entrante, le protocole, le port du nœud cible, etc.) pour gérer avec souplesse l'accès à vos conteneurs en définissant les règles de connexion nécessaires.

Conseil : si vous souhaitez restreindre l'accès entre les environnements sur un seul compte, il peut être automatiquement configuré via la fonction d'isolation du réseau.

 

 

 

Gestion du pare-feu de conteneur via l'interface utilisateur de RAGNARØKKR

Chaque nœud de RAGNARØKKR PaaS (à l'exception des conteneurs personnalisés basés sur Docker et Windows) est doté d'un ensemble de règles de pare-feu, qui peuvent être examinées et gérées par le biais de l'interface utilisateur graphique intuitive de RAGNARØKKR. La section appropriée est accessible en cliquant sur le bouton Paramètres à côté de l'environnement requis et en sélectionnant l'élément de menu Firewall.

Ici, les onglets suivants sont disponibles :

Aperçu : fournit des informations générales sur la fonction, permet de modifier l'état du firewall (qui est activé par défaut pour tous les conteneurs) et affiche les groupes d'environnement isolés pour lesquels l'environnement actuel est inclus

Règles entrantes : permet de gérer les demandes entrantes (celles qui ne figurent pas sur la liste sont refusées par défaut)

Règles sortantes : permet de contrôler les connexions sortantes (celles qui ne figurent pas dans la liste sont autorisées par défaut)

 

 

  1. Règles de pare-feu par défaut

Lorsque vous créez un nouveau conteneur, RAGNARØKKR remplit automatiquement les sections Règles entrantes et sortantes avec certains enregistrements, nécessaires au bon fonctionnement du conteneur.

 

Ici, les règles sont regroupées par couches et ont la structure suivante :

  • Le tout premier enregistrement est de couleur grise (c'est-à-dire non éditable/obligatoire), a la plus haute priorité (1) et permet à l'infrastructure RAGNARØKKR d'accéder au(x) conteneur(s) de :
  • Orchestrateur de plateforme pour gérer toutes les opérations à l'intérieur (réinitialisation des mots de passe, génération de configurations, exécution de scripts CS, génération de clés SSH, etc.)
  • SSH Gate et Web SSH pour fournir l'accès aux services appropriés
  • Equilibreurs de charge partagés pour permettre la connexion au conteneur sans IP publique

 

  • Les règles par défaut (liées à la pile) et les règles d'ajout par l'utilisateur (soit par un propriétaire d'environnement ou des collaborateurs)

Remarque : n'appliquez les changements aux règles par défaut que si vous savez exactement ce que vous faites, car ces enregistrements sont nécessaires pour assurer une fonctionnalité appropriée spécifique à la pile et pour fournir un support de caractéristiques particulières (par exemple pour autoriser les connexions SSH, HTTP, HTTPS ou FTP).

 

  • Un autre enregistrement gris non modifiable (toujours le dernier en raison de la priorité la plus basse de 65535) bloque toute connexion entrante, ce qui n'est pas autorisé par les règles mentionnées ci-dessus

 

 

En travaillant avec le conteneur (par exemple, en ajoutant des points de montage, en installant un module FTP, etc.), la liste des règles de pare-feu par défaut peut être automatiquement complétée par la plateforme en fonction des nouvelles exigences. Ainsi, chaque enregistrement par défaut est ajouté avec une étape de priorité de 10 points, ce qui permet d'insérer des règles personnalisées entre les deux.

 

 

  1. Ajout de règles par défaut pour les conteneurs

Si nécessaire (par exemple pour les solutions d'automatisation), vous pouvez utiliser la variable d'environnement JELASTIC_PORTS pour définir des ports personnalisés, qui doivent être ouverts via le pare-feu du conteneur lors de la création des nœuds appropriés.

 

1. Cliquez sur Nouvel environnement dans votre tableau de bord RAGNARØKKR, sélectionnez la pile logicielle requise et cliquez sur le bouton Variables (dans la partie Scalabilité horizontale).

 

2. Fournissez (Ajouter) une nouvelle variable JELASTIC_PORTS dans le format suivant :

JELASTIC_PORTS: {port1}{port2}, … , {portN}

Ici, {portN} est un port particulier (1234) ou une plage (33062-34000), qui sera exposé dans les règles du pare-feu entrant (via les protocoles TCP et UDP) après la création du conteneur.

 

Note : Les modifications effectuées à la variable JELASTIC_PORTS ne sont appliquées qu'une seule fois lors de l'installation des nœuds. Par conséquent, les règles du pare-feu doivent être gérées manuellement.

 

3. Vous pouvez vérifier les règles de votre pare-feu après sa création.

 

Conseil : Ci-dessous, vous pouvez voir un exemple sur la manière de définir cette variable via le Cloud Scripting :

 

 

  1. Gestion des règles

Pour faciliter la gestion des règles de pare-feu déjà existantes et fournir les nouvelles, le panneau d'outils situé au-dessus de la liste contient un ensemble de boutons, à savoir Ajouter, Editer, Supprimer, Désactiver (Activer) et Actualiser.

 

Lors de l'ajout d'une nouvelle règle de pare-feu, les paramètres suivants doivent être définis :

  • Nœuds : pour sélectionner la couche d'environnement requise

 

  • Nom : pour donner un nom à cet enregistrement (peut être choisi parmi les présélections couramment utilisées en développant la liste)

 

  • Protocole : pour définir le type de protocole requis (TCP, UDP ou TCP/UDP)

 

  • Plage de ports : pour définir un port particulier (par exemple 80) ou sa plage (par exemple 1024-2048) à ouvrir/fermer pour la connexion ; laissez ce champ vide pour appliquer la règle à tous les ports

 

  • Source : pour sélectionner la source de la demande :
  • Customiser adresse(s) IP : une liste d'adresses IPv4/IPv6 et de blocks CIDR séparés par des virgules (par exemple 10.0.0.1,10.0.0.0/24)
  • Des plages prédéfinies : All, All IPv4, All IPv6, Réseau local, Internet (accès public)
  • Nœuds d'environnement : type de nœud (couche) de tout environnement sur un compte (par la suite, cette règle est automatiquement complétée/diminuée avec les IP requises lorsque la couche appropriée est ajustée)

 

  • Priorité : pour fixer une priorité de règle (lorsque les règles ayant des valeurs inférieures sont appliquées en premier)

 

  • Action : pour définir l'action requise à la réception de la demande correspondante : allow (autoriser) ou deny (refuser)

 

 

Par la suite, s'il est nécessaire de modifier (Editer) une règle par défaut ou personnalisée, vous pourrez ajuster tous les paramètres décrits ci-dessus, à l'exception du champ Nœuds (c'est-à-dire que la couche cible ne peut pas être modifiée). En outre, à des fins de test, vous pouvez désactiver temporairement certaines règles et les réappliquer plus tard à l'aide des boutons appropriés Désactiver/Activer. Le bouton Actualiser peut s'avérer utile pour mettre à jour la liste des règles après un certain ajustement du serveur (par exemple, son changement de topologie) sans qu'il soit nécessaire de redémarrer l'ensemble du serveur.

 

 

 

 

Cas d'utilisation du pare-feu

L'accès à vos nœuds peut être contrôlé sur la base de paramètres de requête tels que l'adresse IP de son nœud source, le protocole de connexion, le port, etc. Dans le guide ci-dessous, nous allons examiner un exemple simple de blocage de l'accès à un conteneur pour une adresse IP particulière, appliqué via l’interface utilisateur ou la connexion SSH.

 

Note : avant de suivre cette instruction, assurez-vous que le conteneur approprié est doté d'une adresse IP publique.

 

De même, lors de la préparation d'une solution d'automatisation du cycle de vie des conteneurs, vous devrez peut-être appliquer les modifications requises au pare-feu via l'API Jelastic. La liste des méthodes appropriées se trouve à la fin de cette documentation.

 

 

  1. Restreindre l'accès via l'interface utilisateur

Ainsi, comme il a été partiellement montré ci-dessus, RAGNARØKKR fournit une interface graphique assez facile à utiliser et puissante pour gérer le pare-feu des conteneurs directement via le tableau de bord.

 

1. Pour accéder au panneau de contrôle approprié, cliquez sur le bouton Paramètres à côté de l'environnement requis et passez à la section Firewall dans l'onglet ouvert.

Sélectionnez l'onglet Règles entrantes et cliquez sur le bouton Ajouter (évidemment, pour gérer le trafic de conteneurs externes, vous devez plutôt choisir l'onglet Règles sortantes ; ici, tous les paramètres des règles sont similaires à ceux décrits ci-dessous).

 

2. Dans le formulaire d'ajout de règles entrantes ouvert, vous pouvez configurer une nouvelle condition pour le traitement des demandes entrantes par un conteneur.

Pour refuser une connexion à partir d'un IP particulier (selon notre exemple de cas d'utilisation suggéré), remplissez les champs comme suit :

  • Nœuds : choix d'un conteneur pour lequel l’accès sera limité (dans notre cas, le tomcat)
  • Nom : entrez le nom de la règle souhaitée (par exemple, règle)
  • Protocole : sélectionnez un protocole requis (TCP)
  • Plage de ports : refusez l'accès à tous les ports en laissant ce champ vide
  • Source : choisissez l'option Customiser adresse(s) IP et tapez l'IP nécessaire dans le champ « Plage d'adresse IP » (111.111.111.111)
  • Priorité : fixez la priorité appropriée pour ce dossier (par exemple, 900 à appliquer avant les règles par défaut)
  • Action : sélectionnez l'option Deny (Refuser)

 

Cliquez sur Ajouter pour enregistrer et appliquer automatiquement votre règle.

 

3. Maintenant, lorsque vous essayez de vous connecter à votre nœud à partir de l'adresse IP 111.111.111.111 spécifiée, la page suivante sera montrée à l'utilisateur :

prohibited connection

 

Ainsi, vous pouvez refuser l'accès à vos conteneurs à partir de n'importe quelle adresse IP.

 

 

  1. Restreindre l'accès via SSH

Sinon, vous pouvez configurer des règles de pare-feu pour votre conteneur via le terminal lorsque vous accédez au nœud par le SSH Gate de RAGNARØKKR.

 

Remarque : bien que la plupart des configurations de pare-feu puissent être effectuées via l'interface utilisateur dédiée, la gestion via SSH est plus souple (par exemple, elle permet de configurer les redirections NAT). Par conséquent, ces règles ne seront pas affichées dans la liste de l'interface utilisateur, mais auront une priorité plus élevée.

 

1. La façon la plus simple d'accéder à un nœud via SSH est d'accéder à l'option Web SSH appropriée directement depuis le tableau de bord RAGNARØKKR : cliquez sur le bouton du même nom à côté du nœud souhaité. Une fois connecté, vérifiez le fichier /etc/jelastic/metainf.conf pour vous assurer que le pare-feu du conteneur est activé :

 

Ici, le paramètre FIREWALL_ENABLED doit être égal à « 1 ». Si ce n'est pas le cas, contactez votre fournisseur d'hébergement et demandez l'activation de la protection par pare-feu pour votre compte.

 

2. Ensuite, vous devez modifier le fichier /etc/sysconfig/iptables-custom (par exemple avec un éditeur vim) :

 

Remarque : le fichier /etc/sysconfig/ip6tables-custom doit être utilisé lorsque l'on travaille avec les règles IPv6.

 

3. Déclarer les règles de pare-feu requises en utilisant le format de l'outil iptables-save. Par exemple, le code suivant doit être utilisé pour refuser l'accès à partir d'une IP particulière (par exemple 111.111.111.111) :

 

 

4. Utilisez la commande suivante pour appliquer vos paramètres de pare-feu personnalisés à la liste des règles par défaut du conteneur :

 

 

5. Maintenant, vous pouvez vérifier la liste des règles de pare-feu actuellement en vigueur pour votre conteneur en exécutant la commande suivante :

 

Votre règle personnalisée est placée après celles par défaut, refusant l'accès à votre nœud à partir de l'adresse IP 111.111.111.111.

 

 

  1. Configuration des règles via l'API Jelastic

Dans certains cas (par exemple pour les scripts personnalisés, les automatisations, etc.), vous devrez peut-être configurer des règles de pare-feu par le biais du code. Pour ce faire, vous pouvez utiliser les méthodes appropriées de la section Environment > Security dans la documentation de l'API Jelastic (https://docs.jelastic.com/api/#!/api/environment.Security) :

 

  • AddRule : crée une nouvelle règle
  • AddRules : ajoute plusieurs règles
  • EditRule : modifie les paramètres d'une règle existante
  • GetRules : montre une liste de règles pour l'environnement
  • RemoveRule : supprime une règle
  • RemoveRules : supprime plusieurs règles
  • SetFirewallEnabled : active le pare-feu
  • SetRuleEnabled : permet d'activer une règle existante
  • SetRules : remplace les règles existantes

 

 

Ainsi, la gestion du pare-feu de votre conteneur vous permet de contrôler efficacement la disponibilité des nœuds sur votre compte et d'augmenter sensiblement la sécurité des applications (en filtrant les connexions souhaitées et non souhaitées).

10% de réduction sur votre prochaine commande(1)
Inscrivez-vous à notre NEWSLETTER pour recevoir votre code de réduction
(1) Valable uniquement pour toutes nouvelles commandes, hors achat de crédit hosteur et hors renouvellement de prestation. (Commande de produits matériels non inclus)