Jmeter jmx文件验证

时间:2016-11-08 05:58:45

标签: security jmeter

在我的应用程序中,用户上传他的jmeter测试计划(* .jmx文件),我需要在我的服务器上执行它。我想验证jmx文件不包含任何可能损害我的服务器的代码。有没有可以帮助我的插件,工具?

2 个答案:

答案 0 :(得分:2)

JMeter 非常灵活,没有办法阻止用户造成伤害,例如:

  • 可以使用BeanshellJavaScript
  • 删除任何文件或文件夹
  • 可以通过email
  • 读取任何文件并将其发送给任何人
  • 可能会分叉太多进程或启动太多线程并使服务器因重载而瘫痪

因此,没有任何保证方法可以验证JMeter测试,您可以做的最好的事情是在隔离模式下运行它,如:

  1. 在执行测试之前创建权限非常有限的用户,并以此用户身份执行测试
  2. 使用容器机制,如:

答案 1 :(得分:0)

在查看了chroot,FreeBSD Jails和dockers等解决方案之后,我们选择了Dockers。我们发现的优势是:

  • 非常简单的设置和cool documentation
  • docker在不到一秒的时间内启动,你可以用容器做很多动作 - 将文件复制到容器,挂载目录,在容器内运行进程等等。

我用jmeter创建了一个容器。每次我想运行一些jmeter文件时我都会启动容器,将jmx文件复制到容器中并在容器内运行jmeter。请注意,我在容器外调用jmeter.sh并将jmeter输出再次输出到容器外的控制台中。当jmeter过程结束时,我停止容器。 我使用过的一些命令:

docker create --name container_name -it my_image_with_jmeter //create container from an image. my_image_with_jmeter is the name of the image I've created
docker start container_name
docker cp /path/to/main/server/file container_name:/path/to/container/ //copy file from main server to container
docker exec -it container_name /usr/local/jmeter/jmeter.sh // run jmeter inside container
docker stop container_name