Aller au contenu

Paramètres des cookies

Choisissez, par catégorie, les cookies que vous autorisez. Vous pouvez modifier votre choix à tout moment via Paramètres des cookies, en bas de chaque page. Politique de confidentialité

Nécessaires

Toujours activés

Indispensables pour vous connecter, conserver votre panier et mémoriser vos choix. Ils sont toujours activés.

Quels cookies ?
  • weboke_sessie, weboke_klant, weboke_remember: votre session et le maintien de la connexion
  • weboke_basket: votre panier
  • wkBtwIncl: l'affichage des prix TTC ou HT
  • wok_cookies: votre choix concernant les cookies, 12 mois

Mesure quelle publicité mène à une visite ou à une commande, pour que nous ne payions pas des publicités inefficaces.

Quels cookies ?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), jusqu'à 90 jours
  • OpenAI Ads, publicités dans ChatGPT
  • wok_aff: le partenaire qui vous a orienté vers nous (programme d'affiliation), 60 jours

4,6

Pays et langue

Chaque pays a son propre site, avec les prix et la TVA de ce pays.

Afficher

Docker et le pare-feu : publier des ports en toute sécurité

C'est le piège dans lequel tombent la plupart des utilisateurs. Un port que vous publiez dans Docker avec ports: est accessible depuis Internet, même si ufw ferme ce port. Docker définit ses propres règles de pare-feu, et celles-ci passent avant les règles d'ufw.

Un exemple de ce qui tourne mal

services:
  db:
    image: mariadb:11
    ports:
      - "3306:3306"

Votre pare-feu indique que seuls les ports 22, 80 et 443 sont ouverts. Pourtant, votre base de données est désormais accessible depuis le monde entier sur le port 3306.

Trois règles pour rester en sécurité

  1. Ne publiez que ce qui doit être accessible depuis l'extérieur. Dans ce manuel, il s'agit uniquement de Caddy, sur les ports 80 et 443. Les applications communiquent avec Caddy via le réseau interne de compose. Elles n'ont pas besoin de ports:.
  2. Un port doit-il être accessible uniquement sur le serveur lui-même ? Placez 127.0.0.1: devant. Seul le serveur lui-même peut alors y accéder, ou vous-même via un tunnel SSH (voir Un fichier de configuration SSH : se connecter avec un nom court).
  3. Une base de données ne reçoit jamais ports:. L'application la trouve par le nom du service, par exemple db.
    ports:
      - "127.0.0.1:3001:3001"

Vérifier depuis l'extérieur

Vérifiez sur le serveur quels ports sont ouverts à tous :

anna@web1:~$ sudo ss -tlnp
State  Recv-Q Send-Q Local Address:Port  Peer Address:Port Process
LISTEN 0      4096        0.0.0.0:443         0.0.0.0:*     users:(("docker-proxy",...))
LISTEN 0      4096      127.0.0.1:3001        0.0.0.0:*     users:(("docker-proxy",...))
LISTEN 0      128         0.0.0.0:22          0.0.0.0:*     users:(("sshd",...))

Tout ce qui indique 0.0.0.0 ou [::] est accessible depuis l'extérieur. Tout ce qui indique 127.0.0.1 ne l'est que depuis l'intérieur. Pour le voir depuis l'extérieur, utilisez depuis votre propre ordinateur un scanner de ports tel que nmap sur votre propre adresse IP.

Attention : Ne montez pas /var/run/docker.sock dans un conteneur, sauf si vous savez exactement pourquoi. Quiconque prend le contrôle de ce conteneur obtient ainsi l'accès à l'ensemble de votre serveur.

Un instant…

Configurez vos domaines

Pour chaque domaine, réglez les serveurs de noms, l'association à votre hébergement et le futur titulaire.

Chargement de vos domaines…