我們正在使用特使訪問日志 https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage,特使是否驗證傳遞給訪問日志的欄位,例如欄位格式。
我從基本的安全原因詢問它,以驗證如果我使用例如,%REQ(:METHOD)我將獲得一個真正的 http 方法,例如get postetc 而不是foo. 或者[%START_TIME%]是時間格式,我不會得到別的東西......
我認為它與這個特使代碼有關
https://github.com/envoyproxy/envoy/blob/24bfe51fc0953f47ba7547f02442254b6744bed6/source/common/access_log/access_log_impl.cc#L54
我問它是因為我們正在將訪問日志中的資料發送到另一個系統,并且我們想要驗證資料是否與訪問日志中定義的一樣,并且從安全角度來看沒有人會更改它。
likeip是真實的 ip 格式,path是路徑格式,url是 url 格式
uj5u.com熱心網友回復:
我不確定我是否理解這個問題。Envoy 在生成這些日志時無需驗證任何內容。Envoy 是 HTTP 代理,它接收請求并根據配置執行一些路由/重寫/auth/drop/.. 操作(如果我們正在談論 istio,則由 virtualservice/destinationrule/envoyfilter 配置)。在操作之后,它會生成日志條目并在欄位中填寫有關原始請求和所采取操作的詳細資訊。
也沒有像“真正的”http 方法這樣的東西。HTTP 方法只是一個字串,它可以保存任何值。Envoy 只是位于客戶端和應用程式之間并傳遞請求的代理(除非您明確配置它,即洗掉某些方法)。
這取決于接收方法的應用程式如何處理它。GET/POST/HEAD 通常與標準 HTTP 和靜態頁面相關聯。PUT/DELETE/PATCH 用于 REST API。但是沒有什么能阻止您開發將接受“FOOBAR”方法并在其上運行一些代碼的應用程式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/424293.html
標籤:C 安全 Kubernetes Kubernetes入口 特使代理
上一篇:android:allowBackup是android應用程式的安全風險嗎
下一篇:如何將每個字串字符插入二維陣列
