apache / apache/cloudstack

[Hardening] F-15: Failure to Block Abusers by IPs.

Ouverte
#13,343 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
component:api component:management-server type:enhancement
Langage dominant
Java
Étoiles
3.1k
Forks
1.4k
Merge moyen
6 j 19 h
PR mergées (30 j)
32

Description

### The required feature described as a wish

**Description:** CloudStack does not monitor or restrict API authentication attempts based on the source IP address. A single client can submit unlimited failed authentication attempts across any number of accounts without being identified or blocked.

**Affected Components:** Management API

**Impact:** An attacker operating from a single source address can systematically target multiple user accounts with repeated failed login attempts, deliberately triggering lockouts across all accounts, preventing legitimate users and administrators from accessing the platform.

**Steps to Reproduce:**
- Using a custom script or a brute-forcing tool (e.g., `hydra`), send a high volume of failed authentication attempts targeting multiple user accounts.
- Observe that the requests are processed without any source IP tracking, flagging, or blocking.
- Confirm that targeted accounts transition to a disabled state while the source IP remains unrestricted.

**Recommended Remediation:** Log all authentication attempts and source IPs to `/var/log/cloudstack/management/auth.log` so tools like Fail2Ban can automatically detect brute-force attacks and block malicious traffic (via `iptables` or `nftables`). For even faster protection, a system administrator can craft a custom script using `inotify` to trigger real-time blocks via network edge appliances, stopping attackers' traffic before they ever reach CloudStack.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par le flux d’authentification de CloudStack Management API et déterminez où les tentatives échouées et les adresses IP sources peuvent être observées. Utilisez la sortie proposée vers /var/log/cloudstack/management/auth.log comme point d’intégration attendu, puis reproduisez les attaques avec un script personnalisé ou hydra et vérifiez que les tentatives sont journalisées dans un format que Fail2Ban peut utiliser pour les bloquer.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
api, authentication, security
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.