-
-
Notifications
You must be signed in to change notification settings - Fork 374
Improve built-in test used during system startup #1544
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
93df52f
b0aa5d0
0555105
a329c5b
c1d53ff
8ab9d9f
f1496b4
5c0f29b
da23880
a532c98
b854206
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,51 @@ | ||
| # ARP Flux Sysctls Not Set | ||
|
|
||
| ## Issue Description | ||
|
|
||
| NetAlertX detected that ARP flux protection sysctls are not set as expected: | ||
|
|
||
| - `net.ipv4.conf.all.arp_ignore=1` | ||
| - `net.ipv4.conf.all.arp_announce=2` | ||
|
|
||
| ## Security Ramifications | ||
|
|
||
| This is not a direct container breakout risk, but detection quality can degrade: | ||
|
|
||
| - Incorrect IP/MAC associations | ||
| - Device state flapping | ||
| - Unreliable topology or presence data | ||
|
|
||
| ## Why You're Seeing This Issue | ||
|
|
||
| The running environment does not provide the expected kernel sysctl values. This is common in Docker setups where sysctls were not explicitly configured. | ||
|
|
||
| ## How to Correct the Issue | ||
|
|
||
| Set these sysctls at container runtime. | ||
|
|
||
| - In `docker-compose.yml` (preferred): | ||
| ```yaml | ||
| services: | ||
| netalertx: | ||
| sysctls: | ||
| net.ipv4.conf.all.arp_ignore: 1 | ||
| net.ipv4.conf.all.arp_announce: 2 | ||
| ``` | ||
|
|
||
| - For `docker run`: | ||
| ```bash | ||
| docker run \ | ||
| --sysctl net.ipv4.conf.all.arp_ignore=1 \ | ||
| --sysctl net.ipv4.conf.all.arp_announce=2 \ | ||
| ghcr.io/netalertx/netalertx:latest | ||
| ``` | ||
|
|
||
| > **Note:** Setting `net.ipv4.conf.all.arp_ignore` and `net.ipv4.conf.all.arp_announce` may fail with "operation not permitted" unless the container is run with elevated privileges. To resolve this, you can: | ||
| > - Use `--privileged` with `docker run`. | ||
| > - Use the more restrictive `--cap-add=NET_ADMIN` (or `cap_add: [NET_ADMIN]` in `docker-compose` service definitions) to allow the sysctls to be applied at runtime. | ||
|
|
||
| ## Additional Resources | ||
|
|
||
| For broader Docker Compose guidance, see: | ||
|
|
||
| - [DOCKER_COMPOSE.md](https://docs.netalertx.com/DOCKER_COMPOSE) | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. why was this changed? was tehre an issue with the original implementation? it was written to accomodate for future expansion.
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Because it was a pointless function to set a single variable. It can be reintroduced if there is more than one variable to be set. Right now it makes it harder to read. |
Uh oh!
There was an error while loading. Please reload this page.