
DNXFIREWALL® 및 DAD'S NEXT-GEN FIREWALL™, 리눅스 위에 구축되고 패킷 제어를 위해 커널/넷필터 훅에 바인딩된 C/CPython 하이브리드 차세대 방화벽.
------------------------------------------------------
| (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 서버 (네이티브 소프트웨어)
일반 서비스
추가 기능
호환 배포판 목록에서 리눅스 배포판 선택 (아래 참조)
물리적 하드웨어 또는 VM에 리눅스 설치
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 | 순수 파이썬 PostgreSQL 어댑터