
DNXFIREWALL® and DAD'S NEXT-GEN FIREWALL™, a C/CPython hybrid next generation firewall built on top of Linux and bound to kernel/ netfilter hooks for packet control.
------------------------------------------------------
| (outbound) |
| V
| --------------> [dns proxy (*1)] --------
| | (outbound) |
| (bi-directional) | V
TCP/IP stack ----> [cfirewall] -------------------> [ip proxy] ------------------------> ((*packet verdict*)) ----> TCP/IP stack
| | | ^ ^
| | | (inbound) | |
| | --------------> [ids/ips (*2)] ---------- |
| | ^ |
| | (inbound) | |
| ---------------------------------------------------- |
| |
---------------------------------------------------------------------------------
(*1) the dns proxy is specifically designed to inspect dns payload going between internal networks or from the lan to internet.
(*2) the ids/ips is specifically designed (for now at least) to only inspect traffic from the internet to the lan networks.
NEW: sqlite3 is now the default database in use (to simplify deployments). postgresql is still present on the backend and will be able to be enabled during system deployment in a future release.
NEW: Auto deployment utility (autoloader) is now live. This should be used to deploy the system on any compatible distro. See compatible distro list for more details.
NEW: full zone based firewall rules (source and destination) and per rule based security profiles.
Custom packet handler
DNS proxy (outbound or cross lan networks)
DNS server (recently detached from dns proxy, but shares process resources)
IP proxy (transparent) bi-directional
IPS/IDS (inbound)
Lightweight DHCP server (native software)
General Services
Additional Features
select linux distro on compatible distro list (see below)
install linux on physical hardware or a VM
2a. (3) interfaces are required (WAN, LAN, DMZ)
2b. create "dnx" user during os install or once complete
2c. install and make python3.8 default (if applicable)
upgrade and update system
install git
clone https://github.com/dowrighttv/dnxfirewall.git to "dnx" user home directory (/home/dnx)
log in as "dnx" user and run command: sudo python3 dnxfirewall/dnx_run.py cli autoloader
follow the prompts to associate the physical interfaces with dnxfirewall builtin zones
once the utility is complete, restart the system and navigate to the specified url
https://www.ip2location.com/free/visitor-blocker | geolocation filtering datasets (ip address assignments by country)
https://gitlab.com/ZeroDot1/CoinBlockerLists | cryptominer host dataset
psql only: https://github.com/tlocke/pg8000 | pure python postgresql adapter