美文网首页
分别在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