
------------------------------------------------------
| (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) DNSプロキシは、内部ネットワーク間またはLANからインターネットへのDNSペイロードを検査するために特別に設計されています。
(*2) IDS/IPSは(少なくとも現時点では)インターネットからLANネットワークへのトラフィックのみを検査するように特別に設計されています。
新機能: sqlite3が現在使用されているデフォルトのデータベースになりました(デプロイを簡素化するため)。postgresqlは引き続きバックエンドに存在し、将来のリリースでシステムデプロイ時に有効にできるようになります。
新機能: 自動デプロイユーティリティ(autoloader)が利用可能になりました。これは互換性のあるディストリビューションでシステムをデプロイするために使用してください。詳細は互換性のあるディストリビューションリストを参照してください。
新機能: 完全なゾーンベースのファイアウォールルール(送信元と宛先)およびルールごとのセキュリティプロファイル。
カスタムパケットハンドラ
DNSプロキシ(アウトバウンドまたはLAN間ネットワーク)
DNSサーバ(最近DNSプロキシから分離されましたが、プロセスリソースを共有しています)
IPプロキシ(透過)双方向
IPS/IDS(インバウンド)
軽量DHCPサーバ(ネイティブソフトウェア)
一般サービス
追加機能
互換性のあるディストリビューションリストからLinuxディストリビューションを選択する(以下参照)
物理ハードウェアまたはVMにLinuxをインストールする
2a. (3) インターフェースが必要(WAN、LAN、DMZ)
2b. OSインストール中または完了後に"dnx"ユーザーを作成する
2c. python3.8をインストールし、デフォルトにする(該当する場合)
システムをアップグレードおよび更新する
gitをインストールする
https://github.com/dowrighttv/dnxfirewall.git を"dnx"ユーザーのホームディレクトリ(/home/dnx)にクローンする
"dnx"ユーザーとしてログインし、コマンドを実行する: sudo python3 dnxfirewall/dnx_run.py cli autoloader
プロンプトに従って物理インターフェースをdnxfirewallの組み込みゾーンに関連付ける
ユーティリティが完了したら、システムを再起動し、指定されたURLにアクセスする
https://www.ip2location.com/free/visitor-blocker | 地理位置情報フィルタリングデータセット(国別IPアドレス割り当て)
https://gitlab.com/ZeroDot1/CoinBlockerLists | クリプトマイナーホストデータセット
psqlのみ: https://github.com/tlocke/pg8000 | 純粋なPython PostgreSQLアダプタ