关于SYNwall
工具安装
sudo apt-get install linux-headers-$(uname -r)
接下来,我们就可以运行编译命令了: make
SYNwall配置
功能模块可以使用insmod或modprobe进行加载。 工具还提供了一些参数来帮助我们实现自定义行为: 1用于一次性密码的预共享密钥-PSK
这个PSK必须是一个长度为32到1024的字节序列。它将是OTP的一部分,因此它的长度将影响OTP注入包的大小。如果没有此参数,模块将无法加载。 2启用UDP-enable_udp: 0
针对UDP协议启用或禁用OTP。默认配置下是禁用的,设置为1即可启用。UDP上的OTP要求模块在两个通信设备上都处于活动状态,因为在将数据包转发到应用层之前,必须(由模块)删除OTP。UDP连接跟踪依赖于conntrack模块,因此必须插入它才能使用此功能(这取决于安装)。 3精度参数-precision:10
OTP使用了当前设备时间进行计算,由于不同设备上的日期时间可能不同,因此我们可以设置一个允许的时间偏移量,默认值为10。这里的精度需要使用2的幂来表示: ...
9 -> 1 second
10 -> 8 seconds
...
工具使用样例
下列命令将删除所有流向目标设备的通信流量: sudo insmod SYNwall.ko psk=123456789012345678901234567890123 precision=10 portk=12,13,14,15,16 load_delay=5000 enable_udp=1
在命令行终端中测试两个网络连接: sudo insmod SYNgate.ko dstnet_list=10.1.1.0/24,198.168.10.0/24 psk_list=d41d8cd98f00b204e9800998ecf8427e,efebceec0de382839cd38bffcdc6bf0c enable_udp_list=0,0 precision_list=10,9 enable_antispoof_list=0,1
或者使用一个配置文件: sudo cat /etc/modprobe.d/SYNgate.conf
# SYNgate config file
# Keep it safe!!
options SYNgate dstnet_list=10.1.1.0/24,198.168.10.0/24
options SYNgate psk_list=d41d8cd98f00b204e9800998ecf8427e,efebceec0de382839cd38bffcdc6bf0c
options SYNgate enable_udp_list=0,0
options SYNgate precision_list=10,9
options SYNgate enable_antispoof_list=0,
性能分析
SYNwall支持在低端设备上使用,并且消耗的资源非常少,这也是我们为什么选择使用Quark哈希作为加密机制的原因。OTP计算增加的开销在常规使用中可以忽略不计: 当大量流量发送到设备时,您可以看到CPU的资源消耗情况: 项目地址
SYNwall: https://github.com/SYNwall/SYNwall 原文来源:FreeBuf 本文始发于微信公众号(网络安全应急技术国家工程实验室):SYNwall:一款功能强大的零配置物联网防火墙
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论