InfraFenceInfraFence

Live Security Operations

Commencer

Ports et blocage sortant

Détection des scans de ports, fermeture des ports de bases de données et d'administration exposés, et blocage du trafic sortant vers des adresses malveillantes avec InfraFence, chaque changement vérifié et annulé s'il casse quelque chose.

Dernière mise à jour:

Détection des scans de ports

L'agent voit chaque tentative de connexion TCP entrante, vers les ports ouverts comme fermés, grâce à un filtre en lecture seule dans le noyau. Un scan de ports, c'est :

  • une adresse qui touche 15 ports différents en 10 minutes, ou
  • un réseau (un /24 en IPv4, un /64 en IPv6) qui touche 30 ports différents depuis 3 adresses ou plus en 10 minutes.

Détecter les scans de ports est activé par défaut et signale un avertissement port_scan. Bannir les scanners de ports est désactivé par défaut, car les services de supervision et les moteurs de recherche scannent aussi ; une fois activé, il bannit des adresses individuelles, jamais des réseaux entiers.

Fermer un port

Les bases de données et les services d'administration ne devraient pas être exposés à Internet. Fermer un port rejette les nouvelles connexions vers ce port depuis des adresses publiques ; le loopback, les réseaux privés et les adresses en liste blanche gardent l'accès, tout comme les programmes du serveur lui-même. Cela couvre les ports publiés par les conteneurs Docker, et l'IPv6 aussi lorsque ip6tables est disponible.

Seuls ces ports peuvent être fermés : 3306, 5432, 6379, 6380, 27017, 27018, 9200, 9300, 11211, 2375, 2376, 5984, 8086, 15672, 5601, 9042, 7000, 7001, 8529 et 28015 (MySQL, PostgreSQL, Redis, MongoDB, Elasticsearch, Memcached, l'API Docker, CouchDB, InfluxDB, RabbitMQ, Kibana, Cassandra, ArangoDB, RethinkDB).

Jamais fermés : 22, 80, 443, tout port sur lequel SSH écoute ou qu'une session SSH ouverte utilise, et tout port sur lequel un serveur web écoute. Un port n'est pas fermé tant qu'une adresse publique y est connectée.

Bloquer le trafic sortant

Une destination ne peut être bloquée que si l'agent lui-même l'a signalée comme menace au cours des dernières 24 heures : une connexion vers une adresse listée, une réponse DNS qui pointe vers l'une d'elles, ou une entrée de la liste de menaces appliquée. Jamais bloquées : les adresses privées, protégées et en liste blanche, le tableau de bord, les serveurs DNS configurés, une adresse connectée en SSH en ce moment ou d'où est venue une connexion SSH au cours des 30 derniers jours, ou une adresse connectée en ce moment à un service du serveur. Une connexion à SSH qui ne s'est pas authentifiée, comme une attaque par force brute, ne protège personne. Les blocages sortants s'appliquent à l'IPv4.

Destinations habituelles

L'agent compte les connexions sortantes du serveur lui-même par adresse et par jour : uniquement des adresses IPv4 publiques et un total quotidien, conservés 7 jours. Une adresse est une destination habituelle quand, la première fois qu'elle a correspondu à une liste de menaces, le serveur s'y était connecté 5 fois ou plus sur 3 jours ou plus des 7 jours précédents. Une API, un service de sauvegarde ou un miroir de mises à jour qui se retrouve sur une liste de menaces ne doit pas être coupé par une décision automatique : bloquer une destination habituelle demande donc une personne, avec Appliquer par un propriétaire ou un administrateur avec l'authentification à deux facteurs, ou une approbation dans Approbations. La correspondance indique combien de connexions sur combien de jours. Un blocage déjà en place reste. Une adresse qui était déjà listée quand le serveur l'a contactée pour la première fois ne devient jamais habituelle (agent 1.0.35 ou plus récent).

Une correspondance indique aussi son sens. inbound signifie que l'adresse listée s'est connectée à un service du serveur : c'est un attaquant, pas une destination, et AutoMode la bannit au lieu de bloquer le trafic vers elle.

Qui le demande

Les ports sont fermés et les destinations bloquées lorsqu'une personne le demande depuis le tableau de bord, ou lorsqu'AutoMode ou le mode urgence le décident. Chaque changement apparaît dans Activité, avec Annuler. Rien ne change en mode surveillance.

AutoMode et le mode urgence ne ferment un port d'eux-mêmes que s'il fait partie de 3306, 5432, 6379, 27017, 9200, 11211, 2375, 2376, 5984 et 8086, que la vérification du durcissement l'a trouvé ouvert sur le réseau et qu'il a été attaqué dans les dernières 24 heures (agent 1.0.31 ou plus récent, qui signale ses ports SSH). Tout autre port demande votre approbation : le 3306 de MySQL sans attaque, le 5432 de PostgreSQL ou le 15672 de RabbitMQ attendent dans Approbations. AutoMode et le mode urgence ne bloquent une destination d'eux-mêmes qu'après une correspondance critique d'une connexion sortante, et jamais une destination habituelle.

Approuver un port exige l'authentification à deux facteurs. Seul un propriétaire ou un administrateur connecté avec l'authentification à deux facteurs peut approuver la fermeture d'un port, ou le fermer aussitôt avec Appliquer sur le score de sécurité ; sans 2FA, ce Appliquer devient lui aussi une demande dans Approbations. Activez-la dans Paramètres › Sécurité.

Vérifié, ou annulé

Avant chaque changement, l'agent note quels ports SSH et quels sites répondent ; après, il les vérifie à nouveau. Si quelque chose a cessé de répondre, il annule le changement de lui-même et signale Annulée par le serveur.

Les règles se trouvent dans les chaînes de l'agent INFRAFENCE-PORTS et INFRAFENCE-EGRESS, et sont restaurées après un redémarrage. Limites : 200 ports fermés et 1 000 destinations bloquées par serveur.