Aller au contenu
CivoCloudManager

Ouvrez un pare-feu Civo pour votre IP, puis refermez-le.

La procédure manuelle, le piège de l'IP dynamique qu'elle laisse derrière, et une voie gratuite en barre de menus qui referme la règle à l'heure dite.

Vous devez joindre une instance Civo ou l'API d'un cluster depuis l'endroit où vous êtes assis. La réponse tient en une règle de pare-feu : trouvez votre IPv4 publique, puis autorisez le port depuis cette seule adresse en écrivant le CIDR en /32. Civo rend la première moitié facile et la seconde dangereuse, parce qu'une règle ajoutée à la main reste là jusqu'à ce que quelqu'un la supprime. Cette page déroule la procédure manuelle en entier, puis la partie que presque personne ne traite : refermer.

La même règle, ouverte depuis la barre de menus

  1. 01

    Dites à l'app quels pare-feu elle gère

    Au premier lancement, le bouclier de la barre de menus lance l'onboarding : la clé API Civo, qui part dans le Keychain macOS, une région, puis les pare-feu que vous voulez piloter. Chaque pare-feu sélectionné reçoit un port, et ce champ démarre à 6443.

  2. 02

    Laissez-la trouver votre IPv4 publique

    La détection interroge api.ipify.org d'abord, puis ifconfig.me/ip, puis icanhazip.com, et s'arrête au premier fournisseur qui répond une adresse publique valide. Une réponse IPv6 ou une adresse privée est rejetée avec un message au lieu d'être écrite dans une règle, car les règles de pare-feu Civo attendent un CIDR IPv4.

  3. 03

    Un clic écrit la règle

    L'app crée une règle ingress sur le port choisi, avec le CIDR fixé à l'adresse détectée suivie de /32, étiquetée civo-cloud-<hostname>-<firewall-name>. Civo renvoie l'identifiant exact de la règle dans la réponse de création, l'app n'a donc jamais à deviner plus tard laquelle était la sienne.

  4. 04

    Choisissez combien de temps elle reste ouverte

    L'accès minuté propose 15 minutes, 30 minutes, une heure et deux heures. Il y a aussi Unlimited, qui ouvre la règle sans programmer la moindre fermeture, à ne choisir que si vous comptez la refermer vous-même.

  5. 05

    L'échéance est écrite sur le disque

    Chaque tâche de fermeture retient l'identifiant du pare-feu, celui de la règle, la région et l'échéance, et s'écrit de façon atomique dans firewall-closures.json au sein du dossier Application Support de l'app. Quittez l'app, l'échéance est toujours là : au lancement suivant, les tâches en retard sont traitées sans que le popover s'ouvre. La limite honnête, c'est que l'app doit tourner et pouvoir joindre Civo pour supprimer une règle. Quitter ou mettre en veille ne programme aucune suppression côté serveur.

  6. 06

    Enregistrez l'adresse comme preset nommé

    Rangez l'IP actuelle sous un nom comme Maison ou Bureau et ouvrez plus tard un pare-feu pour ce preset sans nouvelle détection. Pratique quand vous voulez ouvrir l'accès à une adresse de bureau fixe alors que vous êtes ailleurs.

Ce que fait vraiment un nouveau pare-feu Civo

La documentation de l'API Civo est explicite : il n'y a pas de choix allow ou deny à la création d'une règle, parce qu'un nouveau pare-feu refuse tout par défaut et que vous n'ouvrez que les ports nécessaires. Un pare-feu que vous créez démarre donc fermé et chaque règle ajoutée est une règle d'autorisation. Le piège est ailleurs. Chaque région livre un pare-feu littéralement nommé Default (all open), et la documentation de Civo dit elle-même que tous ses ports sont ouverts et recommande de le personnaliser. La bonne réponse à la question qui revient sans cesse est donc : votre propre pare-feu refuse par défaut, celui nommé Default de la région, non.

La procédure manuelle, en entier

D'abord, récupérez votre IPv4 publique : curl -s https://api.ipify.org. Ensuite, ajoutez la règle. Avec la CLI Civo, cela donne civo firewall rule create <firewall_id> --protocol=TCP --startport=6443 --endport=6443 --cidr=203.0.113.42/32 --direction=ingress --label='laptop'. Enfin, et c'est l'étape que les gens sautent, notez l'identifiant de règle renvoyé pour pouvoir la supprimer après. Attention aux valeurs par défaut : sans --cidr, la CLI applique 0.0.0.0/0, ce qui ouvre le port à tout internet plutôt qu'à vous. Par le tableau de bord, la forme est la même : Actions, puis Rules, puis un port unique ou une plage, le protocole, la direction et le CIDR.

La règle survit à la raison qui l'a fait naître

Une règle de pare-feu Civo n'expire pas. Elle reste jusqu'à ce qu'un humain ou un appel d'API l'enlève. Sur une ligne professionnelle à adresse fixe, c'est juste du désordre. Sur une connexion domestique, c'est une vraie exposition, parce que la plupart des fournisseurs grand public font tourner l'adresse à la reconnexion ou au renouvellement de bail nocturne. Le /32 que vous aviez autorisé se retrouve chez le routeur de quelqu'un d'autre, et votre règle laisse maintenant passer un inconnu vers le port 6443 pendant que vous, exclu, écrivez une deuxième règle. Chaque règle écrite à la main est une petite dette, et cette dette ne se rembourse que le jour où vous pensez à la supprimer.

Pourquoi l'app ne peut jamais supprimer une règle que vous avez écrite

L'appartenance se décide sur l'étiquette, pas sur le port ni sur l'adresse. L'app ne crée que des règles étiquetées civo-cloud-<hostname>-<firewall-name>, et celles ouvertes pour une connexion à l'API Kubernetes portent le suffixe k8s-api à la place. Close All groupé liste les règles de chaque pare-feu géré et n'enlève que celles dont l'étiquette commence par ce préfixe, pour cette machine. Une règle de production écrite à la main n'a pas cette étiquette, elle n'est donc jamais candidate. Une réserve mérite d'être dite : une vérification d'état qui échoue s'affiche quand même comme fermé ou inconnu dans la barre de menus, l'affichage ne prouve donc pas la fermeture côté serveur. Quand l'enjeu est sérieux, allez voir le tableau de bord Civo.

Le port 6443 et pourquoi il revient tout le temps

6443 est le port de l'API server Kubernetes. Un cluster k3s Civo publie son endpoint sous la forme https://<master-ip>:6443, et c'est là que parlent kubectl, un kubeconfig et n'importe quel client Kubernetes. Si le pare-feu du cluster n'autorise pas le 6443 depuis votre adresse, toutes les commandes expirent, ce qui explique la domination de ce nombre dans les recherches sur les pare-feu Civo. Dans l'app, 6443 est le port par défaut de l'onboarding, et se connecter à un cluster vérifie l'accès à l'API puis ouvre la règle si elle manque. Ce chemin Kubernetes suit sa règle en mémoire et nettoie à la déconnexion ; il n'hérite ni de la persistance ni des reprises de la file minutée de la barre de menus.

Les questions qu'on pose vraiment

Comment ouvrir un pare-feu Civo pour ma seule IP ?
Récupérez votre IPv4 publique avec curl -s https://api.ipify.org, puis créez une règle ingress sur le pare-feu visé avec cette adresse écrite en CIDR /32. Avec la CLI Civo : civo firewall rule create <firewall_id> --protocol=TCP --startport=6443 --endport=6443 --cidr=203.0.113.42/32 --direction=ingress. L'API n'offre pas de choix allow ou deny, parce qu'un pare-feu que vous créez refuse tout tant que vous n'ouvrez pas un port. Gardez l'identifiant de règle renvoyé pour pouvoir la supprimer ensuite.
Que signifie /32 dans une règle de pare-feu Civo ?
En notation CIDR, le nombre après la barre oblique indique combien de bits de tête de l'adresse sont figés. Une adresse IPv4 fait 32 bits, donc /32 les fige tous et la règle ne correspond qu'à une seule adresse. 203.0.113.42/32, c'est cet hôte et rien d'autre. Par comparaison, /24 couvrirait 256 adresses et 0.0.0.0/0 couvre tout internet, ce que Civo applique quand vous créez une règle sans CIDR.
Que se passe-t-il si mon adresse IP change ?
La règle, elle, ne change pas. Elle continue d'autoriser l'ancienne adresse, donc vous perdez l'accès et devez ajouter une deuxième règle, pendant que la personne à qui le fournisseur attribue cette adresse hérite de votre ouverture. C'est le cas normal sur une connexion domestique, où l'adresse tourne à la reconnexion ou au renouvellement de bail nocturne. Le remède n'est pas une meilleure IP, c'est une règle qui se referme seule : ouvrez le port pour une fenêtre fixe et laissez l'échéance l'enlever.
CivoCloudManager touche-t-il à mes règles de pare-feu existantes ?
Non. Il ne supprime que les règles qu'il a créées, reconnues à l'étiquette civo-cloud-<hostname>-<firewall-name>, avec le suffixe k8s-api pour l'accès à l'API Kubernetes. Close All groupé filtre la liste des règles de chaque pare-feu géré sur ce préfixe avant de supprimer quoi que ce soit, donc une règle écrite à la main dans le tableau de bord Civo, dans la CLI ou avec Terraform n'a pas d'étiquette correspondante et n'est jamais enlevée.
La minuterie de fermeture survit-elle à la fermeture de l'app ?
L'échéance, oui. Chaque tâche garde l'identifiant du pare-feu, celui de la règle, la région et l'heure de fermeture dans un fichier JSON écrit de façon atomique sous Application Support, et les tâches en retard sont traitées au lancement suivant. Ce qui ne survit pas, c'est la fermeture sans surveillance : la suppression est un appel d'API depuis votre Mac, donc l'app doit tourner et pouvoir joindre Civo. Quitter ou dormir au-delà de l'échéance retarde la fermeture jusqu'au prochain lancement, cela ne programme rien côté serveur.

Le contrôle du pare-feu, c'est l'offre gratuite.

Ouvrir et fermer pour votre IP actuelle depuis la barre de menus, les presets nommés et l'échéance de fermeture automatique restent gratuits après les sept jours d'accès complet, donc cette page ne vous coûte rien à mettre en pratique.