Contrast配置

2019-08-08  本文已影响0人  小明今晚加班

Contrast Security 配置过程

Contrast对application的漏洞检测和自动防御功能通过这么个手段:将Contrast 客户端配置到项目依赖中,然后配置Contrast随liberty启动而工作,之后就可在Contrast UI中可视化application漏洞检测结果。

Maven配置Contrast:
在pom.xml中配置下面信息,

<contrast.version>3.6.3</contrast.version>
<contrast.build>8220</contrast.build>

<!--cargo插件中配置如下:-->
<plugin>
    <groupId>org.codehaus.cargo</groupId>
    <artifactId>cargo-maven2-plugin</artifactId>
    <version>1.7.3</version>
    <configuration>
        <container>
        <containerId>Liberty</containerId>
        </container>
        <deployables>
        <deployable>
            <artifactId>contrast-maven-cargo</artifactId>
            <properties>
            <context>/</context>
            </properties>
        </deployable>
        </deployables>
    </configuration>
    <executions>
        <execution>
        <id>start-app-before-IT</id>
        <goals>
            <goal>start</goal>
        </goals>
        <phase>pre-integration-test</phase>
        <configuration>
            <configuration>
            <properties>
                <cargo.jvmargs>
                -javaagent:${project.build.directory}/dependency/contrast-agent-${contrast.version}.jar
                -Dcontrast.config.path=${your contrast path dir}/contrast.yml
                -Dcontrast.application.name=maven-cargo-how-to
                </cargo.jvmargs>
            </properties>
            </configuration>
        </configuration>
        </execution>
        <execution>
        <id>stop-app-after-IT</id>
        <goals>
            <goal>stop</goal>
        </goals>
        <phase>post-integration-test</phase>
        </execution>
    </executions>
</plugin>

在grale中配置Contrast方式如下:
build.gradle配置中添加下面信息,

configurations {
    contrastAgent
}

def contrast_version = "3.6.3"
def contrast_build = "8220"

dependencies {
    contrastAgent "com.contrastsecurity:contrast-agent:${contrast_version}.${contrast_build}"
}

# 添加用于将agent复制到项目目录中的任务
task copyAgent(type: Copy) {
    from configurations.contrastAgent
    into "${projectDir}/lib"
    rename "contrast-agent-*.*.*.jar", "contrast-agent-${contrast_version}.jar"
}

run.dependsOn copyAgent
assemble.dependsOn copyAgent

# 附带Contrast运行应用
application {
    def agentBuildPath = "lib/contrast-agent-${contrast_version}.jar"
    def agentProjectPath = Paths.get(getProjectDir().toURI()).resolve(agentBuildPath)

    applicationDefaultJvmArgs = [
            "-javaagent:${agentProjectPath.toString()}"
    ]
}

如果需要配置分布式插件,使其在运行gradle build时创建的包中包含ContrastJAR,可参考Contrast-Document-Step7.

上一篇下一篇

猜你喜欢

热点阅读