Getting Started¶
This guide gets Rustinel to first telemetry and first alert on both supported platforms.
Minimum Requirements¶
Windows¶
- Windows 10/11 or Server 2016+
- Administrator privileges
- Rust 1.92+ and Visual Studio Build Tools if building from source
Linux¶
- Linux kernel 5.8+ with BTF
- Root, or eBPF capabilities such as
CAP_BPForCAP_SYS_ADMIN tracefsavailable at/sys/kernel/tracinganddebugfsavailable at/sys/kernel/debug- Rust 1.92+ if building from source
- If
ebpf/rustinel-ebpf.ois missing, nightly Rust,rust-src, andbpf-linkerare also required for the first build
Quick Start¶
Download the package for your platform from GitHub Releases. The release archives already include config.toml, the bundled demo rules, and an empty logs/ directory.
Windows¶
- Download
rustinel-<version>-x86_64-pc-windows-msvc.zip. - Extract it.
- Open an elevated PowerShell in the extracted directory.
- Run
.\rustinel.exe run --console.
Linux¶
Choose the archive that matches your target system:
rustinel-<version>-x86_64-unknown-linux-musl.tar.gzrustinel-<version>-aarch64-unknown-linux-musl.tar.gz
Then extract and run it:
tar xzf rustinel-<version>-x86_64-unknown-linux-musl.tar.gz
cd rustinel-<version>-x86_64-unknown-linux-musl
sudo ./rustinel run
If startup fails with tracefs not found, mount the tracing filesystems and retry:
Some minimal Linux environments, including some WSL 2 distros, may start without these filesystems mounted.
Compile From Source¶
Use this path if you want to build the binary yourself instead of using a published release.
Windows¶
git clone https://github.com/Karib0u/rustinel.git
cd rustinel
cargo build --release
.\target\release\rustinel.exe run --console
Linux¶
git clone https://github.com/Karib0u/rustinel.git
cd rustinel
cargo build --release
sudo ./target/release/rustinel run
Notes:
- Running
rustinelwith no subcommand is equivalent torustinel run. - On Linux,
build.rsembedsebpf/rustinel-ebpf.owhen it already exists. If it does not exist, the build falls back to compiling the eBPF crate with nightly Rust. - If startup fails with
tracefs not found, mount the tracing filesystems and retry:
Some minimal Linux environments, including some WSL 2 distros, may start without these filesystems mounted.
Verify First Alert¶
Windows Sigma Demo¶
- Keep Rustinel running.
- Execute:
- Confirm an alert was written to
logs\alerts.json.<date>.
The bundled rule is rules/sigma/windows_whoami.yml.
Linux Sigma Demo¶
- Keep Rustinel running.
- Execute:
- Confirm an alert was written to
logs/alerts.json.<date>.
The bundled rule is rules/sigma/linux_whoami.yml.
Cross-Platform YARA Demo¶
- Keep Rustinel running.
- Build the demo binary:
On Windows:
- Run the demo binary.
- Confirm an alert references
ExampleMarkerStringinlogs/alerts.json.<date>.
Verify Hot Reload¶
- Keep Rustinel running.
- Edit a Sigma, YARA, or IOC file.
- Wait a few seconds.
- Confirm the operational log reports a reload event.
Example on Windows:
Example on Linux:
Next Steps¶
- Use Configuration to move rule paths, logs, and allowlists out of the default repo layout.
- Use Operations and Upgrade Guide for installation layout and update workflows.
- Use CLI Reference for service commands and runtime examples.