Commit Graph

57 Commits

Author SHA1 Message Date
Dirk Brenken
c4f95cb0f2 banIP: update 1.5.0-2
* fix typo in the log_outbound target
* update the readme

Signed-off-by: Dirk Brenken <dev@brenken.org>
2025-01-19 21:08:47 +01:00
Dirk Brenken
80768dfdae banIP: release 1.5.0-1
* change the chain structure: only two regular chains contain the generated banIP sets.
  “_inbound” covers the base chains WAN-Input and WAN-Forward, ‘_outbound’ covers the base chain LAN-Forward.
* pre-configure the default chains for every feed in the banip.feeds json file, no longer blocks
  selected feeds in all chains by default
* it's now possible to split country and asn Sets by country or asn (disabled by default)
* support Set counters to report easily suspicious IPs per Set (disabled by default)
* make it possible, to opt out certain chains from the deduplication process
* the element search now returns all matches (and not only the first one)
* the report engine now includes statistics about the Inbound & Outbound chains and the Set counters (optional)
* save the temp. files of possible nft loading errors in "/tmp/banIP-errors" by default for easier debugging
* various code improvements
* remove ssbl feed (deprecated)
* add two new vpn feeds
* update the readme

Signed-off-by: Dirk Brenken <dev@brenken.org>
2025-01-16 20:10:34 +01:00
Dirk Brenken
3140259fc6 banIP: update 1.0.1-2
* correctly parse json objects with hyphens in the autodetection function

Signed-off-by: Dirk Brenken <dev@brenken.org>
2024-11-26 07:05:24 +01:00
Dirk Brenken
8609a5bbe5 banIP: release 1.0.1-1
* optimized procd settings for better performance
* made the log monitor working again (even on master with apk migration issues)
* reworked the fetch autodetection function (still broken in master due to apk migration)

Signed-off-by: Dirk Brenken <dev@brenken.org>
2024-11-24 15:44:38 +01:00
Dirk Brenken
4f00d8f0ee banIP: update to 1.0.0-10
* minimal fix to support all download utilities in currently broken apk snapshots
  (see https://github.com/openwrt/openwrt/issues/16907 for details)

Signed-off-by: Dirk Brenken <dev@brenken.org>
2024-11-16 12:45:40 +01:00
Dirk Brenken
fb19c14696 banIP: update to 1.0.0-9
* fixed gathering/printing of system information in banIP status
* removed broken iblocklist.com feeds
* updated readme

Signed-off-by: Dirk Brenken <dev@brenken.org>
2024-10-26 21:25:20 +02:00
Dirk Brenken
270e6f1264 banIP: update to 1.0.0-8
* supports comments (introduced with a #), for MAC addresses
  in the allow and block list, e.g. 26:5e:a0:6a:9c:da # Test
* added hagezi threat ip feed
* added an adguard logterm to the readme
* removed the broken talos feed

Signed-off-by: Dirk Brenken <dev@brenken.org>
2024-10-11 19:46:16 +02:00
Dirk Brenken
aeda25086e banIP: update to 1.0.0-7
* fixed auto allow-/blocklist-issue with IPv6 addresses in CIDR notation
* removed edrop feed from readme (had been removed from feeds for a while)

Signed-off-by: Dirk Brenken <dev@brenken.org>
2024-09-20 10:04:40 +02:00
Dirk Brenken
b157e03e80 banip: update 1.0.0-6
* automatic blocking of IP ranges via RDAP request now supports multiple CIDRs
* cosmetics

Signed-off-by: Dirk Brenken <dev@brenken.org>
2024-09-09 21:08:48 +02:00
Dirk Brenken
2cc7cf3ca0 banip: update 1.0.0-3
* fixed a regression in the split Set function (reported in the forum)
* fixed regex for urlhaus feed

Signed-off-by: Dirk Brenken <dev@brenken.org>
2024-06-18 17:04:15 +02:00
Dirk Brenken
059a530329 banip: update 1.0.0-2
* fixed a possible "Argument list too long" error in the f_log function
* fixed multiple, incomplete digit character classes
* fixed/optimized split file handling
* cosmetics

Signed-off-by: Dirk Brenken <dev@brenken.org>
2024-06-16 21:52:10 +02:00
Dirk Brenken
cc709768b5 banip: release 1.0
* made sure, that the domain lookup always add the found IPs to the underlying allow-/blocklist-Set
* major readme update

Signed-off-by: Dirk Brenken <dev@brenken.org>
2024-06-08 10:34:09 +02:00
Dirk Brenken
3584187f69 banip: update 0.9.6-3
* fixed concurrent, too high nft loads during feed processing (seen in LuCI frontend)

Signed-off-by: Dirk Brenken <dev@brenken.org>
2024-06-01 16:06:59 +02:00
Dirk Brenken
27e86ef42e banip: update 0.9.6-2
* fix regex for nixspam and sslbl feed
* list the pre-routing limits in the banIP status
* small fixes and log improvements

Signed-off-by: Dirk Brenken <dev@brenken.org>
2024-05-30 21:36:57 +02:00
Dirk Brenken
ccca9c8325 banip: release 0.9.6-1
* refine IPv4 parsing, skip rough feed entries like loopback addresses
* better error logging during banIP nftables initialization and Set loading
* cosmetics

Signed-off-by: Dirk Brenken <dev@brenken.org>
2024-05-18 08:30:04 +02:00
Dirk Brenken
083554094b banip: update 0.9.5-5
* fix a processing race condition
* it's now possible to disable the icmp/syn/udp safeguards in pre-routing - set the threshold to '0'.

Signed-off-by: Dirk Brenken <dev@brenken.org>
2024-05-05 21:58:13 +02:00
Dirk Brenken
4d7c38c770 banip: update 0.9.5-4
* optimized adding suspicious IPs to Sets in the log monitor
* re-added ipblackhole feed

Signed-off-by: Dirk Brenken <dev@brenken.org>
2024-05-01 15:03:13 +02:00
Dirk Brenken
2c6d5adac0 banip: update 0.9.5-3
* allow multiple protocol/port definitions per feed, e.g. 'tcp udp 80 443 50000'
* removed the default protocol/port limitation from asn feed

Signed-off-by: Dirk Brenken <dev@brenken.org>
2024-04-26 17:03:33 +02:00
Dirk Brenken
ad755e0c4d banip: update 0.9.5-2
* fixed possible Set search race condition (initiated from LuCI frontend)
* fixed the "no result" Set search problem in LuCI
* removed abandoned feeds: spamhaus edrop (was merged with spamhaus drop)

Signed-off-by: Dirk Brenken <dev@brenken.org>
2024-04-21 21:58:32 +02:00
Dirk Brenken
fa80fefe22 banip: release 0.9.5-1
* added a DDoS protection rules in a new pre-routing chain to prevent common ICMP, UDP and SYN flood attacks and drop spoofed tcp flags & invalid conntrack packets, flood tresholds are configured via 'ban_icmplimit' (default 10/s), 'ban_synlimit' (default 10/s) and 'ban_udplimit' (default 100/s)
* the new pre-routing rules are tracked via named nft counters and are part of the standard reporting, set 'ban_logprerouting' accordingly
* block countries dynamically by Regional Internet Registry (RIR)/regions, e.g. all countries related to ARIN. Supported service regions are: AFRINIC, ARIN, APNIC, LACNIC and RIPE, set 'ban_region' accordingly
* it's now possible to always allow certain protocols/destination ports in wan-input and wan-forward chains, set 'ban_allowflag' accordingly - e.g. ' tcp 80 443-445'
* filter/convert possible windows line endings of external feeds during processing
* the cpu core autodetection is now limited to max. 16 cores in parallel, set 'ban_cores' manually to overrule this limitation
* set the default nft priority to -100 for banIP input/forward chains (pre-routing is set to -150)
* update readme
* a couple of bugfixes & performance improvements
* removed abandoned feeds: darklist, ipblackhole
* added new feeds: becyber, ipsum, pallebone, debl (changed URL)
* requires a LuCI frontend update as well (separate PR/commit)

Signed-off-by: Dirk Brenken <dev@brenken.org>
2024-04-20 12:43:37 +02:00
Dirk Brenken
4356180197 banip: update 0.9.4-3
* fix another logical glitch in the logfile monitor

Signed-off-by: Dirk Brenken <dev@brenken.org>
2024-03-04 21:26:44 +01:00
Dirk Brenken
7b06b1d312 banip: update 0.9.4-2
* fix a long standing problem in the logfile-parser with dropbear and compressed IPv6 addresses

Signed-off-by: Dirk Brenken <dev@brenken.org>
2024-03-02 21:26:11 +01:00
Dirk Brenken
730ad59cb9 banip: release 0.9.4-1
* add support for destination port & protocol limitations for external feeds (see readme for details),
  useful for lan-forward ad- or DoH-blocking, e.g. only tcp ports 80 and 443
* add turris sentinel blocklist feed
* update readme

Signed-off-by: Dirk Brenken <dev@brenken.org>
2024-03-02 09:28:39 +01:00
Dirk Brenken
5af101564a banip: update 0.9.3-2
* rework the device/interface auto-detection (only layer-3 network devices will be detetcted correctly), disable the auto-detection e.g. for special tunnel interfaces
* supports now full gawk (preferred, if installed) and busybox awk
* raise the default boot timeout to 20 seconds (if 'ban_triggerdelay' is not set)
* various small fixes and improvements
* readme update

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-12-28 17:57:04 +01:00
Dirk Brenken
df81585cea banip: bump to release 0.9.3-1
* provides an option to transfer log events on remote servers via cgi interface (disabled by default), see readme for details
* refine the allowlist check to support IP intervals as well before adding an IP to the blocklist

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-12-11 17:35:40 +01:00
Dirk Brenken
1557ddfe83 banip: update 0.9.2-3
* fix the urlhaus regex
* fix a possible init race condition

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-11-25 08:24:36 +01:00
Dirk Brenken
2411bcffaf banip: update 0.9.2-2
* support backup/restore for remote allowlists
* report the used log variant in status message

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-11-08 15:59:24 +01:00
Dirk Brenken
c4e8140740 banip: release 0.9.2-1
* the log file monitor now supports standard log files used by other log daemons like syslog-ng
  Set 'ban_logreadfile' accordingly, by default it points to /var/log/messages
* removed logd dependency, closes #21932

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-11-05 09:20:23 +01:00
Dirk Brenken
00cad2980c banip: release 0.9.1-1
* drop packets silently on input and forwardwan chains or actively reject the traffic, set 'ban_blocktype' accordingly
* optimized banIP boot/reload handling
* removed pppoe quirk in device detection
* small fixes and optimizations

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-10-03 21:34:49 +02:00
Dirk Brenken
1c14eb6d8c banip: release 0.9.0-1
* supports allowing / blocking of certain VLAN forwards in segregated network environments,
   set 'ban_vlanallow', ''ban_vlanblock' accordingly
* simplified the code/JSON to generate/parse the banIP status
* enclose nft related devices in quotation marks , e.g. to handle devices which starts with a number '10g-1'
* made the new vlan options available to LuCI (separate commit)

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-07-16 07:32:48 +02:00
Dirk Brenken
5e2a9f082a banip: update 0.8.9-4
* made the etag id parsing more bulletproof (to catch unverified etags as well)

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-07-09 07:01:17 +02:00
Dirk Brenken
88e64a2ae4 banip: update 0.8.9-3
* prevent superflous etag function calls during start action (on start backups will be used anyway)
* changed the ipthreat feed download URL (load a compressed file variant to save bandwidth)

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-07-08 19:51:52 +02:00
Dirk Brenken
137045faa9 banip: update 0.8.9-2
* fix a corner case backup issue with empty feed downloads

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-07-07 20:03:08 +02:00
Dirk Brenken
68cdc3952d banip: release 0.8.9-1
* added HTTP ETag or entity tag support to download only ressources that have been updated on the server side,
  to save bandwith and speed up banIP reloads
* added 4 new feeds: binarydefense, bruteforceblock, etcompromised, ipblackhole (see readme)
* updated the readme

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-07-07 18:28:58 +02:00
Dirk Brenken
c3084be415 banip: update 0.8.8-2
* process local lists in strict sequential order to prevent possible race conditions
* support ranges in the IP search, too
* fix some minor search issues

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-06-24 13:09:40 +02:00
Dirk Brenken
b9bd6cdb0d banip: release 0.8.8-1
* Support MAC-/IPv4/IPv6 ranges in CIDR notation
* Support  concatenation of local MAC addresses with IPv4/IPv6 addresses, e.g. to enforce dhcp assignments (see readme)
* small fixes & cosmetics
* update readme

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-06-21 10:53:43 +02:00
Dirk Brenken
767d1ec663 banip: release 0.8.7-1
* Optionally auto-add entire subnets to the blocklist Sets based on an additional RDAP request with the
   monitored suspicious IP, set 'ban_autoblocksubnet' accordingly (disabled by default).
   For more information regarding RDAP see
   https://www.ripe.net/manage-ips-and-asns/db/registration-data-access-protocol-rdap for reference.
* small fixes & cosmetics
* update readme

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-06-05 17:20:42 +02:00
Dirk Brenken
cf4ac0301d banip: update 0.8.6-2
* fix/rework no-op loop
* small fixes & cosmetics
* update readme

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-05-16 12:34:27 +02:00
Dirk Brenken
4920d96df0 banip: release 0.8.6-1
* made the fetch utility function/autodetection more bullet proof
* no longer add suspicious IPs to the local blocklist when the nft set timeout has been set
* restructure internal functions & small fixes

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-05-12 22:30:55 +02:00
Dirk Brenken
7ac5f0a3d9 banip: release 0.8.5-1
* add support for external allowlist URLs to reference additional IPv4/IPv6 feeds, set 'ban_allowurl' accordingly
* make download retries in case of an error configurable, set 'ban_fetchretry' accordingly (default 5)
* small fixes
* readme update
* LuCI update (separate commit)

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-05-06 22:42:20 +02:00
Dirk Brenken
7e70de77d0 banip: update 0.8.4-5
* fix remaining small issues
* standardize log wording
* polished up for branch 23.x

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-05-04 22:40:48 +02:00
Dirk Brenken
97d6c8bf77 banip: update 0.8.4-4
* add housekeeping to the autoallow function, only the current uplink will be held
* fix small issues
* cosmetics

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-05-04 12:07:32 +02:00
Dirk Brenken
829a9a61c2 banip: update 0.8.4-3
* add the option 'ban_autoallowuplink' to limit the uplink autoallow function: 'subnet' (default), 'ip' or 'disable'

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-05-02 21:43:13 +02:00
Dirk Brenken
16acda2262 banip: update 0.8.4-2
* fix domain lookup function (parse banIP config vars)
* update readme

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-04-28 12:07:06 +02:00
Dirk Brenken
c5d9b3ded2 banip: release 0.8.4-1
* add support for a custom feeds file (/etc/banip/banip.custom.feeds). Add new or edit existing banIP feeds on your own with the integrated custom feed editor (LuCI-component
* add a new option 'ban_blockpolicy' to overrule the default bblock policy (block all chains), see readme for details
* change the feed file format and add a new ipthreat feed, see readme
* refine (debug) logging
* multiple small fixes and improvements
* readme update
* luci update (separate commit)

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-04-23 22:03:09 +02:00
Dirk Brenken
d178bf5d35 banip: update 0.8.3-2
* more init fixes

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-04-12 15:31:31 +02:00
Dirk Brenken
c07fae25e7 banip: release 0.8.3-1
* add the new init command 'lookup', to lookup the IPs of domain names in the local lists and update them
* significant acceleration of the domain lookup function
* multiple small fixes and improvements
* readme update
* luci update (separate commit)

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-04-06 19:43:46 +02:00
Dirk Brenken
c9bf92c88d banip: update to 0.8.2-5
* fixed missing version number when installed as separate package (not in build)
* fixed cornercase init and mailing issues
* sorted Country list by country names ascending
* fixed some shellcheck findings

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-03-30 18:00:40 +02:00
Dirk Brenken
6b1df72e64 banip: update to 0.8.2-4
* fixed a race condition if the service is in a disabled state

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-03-26 22:52:34 +02:00
Dirk Brenken
1f5bc3f0f1 banip: update to 0.8.2-3
* raise max. timeouts from 10 to 30 seconds to stabilize the autodetection on slow hardware
* made interface trigger action configurable, set 'ban_triggeraction' accordingly (default: 'start')
* made E-Mail notifications configurable to receive status E-Mais with every banIP run,
  set 'ban_mailnotification' accordingly (default: disabled)
* small fixes & optimizations
* readme update

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-03-22 19:15:39 +01:00