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

Quels services sont à l'écoute sur votre VPS, et lesquels sont accessibles depuis l'extérieur ?

Tout programme qui accepte des connexions écoute sur un port : SSH sur le 22, un serveur web sur le 80 et le 443, MariaDB sur le 3306. Chaque port accessible depuis l'extérieur est une porte d'entrée vers votre serveur. Un site web n'a généralement besoin que des ports 22, 80 et 443 depuis l'extérieur. Vous découvrirez ici comment voir ce qui écoute, sur quelle adresse, et comment vérifier ce que voit le reste d'Internet.

Voir ce qui écoute

Exécutez sur votre VPS :

sudo ss -tulpn

Les options signifient : TCP (-t), UDP (-u), uniquement en écoute (-l), quel programme (-p) et des numéros plutôt que des noms (-n). Un exemple :

tcp LISTEN 0.0.0.0:22       users:(("sshd",...))
tcp LISTEN 0.0.0.0:443      users:(("nginx",...))
tcp LISTEN 127.0.0.1:3306   users:(("mariadbd",...))
tcp LISTEN 0.0.0.0:6379     users:(("redis-server",...))
tcp LISTEN [::]:22          users:(("sshd",...))

La colonne importante est Local Address, l'adresse sur laquelle le programme écoute :

AdresseSignification
0.0.0.0Toutes les adresses IPv4, y compris votre adresse publique : accessible depuis l'extérieur, sauf si un pare-feu le bloque
[::]Toutes les adresses IPv6 : la même chose pour IPv6
127.0.0.1 ou [::1]Uniquement le serveur lui-même (loopback) : jamais accessible depuis l'extérieur
127.0.0.53 ou 127.0.0.54Également loopback : l'assistant DNS local de systemd-resolved

Dans l'exemple, MariaDB est correctement configuré : seuls les programmes du serveur lui-même peuvent y accéder. Redis écoute sur toutes les adresses, et c'est précisément l'erreur à éviter.

Restreindre l'accès dans le service lui-même

Une base de données, un cache ou une interface d'administration ne doit presque jamais être accessible depuis l'extérieur. La meilleure première étape consiste à faire écouter le service uniquement sur loopback. Sur Debian et Ubuntu :

ProgrammeParamètreFichier
MariaDB ou MySQLbind-address = 127.0.0.1/etc/mysql/mariadb.conf.d/50-server.cnf
PostgreSQLlisten_addresses = 'localhost'/etc/postgresql/<version>/main/postgresql.conf
Redisbind 127.0.0.1 -::1 et protected-mode yes/etc/redis/redis.conf

Redémarrez ensuite le service (voir Gérer les services avec systemctl sur votre VPS) et vérifiez à nouveau avec ss -tulpn. Si vous souhaitez accéder vous-même à la base de données depuis votre ordinateur portable, utilisez un tunnel SSH plutôt qu'un port ouvert, voir Une configuration SSH : se connecter avec un nom court.

Le pare-feu comme deuxième couche

Un pare-feu bloque ce qui écouterait malgré tout par erreur sur toutes les adresses. La configuration de ufw est décrite dans Un pare-feu avec ufw (ou nftables). Ne comptez pas sur une seule couche : un pare-feu peut être désactivé ou une règle peut être trop permissive.

Les ports que vous publiez avec Docker (ports:) contournent ufw. Une base de données avec "3306:3306" est alors accessible depuis l'extérieur, même si ufw indique que le port est fermé. Ajoutez 127.0.0.1: devant, ou ne publiez pas le port. Voir Docker et le pare-feu : publier des ports en toute sécurité.

Vérifier depuis l'extérieur

ss montre ce qui écoute sur le serveur, mais pas ce que votre pare-feu laisse passer. La véritable vérification se fait depuis un autre ordinateur, pas depuis le serveur lui-même. Avec nc (netcat) sur Mac ou Linux :

nc -vz -w 3 203.0.113.10 6379
nc -6 -vz -w 3 2001:db8::10 6379

Sous Windows, PowerShell fait la même chose avec Test-NetConnection 203.0.113.10 -Port 6379. Indiquez vos propres adresses IPv4 et IPv6 ; elles figurent dans l'écran du VPS. Voici comment interpréter le résultat :

  • Ouvert (succeeded) : quelque chose écoute et est accessible depuis l'extérieur.
  • Fermé (Connection refused) : rien n'écoute, ou le pare-feu refuse activement la connexion.
  • Filtré (time-out) : un pare-feu rejette le trafic silencieusement.

Pour une base de données, fermé et filtré sont tous deux corrects. Testez également IPv6 : une erreur fréquente est un pare-feu doté uniquement de règles IPv4, alors que le service écoute aussi sur [::]. Un scanner de ports comme nmap examine plusieurs ports à la fois ; n'utilisez un tel scanner que sur votre propre serveur.

Votre serveur est scanné dès la première minute, y compris sur les ports des bases de données et des clusters de recherche. Si un service que vous ne connaissez pas est en cours d'exécution, identifiez-le et supprimez-le si vous n'en avez pas besoin. Ce qui ne tourne pas ne peut pas fuiter.

Votre VPS est entièrement autogéré : vous décidez vous-même quels services écoutent et comment votre pare-feu est configuré. Nous vous aidons pour la partie WebOké, comme l'écran du VPS, le réseau et les snapshots.

Envie d'en savoir plus ? Suivez le cours gratuit VPS et administration de serveurs Linux, leçon 5.1 Ports et services en écoute ou leçon 5.2 Un pare-feu avec ufw et nftables.

Cet article vous a-t-il été utile ?

← Retour à Hébergement VPS

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…