很多小伙伴问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的程序都能够适用,项目作者也表示欢迎各位程序员小伙伴进行二次开发,让它变成更加有趣的插件,所以小伙伴还在等什么,赶紧来试一试这款防火墙吧!关注我,私信“netfilter”获取开源地址。
最新评论