Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
quarantyne — Pare-feu Web moderne : arrêtez les prises de contrôle de comptes, les mots de passe faibles, les IP cloud, les attaques DoS, les e-mails jetables | Kitploit
Outils/GitHubGitHub/quarantyne/quarantyne
Scanners de VulnérabilitésSécurité WebRenseignement sur les MenacesAuthentificationSécurité des APIAnti-BotArchived
GitHubquarantyne/quarantyne

quarantyne

Pare-feu Web moderne : arrêtez les prises de contrôle de comptes, les mots de passe faibles, les IP cloud, les attaques DoS, les e-mails jetables

Voir le dépôt
1238il y a 4 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

=== CE PROJET EST ARCHIVÉ ===

Quarantyne · Pare-feu Web Moderne 🛃 Build Status

Sécurité web automatisée simplifiée

TL;DR Quarantyne est un proxy inverse qui protège les applications web et les API contre les comportements frauduleux, les abus, les robots et les cyberattaques en temps réel.

  • Prérequis
  • Présentation
  • Fonctionnalités
  • Couverture
  • Passif vs Actif
  • Configuration
  • Exécution rapide
  • Distributions
  • Liste de diffusion
  • Licence

Prérequis

  • Java 8

Présentation

Quarantyne est un proxy inverse écrit en Java. Il se place devant une application web ou une API et la protège contre les comportements frauduleux, les abus, les robots et les cyberattaques. Il ne peut pas tous les arrêter, mais il rendra certainement l'attaque plus difficile et plus coûteuse.

C'est comme un pare-feu mais plus intelligent, car il ne bloque pas simplement le trafic parce que le user-agent n'est pas dans une liste blanche. Quarantyne effectue également une inspection approfondie des requêtes pour détecter si, par exemple, le mot de passe utilisé a déjà été compromis, ou si l'email est jetable, avec une configuration minimale et sans modification de votre application. Notre section couverture liste précisément ce que Quarantyne peut identifier.

Fonctionnalités

Large couverture des menaces HTTP courantes et des abus

Voir couverture pour une liste complète des menaces et abus que Quarantyne peut identifier et arrêter.

Analyse approfondie du trafic

Quarantyne effectue une inspection approfondie du trafic web allant vers votre application pour vérifier que les données envoyées ne sont pas compromises ou indésirables.

Intégration générique

Quarantyne ajoute des en-têtes HTTP supplémentaires à la requête qu'il proxye vers votre service. Par exemple, une requête HTTP provenant d'AWS portera les en-têtes suivants :

  • X-Quarantyne-Labels: PCX
  • X-Quarantyne-RequestId: 08a0e31a-f1a5-4660-9316-0fdf5d2a959d

Protection active

Quarantyne peut être configuré pour empêcher les requêtes malveillantes d'atteindre vos serveurs, évitant ainsi de gaspiller des ressources de calcul/BDD/cache, des biais de métriques, des données indésirables... Voir (Passif vs Actif)[#passivevsactive].

Métriques et rapports de santé

Quarantyne se lie à un adminPort interne, où les métriques (latences, taux de réussite...) ainsi que la santé du proxy sont rapportées.

Respect de la vie privée / conformité RGPD

Quarantyne est un logiciel hors ligne. Il fonctionne à l'intérieur de votre réseau privé et ne communique pas sur Internet avec quiconque pour partager des données sur votre trafic, votre activité ou vos utilisateurs.

Friendly pour les opérations.

Jar unique avec 0 dépendances. Les métriques sont disponibles sur [proxyHost]:[adminPort]/metrics. La santé du service est disponible sur [proxyHost]:[adminPort]/health

Couverture

Quarantyne est capable de détecter les menaces et abus suivants.

ÉtiquetteDéfinitionComportementImplémenté
LBDDonnées de grande tailleSurcharger le processeur de formulaires de la cible avec des requêtes POST/PUT dont le corps > 1 Mooui
FASNavigation rapideTaux de requêtes plus rapide que la navigation humaine normaleoui
CPWMot de passe compromisLe mot de passe utilisé est connu suite à une fuite de données antérieure. Possible prise de contrôle du compteoui
DMXEmail jetableL'email utilisé provient d'un service d'emails jetablesoui
IPRRotation d'adresse IPLe même visiteur change ses adresses IPnon
SHDEn-têtes de requête suspectsEn-têtes HTTP anormauxoui
SUAUser-Agent suspectUser Agent ne provenant pas d'un navigateur web classiqueoui
PCXExécution dans le cloud publicL'adresse IP appartient à un service de cloud public comme AWS ou GCPnon
IPDDiscordance IP/PaysLe pays déduit de l'IP du visiteur est différent du champ pays dans la requête soumisenon
SGEGéolocalisation suspecteCette requête n'est pas habituellement reçue de cette géolocalisation. Possible prise de contrôle du compte.non

Passif vs. Actif

Mode passif

Quarantyne vous permet de décider comment vous souhaitez traiter les requêtes qu'il signale. La configuration par défaut de Quarantyne est de NE PAS bloquer le trafic douteux. Ce trafic parviendra à votre serveur et sera étiqueté comme tel via des en-têtes HTTP.

Le mode passif est la manière recommandée de se familiariser avec Quarantyne et d'avoir une idée de ce qui se passe dans votre trafic web. Dans votre application, enregistrez ou tracez les étiquettes Quarantyne entrantes et vous pourriez être surpris (ou non) par ce que vous trouverez !

Mode actif

En mode actif, Quarantyne empêche le trafic douteux d'atteindre votre application. Le blocage ne se produit que si vous configurez explicitement Quarantyne pour le faire. La section configuration explique comment activer le blocage du trafic.

Configuration

Deux systèmes de configuration complémentaires sont utilisés : les arguments de ligne de commande et un fichier de configuration JSON externe (local ou distant).

Arguments de ligne de commande

Exécutez la commande suivante pour afficher l'aide et les arguments disponibles

root@kitploit:~
$ java -jar quarantyne -h
Usage: <main class> [options]
  Options:
    --admin
      internal ip:port where to access admin, UI and metrics. Optional
    --config-file
      Optional URL or local path to a Quarantyne JSON configuration file
    --egress
      HTTP destination where Quarantyne forwards annotated web traffic.
      Default: http://httpbin.org
    --help, -help, --h, -h
      Display help about available configuration arguments
      Default: false
    --ingress
      ip:port of inbound web traffic.
      Default: 0.0.0.0:8080

Le --config-file est un fichier de configuration JSON optionnel qui indique à Quarantyne comment les requêtes vers votre service sont structurées. Il permet une analyse approfondie du trafic et augmente la couverture.

Fichier de configuration JSON du trafic

Le fichier de configuration du trafic est optionnel et peut être soit un chemin local absolu, soit une URL HTTP(S) distante vers un fichier JSON contenant un seul objet JSON avec la structure suivante. Décrire la structure de vos requêtes HTTP aide Quarantyne à effectuer une inspection approfondie des données critiques telles que les mots de passe, les emails ou les pays.

root@kitploit:~
{
  "login_action": {
    "path": "/anything",
    "identifier_param": "email",
    "secret_param": "password"
  },
  "register_action": {
    "path": "/anything",
    "identifier_param": "email",
    "secret_param": "password"
  },
  "email_param_keys": ["email", "contact[email]"],
  "country_iso_code_param_keys": ["country_code"],
  "blocked_request_page": "https://raw.githubusercontent.com/AndiDittrich/HttpErrorPages/master/dist/HTTP500.html",
  "blocked_classes": ["all"]
}

Quarantyne est capable d'analyser les charges utiles soumises via POST/PUT avec un Content-Type de application/json ou application/x-www-form-urlencoded.

Les propriétés racines sont optionnelles.

PropriétéDéfinitionRemarques
*_actionUne charge utile de données POST/PUTlogin_action décrit la structure des données envoyées lors de la connexion. register_action définit la structure des données envoyées lors de l'inscription / de la création d'un compte.
*_action.pathChemin où les données sont soumisesDoit commencer par /
*_action.identifier_paramNom de la clé formulaire/JSON où l'identifiant utilisateur est envoyé
*_action.secret_paramClé formulaire/JSON où le mot de passe utilisateur est envoyé
email_param_keysClé formulaire/JSON où les adresses email sont envoyées
country_iso_code_param_keysClé formulaire/JSON où les codes ISO des pays sont envoyés
blocked_request_pageRéponse HTTP à renvoyer lors du blocage d'une requêteIl est préférable que cela ressemble à une page/erreur légitime pour ne pas alerter l'attaquant. Encore mieux si vous pouvez injecter de fausses données :)
blocked_classesUn tableau de classes d'attaque à bloquer.[] équivaut au mode passif. ['all'] arrête toutes les classes d'attaque que Quarantyne peut détecter. Voir couverture

Exécution rapide

Démo hébergée

Disponible sur https://demo.quarantyne.com/. Dans ce scénario, Quarantyne se place devant httpbin.org en mode passif. Les menaces et abus envoyés seront signalés via des en-têtes HTTP, donc interroger https://demo.quarantyne.com/headers ou https://demo.quarantyne.com/anything est un bon début pour voir ce qui se passe. Astuce : commencez simplement, commencez avec curl.

Exécuter le jar

Quarantyne est fourni sous la forme d'un seul jar exécutable sans dépendances. Téléchargez une version et exécutez :

root@kitploit:~
$ java -jar quarantyne.jar

Compiler à partir des sources

Clonez ce dépôt puis exécutez ce qui suit

root@kitploit:~
$ ./gradlew run

Vous devriez voir ce qui suit :

root@kitploit:~
"2018-11-28T22:25:17.152-0800" [main] INFO com.quarantyne.proxy.Main - 0.0.0.0:8080 <= quarantyne => http://httpbin.org:80
"2018-11-28T22:25:17.223-0800" [main] INFO com.quarantyne.proxy.Main - see available options with --help
"2018-11-28T22:25:17.234-0800" [main] DEBUG com.quarantyne.proxy.Main - ==> event loop size is 8
"2018-11-28T22:25:17.234-0800" [main] DEBUG com.quarantyne.proxy.Main - ==> detected 4 cpus core
"2018-11-28T22:25:17.496-0800" [main] INFO com.quarantyne.config.ConfigRetrieverOptionsSupplier - remote configuration file found at https://s3-us-west-2.amazonaws.com/releases.quarantyne.com/quarantyne.test.json

Vous êtes prêt ! Par défaut, Quarantyne démarre sur 127.0.0.1:8080 et proxye le trafic vers http://httpbin.org.

Envoyez quelques requêtes vers http://127.0.0.1:8080/headers par divers moyens. Si un comportement frauduleux est détecté, vous devriez voir les en-têtes HTTP X-Quarantyne-Label dans la requête reçue par votre application. Astuce : essayez avec curl.

Distributions

Heroku Buildpack

https://github.com/quarantyne/heroku-buildpack-quarantyne

Image Docker

Bientôt disponible

Liste de diffusion

https://groups.google.com/forum/#!forum/quarantyne-users

Licence

Apache 2

Télécharger l’outil