Back to Projects

Intrusion Detection System

IDS Architecture DiagramProject Architecture Diagram

AWS

Terraform

Docker

Flask

NextJS

Project Overview
This system classifies network traffic as "normal" or "malicious" using a machine learning model trained on the NSL-KDD dataset. The application, built with Flask, allows users to upload data and visualize results.

Terraform is used to provision AWS resources, including ECS Fargate for containerized deployment. The CI/CD pipeline, implemented with GitHub Actions, automates testing, image scanning, and deployment across Dev, Staging, and Production environments.
Key Features
  • User Authentication: Secure login and personalized storage of classification results.
  • Data Classification: Process and classify NSL-KDD formatted network traffic data with a machine learning model.
  • Visualization: Dynamic charts displaying insights like malicious traffic percentages.
  • Scalability & Security:Scalability & Security: Deployed on AWS, leveraging Docker, Terraform, and AWS ECS Fargate for a fault-tolerant and secure architecture.
Tech Stack
  • Frontend: Next.js with Tailwind CSS.
  • Backend: Flask with JWT-based authentication
  • Machine Learning: scikit-learn with joblib for model deployment.
  • Infrastructure:Infrastructure: Docker, Terraform, AWS (CodePipeline, ECS, ECR).
How it works
  1. Users upload network data in NSL-KDD format.
  2. Data is validated, preprocessed, and analyzed by a trained machine learning model.
  3. Results are visualized as interactive charts and displayed in the app.