Action: SanitiseRequestHeader is not yet supported
What happened:
We noticed recently that we have sensitive information being exposed in the logs coming from ingress-nginx. It appears modsecurity has a way to scrub these but I get the following error when trying to enable it:
nginx: [emerg] "modsecurity_rules" directive Rules error. File: <<reference missing or not informed>>. Line: 4. Column: 33. Action: SanitiseRequestHeader is not yet supported. in /tmp/nginx-cfg1187505633:585
nginx: configuration file /tmp/nginx-cfg1187505633 test failed
What you expected to happen:
Ideally modsecurity would scrub the sensitive data
NGINX Ingress controller version (exec into the pod and run nginx-ingress-controller --version.):
NGINX Ingress controller Release: v1.1.2 Build: bab0fbab0c1a7c3641bd379f27857113d574d904 Repository: https://github.com/kubernetes/ingress-nginx nginx version: nginx/1.19.9
Kubernetes version (use kubectl version):
Server Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.6", GitCommit:"7ffcdf755d47c73903854cc5955afcdcd8c95225", GitTreeState:"clean", BuildDate:"2023-10-09T14:43:34Z", GoVersion:"go1.19.10", Compiler:"gc", Platform:"linux/amd64"}
Environment:
-
Cloud provider or hardware configuration: Azure AKS
-
OS (e.g. from /etc/os-release):
-
Kernel (e.g.
uname -a): -
Install tools:
- Azue AKS
-
Basic cluster related info:
- `Server Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.6", GitCommit:"7ffcdf755d47c73903854cc5955afcdcd8c95225", GitTreeState:"clean", BuildDate:"2023-10-09T14:43:34Z", GoVersion:"go1.19.10", Compiler:"gc", Platform:"linux/amd64"}
- kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
aks-nodepool1-27276929-vmss000002 Ready agent 50d v1.26.6 10.13.249.184
Ubuntu 22.04.3 LTS 5.15.0-1041-azure containerd://1.7.1+azure-1 aks-nodepool1-27276929-vmss000003 Ready agent 50d v1.26.6 10.13.249.228 Ubuntu 22.04.3 LTS 6.2.0-1011-azure containerd://1.7.1+azure-1 aks-nodepool1-27276929-vmss000005 Ready agent 50d v1.26.6 10.13.248.54 Ubuntu 22.04.3 LTS 5.15.0-1041-azure containerd://1.7.1+azure-1 aks-nodepool1-27276929-vmss000007 Ready agent 50d v1.26.6 10.13.248.10 Ubuntu 22.04.3 LTS 6.2.0-1011-azure containerd://1.7.1+azure-1 aks-nodepool1-27276929-vmss00000z Ready agent 43d v1.26.6 10.13.251.128 Ubuntu 22.04.3 LTS 5.15.0-1041-azure containerd://1.7.1+azure-1 aks-nodepool1-27276929-vmss000049 Ready agent 12d v1.26.6 10.13.248.236 Ubuntu 22.04.3 LTS 5.15.0-1041-azure containerd://1.7.1+azure-1 aks-nodepool1-27276929-vmss00004c Ready agent 10d v1.26.6 10.13.249.98 Ubuntu 22.04.3 LTS 5.15.0-1041-azure containerd://1.7.1+azure-1 aks-nodepool1-27276929-vmss00004u Ready agent 41h v1.26.6 10.13.248.152 Ubuntu 22.04.3 LTS 5.15.0-1041-azure containerd://1.7.1+azure-1 akswp000000 Ready agent 48d v1.26.6 10.13.252.107 Windows Server 2019 Datacenter 10.0.17763.4737 containerd://1.6.21+azure akswp000001 Ready agent 48d v1.26.6 10.13.252.56 Windows Server 2019 Datacenter 10.0.17763.4737 containerd://1.6.21+azure akswp000002 Ready agent 48d v1.26.6 10.13.254.177 Windows Server 2019 Datacenter 10.0.17763.4737 containerd://1.6.21+azure akswp000004 Ready agent 48d v1.26.6 10.13.254.130 Windows Server 2019 Datacenter 10.0.17763.4737 containerd://1.6.21+azure akswp00000c Ready agent 47d v1.26.6 10.13.252.209 Windows Server 2019 Datacenter 10.0.17763.4737 containerd://1.6.21+azure akswp00000e Ready agent 47d v1.26.6 10.13.248.238 Windows Server 2019 Datacenter 10.0.17763.4737 containerd://1.6.21+azure akswp00000f Ready agent 46d v1.26.6 10.13.249.94 Windows Server 2019 Datacenter 10.0.17763.4737 containerd://1.6.21+azure akswp00001f Ready agent 27d v1.26.6 10.13.250.88 Windows Server 2019 Datacenter 10.0.17763.4737 containerd://1.6.21+azure akswp00001y Ready agent 22d v1.26.6 10.13.250.248 Windows Server 2019 Datacenter 10.0.17763.4737 containerd://1.6.21+azure akswp00002k Ready agent 18d v1.26.6 10.13.251.41 Windows Server 2019 Datacenter 10.0.17763.4737 containerd://1.6.21+azure akswp00002n Ready agent 15d v1.26.6 10.13.251.178 Windows Server 2019 Datacenter 10.0.17763.4737 containerd://1.6.21+azure akswp000032 Ready agent 6d6h v1.26.6 10.13.248.99 Windows Server 2019 Datacenter 10.0.17763.4737 containerd://1.6.21+azure akswp22000000 Ready agent 53d v1.26.6 10.13.249.250 Windows Server 2022 Datacenter 10.0.20348.1906 containerd://1.6.21+azure akswp22000001 Ready agent 53d v1.26.6 10.13.250.194 Windows Server 2022 Datacenter 10.0.20348.1906 containerd://1.6.21+azure
-
How was the ingress-nginx-controller installed:
- nginx-hl-idx-14 pw-hl-idx-14-1001389117 1 2023-10-31 17:11:04.439548761 +0000 UTC deployed ingress-nginx-4.0.18 1.1.2
-
Current State of the controller:
Name: nginx-hl-idx-14-ingressclass Labels: app.kubernetes.io/component=controller app.kubernetes.io/instance=nginx-hl-idx-14 app.kubernetes.io/managed-by=Helm app.kubernetes.io/name=ingress-nginx app.kubernetes.io/part-of=ingress-nginx app.kubernetes.io/version=1.1.2 helm.sh/chart=ingress-nginx-4.0.18 Annotations: meta.helm.sh/release-name: nginx-hl-idx-14 meta.helm.sh/release-namespace: pw-hl-idx-14-1001389117 Controller: hl-idx-14.io/nginx-hl-idx-14-ingressclass Events: <none>
-
Current state of ingress object, if applicable: N/A
-
Others: N/A
How to reproduce this issue: Try to apply scrubbing with the following setting:
SecAction "phase:5,nolog,pass,\
sanitiseRequestHeader:Authorization"