資安JAVA(三四): 分離管理者功能
來源:John Melton's Weblog
標題:YEAR OF SECURITY FOR JAVA – WEEK 34 – SEPARATE ADMIN FUNCTIONALITY
作者:John Melton
What is it and why should I care?
或許有人會認為將管理者功能從系統中切出來很奇怪。但作者定義的管理者功能是更高的權限(使用者、群組、角色的管理),因為非法提權(privilege escalation)會對應用程式產生很大的影響。作者對於管理功能的想法是:
What should I do about it?
第一步,請先決定你的應用程式中有沒有管理者功能。如果你的應用程式沒有,那就直接end不用看完。如果應用程式單純對內開放使用,被利用的風險很低。
接下來,你有幾個選擇:
維持現狀(Status Quo)
丟著不管,保持原本的設計。依被保護的資源價值決定策略,這也許是個好選擇。
建立新的應用程式(Build another application)
新的應用程式可獨立於原本的程式。這個獨立的應用程式需要不同的身分驗證方式(例如多因子驗證),或建立在只有內部使用者的環境,或限制使用者的ip等等。還有很多方法,目的是確保新的環境與原本的環境不同。
建立子系統(Subset the application)
你也可以建立與管理者功能相關的子系統。這是作者最常看到的做法。雖然同在屋簷下,你還是可以加強子系統的安全。例如,要求客戶端使用憑證、要求使用多因子驗證、限制可存取子系統的ip等等。
不論你選擇哪一步,請確保你已經考慮過環境條件、評估過其他選擇、針對不同情況都有制定深思過的決策。應用程式中的管理者功能是攻擊者最主要的目標之一。利用一些簡單和直接的方式改變你的應用程式,你可以大幅降低管理者功能被利用的風險。
———–———–
資安Java: 上一篇 || 下一篇
———–———–
標題:YEAR OF SECURITY FOR JAVA – WEEK 34 – SEPARATE ADMIN FUNCTIONALITY
作者:John Melton
或許有人會認為將管理者功能從系統中切出來很奇怪。但作者定義的管理者功能是更高的權限(使用者、群組、角色的管理),因為非法提權(privilege escalation)會對應用程式產生很大的影響。作者對於管理功能的想法是:
- 擁有可以管理使用者的重要功能
- 假設被人以不正方式利用,使用者的權限可以增加或被移除
- 不管任何狀況,作者並不相信可以完美的保護這些功能
What should I do about it?
第一步,請先決定你的應用程式中有沒有管理者功能。如果你的應用程式沒有,那就直接end不用看完。如果應用程式單純對內開放使用,被利用的風險很低。
接下來,你有幾個選擇:
維持現狀(Status Quo)
丟著不管,保持原本的設計。依被保護的資源價值決定策略,這也許是個好選擇。
建立新的應用程式(Build another application)
新的應用程式可獨立於原本的程式。這個獨立的應用程式需要不同的身分驗證方式(例如多因子驗證),或建立在只有內部使用者的環境,或限制使用者的ip等等。還有很多方法,目的是確保新的環境與原本的環境不同。
建立子系統(Subset the application)
你也可以建立與管理者功能相關的子系統。這是作者最常看到的做法。雖然同在屋簷下,你還是可以加強子系統的安全。例如,要求客戶端使用憑證、要求使用多因子驗證、限制可存取子系統的ip等等。
不論你選擇哪一步,請確保你已經考慮過環境條件、評估過其他選擇、針對不同情況都有制定深思過的決策。應用程式中的管理者功能是攻擊者最主要的目標之一。利用一些簡單和直接的方式改變你的應用程式,你可以大幅降低管理者功能被利用的風險。
———–———–
資安Java: 上一篇 || 下一篇
———–———–
留言
張貼留言