dnxfirewall

dnxfirewall是一套包含了经过优化的高性能应用程序及服务套件,它可以将一个标准的Linux系统转换成一个基于空间区域的下一代防火墙系统。dnxfirewall中的所有软件都可以相互进行交互,并配合运行。dnxfirewall基于纯Python实现,防火墙内的应用程序和服务都是基于模块化设计的,因此很多定制化的修改和功能实现都可以不费吹灰之力即可实现。主安全模块对通过系统的所有通信连接、数据流和消息来进行直接/内联控制。也就是说,根据不同的协议,如果启用了全面检查的话,我们可以通过卸载较低级别的控制来保持整个系统内的最高数据吞吐量。除此之外,dnxfirewall提供了一个自定义的IPTable链,允许管理员在不覆盖dnx安全模块的情况下,捕捉到所有的数据包流。

包含的功能

DNS代理基于块的分类(TLD、子字符串匹配)

基于用户添加的白名单/黑名单或自定义常规类创建

带有可选UDP回退的本机DNS over TLS转换

本地dns服务器

软件故障转移

二级记录缓存

IP代理基于复现的主机过滤

地理位置过滤器

LAN限制(禁用所有未列入白名单的IP地址对LAN的访问)

IPS/IDS(WAN/内联)拒绝服务检测/防御

端口扫描检测/防御

轻量级DHCP服务器(自定义)IP保留

安全警报集成

通用服务日志处理

数据库管理

Syslog客户端(UDP、TCP、TLS):当前该功能处于测试状态,这个服务默认不会启用。

其他功能IPv6禁用

预构建IPTable规则

DNS绕过防御(HTTPS、TCP、TLS)

默认情况下,所有到wan的入站连接都已断开

IPTABLES自定义链管理挂钩到数据包流

工具下载

广大研究人员可以使用下列命令将该项目源码克隆至本地:git clone https://github.com/DOWRIGHTTV/dnxfirewall.git

工具配置

出于部署方便的考虑,SQLite3是当前版本dnxfirewall默认使用的数据库系统。我们也可以通过调整dnx_configure/dnx_constants.py中定义的环境变量“SQL_VERSION”来使用PostgreSQL数据库。警告:初始化配置后再调整数据库的话,可能会导致dnxfirewall的运行出现问题。

首先,编辑data/config.json和data/dhcp_server.json来映射我们的系统[接口]。接下来,将所有的系统服务文件移动到系统的systemd目录下。然后,配置系统接口,必须将LAN设置为本地网络的默认网关。

配置完成后,针对我们当前的系统架构来编译python-netfilterqueue,确保文件名为netfilter.so,并将其存储至dnxfirewall/netfilter目录下。

然后,针对我们当前的系统架构编译dnx_iptools/binary_search.pyx,确保文件名为binary_search.so,并将其存储至dnxfirewall/dnx_iptools目录下。

最后,运行工具提供的部署脚本来安装工具即可。

工具演示视频

视频地址:【油管链接】

许可证协议

dnxfirewall项目的开发与发布遵循AGPL v3开源许可证协议。

项目地址

dnxfirewall:【GitHub传送门】

python编写网络防火墙_dnxfirewall:一款纯Python实现的下一代防火墙系统相关推荐

  1. 使用python编写网络爬虫

    使用python编写网络爬虫 前言 1.为何使用爬虫 2.编写爬虫的知识要求 3.确定爬虫使用的工具库 4.确定要获取的数据集 4.1 分析Url地址变化 4.2 获取目标数据集所在的HTML区域 5 ...

  2. 使用Python编写网络扫描程序

    使用Python编写网络扫描程序 ​ 网络扫描程序通过向成百上千台计算机发送请求并分析其响应,扫描第2层和第3层网络中指定范围内的网络ID.利用某些扩展技术,网络扫描程序还可以获得通过Samba和Ne ...

  3. 防火墙工作在哪一层_简单概括下一代防火墙和传统防火墙的区别:“下一代”不只是说说而已...

    在市场层面,我们总是能看到一些"新型"."增强"或者"下一代"的字眼.那从这一角度来看,"下一代防火墙"是真的确有此物, ...

  4. python恶搞图_搞几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码!...

    分享一:"啥是佩奇?"让Python语言告诉你 用Python代码创作一副佩奇: # coding:utf-8 import turtle as t t.pensize(4) t. ...

  5. python搞笑语句_搞几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码!...

    import turtle as t t.pensize(4) t.hideturtle() t.colormode(255) t.color((255,155,192),"pink&quo ...

  6. python制作恶搞_搞几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码!...

    为提高大家对"Python"编程语言的学习兴趣,今天给大家分享几款有趣的Python程序代码,感兴趣的小伙伴可以跟着学习借鉴哦!进群:839383 765可以获取Python学习资 ...

  7. python编写异常处理_Python 简明教程 --- 23,Python 异常处理

    要么做第一个,要么做最好的一个. 目录 我们在编写程序时,总会不自觉的出现一些错误,比如逻辑错误,语法错误和一些其它的运行时错误等. 逻辑错误: 这种错误不会导致程序崩溃,它不容易被发现,只有在执行结 ...

  8. 用python编写程序判断奇偶_如何用python判断奇偶数

    问题分析:用Python编写一个程序,判断输入的数字是奇数还是偶数,并相应的输出信息,要判断一个数为奇数还是偶数,依据的是它被2除后的余数.因此可以用"%"运算符来计算并判断. 代 ...

  9. python编写统计选票的程序_使用python编写微信公众号发稿统计程序

    近日为学校公众号统计发稿情况,需统计本年度各部门分别所发稿件标题.时间.作者等. 首先考虑查看公众号后台有无统计功能,看到的界面如下: 每页只显示7天的消息,且没有部门作者信息.再看另一界面: 只统计 ...

最新文章

  1. java中List深拷贝的简单实例
  2. 夺命雷公狗---linux NO:17 linux系统查找
  3. 静态工厂配置bean
  4. 关于有序二维矩阵查找和字符串替换的两道算法题
  5. array.tolist_在Python中使用array.tolist()将数组转换为列表
  6. windows系统bat批处理 打开乱码
  7. sqlite具体操作篇
  8. (转)1.43亿用户信息泄露案后 美国征信机构CEO离职
  9. Pareidolia — AI的艺术教学
  10. servlet和springMVC框架
  11. SQL Server不允许保存更改【解决】
  12. VS2010版最常用的快捷键和其他快捷键
  13. 常见的绩效管理系统有哪些功能?
  14. codeforce 1260
  15. python operator用法_说说 Python 中的 Operator 模块
  16. 在新旧交替的过程中,我们成长着—导师制,舞台和挑战
  17. Android机应用多开分身CK获取ksjsb-jrttjsb-aqc羊毛
  18. 为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
  19. Excel 表格实现多列排序
  20. 面向需求编程才是常态,聊聊我的经历

热门文章

  1. R语言 变量的操作函数
  2. Pycharm专业版的各个版本激活教程和激活码
  3. 【插件】最新代刷跳彩虹易支付认证插件
  4. 你准备会计初级并通过考试用了多久?
  5. nginx配置防止域名恶意解析
  6. Java多线程案例——线程池
  7. python求一元二次方程的解法_python进行二次方程式计算的实例讲解
  8. 移动端点击加qq好友和加入qq群
  9. Web安全之SQL注入漏洞学习(七)-堆叠注入
  10. 腾讯云GPU桌面服务器驱动安装