Download/Upload, merge, divide by category and publish a domain name block lists and IP addresses as merged files.
- Block and Allow lists periodically updated (every 12 hours), you can download lists from links bellow.
- Merged files already to download (from config.yml).
- Common merged block lists
- Merged lists from BLD Agregator and dns-hole regex files
- Common whitelisted domains from dns-hole
- Regex lists from dns-hole
- IP Block List ( C&C servers associated with Dridex, Emotet, TrickBot, QakBot, BazarLoader, Bruteforce bots, Spammers/Malicious IP addresses from Internet).
These lists updating every 12 hours.
Credits: FadeMind, StevenBlack, notracking, davidonzo, mitchellkrogza, PolishFiltersTeam, dns-hole, bld-agregator, digitalside, firehol level1, firehol level2, feodotracker, stamparm, dns-blocklists
If you are using open-bld or blocky DNS blocking servers, you can use these lists in config.yml, example:
...
blocking:
blackLists:
bld:
- https://raw.githubusercontent.com/m0zgen/cactusd/data/bl.txt
- https://raw.githubusercontent.com/m0zgen/cactusd/data/bl_plain.txt
whiteLists:
bld:
- https://raw.githubusercontent.com/m0zgen/cactusd/data/wl.txt
- https://raw.githubusercontent.com/m0zgen/cactusd/data/wl_plain.txt
...You can combine blocking solution with firewalld and ipset with ip2drop
configuration, example config for malicious IP relaxator:
conf.d/relax-ip.ini
[DEFAULT]
IP_TIMEOUT = 604800
IP_THRESHOLD = -1
EXPORT_COMMAND = curl -s https://raw.githubusercontent.com/m0zgen/cactusd/data/ip_plain.txt
EXPORT_LOG = relax-ip.log
ENABLED = Yes
GROUP_NAME = relax-ip
EXPORT_TO_UPLOAD = No
DROP_DIRECTLY = Yesport- Web severer port listeningupdate_interval- Heart beat in minutes (like as 30m)download_dir- lists download catalogupload_dir- catalog for remote file uploadingpublic_dir- public web folder for downloaded, uploaded and merged files
Block, White lists contains DNS names usually usage for DNS servers like as ad-guard, pi-hole, open bld and etc.)
IP list - merging and aggregating IP lists from different sources (like as bld-agregator, bld-server)
Conditionally the lists are divided into several categories:
bl,wl- blocking/white lists, hosts list with comments which need to clean and merge in solid file fo reducing size, remote server requestsbl_plain,wl_plain,ip_plain- lists juts merging and clean empty spaces and lines and hashtags.
If you not need some list category, like as wl_plain or ip_plain just set none parameter:
...
wl_plain:
- none
ip_plain:
- noneEvery category will merge and publish in finally in publish/files catalog as solid files:
public/files/bl.txtpublic/files/wl.txtpublic/files/bl_plain.txt- usually regex-based allowing lists for DNSpublic/files/wl_plain.txt- usually regex-based allowing/exception lists for DNSpublic/files/ip_plain.txt- blocking IP addresses (like example for ip2drop scripts or just foripsetblocking)public/files/dropped_ip.txt- from remote ip2drop servers, oe any another script or routines
You can define target IP and port in ping section in config.yml:
...
ping:
- host:
name: 1.1.1.1
port: 443
- host:
name: 9.9.9.9
port: 53
- host:
...And next, you can see status in self-hosted embed web server:
From terminal:
./cactusd -config config.ymlFrom systemd:
...
#
ExecStart=/path/to/cactusd --config config-prod.yml
...- all functionality moved from deprecated BLD-Server
- as "client" for
cactusdserver you can use ip2drop
