美文网首页
分别在test和prod环境中配置Contrast

分别在test和prod环境中配置Contrast

作者: 小明今晚加班 | 来源:发表于2019-08-16 09:19 被阅读0次
  • 目标:希望在Test环境中开启Contrast 安全防护;在Prod中不开启。
  • 分析:Contrast对项目进行安全防护的原理:The Contrast agent begins securing your code by adding sensors to the entire software stack of your applications - from runtime to custom code - to directly measure vulnerabilities and attacks.因此考虑在构建image之前完成目标要求。
  • 解决思路:在构建image的时候,可手动临时设置是否开启Contrast,通过下面设置的两个环境变量曲线救国。

前期必要配置

在构建image之前,需要在gradle.build中添加contrast的依赖,如下:

configurations {
    contrastAgent
}
//这里指定了contrast version,因此需要提前把对应版本的contrast下载到指定文件夹,比如:/etc/contrast/java/
def contrast_version = "3.6.3.8220" 

dependencies {  
    contrastAgent "com.contrastsecurity:contrast-agent:${contrast_version}"
}
  • . 然后,创建一个image(包含启动contrast)的步骤:
    在 ./gradlew clean build之前,先声明下面两个环境变量(第一个变量指定contrast agent的jar包位置,第二个变量指定contrast configuration文件位置)
export CONTRAST_AGENT_JAR="/etc/contrast/java/contrast-agent-3.6.3.8220.jar"
export JAVA_OPTS="$JAVA_OPTS -javaagent:$CONTRAST_AGENT_JAR -Dcontrast.config.path="/etc/contrast/java/contrast_security.yaml

最后再执行build操作,得到image。

  • . 创建一个不包含contrast agent的image步骤:直接在项目根目录执行 ./gradlew clean build,得到image。

相关文章

网友评论

      本文标题:分别在test和prod环境中配置Contrast

      本文链接:https://www.haomeiwen.com/subject/sgctsctx.html