category

CloudeCommerceMachine learningWeb ApplicationDatabaseKubernetes

Étude de cas : un système léger de détection d’intrusion avec OpenFaaS et PyTorch

Contexte

Une PME e-commerce hébergée sur un VPS Hetzner a observé une augmentation continue d’activités suspectes sur son serveur NGINX : tentatives de connexion par force brute, scans automatisés et accès à des chemins sensibles comme /admin ou /wp-admin.

Son équipe technique, composée de six développeurs et d’un administrateur système, a décidé de mettre en place un système de détection basé sur les journaux existants, sans ajouter de services externes complexes.


Objectifs Internes

  • Détecter en temps réel les comportements anormaux dans les logs NGINX
  • Éviter les solutions tierces fermées ou à facturation mensuelle
  • Utiliser uniquement des conteneurs Docker et fonctions sans serveur
  • Sauvegarder les événements suspects pour affiner le modèle dans le temps
  • Réduire les alertes inutiles et limiter les faux positifs

Architecture Adoptée

ComposantRôle
NGINXGénération des journaux d’accès
OpenFaaSFonction déclenchée par cron toutes les 5 min
PyTorchModèle LSTM léger de détection d’anomalies
JSONLFormat de sauvegarde des requêtes suspectes

Détection avec PyTorch

Le modèle utilisé repose sur un réseau LSTM entraîné sur des séquences de journaux HTTP normaux et malveillants. L’objectif est de repérer des anomalies sans avoir besoin d’une signature fixe.

class LogAnomalyDetector(nn.Module):
    ...

Si la prédiction dépasse un certain seuil, la ligne est ajoutée à un fichier de log structuré :

{
  "timestamp": "2025-08-04T23:34:59Z",
  "score": 0.97,
  "raw": "192.168.0.1 - - \"GET /wp-admin HTTP/1.1\" 404 162"
}

Résultats Obtenus

AvantageDétail
Aucun service externeFonctionne uniquement sur le serveur Hetzner
Capacité d’apprentissageLe modèle s’améliore au fil des cycles de réentraînement
Structure des données utileFichier JSONL prêt à l’emploi pour supervision
Déploiement minimalAucun outil tiers requis, tout tient dans un conteneur

Prochaines Étapes

  • Ajouter des alertes Telegram en cas d’anomalie critique
  • Intégrer une fonction de réentraînement automatique mensuelle
  • Étendre la détection aux headers HTTP et aux POST body

Conclusion

Cette solution démontre qu’un petit acteur peut bâtir une sécurité intelligente avec des outils modernes, sans frais récurrents. En combinant PyTorch avec OpenFaaS, l’équipe a obtenu un système léger, transparent et capable de s’améliorer continuellement.

Vous cherchez à implémenter une architecture similaire ?

Table of Contents

  • Contexte
  • Objectifs Internes
  • Architecture Adoptée
  • Détection avec PyTorch
  • Résultats Obtenus
  • Prochaines Étapes
  • Conclusion

Trending

OpenSearch dans le Cloud : Cas d'Usage Essentiels et Stratégies de Déploiement pour l'Analytique de Données ModerneTop 5 APIs de Suivi d’Expédition pour l’E-commerce (y compris Veho)RoBERTa vs. BERT pour l’Analyse des Retours Sociaux : Des Commentaires aux RapportsServices REST PostgreSQL : Rust (Axum) vs. Node.js (Express)Comparatif des bases de données serverless : Oracle, Azure, Redshift et Aurora