试试这款针对JAVA应用的开源防火墙!
共 2221字,需浏览 5分钟
·
2021-12-09 11:08
大家好,我是TJ
一个励志推荐10000款开源项目与工具的程序员
很多小伙伴问TJ君,现在开源项目看的越来越多也用的越来越多,还真有点担心!
担心什么?自然是代码项目中有意无意的被别人加入了各种后台访问代码。
这万一一不小心泄露了自己的重要信息可怎么办?
要TJ君说呢,首先肯定是装各种各样的防火墙进行防御,但是市面上的一般防火墙也不是万能的,所以今天TJ君要给大家介绍一个开源的、针对JAVA程序的防火墙项目:
ja-netfilter
如何添加
首先下载ja-netfilter jar包,地址在文末。
根据自己的实际路径按如下要求添加参数:
-javaagent:/absolute/path/to/ja-netfilter.jar
然后编辑自己的janf_config.txt文件,jar包会自动按照如下优先顺序进行搜索匹配:
作为-javaagent的参数传递 ,例如: -javaagent:/absolute/path/to/ja-netfilter.jar=/home/neo/downloads/janf_config.txt
环境变量中的文件路径: JANF_CONFIG
java启动属性中的文件路径: janf.config.,例如: java -Djanf.config="/home/neo/downloads/janf_config.txt"
有些应用程序支持JVM选项文件,可以将其添加为JVM选项文件的一行,例如: -Djanf.config="/home/neo/downloads/janf_config.txt"
文件路径与ja-netfilter.jar位于同一目录中,无需额外配置(TJ君建议用这个,最简单方便)
主目录中的文件路径,例如: .janf_config.txt. eg: /home/neo/.janf_config.txt
主目录中名为.config的子目录中的文件路径,例如: /home/neo/.config/janf_config.txt
主目录中名为.local/etc的子目录中的文件路径,例如: /home/neo/.local/ect/janf_config.txt
名为/usr/local/etc目录中的文件路径,例如: /usr/local/etc/janf_config.txt
目录中的文件路径,例如: /etc. eg: /etc/janf_config.txt
然后运行应用程序就可以了。
配置文件参数
小伙伴肯定要问了,那这个janf_config.txt文件,应该怎么编辑呢,其实不难,总的说明如下:
[ABC]
# for the specified plugin called "ABC"
[URL]
EQUAL,https://someurl
[DNS]
EQUAL,somedomain
# EQUAL Use `equals` to compare
# EQUAL_IC Use `equals` to compare, ignore case
# KEYWORD Use `contains` to compare
# KEYWORD_IC Use `contains` to compare, ignore case
# PREFIX Use `startsWith` to compare
# PREFIX_IC Use `startsWith` to compare, ignore case
# SUFFIX Use `endsWith` to compare
# SUFFIX_IC Use `endsWith` to compare, ignore case
# REGEXP Use regular expressions to match
还不明白?举个例子,如果我们想阻断市面上常见的DBEaver激活验证,可以这样写:
[URL]
PREFIX,https://dbeaver.com/lmp/checkLicense
是不是一下子就醍醐灌顶、茅厕顿开看明白了呢?
调试
默认情况下,ja-netfilter不会输出调试日志,如果有这个需要的话,可以添加环境变量JANF_DEBUG=1
开始启用,也可以添加系统属性-Djanf.debug=1
启用。
总结
最后提一点,这款项目是基于javaagent
编写的,所以基于java的程序都能够适用,项目作者也表示欢迎各位程序员小伙伴进行二次开发,让它变成更加有趣的插件,所以小伙伴还在等什么,赶紧来试一试这款防火墙吧!开源地址如下:
点击下方卡片,关注公众号“TJ君”
回复“netfilter”,获取仓库地址
关注我,每天了解一个牛x、好用、有趣的东东
往期推荐