System Requirements
Minimum Requirements (Testing)
- CPU: 4 cores @ 2.0 GHz
- RAM: 8 GB
- Storage: 20 GB available
- Network: Single 1GbE NIC
- OS: Debian 12 (Bookworm) or Ubuntu 22.04+
- Kernel: 6.1.0+ (for eBPF/XDP support)
Recommended (Production)
- CPU: 8+ cores @ 3.0 GHz
- RAM: 16 GB (32 GB for high-throughput)
- Storage: 100 GB SSD
- Network: Dual 10GbE NICs (Intel X710, Mellanox ConnectX-5)
- OS: Debian 12 (Bookworm)
- Kernel: 6.1.0+
Hardware Recommendations:
- Testing: Intel NUC, x86 Mini PC (N100/N305)
- Production: Supermicro 1U, Dell PowerEdge R240
- Avoid: Raspberry Pi (insufficient performance for 1Gbps+)
Kernel Version Check
Verify your kernel version supports eBPF:Installation Methods
From Source
Recommended for development and customization
Vagrant
Pre-configured VM for rapid testing
Docker
Containerized deployment (limited eBPF support)
Method 1: Install from Source
Step 1: Install Build Dependencies
Step 2: Install libbpf 1.4.6+
ML Defender requires libbpf 1.4.6 or higher:Step 3: Install CMake 3.25+
Step 4: Install ONNX Runtime 1.17.1
Required for ML model inference:Step 5: Install etcd-cpp-api
For distributed configuration:Step 6: Install FAISS 1.8.0 (Optional, for RAG)
Required only if using RAG ingestion:Step 7: Clone and Build ML Defender
Step 8: Configure System Settings
Step 9: Create Directory Structure
Installation from source complete! Proceed to Configuration to set up components.
Method 2: Vagrant Deployment
Vagrant provides a pre-configured VM with all dependencies installed.Prerequisites
- VirtualBox 7.0+
- Vagrant 2.3+
- 16GB RAM available on host
- 50GB disk space
Install Vagrant
Launch VM
VM Configuration
The Vagrantfile configures:-
defender VM:
- 8GB RAM, 6 CPUs
- eth1: 192.168.56.20 (WAN-facing, host-based IDS)
- eth2: 192.168.100.1 (LAN-facing, gateway mode)
- All dependencies pre-installed
- Components pre-built
-
client VM (optional):
- 1GB RAM, 2 CPUs
- eth1: 192.168.100.50
- Traffic generation tools
Network Topology
Pre-configured Aliases
The VM includes helpful aliases:Vagrant deployment is ideal for testing and development. For production, use installation from source or Docker.
Method 3: Docker Deployment
Docker provides containerized deployment with service orchestration.Prerequisites
- Docker 24.0+
- Docker Compose 2.0+
Launch Services
Service Architecture
Thedocker-compose.yaml defines:
Network Configuration
Verify Services
Method 4: Debian Package Installation
ML Defender provides .deb packages for Debian/Ubuntu systems.Install Package
Package Contents
The package includes:/usr/local/bin/sniffer- eBPF sniffer binary/etc/ml-defender/sniffer.json- Configuration/usr/lib/systemd/system/sniffer-ebpf.service- systemd service/var/log/ml-defender/- Log directory
Service Management
Network Interface Setup
Single NIC (Host-Based IDS)
Protects only the host system:Dual NIC (Gateway Mode)
Inspects transit traffic between networks:eBPF XDP Mode
XDP can run in three modes:-
Native (best performance, requires driver support):
-
Offloaded (SmartNIC only):
-
Generic/SKB (fallback, lowest performance):
Post-Installation
Verify Installation
1
Check Binaries
2
Check Dependencies
3
Test eBPF Support
4
Verify Network Config
Next Steps
Configuration
Configure components, IPSet capacity, and detection thresholds
Quick Start
Start the system and run your first detection