Victor Iliya
Projects

Intrusion Detection System

AWSDockerTerraformFlaskGitHub Actionsscikit-learn
IDS Architecture DiagramProject Architecture Diagram

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: 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: 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.

Links