Crowdsec Script Reports werden nicht geloggt

@Dennis_Admin Die Reports, die ich mit dem Crowdsec Script generiere, werden zwar in der Blocklist Sektion angezeigt, aber nicht in den Accountweiten Logs geloggt. Wenn ich aber z.B. mit dem Fail2Ban Parser IPs reporte, werden diese schon geloggt.

1 „Gefällt mir“

das liegt wohl am script oder irgendwas, mir ist aufgefallen wen das script keine rückmeldung gibt wie z.b.

{„info“:„success“,„status“:„201 Created“,„report_ip“:„IP reported“}

dan wird auch kein log Eintrag auf der Seite erstellt, ohne log eintrag werden die ip´s aber trotzdem reportet, vielleicht kommt die rückmeldung nicht wen sehr viele ip´s übertragen werden

ich habe mal etwas rumgebastelt und das ganze für die opnsense angepasst, ich hab es nicht hinbekommen ipv4 und ipv6 in einem script zum laufen zu bekommen, das hauptproblem war das die IP´s auch richtig angezeigt werden mit dem pattern, wen ich das seperat mache funktioniert es, ich verstehe zwar noch nicht ganz warum das für v6 eine rückmeldung gibt und das für v4 nicht

ich hätte das script hier hochgeladen aber geht irgendwie nicht, dan halt den code, vielleicht kann dennis das ja auf git hinzufügen wen ihr es getestet habt

für IPv4

import re,json,requests
import subprocess

Get it From IPv64.net Website

v64_api_token=„dein-api-key“

Blocker Node ID

v64_blocker_node_id=„deine-blocker-id“

ipv64.net Api Endpoint

v64_url = „https://ipv64.net/api.php

Fuehre den Befehl ‚pfctl -t tabelle -T show‘ aus und lies die Ausgabe ein

try:
pfctl_output = subprocess.check_output([„pfctl“, „-t“, „crowdsec_blacklists“, „-T“, „show“], universal_newlines=True)
except subprocess.CalledProcessError as e:
print(„Fehler beim Ausführen des Befehls ‚pfctl -t crowdsec_blacklists -T show‘:“, e)
pfctl_output = „“

Regular expression pattern for matching IPv4 addresses

ipv4_pattern = r’\b(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b’

Find all IPv4 addresses in the input string

ipv4_addresses = re.findall(ipv4_pattern, pfctl_output)

Filter out duplicate IPv4 addresses (if any)

unique_ipv4_addresses = list(set(ipv4_addresses))

Erstelle separate Listen von JSON-Objekten für IPv4

ipv4_json_objects = [{„ip“: ipv4_address} for ipv4_address in unique_ipv4_addresses]

ip_list = ipv4_json_objects

ip_list = {„ip_list“: ip_list}

ip_list = json.dumps(ip_list, indent=2)

Drucke den JSON-String

#print(ip_list)

payload = {‚blocker_id‘: v64_blocker_node_id,
‚report_ip_list‘: ip_list
}
headers = {
‚Authorization‘: f"Bearer {v64_api_token}"
}
response = requests.request(„POST“, v64_url, headers=headers, data=payload)
print(response.text)

für Ipv6

import re,json,requests
import subprocess

Get it From IPv64.net Website

v64_api_token=„dein-api-key“

Blocker Node ID

v64_blocker_node_id=„deine-blocker-id“

ipv64.net Api Endpoint

v64_url = „https://ipv64.net/api.php

Fuehre den Befehl ‚pfctl -t tabelle -T show‘ aus und lies die Ausgabe ein

try:
pfctl_output = subprocess.check_output([„pfctl“, „-t“, „crowdsec6_blacklists“, „-T“, „show“], universal_newlines=True)
except subprocess.CalledProcessError as e:
print(„Fehler beim Ausführen des Befehls ‚pfctl -t crowdsec6_blacklists -T show‘:“, e)
pfctl_output = „“

Regular expression pattern for matching IPv6 addresses

ipv6_pattern = r’\b([0-9a-fA-F:]+)\b’

Extract IPv4 addresses from pfctl output

ipv6_addresses = re.findall(ipv6_pattern, pfctl_output)

Create a list of JSON objects for IPv6 addresses

ip_list = [{„ip“: ipv6_address} for ipv6_address in ipv6_addresses]

Create a JSON object with the list of IP addresses

ip_list_json = {„ip_list“: ip_list}

Convert the JSON object to a formatted string

ip_list = json.dumps(ip_list_json, indent=2)

Drucke den JSON-String

#print(ip_list)

payload = {‚blocker_id‘: v64_blocker_node_id,
‚report_ip_list‘: ip_list
}
headers = {
‚Authorization‘: f"Bearer {v64_api_token}"
}
response = requests.request(„POST“, v64_url, headers=headers, data=payload)
print(response.text)

1 „Gefällt mir“

kann sein dass bei vielen IPs auf einmal der Request nicht geloggt wird. Ist mir auch aufgefallen dass keine Antwort im Script angezeigt wird.