DNS change monitor for domains
Why Choose This Project
Unauthorized DNS changes can indicate domain hijacking, phishing attempts, or misconfigured infrastructure. Manual monitoring of DNS records is inefficient and often delayed, increasing the risk of service disruptions or security breaches. This project provides a real-time monitoring system that tracks DNS record changes (A, CNAME, MX, TXT, NS) for domains, alerting administrators immediately when suspicious or unauthorized modifications occur.
What You Get
A web-based portal that continuously monitors DNS records for configured domains. The system records historical DNS changes, sends alerts via email or SMS for any unauthorized or unexpected updates, and provides dashboards for trend visualization. It is ideal for enterprises, domain registrars, and IT teams looking to secure their domains against hijacking, phishing, or accidental misconfigurations.
Key Features
| Feature | Description |
|---|---|
| User Authentication | Secure login for admins to manage monitored domains and alert settings |
| Domain Management | Add, remove, or edit domains to monitor for DNS changes |
| DNS Record Tracking | Monitor A, AAAA, CNAME, MX, TXT, NS, and other DNS record types |
| Historical Change Logs | Maintain records of all DNS changes over time for auditing and analysis |
| Real-Time Alerts | Email/SMS notifications for any unauthorized or suspicious DNS changes |
| Dashboard Visualization | Graphs and tables showing recent changes, trends, and high-risk events |
| Reporting & Export | Generate CSV/PDF reports of DNS changes for internal audits |
| API Integration | REST API to integrate DNS monitoring with internal security systems |
| Access Control | Role-based access for admins, read-only users, or external auditors |
Technology Stack
| Layer | Technology |
|---|---|
| Frontend Layer | HTML, CSS, JavaScript, Bootstrap for responsive UI |
| Backend Layer | Node.js (Express) / Java Spring Boot / Python Flask |
| Database Layer | MongoDB / MySQL / PostgreSQL for storing DNS history and alerts |
| Monitoring Layer | Cron jobs / Scheduled tasks to poll DNS records, optional DNS APIs |
| Security Layer | HTTPS, JWT / OAuth2 authentication, role-based access |
| Optional Libraries & APIs | Email/SMS APIs (Nodemailer, Twilio), Chart.js/D3.js for visualization |
Working Flow
-
User Login – Admin logs in securely to manage monitored domains.
-
Domain Configuration – Add domains and select DNS record types to monitor.
-
Scheduled Monitoring – Backend periodically queries DNS records via DNS lookup or API.
-
Change Detection – Compare current DNS records with stored historical records.
-
Alert Triggering – If unexpected changes are detected, alerts are sent via email or SMS.
-
Logging – Record every change, including timestamp, old value, new value, and user responsible (if applicable).
-
Dashboard Visualization – Display recent DNS changes, trends, and alert frequency.
-
Reporting – Generate reports for compliance, audits, or internal review.
Main Modules
-
Authentication Module → Secure login and role management
-
Domain Management Module → Add/remove domains and configure record monitoring
-
DNS Monitoring Module → Poll and detect DNS record changes
-
Alert Module → Notify admins of unauthorized or suspicious changes
-
Logging Module → Maintain historical DNS changes and audit trails
-
Dashboard Module → Visualize changes, trends, and alerts
-
Reporting Module → Export DNS change history for auditing
-
API Module → Optional integration with internal security or monitoring tools
Security Features
-
HTTPS-secured portal and API endpoints
-
JWT/OAuth2 authentication with role-based access
-
Audit logs for all domain changes and monitored activity
-
Real-time alerts to ensure prompt response to suspicious DNS changes
-
Secure storage of historical DNS data to prevent tampering