Doc Firewall

Votre serveur dédié dispose d’un firewall local permettant de filtrer les paquets entrants vers votre serveur et les paquets sortants de votre serveur.

Filtrage sur les paquets entrants

Par défaut le firewall local empêche tous les paquets entrants de passer.

Nous ouvrons bien sûr certains ports en « public » si c’est nécessaire, par exemple les ports TCP/80 et TCP/443 pour un serveur ayant vocation à servir des pages web au monde entier.

Nous pouvons également ouvrir des ports en « semi-public », c’est à dire qu’ils ne seront ouverts que pour une liste définie d’adresses IP « privilégiées ». Par exemple c’est souvent le cas du port TCP/22 pour accéder à votre serveur en SSH qui sera restreint à certaines adresses IP.

Vous devez ainsi maintenir cette liste d’adresses IP « privilégiées » via la section « Adresses IP externes » sur le wiki commun accessible sur https://redmine.evolix.net/ : merci d’indiquer un commentaire pour chaque adresse IP, par exemple « Bureau » ou « Domicile Jean-Michel ».

Filtrage sur les paquets sortants

Par défaut le firewall local laisse passer certains ports vers l’extérieur sans restriction :

  • UDP/53 et TCP/53 pour les requêtes vers des serveurs DNS
  • UDP/123 pour le protocole NTP vers des serveurs de temps
  • TCP/22 pour les connexions vers des serveurs SSH
  • TCP/25 pour l’envoi d’emails vers des serveurs SMTP
  • TCP/443 pour des requêtes vers des serveurs HTTPS

Concernant le port TCP/80 pour des requêtes vers des serveurs HTTP, en général il est filtré par un proxy sortant qui n’autorise que les requêtes vers une liste définie de sites web. Cette restriction permet une légère protection en cas d’intrusion car nous avons noté que souvent les attaquants commencent par récupérer des fichiers en HTTP.

Le reste des paquets sortants est bloqué.

Vous pouvez bien sûr nous demander d’ajouter des règles de firewall spécifiques, par exemple :

  • ouvrir le port TCP/465 et TCP/587 pour envoyer des emails vers un serveur SMTP/Submission extérieur
  • ajouter des sites web à la liste des exceptions du proxy sortant
  • si c’est justifié, autoriser tous les sites dans le proxy sortant
  • dans certains cas exceptionnels, autoriser tous les paquets sortants

Firewall en amont de votre serveur

Le firewall local est une bonne protection, mais nous conseillons en général d’avoir également un firewall indépendant en amont avec une politique générale de filtrage, notamment pour doubler le filtrage des ports entrants.

C’est par exemple le cas si votre serveur est hébergé chez nous, où par défaut seule une liste de quelques ports est autorisés en entrée.

Si vous avez un firewall en amont, notez qu’en cas d’ouverture d’un nouveau port, il faudra l’autoriser sur le firewall local ET sur le firewall en amont.

Désactivation du firewall local

Désactiver le firewall local est fortement déconseillé.

Si vous pensez avoir besoin de le faire, vous pouvez en parler à notre équipe technique mais vous devrez avoir de solides arguments pour justifier que l’on fasse une rare exception.

Protection spéciale sur certains ports publics en entrée

Il peut arriver que certains ports « publics » en entrée doivent être bloqués pour certains pays.

Cela peut être le cas temporairement en cas d’une attaque DDOS venant de plusieurs pays en particulier, ou de façon plus permanente si vous avez besoin d’empêcher la diffusion de contenu à certains pays.

Dans ce cas nous pouvoir définir quels sont les ports « protégés », par exemple TCP/80 et TCP/443 pour le web, et bloquer les adresses IP d’une liste de pays.

Pour cela, nous nous appuyons sur les listes d’adresses IP associés aux codes des pays diffusées par les registres Internet (RIR) de chaque continent.

Vous devez nous fournir la liste des pays à bloquer, tout en ayant conscience que cette protection est assez facilement contournable en utilisant un service de VPN par exemple.

Que faire si je n’ai pas d’adresse IP fixe ?

Si vous avez besoin d’autoriser des services non publics à une personne ne possédant pas d’adresse IP fixe, plusieurs solutions sont possibles :

  • utiliser un service VPN permettant de sortir avec une IP fixe (nous en proposons un gratuitement)
  • utiliser un service VPN sur l’un de vos serveurs
  • passer le service en public en utilisant un port différent (mais c’est vraiment déconseillé de passer un service en public alors que ça n’est pas nécessaire)

Détails sur le firewall local

Nous utilisons minifirewall : un script sous licence libre écrit par nous-même qui s’appuye sur netfilter.

Ce script minifirewall permet de manipuler la plupart des règles de firewall via des variables de configuration, tout en facilitant l’ajout de règles spécifiques avec les commandes iptables et ip6tables si besoin.

Pour plus de détails voir https://wiki.evolix.org/HowtoNetfilter#minifirewall