Istio 发布安全版本,防止 DoS 攻击

Posted K8sMeetup社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Istio 发布安全版本,防止 DoS 攻击相关的知识,希望对你有一定的参考价值。


技术校对:星空下的文仔(才云)

近日,服务网格 Istio 发布了两个新版本:1.1.13 和 1.2.4。以修复通过 Istio 对服务进行拒绝服务(DoS)攻击的漏洞。

ISTIO-SECURITY-2019-003:一位 Envoy 用户公开报告了一个问题(参见 Envoy Issue 7728),指出正则表达式匹配可导致 Istio 因大量 URI 而崩溃。


CVE-2019-14993
经调查,Istio 小组发现这个问题可以在 Istio 中进行 DoS 攻击,影响波及在 JWT、VirtualService、HTTPAPISpecBinding、QuotaSpecBinding 等 Istio API 中使用正则表达式的用户。

ISTIO-SECURITY-2019-004:Envoy 和 Istio 容易受到一系列基于 HTTP/2 的简单 DoS 攻击。


  • CVE-2019-9512

  • CVE-2019-9513

  • CVE-2019-9514

  • CVE-2019-9515

  • CVE-2019-9518

Istio 发布安全版本,防止 DoS 攻击

受影响的 Istio 版本

以下 Istio 版本易受攻击:

  • 1.1,1.1.1,1.1.2,1.1.3,1.1.4,1.1.5,1.1.6,1.1.7,1.1.8,1.1.9,1.1.10,1.1.11,1.1.12

  • 1.2,1.2.1,1.2.2,1.2.3

1.1 版本之前的所有版本已不再受团队支持,易受攻击。

Istio 发布安全版本,防止 DoS 攻击

漏洞影响和检测

ISTIO-SECURITY-2019-003:要检测群集中的 Istio API 是否用了正则表达式,请运行以下命令。

$ cat <<'EOF' | bash -
set -e
set -u
set -o pipefail

red=`tput setaf 1`
green=`tput setaf 2`
reset=`tput sgr0`

echo "Checking regex usage in Istio API ..."

AFFECTED=()

JWT_REGEX=()
JWT_REGEX+=($(kubectl get Policy --all-namespaces -o jsonpath='{..regex}'))
JWT_REGEX+=($(kubectl get MeshPolicy --all-namespaces -o jsonpath='{..regex}'))
if [ "${#JWT_REGEX[@]}" != 0 ]; then
AFFECTED+=("AuthenticationPolicy")
fi

VS_REGEX=()
VS_REGEX+=($(kubectl get VirtualService --all-namespaces -o jsonpath='{..regex}'))
if [ "${#VS_REGEX[@]}" != 0 ]; then
AFFECTED+=("VirtualService")
fi

HTTPAPI_REGEX=()
HTTPAPI_REGEX+=($(kubectl get HTTPAPISpec --all-namespaces -o jsonpath='{..regex}'))
if [ "${#HTTPAPI_REGEX[@]}" != 0 ]; then
AFFECTED+=("HTTPAPISpec")
fi

QUOTA_REGEX=()
QUOTA_REGEX+=($(kubectl get QuotaSpec --all-namespaces -o jsonpath='{..regex}'))
if [ "${#QUOTA_REGEX[@]}" != 0 ]; then
AFFECTED+=("QuotaSpec")
fi

if [ "${#AFFECTED[@]}" != 0 ]; then
echo "${red}YOU ARE AFFECTED: found regex used in ${AFFECTED[@]}${reset}"
exit 1
fi

echo "${green}YOU ARE NOT AFFECTED: did not find regex usage${reset}"
EOF

ISTIO-SECURITY-2019-004:如果 Istio 终止外部发起的 HTTP,那么它就容易受到攻击如果是其他组件终止了 HTTP(如 HTTP 负载均衡器),且该组件不受基于 HTTP/2 的 DoS 攻击影响,那么 Istio 就是安全的。

Istio 发布安全版本,防止 DoS 攻击

解决方案

此次安全版本更新就是为了修复这两个漏洞:

  • 对于 Istio 1.1.x 部署:更新到最低版本的 Istio 1.1.13;

  • 对于 Istio 1.2.x 部署:更新到最低版本的 Istio 1.2.4。

更多内容,详见:
https://istio.io/blog/2019/istio-security-003-004/

Istio 发布安全版本,防止 DoS 攻击


推荐阅读:




在看点一下

以上是关于Istio 发布安全版本,防止 DoS 攻击的主要内容,如果未能解决你的问题,请参考以下文章

如何防止android中的拒绝服务(DOS)攻击?

使用 Java 读取文件或流的最强大的方法(以防止 DoS 攻击)

防止恶意请求 - DOS 攻击

nginx 被爆安全问题致使 1400 多万台服务器易遭受 DoS 攻击

防止来自恶意 protobuf 数据包的 DoS 攻击

Android php插入记录在多次提交中防止DOS攻击和csrf攻击