Référence des ports
Port 9042 (TCP) – Apache Cassandra CQL
Port par défaut du protocole binaire natif CQL de Cassandra, utilisé par les clients et pilotes.
État par défaut
Cassandra est livré avec le PasswordAuthenticator désactivé et un superutilisateur cassandra/cassandra par défaut. De nombreuses instances écoutent sur 0.0.0.0:9042 sans authentification, exposant tous les keyspaces.
Attaques courantes
- Connexion avec les identifiants superutilisateur par défaut cassandra/cassandra
- Accès CQL non authentifié pour lire ou extraire tous les keyspaces et tables
- Exfiltration et suppression d'enregistrements sensibles
- Injection CQL depuis des couches applicatives exposées
Durcissement
- Activer PasswordAuthenticator et CassandraAuthorizer ; changer l'utilisateur cassandra par défaut
- Lier rpc_address à une interface privée ; ne jamais exposer 9042 à Internet
- Exiger le chiffrement TLS client-vers-nœud
- Filtrer 9042 vers les hôtes applicatifs ; restreindre JMX (7199) et l'inter-nœud (7000)
- Maintenir Cassandra à jour et auditer les accès
Commande nmap
nmap -p9042 --script banner <target>Remplacez <target> par l’hôte ou la plage que vous êtes autorisé à scanner.
Que tourne sur le port 9042 ?
Le port 9042 est le port par défaut du protocole natif CQL d'Apache Cassandra, l'interface binaire que les pilotes clients utilisent pour exécuter des requêtes CQL sur un cluster Cassandra. Les applications se connectent via 9042 pour lire et écrire des lignes dans les keyspaces et tables. Le trafic entre nœuds utilise 7000 et la gestion JMX utilise 7199.
Pourquoi c'est important pour la sécurité
Cassandra est livré avec le PasswordAuthenticator désactivé et un superutilisateur par défaut bien connu, cassandra/cassandra. Lorsque 9042 est accessible sans authentification ou avec les identifiants par défaut, quiconque peut exécuter du CQL pour lire, extraire ou supprimer chaque keyspace. Cassandra stocke souvent de grands volumes de données utilisateur et d'événements, donc une instance ouverte est un risque direct de fuite.
Comment c'est attaqué
Les attaquants scannent les ports 9042 ouverts et se connectent soit sans authentification, soit avec cassandra/cassandra. Ils énumèrent les keyspaces, exfiltrent les tables sensibles et peuvent supprimer des données. Lorsque la base alimente une application, l'injection CQL peut aussi servir à extraire ou manipuler des enregistrements.
Liste de durcissement
Activez le PasswordAuthenticator et le CassandraAuthorizer, remplacez le
superutilisateur cassandra par défaut et utilisez des rôles au moindre privilège.
Liez rpc_address à une interface privée, exigez le TLS client-vers-nœud
et filtrez 9042 vers les hôtes applicatifs. Restreignez l'inter-nœud 7000 et
le JMX 7199 aux réseaux de confiance. Appliquez les correctifs régulièrement
et auditez les accès. Utilisez l'extrait nmap ci-dessus pour détecter les
instances exposées sur les hôtes que vous êtes autorisé à tester.
Ports liés
Questions fréquentes
- Quel est l'identifiant Cassandra par défaut ?
- Cassandra est livré avec un superutilisateur par défaut cassandra/cassandra et l'authentification souvent désactivée. Activez toujours le PasswordAuthenticator, créez des rôles au moindre privilège et remplacez le compte par défaut avant d'exposer la base.
- Quels ports Cassandra ne doivent jamais être publics ?
- Gardez 9042 (CQL) derrière un pare-feu, et n'exposez jamais le port inter-nœud 7000 ni le port JMX 7199 à des réseaux non fiables, car ils permettent le contrôle des nœuds et de la JVM.