From 73f15137d2172543683a99ff7c8a1ab36e0da3a1 Mon Sep 17 00:00:00 2001 From: naudster Date: Wed, 21 Sep 2022 11:48:27 +1000 Subject: [PATCH] Record IP address in F2B_ACTIVE_BANS instead of the network block --- data/Dockerfiles/netfilter/server.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/data/Dockerfiles/netfilter/server.py b/data/Dockerfiles/netfilter/server.py index f4656226..0982a446 100644 --- a/data/Dockerfiles/netfilter/server.py +++ b/data/Dockerfiles/netfilter/server.py @@ -206,7 +206,7 @@ def ban(address): rule.target = target if rule not in chain.rules: chain.insert_rule(rule) - r.hset('F2B_ACTIVE_BANS', '%s' % net, cur_time + BAN_TIME) + r.hset('F2B_ACTIVE_BANS', '%s' % address, cur_time + BAN_TIME) else: logWarn('%d more attempts in the next %d seconds until %s is banned' % (MAX_ATTEMPTS - bans[net]['attempts'], RETRY_WINDOW, net)) @@ -252,7 +252,7 @@ def permBan(net, unban=False): if rule not in chain.rules and not unban: logCrit('Add host/network %s to blacklist' % net) chain.insert_rule(rule) - r.hset('F2B_PERM_BANS', '%s' % net, int(round(time.time()))) + r.hset('F2B_PERM_BANS', '%s' % net, int(round(time.time()))) elif rule in chain.rules and unban: logCrit('Remove host/network %s from blacklist' % net) chain.delete_rule(rule) @@ -267,7 +267,7 @@ def permBan(net, unban=False): if rule not in chain.rules and not unban: logCrit('Add host/network %s to blacklist' % net) chain.insert_rule(rule) - r.hset('F2B_PERM_BANS', '%s' % net, int(round(time.time()))) + r.hset('F2B_PERM_BANS', '%s' % net, int(round(time.time()))) elif rule in chain.rules and unban: logCrit('Remove host/network %s from blacklist' % net) chain.delete_rule(rule) @@ -368,7 +368,7 @@ def snat4(snat_target): table.commit() table.autocommit = True except: - print('Error running SNAT4, retrying...') + print('Error running SNAT4, retrying...') def snat6(snat_target): global lock @@ -402,7 +402,7 @@ def snat6(snat_target): table.commit() table.autocommit = True except: - print('Error running SNAT6, retrying...') + print('Error running SNAT6, retrying...') def autopurge(): while not quit_now: @@ -468,7 +468,7 @@ def whitelistUpdate(): if Counter(new_whitelist) != Counter(WHITELIST): WHITELIST = new_whitelist logInfo('Whitelist was changed, it has %s entries' % len(WHITELIST)) - time.sleep(60.0 - ((time.time() - start_time) % 60.0)) + time.sleep(60.0 - ((time.time() - start_time) % 60.0)) def blacklistUpdate(): global quit_now @@ -479,7 +479,7 @@ def blacklistUpdate(): new_blacklist = [] if list: new_blacklist = genNetworkList(list) - if Counter(new_blacklist) != Counter(BLACKLIST): + if Counter(new_blacklist) != Counter(BLACKLIST): addban = set(new_blacklist).difference(BLACKLIST) delban = set(BLACKLIST).difference(new_blacklist) BLACKLIST = new_blacklist @@ -490,7 +490,7 @@ def blacklistUpdate(): if delban: for net in delban: permBan(net=net, unban=True) - time.sleep(60.0 - ((time.time() - start_time) % 60.0)) + time.sleep(60.0 - ((time.time() - start_time) % 60.0)) def initChain(): # Is called before threads start, no locking