You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Title: Option to log all request and response headers on the access log
Description:
Hey all, I would like to run something by you that could be beneficial (although it also comes with some cons).
Right now, we are forced to explicitly set all information/headers we want on the access logs, but it could be beneficial to also dump all headers (request and responses), due to:
Logging weird/unexpected headers might be useful to detect threats and their patterns.
1.1. One good example is when the Log4J RCE exploit came around, nobody was specifically looking at a header called spring.cloud.function.routing-expression that was used in the exploit.
When we decide to change the configuration with new headers (sometimes due to 1), we must change a bunch of configs and deploy a bunch of Envoys all over again.
Performance issues if there's too many headers?
1.1. Could we somehow limit the amount of headers or value sizes?
Logging of sensitive information
2.1. Not exactly the same as discussed here, but this seems like your current opinion on the matter: debug: redact sensitive info from debug logs #27579 (comment)
2.2. In our case we may treat (the known ones, maybe even unknown ones depending on their value pattern?) in our logging pipeline
Title: Option to log all request and response headers on the access log
Description:
Hey all, I would like to run something by you that could be beneficial (although it also comes with some cons).
Right now, we are forced to explicitly set all information/headers we want on the access logs, but it could be beneficial to also dump all headers (request and responses), due to:
1.1. One good example is when the Log4J RCE exploit came around, nobody was specifically looking at a header called
spring.cloud.function.routing-expressionthat was used in the exploit.1), we must change a bunch of configs and deploy a bunch of Envoys all over again.Here's a configuration example:
I understand this could bring two problems:
1.1. Could we somehow limit the amount of headers or value sizes?
2.1. Not exactly the same as discussed here, but this seems like your current opinion on the matter: debug: redact sensitive info from debug logs #27579 (comment)
2.2. In our case we may treat (the known ones, maybe even unknown ones depending on their value pattern?) in our logging pipeline
Known workaround
After some research, I noticed the following workaround where all the information dynamically processed through a Lua script, added to the dynamic metadata, which is then used on the access log config:
https://themartian.hashnode.dev/http-request-body-logging-with-istio-and-envoy
Not sure how comfortable I am with this though.
What are your opinions on this topic?
Thanks!