Skip to content

About

This system provides proactive security monitoring by alerting users when their credentials are exposed in data breaches. Leveraging the Have I Been Pwned (HIBP) API, it securely stores breach data in a MongoDB database and delivers real-time notifications via email.

Resources

Stars

113 stars

Watchers

1 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

🚨 Password Breach Notification System 🔐

📌 Overview

The Password Breach Notification System helps users stay secure by notifying them if their credentials have been exposed in known data breaches. This system continuously monitors databases and alerts users in real-time.


🎯 Features

✅ Real-time Breach Detection 🔎 – Checks passwords against leaked databases.
✅ Secure Hashing Mechanism 🔐 – Uses SHA-1 for privacy-preserving checks.
✅ User Notifications 📩 – Sends alerts via email/SMS when a breach is detected.
✅ Admin Dashboard 📊 – Provides breach statistics and system monitoring.
✅ Multi-Factor Authentication (MFA) Suggestion 🛡️ – Encourages MFA when a breach is detected.
✅ Dark Web Monitoring 🕵️‍♂️ – Optional feature to scan leaked credentials on dark web forums.
✅ Secure API Access 🔑 – Uses JWT authentication for enhanced security.
✅ Logging & Monitoring 📈 – Keeps track of breach reports and system logs.


🏛️ System Architecture

+----------------------+      +---------------------+      +----------------------+
|   Client/API Calls  | ---> | Log Ingestion Layer | ---> |   Processing Engine  |
+----------------------+      +---------------------+      +----------------------+
                                      |                              |
                                      v                              v
                    +----------------------+      +----------------------+
                    |   Storage Layer       |      |  Analysis & Alerts   |
                    |  (DB/File System)     |      |  (ML/Rule-Based)     |
                    +----------------------+      +----------------------+
                                      |                              |
                                      v                              v
                    +----------------------+      +----------------------+
                    |   Search & Filtering  |      |   Visualization      |
                    |   (Elasticsearch)     |      |   (WebSockets/API)   |
                    +----------------------+      +----------------------+
                                      |
                                      v
                          +----------------------+
                          |    User Dashboard    |
                          | (API/Grafana/Kibana) |
                          +----------------------+

🏗️ Tech Stack

Component Technology
Backend Node.js (Express)
Database MongoDB
Frontend (Optional) React.js
Auth JWT, bcrypt
Breach Check Have I Been Pwned API
Notifications Nodemailer, SMS APIs
Monitoring Prometheus, Grafana
Security Helmet.js, CORS, Rate Limiting

🔌 API Endpoints

🔑 Authentication

📌 POST /api/auth/register – Register a new user.
📌 POST /api/auth/login – Authenticate a user.

🔍 Password Breach Check

🔹 POST /api/breach/check – Check if a password has been compromised.
🔹 GET /api/breach/history – Retrieve a user's breach history.

📢 Notifications

📌 GET /api/notifications – View breach alerts.
📌 POST /api/notifications/settings – Update alert preferences.

📊 Admin Dashboard

📌 GET /api/admin/dashboard – View breach statistics.


⚙️ Installation & Setup

📋 Prerequisites

✅ Node.js
✅ MongoDB
✅ API Key for Have I Been Pwned

🛠️ Steps to Set Up

# Clone the repository
git clone https://github.com/yourrepo/password-breach-notification.git

# Navigate to the project
dcd password-breach-notification

# Install dependencies
npm install

# Configure environment variables
cp .env.example .env  # Add API keys & database URL

# Start the server
npm start

🚀 Deployment

🐳 Docker Deployment

docker build -t breach-notifier .
docker run -p 3000:3000 breach-notifier

☁️ Cloud Hosting

  • Deploy on AWS, Heroku, or DigitalOcean.
  • Use GitHub Actions for automated deployments.

🔒 Security Enhancements

✅ Rate Limiting – Prevent API abuse.
✅ Data Encryption – Ensure passwords & sensitive data are secure.
✅ Multi-Factor Authentication (MFA) – Encourage users to enable MFA.
✅ Logging & Anomaly Detection – Detect suspicious activity.


📊 Monitoring & Visualization

  • Grafana Dashboard 📊 – Visualizes breach alerts and trends.
  • Prometheus Metrics 📈 – Tracks API performance and logs.

🤝 Contributing

Want to contribute? Follow these steps:

  1. Fork the repository.
  2. Create a new branch.
  3. Commit your changes.
  4. Submit a pull request.

📜 License

MIT License – Open-source and free to use! 🎉

🌟 Star this repo if you found it helpful! ⭐

About

This system provides proactive security monitoring by alerting users when their credentials are exposed in data breaches. Leveraging the Have I Been Pwned (HIBP) API, it securely stores breach data in a MongoDB database and delivers real-time notifications via email.

Resources

Stars

113 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages