painless脚本安全

 

一、参考

 

Scripting and security

 

二、不要这样做

 

 

2.1 非 root 权限执行

 

Do not run as root

不要使用root权限运行脚本

 

2.2 不要暴露 ES 原生接口

 

Do not expose Elasticsearch directly to users

 

不要直接将用户的输入,当作脚本的原始内容,需要添加应用层,当作中间层,校验输入内容的合法性,应用层直接与数据库交互

 

2.3 不要暴露 ES 到外网

 

Do not expose Elasticsearch directly to the Internet

 

三、可配置参数

 

 

3.1 script.allowed_types

 

可配置的选项为 inline, stored

 

3.2 script.allowed_contexts

 

 

3.3 默认配置

 

# 默认9个有关script的选项
"script.allowed_contexts" : [ ],
"script.allowed_types" : [
    "stored",
    "inline"
],
"script.cache.expire" : "0ms",
"script.cache.max_size" : "100",
"script.disable_max_compilations_rate" : "false",
"script.max_compilations_rate" : "use-context",
"script.max_size_in_bytes" : "65535",
"script.painless.regex.enabled" : "limited",
"script.painless.regex.limit-factor" : "6",

posted @ 2021-03-09 14:48  一曲广陵散yz  阅读(175)  评论(0编辑  收藏  举报