Repository navigation
Replies: 11 comments 10 replies
|
@mwriter Runtime exclusion management could provide value for automation and temporary operational exceptions without requiring configuration-file edits. Optional expiration could also prevent temporary exceptions from becoming permanent unintentionally. There is precedent: Fail2ban supports runtime per-jail ignore-list changes, while CrowdSec provides persistent database-managed allowlists with optional expiration. Their persistence and existing-ban behavior differ. For fail2zig, a starting point would be per-jail add, remove and list operations, with output distinguishing configuration entries from runtime entries. Configuration-defined exclusions should remain controlled by configuration. The main behavior to resolve is whether adding an exclusion only prevents future bans or also removes an existing ban. Expiration and removal semantics also need to be explicit. Command naming can follow those decisions. One concern is making the effective policy clear when configuration and runtime entries overlap. Removing a runtime entry must not imply that an address is subject to bans again if configuration still excludes it. Likewise, any removal of existing bans must be explicit and limited to the selected jail. |
If there are a lot of ignore addresses, it's more convenient to manage them in a non-text configuration. |
Let's make it a simple merge to simplify. |
Yep, then we will need to add two commands: |
Adding an address to the ignored list should, of course, exclude it from banned for the corresponding jail. But you can also make an additional flag |
|
@mwriter Those are definitely useful cases to design around, especially when managing a larger list or making changes through automation. To answer your question, I think merging runtime entries with the jail’s effective configuration list makes sense. We should still show where each entry comes from, though, so it’s clear why an address is excluded. Something like: What about I also see why you’d want to exclude an address and lift its ban in one command. My preference would be Without that option, an existing ban would run its course, but future automatic bans would be prevented. With it, we’d also remove the selected jail’s ban. The overlap is the part we need to get right: removing a runtime entry won’t stop an address being excluded if configuration still covers it. The command should tell you that directly. Otherwise, removal would simply make the address eligible for normal detection again. Expiration would be useful too, but we can settle the basic add/remove behavior first. |
|
Shipped in v0.4.7: |
|
I came up with a new idea. |
|
By the way, one more question. |
|
@mwriter Yes, and part of it is already in the 0.4.8 plan. An ignore entry gets an optional duration: An So: |
|
Shipped in v0.4.8:
The manual page documents each one. @mwriter, this thread was the spec; thank you. |
Uh oh!
There was an error while loading. Please reload this page.
This proposal would add commands to manage persistent per-jail exclusions alongside the existing configuration-based
ignoreiplists.Before deciding whether to implement it, we need to establish:
Concrete use cases and proposed behavior are welcome. This is exploratory design work, with no implementation or release commitment.
Origin: #102. The existing configuration-update limitation is tracked separately.
All reactions