大家好,我是TJ
一个励志推荐10000款开源项目与工具的程序员
很多小伙伴问TJ君,现在开源项目看的越来越多也用的越来越多,还真有点担心!
担心什么?自然是代码项目中有意无意的被别人加入了各种后台访问代码。
这万一一不小心泄露了自己的重要信息可怎么办?
要TJ君说呢,首先肯定是装各种各样的防火墙进行防御,但是市面上的一般防火墙也不是万能的,所以今天TJ君要给大家介绍一个开源的、针对JAVA程序的防火墙项目:
ja-netfilter
首先下载ja-netfilter jar包,地址在文末。
根据自己的实际路径按如下要求添加参数:
-javaagent:/absolute/path/to/ja-netfilter.jar
然后编辑自己的janf_config.txt文件,jar包会自动按照如下优先顺序进行搜索匹配:
然后运行应用程序就可以了。
小伙伴肯定要问了,那这个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的程序都能够适用,项目作者也表示欢迎各位程序员小伙伴进行二次开发,让它变成更加有趣的插件,所以小伙伴还在等什么,赶紧来试一试这款防火墙吧!