DEV Community

Muhammad Dhiyaul Atha
Muhammad Dhiyaul Atha

Posted on

IDS/IPS Tool: Open Source Modular Intrusion Detection & Prevention System + Real-time Dashboard

Keamanan server bukan lagi sekadar pilihan, melainkan keharusan. Di dunia di mana serangan brute force dan port scanning terjadi setiap detik, memiliki sistem pertahanan yang ringan dan adaptif adalah kunci.

Saya mengembangkan IDS-IPS-Tool, sebuah solusi keamanan modular berbasis Python yang dirancang untuk deteksi dini dan pencegahan otomatis. Proyek ini bukan sekadar skrip log, melainkan kerangka kerja (framework) keamanan yang siap pakai.


πŸš€ Kenapa IDS/IPS Tool?

Banyak solusi enterprise sangat kompleks dan berat. IDS-IPS-Tool hadir dengan pendekatan yang berbeda: Modular, Lightweight, dan Dev-Friendly.

πŸ”₯ Fitur Utama

  • IDS (Intrusion Detection System): Analisis file log secara cerdas menggunakan pola Regex untuk mendeteksi failed login, serangan web, dan anomali lainnya.
  • IPS (Intrusion Prevention System): Tidak hanya mendeteksi, tapi juga menghentikan. Sistem secara otomatis memblokir IP penyerang.
  • Multi-Firewall Backend: Mendukung iptables, ufw, dan nftables (firewall standar Linux modern). Sistem dapat mendeteksi backend mana yang tersedia secara otomatis.
  • Network IDS (Sniffer): Dilengkapi dengan kemampuan sniffing paket jaringan secara real-time (ala Suricata) menggunakan library Scapy.
  • Modern Dashboard: Visualisasi data yang ditenagai oleh FastAPI dan Chart.js untuk memantau trafik dan serangan tanpa perlu membuka terminal.

πŸ—οΈ Tech Stack & Arsitektur

Saya merancang alat ini agar mudah dikembangkan (extensible). Semua logika deteksi dipisahkan dari inti program melalui file konfigurasi JSON.

  • Backend: FastAPI (Asynchronous & High Performance)
  • Real-time Log Monitoring: Watchdog API
  • Network Sniffing: Scapy
  • Frontend: HTML5, TailwindCSS, & Chart.js

Project Structure:

IDS-IPS-Tool/
β”œβ”€β”€ src/           # Modular logic (IDS, IPS, NetIDS)
β”œβ”€β”€ config.json    # Attack signatures & Firewall settings
β”œβ”€β”€ dashboard_main.py # Web UI Entrypoint
β”œβ”€β”€ netids_main.py # Sniffer Entrypoint
└── requirements.txt

Enter fullscreen mode Exit fullscreen mode

⚑ Instalasi & Penggunaan Cepat

Cukup dengan beberapa langkah, Anda bisa mengamankan server Anda:

  1. Clone & Install:
git clone https://github.com/Bangkah/IDS-IPS-Tool.git
cd IDS-IPS-Tool
pip install -r requirements.txt

Enter fullscreen mode Exit fullscreen mode
  1. Konfigurasi Firewall: Atur backend favorit Anda di config.json (auto, nftables, ufw, atau iptables).
  2. Jalankan Dashboard:
python dashboard_main.py

Enter fullscreen mode Exit fullscreen mode

Buka http://localhost:8000 untuk memantau serangan secara real-time!


πŸ’‘ Lessons Learned

Dalam membangun proyek ini, saya belajar banyak tentang:

  1. Low-level Networking: Bagaimana menangani paket data tanpa membuat bottleneck pada jaringan.
  2. Firewall Orchestration: Berinteraksi dengan kernel Linux melalui berbagai utilitas firewall secara aman.
  3. UI/UX for Security: Menyajikan data keamanan yang kompleks menjadi visualisasi yang mudah dipahami.

🀝 Mari Berkolaborasi!

Proyek ini sepenuhnya open-source dan saya sangat terbuka untuk kontribusi. Apakah itu menambah pola regex baru, integrasi notifikasi Telegram, atau dukungan firewall lainnya.

⭐ Pantau proyeknya di GitHub: Bangkah/IDS-IPS-Tool

python #cybersecurity #linux #opensource #fastapi #securityengineer

Top comments (0)